
001package org.hl7.fhir.dstu2.formats; 002 003import java.io.IOException; 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 034// Generated on Wed, Jul 13, 2016 05:32+1000 for FHIR v1.0.2 035import org.hl7.fhir.dstu2.model.*; 036import org.hl7.fhir.exceptions.FHIRFormatError; 037import org.hl7.fhir.utilities.Utilities; 038import org.xmlpull.v1.XmlPullParser; 039import org.xmlpull.v1.XmlPullParserException; 040 041public class XmlParser extends XmlParserBase { 042 043 public XmlParser() { 044 super(); 045 } 046 047 public XmlParser(boolean allowUnknownContent) { 048 super(); 049 setAllowUnknownContent(allowUnknownContent); 050 } 051 052 protected boolean parseElementContent(int eventType, XmlPullParser xpp, Element res) 053 throws XmlPullParserException, IOException, FHIRFormatError { 054 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extension")) 055 res.getExtension().add(parseExtension(xpp)); 056 else 057 return false; 058 059 return true; 060 } 061 062 protected boolean parseBackboneContent(int eventType, XmlPullParser xpp, BackboneElement res) 063 throws XmlPullParserException, IOException, FHIRFormatError { 064 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifierExtension")) 065 res.getModifierExtension().add(parseExtension(xpp)); 066 else 067 return parseElementContent(eventType, xpp, res); 068 069 return true; 070 } 071 072 @SuppressWarnings("unchecked") 073 protected <E extends Enum<E>> Enumeration<E> parseEnumeration(XmlPullParser xpp, E item, EnumFactory e) 074 throws XmlPullParserException, IOException, FHIRFormatError { 075 Enumeration<E> res = new Enumeration<E>(e); 076 parseElementAttributes(xpp, res); 077 res.setValue((E) e.fromCode(xpp.getAttributeValue(null, "value"))); 078 next(xpp); 079 int eventType = nextNoWhitespace(xpp); 080 while (eventType != XmlPullParser.END_TAG) { 081 if (!parseElementContent(eventType, xpp, res)) 082 unknownContent(xpp); 083 eventType = nextNoWhitespace(xpp); 084 } 085 next(xpp); 086 parseElementClose(res); 087 return res; 088 } 089 090 protected DateType parseDate(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 091 DateType res = new DateType(xpp.getAttributeValue(null, "value")); 092 parseElementAttributes(xpp, res); 093 next(xpp); 094 int eventType = nextNoWhitespace(xpp); 095 while (eventType != XmlPullParser.END_TAG) { 096 if (!parseElementContent(eventType, xpp, res)) 097 unknownContent(xpp); 098 eventType = nextNoWhitespace(xpp); 099 } 100 next(xpp); 101 parseElementClose(res); 102 return res; 103 } 104 105 protected DateTimeType parseDateTime(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 106 DateTimeType res = new DateTimeType(xpp.getAttributeValue(null, "value")); 107 parseElementAttributes(xpp, res); 108 next(xpp); 109 int eventType = nextNoWhitespace(xpp); 110 while (eventType != XmlPullParser.END_TAG) { 111 if (!parseElementContent(eventType, xpp, res)) 112 unknownContent(xpp); 113 eventType = nextNoWhitespace(xpp); 114 } 115 next(xpp); 116 parseElementClose(res); 117 return res; 118 } 119 120 protected CodeType parseCode(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 121 CodeType res = new CodeType(xpp.getAttributeValue(null, "value")); 122 parseElementAttributes(xpp, res); 123 next(xpp); 124 int eventType = nextNoWhitespace(xpp); 125 while (eventType != XmlPullParser.END_TAG) { 126 if (!parseElementContent(eventType, xpp, res)) 127 unknownContent(xpp); 128 eventType = nextNoWhitespace(xpp); 129 } 130 next(xpp); 131 parseElementClose(res); 132 return res; 133 } 134 135 protected StringType parseString(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 136 StringType res = new StringType(xpp.getAttributeValue(null, "value")); 137 parseElementAttributes(xpp, res); 138 next(xpp); 139 int eventType = nextNoWhitespace(xpp); 140 while (eventType != XmlPullParser.END_TAG) { 141 if (!parseElementContent(eventType, xpp, res)) 142 unknownContent(xpp); 143 eventType = nextNoWhitespace(xpp); 144 } 145 next(xpp); 146 parseElementClose(res); 147 return res; 148 } 149 150 protected IntegerType parseInteger(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 151 IntegerType res = new IntegerType(xpp.getAttributeValue(null, "value")); 152 parseElementAttributes(xpp, res); 153 next(xpp); 154 int eventType = nextNoWhitespace(xpp); 155 while (eventType != XmlPullParser.END_TAG) { 156 if (!parseElementContent(eventType, xpp, res)) 157 unknownContent(xpp); 158 eventType = nextNoWhitespace(xpp); 159 } 160 next(xpp); 161 parseElementClose(res); 162 return res; 163 } 164 165 protected OidType parseOid(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 166 OidType res = new OidType(xpp.getAttributeValue(null, "value")); 167 parseElementAttributes(xpp, res); 168 next(xpp); 169 int eventType = nextNoWhitespace(xpp); 170 while (eventType != XmlPullParser.END_TAG) { 171 if (!parseElementContent(eventType, xpp, res)) 172 unknownContent(xpp); 173 eventType = nextNoWhitespace(xpp); 174 } 175 next(xpp); 176 parseElementClose(res); 177 return res; 178 } 179 180 protected UriType parseUri(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 181 UriType res = new UriType(xpp.getAttributeValue(null, "value")); 182 parseElementAttributes(xpp, res); 183 next(xpp); 184 int eventType = nextNoWhitespace(xpp); 185 while (eventType != XmlPullParser.END_TAG) { 186 if (!parseElementContent(eventType, xpp, res)) 187 unknownContent(xpp); 188 eventType = nextNoWhitespace(xpp); 189 } 190 next(xpp); 191 parseElementClose(res); 192 return res; 193 } 194 195 protected UuidType parseUuid(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 196 UuidType res = new UuidType(xpp.getAttributeValue(null, "value")); 197 parseElementAttributes(xpp, res); 198 next(xpp); 199 int eventType = nextNoWhitespace(xpp); 200 while (eventType != XmlPullParser.END_TAG) { 201 if (!parseElementContent(eventType, xpp, res)) 202 unknownContent(xpp); 203 eventType = nextNoWhitespace(xpp); 204 } 205 next(xpp); 206 parseElementClose(res); 207 return res; 208 } 209 210 protected InstantType parseInstant(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 211 InstantType res = new InstantType(xpp.getAttributeValue(null, "value")); 212 parseElementAttributes(xpp, res); 213 next(xpp); 214 int eventType = nextNoWhitespace(xpp); 215 while (eventType != XmlPullParser.END_TAG) { 216 if (!parseElementContent(eventType, xpp, res)) 217 unknownContent(xpp); 218 eventType = nextNoWhitespace(xpp); 219 } 220 next(xpp); 221 parseElementClose(res); 222 return res; 223 } 224 225 protected BooleanType parseBoolean(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 226 BooleanType res = new BooleanType(xpp.getAttributeValue(null, "value")); 227 parseElementAttributes(xpp, res); 228 next(xpp); 229 int eventType = nextNoWhitespace(xpp); 230 while (eventType != XmlPullParser.END_TAG) { 231 if (!parseElementContent(eventType, xpp, res)) 232 unknownContent(xpp); 233 eventType = nextNoWhitespace(xpp); 234 } 235 next(xpp); 236 parseElementClose(res); 237 return res; 238 } 239 240 protected Base64BinaryType parseBase64Binary(XmlPullParser xpp) 241 throws XmlPullParserException, IOException, FHIRFormatError { 242 Base64BinaryType res = new Base64BinaryType(xpp.getAttributeValue(null, "value")); 243 parseElementAttributes(xpp, res); 244 next(xpp); 245 int eventType = nextNoWhitespace(xpp); 246 while (eventType != XmlPullParser.END_TAG) { 247 if (!parseElementContent(eventType, xpp, res)) 248 unknownContent(xpp); 249 eventType = nextNoWhitespace(xpp); 250 } 251 next(xpp); 252 parseElementClose(res); 253 return res; 254 } 255 256 protected UnsignedIntType parseUnsignedInt(XmlPullParser xpp) 257 throws XmlPullParserException, IOException, FHIRFormatError { 258 UnsignedIntType res = new UnsignedIntType(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 MarkdownType parseMarkdown(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 273 MarkdownType res = new MarkdownType(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 TimeType parseTime(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 288 TimeType res = new TimeType(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 IdType parseId(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 303 IdType res = new IdType(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 PositiveIntType parsePositiveInt(XmlPullParser xpp) 318 throws XmlPullParserException, IOException, FHIRFormatError { 319 PositiveIntType res = new PositiveIntType(xpp.getAttributeValue(null, "value")); 320 parseElementAttributes(xpp, res); 321 next(xpp); 322 int eventType = nextNoWhitespace(xpp); 323 while (eventType != XmlPullParser.END_TAG) { 324 if (!parseElementContent(eventType, xpp, res)) 325 unknownContent(xpp); 326 eventType = nextNoWhitespace(xpp); 327 } 328 next(xpp); 329 parseElementClose(res); 330 return res; 331 } 332 333 protected DecimalType parseDecimal(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 334 DecimalType res = new DecimalType(xpp.getAttributeValue(null, "value")); 335 parseElementAttributes(xpp, res); 336 next(xpp); 337 int eventType = nextNoWhitespace(xpp); 338 while (eventType != XmlPullParser.END_TAG) { 339 if (!parseElementContent(eventType, xpp, res)) 340 unknownContent(xpp); 341 eventType = nextNoWhitespace(xpp); 342 } 343 next(xpp); 344 parseElementClose(res); 345 return res; 346 } 347 348 protected Extension parseExtension(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 349 Extension res = new Extension(); 350 parseElementAttributes(xpp, res); 351 if (xpp.getAttributeValue(null, "url") != null) 352 res.setUrl(xpp.getAttributeValue(null, "url")); 353 next(xpp); 354 int eventType = nextNoWhitespace(xpp); 355 while (eventType != XmlPullParser.END_TAG) { 356 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 357 res.setValue(parseType("value", xpp)); 358 } else if (!parseElementContent(eventType, xpp, res)) 359 unknownContent(xpp); 360 eventType = nextNoWhitespace(xpp); 361 } 362 next(xpp); 363 parseElementClose(res); 364 return res; 365 } 366 367 protected Narrative parseNarrative(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 368 Narrative res = new Narrative(); 369 parseElementAttributes(xpp, res); 370 next(xpp); 371 int eventType = nextNoWhitespace(xpp); 372 while (eventType != XmlPullParser.END_TAG) { 373 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 374 res.setStatusElement( 375 parseEnumeration(xpp, Narrative.NarrativeStatus.NULL, new Narrative.NarrativeStatusEnumFactory())); 376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("div")) { 377 res.setDiv(parseXhtml(xpp)); 378 } else if (!parseElementContent(eventType, xpp, res)) 379 unknownContent(xpp); 380 eventType = nextNoWhitespace(xpp); 381 } 382 next(xpp); 383 parseElementClose(res); 384 return res; 385 } 386 387 protected Identifier parseIdentifier(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 388 Identifier res = new Identifier(); 389 parseTypeAttributes(xpp, res); 390 next(xpp); 391 int eventType = nextNoWhitespace(xpp); 392 while (eventType != XmlPullParser.END_TAG) { 393 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 394 res.setUseElement( 395 parseEnumeration(xpp, Identifier.IdentifierUse.NULL, new Identifier.IdentifierUseEnumFactory())); 396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 397 res.setType(parseCodeableConcept(xpp)); 398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 399 res.setSystemElement(parseUri(xpp)); 400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 401 res.setValueElement(parseString(xpp)); 402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 403 res.setPeriod(parsePeriod(xpp)); 404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assigner")) { 405 res.setAssigner(parseReference(xpp)); 406 } else if (!parseElementContent(eventType, xpp, res)) 407 unknownContent(xpp); 408 eventType = nextNoWhitespace(xpp); 409 } 410 next(xpp); 411 parseElementClose(res); 412 return res; 413 } 414 415 protected Coding parseCoding(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 416 Coding res = new Coding(); 417 parseTypeAttributes(xpp, res); 418 next(xpp); 419 int eventType = nextNoWhitespace(xpp); 420 while (eventType != XmlPullParser.END_TAG) { 421 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 422 res.setSystemElement(parseUri(xpp)); 423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 424 res.setVersionElement(parseString(xpp)); 425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 426 res.setCodeElement(parseCode(xpp)); 427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 428 res.setDisplayElement(parseString(xpp)); 429 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("userSelected")) { 430 res.setUserSelectedElement(parseBoolean(xpp)); 431 } else if (!parseElementContent(eventType, xpp, res)) 432 unknownContent(xpp); 433 eventType = nextNoWhitespace(xpp); 434 } 435 next(xpp); 436 parseElementClose(res); 437 return res; 438 } 439 440 protected Reference parseReference(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 441 Reference res = new Reference(); 442 parseTypeAttributes(xpp, res); 443 next(xpp); 444 int eventType = nextNoWhitespace(xpp); 445 while (eventType != XmlPullParser.END_TAG) { 446 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 447 res.setReferenceElement(parseString(xpp)); 448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 449 res.setDisplayElement(parseString(xpp)); 450 } else if (!parseElementContent(eventType, xpp, res)) 451 unknownContent(xpp); 452 eventType = nextNoWhitespace(xpp); 453 } 454 next(xpp); 455 parseElementClose(res); 456 return res; 457 } 458 459 protected Signature parseSignature(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 460 Signature res = new Signature(); 461 parseTypeAttributes(xpp, res); 462 next(xpp); 463 int eventType = nextNoWhitespace(xpp); 464 while (eventType != XmlPullParser.END_TAG) { 465 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 466 res.getType().add(parseCoding(xpp)); 467 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 468 res.setWhenElement(parseInstant(xpp)); 469 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "who")) { 470 res.setWho(parseType("who", xpp)); 471 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 472 res.setContentTypeElement(parseCode(xpp)); 473 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("blob")) { 474 res.setBlobElement(parseBase64Binary(xpp)); 475 } else if (!parseElementContent(eventType, xpp, res)) 476 unknownContent(xpp); 477 eventType = nextNoWhitespace(xpp); 478 } 479 next(xpp); 480 parseElementClose(res); 481 return res; 482 } 483 484 protected SampledData parseSampledData(XmlPullParser xpp) 485 throws XmlPullParserException, IOException, FHIRFormatError { 486 SampledData res = new SampledData(); 487 parseTypeAttributes(xpp, res); 488 next(xpp); 489 int eventType = nextNoWhitespace(xpp); 490 while (eventType != XmlPullParser.END_TAG) { 491 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 492 res.setOrigin(parseSimpleQuantity(xpp)); 493 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 494 res.setPeriodElement(parseDecimal(xpp)); 495 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 496 res.setFactorElement(parseDecimal(xpp)); 497 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lowerLimit")) { 498 res.setLowerLimitElement(parseDecimal(xpp)); 499 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("upperLimit")) { 500 res.setUpperLimitElement(parseDecimal(xpp)); 501 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dimensions")) { 502 res.setDimensionsElement(parsePositiveInt(xpp)); 503 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 504 res.setDataElement(parseString(xpp)); 505 } else if (!parseElementContent(eventType, xpp, res)) 506 unknownContent(xpp); 507 eventType = nextNoWhitespace(xpp); 508 } 509 next(xpp); 510 parseElementClose(res); 511 return res; 512 } 513 514 protected Quantity parseQuantity(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 515 Quantity res = new Quantity(); 516 parseTypeAttributes(xpp, res); 517 next(xpp); 518 int eventType = nextNoWhitespace(xpp); 519 while (eventType != XmlPullParser.END_TAG) { 520 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 521 res.setValueElement(parseDecimal(xpp)); 522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 523 res.setComparatorElement( 524 parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 525 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 526 res.setUnitElement(parseString(xpp)); 527 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 528 res.setSystemElement(parseUri(xpp)); 529 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 530 res.setCodeElement(parseCode(xpp)); 531 } else if (!parseElementContent(eventType, xpp, res)) 532 unknownContent(xpp); 533 eventType = nextNoWhitespace(xpp); 534 } 535 next(xpp); 536 parseElementClose(res); 537 return res; 538 } 539 540 protected Period parsePeriod(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 541 Period res = new Period(); 542 parseTypeAttributes(xpp, res); 543 next(xpp); 544 int eventType = nextNoWhitespace(xpp); 545 while (eventType != XmlPullParser.END_TAG) { 546 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 547 res.setStartElement(parseDateTime(xpp)); 548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 549 res.setEndElement(parseDateTime(xpp)); 550 } else if (!parseElementContent(eventType, xpp, res)) 551 unknownContent(xpp); 552 eventType = nextNoWhitespace(xpp); 553 } 554 next(xpp); 555 parseElementClose(res); 556 return res; 557 } 558 559 protected Attachment parseAttachment(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 560 Attachment res = new Attachment(); 561 parseTypeAttributes(xpp, res); 562 next(xpp); 563 int eventType = nextNoWhitespace(xpp); 564 while (eventType != XmlPullParser.END_TAG) { 565 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 566 res.setContentTypeElement(parseCode(xpp)); 567 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 568 res.setLanguageElement(parseCode(xpp)); 569 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 570 res.setDataElement(parseBase64Binary(xpp)); 571 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 572 res.setUrlElement(parseUri(xpp)); 573 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("size")) { 574 res.setSizeElement(parseUnsignedInt(xpp)); 575 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hash")) { 576 res.setHashElement(parseBase64Binary(xpp)); 577 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 578 res.setTitleElement(parseString(xpp)); 579 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("creation")) { 580 res.setCreationElement(parseDateTime(xpp)); 581 } else if (!parseElementContent(eventType, xpp, res)) 582 unknownContent(xpp); 583 eventType = nextNoWhitespace(xpp); 584 } 585 next(xpp); 586 parseElementClose(res); 587 return res; 588 } 589 590 protected Ratio parseRatio(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 591 Ratio res = new Ratio(); 592 parseTypeAttributes(xpp, res); 593 next(xpp); 594 int eventType = nextNoWhitespace(xpp); 595 while (eventType != XmlPullParser.END_TAG) { 596 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numerator")) { 597 res.setNumerator(parseQuantity(xpp)); 598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("denominator")) { 599 res.setDenominator(parseQuantity(xpp)); 600 } else if (!parseElementContent(eventType, xpp, res)) 601 unknownContent(xpp); 602 eventType = nextNoWhitespace(xpp); 603 } 604 next(xpp); 605 parseElementClose(res); 606 return res; 607 } 608 609 protected Range parseRange(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 610 Range res = new Range(); 611 parseTypeAttributes(xpp, res); 612 next(xpp); 613 int eventType = nextNoWhitespace(xpp); 614 while (eventType != XmlPullParser.END_TAG) { 615 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("low")) { 616 res.setLow(parseSimpleQuantity(xpp)); 617 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("high")) { 618 res.setHigh(parseSimpleQuantity(xpp)); 619 } else if (!parseElementContent(eventType, xpp, res)) 620 unknownContent(xpp); 621 eventType = nextNoWhitespace(xpp); 622 } 623 next(xpp); 624 parseElementClose(res); 625 return res; 626 } 627 628 protected Annotation parseAnnotation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 629 Annotation res = new Annotation(); 630 parseTypeAttributes(xpp, res); 631 next(xpp); 632 int eventType = nextNoWhitespace(xpp); 633 while (eventType != XmlPullParser.END_TAG) { 634 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "author")) { 635 res.setAuthor(parseType("author", xpp)); 636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 637 res.setTimeElement(parseDateTime(xpp)); 638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 639 res.setTextElement(parseString(xpp)); 640 } else if (!parseElementContent(eventType, xpp, res)) 641 unknownContent(xpp); 642 eventType = nextNoWhitespace(xpp); 643 } 644 next(xpp); 645 parseElementClose(res); 646 return res; 647 } 648 649 protected CodeableConcept parseCodeableConcept(XmlPullParser xpp) 650 throws XmlPullParserException, IOException, FHIRFormatError { 651 CodeableConcept res = new CodeableConcept(); 652 parseTypeAttributes(xpp, res); 653 next(xpp); 654 int eventType = nextNoWhitespace(xpp); 655 while (eventType != XmlPullParser.END_TAG) { 656 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coding")) { 657 res.getCoding().add(parseCoding(xpp)); 658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 659 res.setTextElement(parseString(xpp)); 660 } else if (!parseElementContent(eventType, xpp, res)) 661 unknownContent(xpp); 662 eventType = nextNoWhitespace(xpp); 663 } 664 next(xpp); 665 parseElementClose(res); 666 return res; 667 } 668 669 protected Money parseMoney(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 670 Money res = new Money(); 671 parseElementAttributes(xpp, res); 672 next(xpp); 673 int eventType = nextNoWhitespace(xpp); 674 while (eventType != XmlPullParser.END_TAG) { 675 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 676 res.setValueElement(parseDecimal(xpp)); 677 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 678 res.setComparatorElement( 679 parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 681 res.setUnitElement(parseString(xpp)); 682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 683 res.setSystemElement(parseUri(xpp)); 684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 685 res.setCodeElement(parseCode(xpp)); 686 } else if (!parseElementContent(eventType, xpp, res)) 687 unknownContent(xpp); 688 eventType = nextNoWhitespace(xpp); 689 } 690 next(xpp); 691 parseElementClose(res); 692 return res; 693 } 694 695 protected SimpleQuantity parseSimpleQuantity(XmlPullParser xpp) 696 throws XmlPullParserException, IOException, FHIRFormatError { 697 SimpleQuantity res = new SimpleQuantity(); 698 parseElementAttributes(xpp, res); 699 next(xpp); 700 int eventType = nextNoWhitespace(xpp); 701 while (eventType != XmlPullParser.END_TAG) { 702 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 703 res.setValueElement(parseDecimal(xpp)); 704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 705 res.setComparatorElement( 706 parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 707 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 708 res.setUnitElement(parseString(xpp)); 709 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 710 res.setSystemElement(parseUri(xpp)); 711 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 712 res.setCodeElement(parseCode(xpp)); 713 } else if (!parseElementContent(eventType, xpp, res)) 714 unknownContent(xpp); 715 eventType = nextNoWhitespace(xpp); 716 } 717 next(xpp); 718 parseElementClose(res); 719 return res; 720 } 721 722 protected Duration parseDuration(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 723 Duration res = new Duration(); 724 parseElementAttributes(xpp, res); 725 next(xpp); 726 int eventType = nextNoWhitespace(xpp); 727 while (eventType != XmlPullParser.END_TAG) { 728 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 729 res.setValueElement(parseDecimal(xpp)); 730 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 731 res.setComparatorElement( 732 parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 733 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 734 res.setUnitElement(parseString(xpp)); 735 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 736 res.setSystemElement(parseUri(xpp)); 737 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 738 res.setCodeElement(parseCode(xpp)); 739 } else if (!parseElementContent(eventType, xpp, res)) 740 unknownContent(xpp); 741 eventType = nextNoWhitespace(xpp); 742 } 743 next(xpp); 744 parseElementClose(res); 745 return res; 746 } 747 748 protected Count parseCount(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 749 Count res = new Count(); 750 parseElementAttributes(xpp, res); 751 next(xpp); 752 int eventType = nextNoWhitespace(xpp); 753 while (eventType != XmlPullParser.END_TAG) { 754 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 755 res.setValueElement(parseDecimal(xpp)); 756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 757 res.setComparatorElement( 758 parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 759 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 760 res.setUnitElement(parseString(xpp)); 761 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 762 res.setSystemElement(parseUri(xpp)); 763 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 764 res.setCodeElement(parseCode(xpp)); 765 } else if (!parseElementContent(eventType, xpp, res)) 766 unknownContent(xpp); 767 eventType = nextNoWhitespace(xpp); 768 } 769 next(xpp); 770 parseElementClose(res); 771 return res; 772 } 773 774 protected Distance parseDistance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 775 Distance res = new Distance(); 776 parseElementAttributes(xpp, res); 777 next(xpp); 778 int eventType = nextNoWhitespace(xpp); 779 while (eventType != XmlPullParser.END_TAG) { 780 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 781 res.setValueElement(parseDecimal(xpp)); 782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 783 res.setComparatorElement( 784 parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 785 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 786 res.setUnitElement(parseString(xpp)); 787 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 788 res.setSystemElement(parseUri(xpp)); 789 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 790 res.setCodeElement(parseCode(xpp)); 791 } else if (!parseElementContent(eventType, xpp, res)) 792 unknownContent(xpp); 793 eventType = nextNoWhitespace(xpp); 794 } 795 next(xpp); 796 parseElementClose(res); 797 return res; 798 } 799 800 protected Age parseAge(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 801 Age res = new Age(); 802 parseElementAttributes(xpp, res); 803 next(xpp); 804 int eventType = nextNoWhitespace(xpp); 805 while (eventType != XmlPullParser.END_TAG) { 806 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 807 res.setValueElement(parseDecimal(xpp)); 808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 809 res.setComparatorElement( 810 parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 811 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 812 res.setUnitElement(parseString(xpp)); 813 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 814 res.setSystemElement(parseUri(xpp)); 815 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 816 res.setCodeElement(parseCode(xpp)); 817 } else if (!parseElementContent(eventType, xpp, res)) 818 unknownContent(xpp); 819 eventType = nextNoWhitespace(xpp); 820 } 821 next(xpp); 822 parseElementClose(res); 823 return res; 824 } 825 826 protected HumanName parseHumanName(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 827 HumanName res = new HumanName(); 828 parseElementAttributes(xpp, res); 829 next(xpp); 830 int eventType = nextNoWhitespace(xpp); 831 while (eventType != XmlPullParser.END_TAG) { 832 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 833 res.setUseElement(parseEnumeration(xpp, HumanName.NameUse.NULL, new HumanName.NameUseEnumFactory())); 834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 835 res.setTextElement(parseString(xpp)); 836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("family")) { 837 res.getFamily().add(parseString(xpp)); 838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("given")) { 839 res.getGiven().add(parseString(xpp)); 840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { 841 res.getPrefix().add(parseString(xpp)); 842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suffix")) { 843 res.getSuffix().add(parseString(xpp)); 844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 845 res.setPeriod(parsePeriod(xpp)); 846 } else if (!parseElementContent(eventType, xpp, res)) 847 unknownContent(xpp); 848 eventType = nextNoWhitespace(xpp); 849 } 850 next(xpp); 851 parseElementClose(res); 852 return res; 853 } 854 855 protected ContactPoint parseContactPoint(XmlPullParser xpp) 856 throws XmlPullParserException, IOException, FHIRFormatError { 857 ContactPoint res = new ContactPoint(); 858 parseElementAttributes(xpp, res); 859 next(xpp); 860 int eventType = nextNoWhitespace(xpp); 861 while (eventType != XmlPullParser.END_TAG) { 862 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 863 res.setSystemElement(parseEnumeration(xpp, ContactPoint.ContactPointSystem.NULL, 864 new ContactPoint.ContactPointSystemEnumFactory())); 865 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 866 res.setValueElement(parseString(xpp)); 867 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 868 res.setUseElement( 869 parseEnumeration(xpp, ContactPoint.ContactPointUse.NULL, new ContactPoint.ContactPointUseEnumFactory())); 870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rank")) { 871 res.setRankElement(parsePositiveInt(xpp)); 872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 873 res.setPeriod(parsePeriod(xpp)); 874 } else if (!parseElementContent(eventType, xpp, res)) 875 unknownContent(xpp); 876 eventType = nextNoWhitespace(xpp); 877 } 878 next(xpp); 879 parseElementClose(res); 880 return res; 881 } 882 883 protected Meta parseMeta(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 884 Meta res = new Meta(); 885 parseElementAttributes(xpp, res); 886 next(xpp); 887 int eventType = nextNoWhitespace(xpp); 888 while (eventType != XmlPullParser.END_TAG) { 889 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionId")) { 890 res.setVersionIdElement(parseId(xpp)); 891 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastUpdated")) { 892 res.setLastUpdatedElement(parseInstant(xpp)); 893 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 894 res.getProfile().add(parseUri(xpp)); 895 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { 896 res.getSecurity().add(parseCoding(xpp)); 897 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tag")) { 898 res.getTag().add(parseCoding(xpp)); 899 } else if (!parseElementContent(eventType, xpp, res)) 900 unknownContent(xpp); 901 eventType = nextNoWhitespace(xpp); 902 } 903 next(xpp); 904 parseElementClose(res); 905 return res; 906 } 907 908 protected Address parseAddress(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 909 Address res = new Address(); 910 parseElementAttributes(xpp, res); 911 next(xpp); 912 int eventType = nextNoWhitespace(xpp); 913 while (eventType != XmlPullParser.END_TAG) { 914 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 915 res.setUseElement(parseEnumeration(xpp, Address.AddressUse.NULL, new Address.AddressUseEnumFactory())); 916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 917 res.setTypeElement(parseEnumeration(xpp, Address.AddressType.NULL, new Address.AddressTypeEnumFactory())); 918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 919 res.setTextElement(parseString(xpp)); 920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("line")) { 921 res.getLine().add(parseString(xpp)); 922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("city")) { 923 res.setCityElement(parseString(xpp)); 924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("district")) { 925 res.setDistrictElement(parseString(xpp)); 926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("state")) { 927 res.setStateElement(parseString(xpp)); 928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("postalCode")) { 929 res.setPostalCodeElement(parseString(xpp)); 930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { 931 res.setCountryElement(parseString(xpp)); 932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 933 res.setPeriod(parsePeriod(xpp)); 934 } else if (!parseElementContent(eventType, xpp, res)) 935 unknownContent(xpp); 936 eventType = nextNoWhitespace(xpp); 937 } 938 next(xpp); 939 parseElementClose(res); 940 return res; 941 } 942 943 protected Timing parseTiming(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 944 Timing res = new Timing(); 945 parseElementAttributes(xpp, res); 946 next(xpp); 947 int eventType = nextNoWhitespace(xpp); 948 while (eventType != XmlPullParser.END_TAG) { 949 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 950 res.getEvent().add(parseDateTime(xpp)); 951 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeat")) { 952 res.setRepeat(parseTimingTimingRepeatComponent(xpp, res)); 953 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 954 res.setCode(parseCodeableConcept(xpp)); 955 } else if (!parseElementContent(eventType, xpp, res)) 956 unknownContent(xpp); 957 eventType = nextNoWhitespace(xpp); 958 } 959 next(xpp); 960 parseElementClose(res); 961 return res; 962 } 963 964 protected Timing.TimingRepeatComponent parseTimingTimingRepeatComponent(XmlPullParser xpp, Timing owner) 965 throws XmlPullParserException, IOException, FHIRFormatError { 966 Timing.TimingRepeatComponent res = new Timing.TimingRepeatComponent(); 967 parseElementAttributes(xpp, res); 968 next(xpp); 969 int eventType = nextNoWhitespace(xpp); 970 while (eventType != XmlPullParser.END_TAG) { 971 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "bounds")) { 972 res.setBounds(parseType("bounds", xpp)); 973 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("count")) { 974 res.setCountElement(parseInteger(xpp)); 975 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 976 res.setDurationElement(parseDecimal(xpp)); 977 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("durationMax")) { 978 res.setDurationMaxElement(parseDecimal(xpp)); 979 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("durationUnits")) { 980 res.setDurationUnitsElement( 981 parseEnumeration(xpp, Timing.UnitsOfTime.NULL, new Timing.UnitsOfTimeEnumFactory())); 982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequency")) { 983 res.setFrequencyElement(parseInteger(xpp)); 984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequencyMax")) { 985 res.setFrequencyMaxElement(parseInteger(xpp)); 986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 987 res.setPeriodElement(parseDecimal(xpp)); 988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodMax")) { 989 res.setPeriodMaxElement(parseDecimal(xpp)); 990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodUnits")) { 991 res.setPeriodUnitsElement(parseEnumeration(xpp, Timing.UnitsOfTime.NULL, new Timing.UnitsOfTimeEnumFactory())); 992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 993 res.setWhenElement(parseEnumeration(xpp, Timing.EventTiming.NULL, new Timing.EventTimingEnumFactory())); 994 } else if (!parseElementContent(eventType, xpp, res)) 995 unknownContent(xpp); 996 eventType = nextNoWhitespace(xpp); 997 } 998 next(xpp); 999 parseElementClose(res); 1000 return res; 1001 } 1002 1003 protected ElementDefinition parseElementDefinition(XmlPullParser xpp) 1004 throws XmlPullParserException, IOException, FHIRFormatError { 1005 ElementDefinition res = new ElementDefinition(); 1006 parseElementAttributes(xpp, res); 1007 next(xpp); 1008 int eventType = nextNoWhitespace(xpp); 1009 while (eventType != XmlPullParser.END_TAG) { 1010 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 1011 res.setPathElement(parseString(xpp)); 1012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("representation")) { 1013 res.getRepresentation().add(parseEnumeration(xpp, ElementDefinition.PropertyRepresentation.NULL, 1014 new ElementDefinition.PropertyRepresentationEnumFactory())); 1015 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1016 res.setNameElement(parseString(xpp)); 1017 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 1018 res.setLabelElement(parseString(xpp)); 1019 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1020 res.getCode().add(parseCoding(xpp)); 1021 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("slicing")) { 1022 res.setSlicing(parseElementDefinitionElementDefinitionSlicingComponent(xpp, res)); 1023 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("short")) { 1024 res.setShortElement(parseString(xpp)); 1025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 1026 res.setDefinitionElement(parseMarkdown(xpp)); 1027 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 1028 res.setCommentsElement(parseMarkdown(xpp)); 1029 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 1030 res.setRequirementsElement(parseMarkdown(xpp)); 1031 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 1032 res.getAlias().add(parseString(xpp)); 1033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 1034 res.setMinElement(parseInteger(xpp)); 1035 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 1036 res.setMaxElement(parseString(xpp)); 1037 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 1038 res.setBase(parseElementDefinitionElementDefinitionBaseComponent(xpp, res)); 1039 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1040 res.getType().add(parseElementDefinitionTypeRefComponent(xpp, res)); 1041 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nameReference")) { 1042 res.setNameReferenceElement(parseString(xpp)); 1043 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "defaultValue")) { 1044 res.setDefaultValue(parseType("defaultValue", xpp)); 1045 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaningWhenMissing")) { 1046 res.setMeaningWhenMissingElement(parseMarkdown(xpp)); 1047 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "fixed")) { 1048 res.setFixed(parseType("fixed", xpp)); 1049 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "pattern")) { 1050 res.setPattern(parseType("pattern", xpp)); 1051 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "example")) { 1052 res.setExample(parseType("example", xpp)); 1053 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "minValue")) { 1054 res.setMinValue(parseType("minValue", xpp)); 1055 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "maxValue")) { 1056 res.setMaxValue(parseType("maxValue", xpp)); 1057 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxLength")) { 1058 res.setMaxLengthElement(parseInteger(xpp)); 1059 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 1060 res.getCondition().add(parseId(xpp)); 1061 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("constraint")) { 1062 res.getConstraint().add(parseElementDefinitionElementDefinitionConstraintComponent(xpp, res)); 1063 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mustSupport")) { 1064 res.setMustSupportElement(parseBoolean(xpp)); 1065 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isModifier")) { 1066 res.setIsModifierElement(parseBoolean(xpp)); 1067 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isSummary")) { 1068 res.setIsSummaryElement(parseBoolean(xpp)); 1069 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binding")) { 1070 res.setBinding(parseElementDefinitionElementDefinitionBindingComponent(xpp, res)); 1071 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 1072 res.getMapping().add(parseElementDefinitionElementDefinitionMappingComponent(xpp, res)); 1073 } else if (!parseElementContent(eventType, xpp, res)) 1074 unknownContent(xpp); 1075 eventType = nextNoWhitespace(xpp); 1076 } 1077 next(xpp); 1078 parseElementClose(res); 1079 return res; 1080 } 1081 1082 protected ElementDefinition.ElementDefinitionSlicingComponent parseElementDefinitionElementDefinitionSlicingComponent( 1083 XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1084 ElementDefinition.ElementDefinitionSlicingComponent res = new ElementDefinition.ElementDefinitionSlicingComponent(); 1085 parseElementAttributes(xpp, res); 1086 next(xpp); 1087 int eventType = nextNoWhitespace(xpp); 1088 while (eventType != XmlPullParser.END_TAG) { 1089 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("discriminator")) { 1090 res.getDiscriminator().add(parseString(xpp)); 1091 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1092 res.setDescriptionElement(parseString(xpp)); 1093 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ordered")) { 1094 res.setOrderedElement(parseBoolean(xpp)); 1095 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rules")) { 1096 res.setRulesElement(parseEnumeration(xpp, ElementDefinition.SlicingRules.NULL, 1097 new ElementDefinition.SlicingRulesEnumFactory())); 1098 } else if (!parseElementContent(eventType, xpp, res)) 1099 unknownContent(xpp); 1100 eventType = nextNoWhitespace(xpp); 1101 } 1102 next(xpp); 1103 parseElementClose(res); 1104 return res; 1105 } 1106 1107 protected ElementDefinition.ElementDefinitionBaseComponent parseElementDefinitionElementDefinitionBaseComponent( 1108 XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1109 ElementDefinition.ElementDefinitionBaseComponent res = new ElementDefinition.ElementDefinitionBaseComponent(); 1110 parseElementAttributes(xpp, res); 1111 next(xpp); 1112 int eventType = nextNoWhitespace(xpp); 1113 while (eventType != XmlPullParser.END_TAG) { 1114 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 1115 res.setPathElement(parseString(xpp)); 1116 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 1117 res.setMinElement(parseInteger(xpp)); 1118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 1119 res.setMaxElement(parseString(xpp)); 1120 } else if (!parseElementContent(eventType, xpp, res)) 1121 unknownContent(xpp); 1122 eventType = nextNoWhitespace(xpp); 1123 } 1124 next(xpp); 1125 parseElementClose(res); 1126 return res; 1127 } 1128 1129 protected ElementDefinition.TypeRefComponent parseElementDefinitionTypeRefComponent(XmlPullParser xpp, 1130 ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1131 ElementDefinition.TypeRefComponent res = new ElementDefinition.TypeRefComponent(); 1132 parseElementAttributes(xpp, res); 1133 next(xpp); 1134 int eventType = nextNoWhitespace(xpp); 1135 while (eventType != XmlPullParser.END_TAG) { 1136 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1137 res.setCodeElement(parseCode(xpp)); 1138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 1139 res.getProfile().add(parseUri(xpp)); 1140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("aggregation")) { 1141 res.getAggregation().add(parseEnumeration(xpp, ElementDefinition.AggregationMode.NULL, 1142 new ElementDefinition.AggregationModeEnumFactory())); 1143 } else if (!parseElementContent(eventType, xpp, res)) 1144 unknownContent(xpp); 1145 eventType = nextNoWhitespace(xpp); 1146 } 1147 next(xpp); 1148 parseElementClose(res); 1149 return res; 1150 } 1151 1152 protected ElementDefinition.ElementDefinitionConstraintComponent parseElementDefinitionElementDefinitionConstraintComponent( 1153 XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1154 ElementDefinition.ElementDefinitionConstraintComponent res = new ElementDefinition.ElementDefinitionConstraintComponent(); 1155 parseElementAttributes(xpp, res); 1156 next(xpp); 1157 int eventType = nextNoWhitespace(xpp); 1158 while (eventType != XmlPullParser.END_TAG) { 1159 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { 1160 res.setKeyElement(parseId(xpp)); 1161 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 1162 res.setRequirementsElement(parseString(xpp)); 1163 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 1164 res.setSeverityElement(parseEnumeration(xpp, ElementDefinition.ConstraintSeverity.NULL, 1165 new ElementDefinition.ConstraintSeverityEnumFactory())); 1166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("human")) { 1167 res.setHumanElement(parseString(xpp)); 1168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpath")) { 1169 res.setXpathElement(parseString(xpp)); 1170 } else if (!parseElementContent(eventType, xpp, res)) 1171 unknownContent(xpp); 1172 eventType = nextNoWhitespace(xpp); 1173 } 1174 next(xpp); 1175 parseElementClose(res); 1176 return res; 1177 } 1178 1179 protected ElementDefinition.ElementDefinitionBindingComponent parseElementDefinitionElementDefinitionBindingComponent( 1180 XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1181 ElementDefinition.ElementDefinitionBindingComponent res = new ElementDefinition.ElementDefinitionBindingComponent(); 1182 parseElementAttributes(xpp, res); 1183 next(xpp); 1184 int eventType = nextNoWhitespace(xpp); 1185 while (eventType != XmlPullParser.END_TAG) { 1186 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 1187 res.setStrengthElement( 1188 parseEnumeration(xpp, Enumerations.BindingStrength.NULL, new Enumerations.BindingStrengthEnumFactory())); 1189 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1190 res.setDescriptionElement(parseString(xpp)); 1191 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "valueSet")) { 1192 res.setValueSet(parseType("valueSet", xpp)); 1193 } else if (!parseElementContent(eventType, xpp, res)) 1194 unknownContent(xpp); 1195 eventType = nextNoWhitespace(xpp); 1196 } 1197 next(xpp); 1198 parseElementClose(res); 1199 return res; 1200 } 1201 1202 protected ElementDefinition.ElementDefinitionMappingComponent parseElementDefinitionElementDefinitionMappingComponent( 1203 XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1204 ElementDefinition.ElementDefinitionMappingComponent res = new ElementDefinition.ElementDefinitionMappingComponent(); 1205 parseElementAttributes(xpp, res); 1206 next(xpp); 1207 int eventType = nextNoWhitespace(xpp); 1208 while (eventType != XmlPullParser.END_TAG) { 1209 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 1210 res.setIdentityElement(parseId(xpp)); 1211 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 1212 res.setLanguageElement(parseCode(xpp)); 1213 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("map")) { 1214 res.setMapElement(parseString(xpp)); 1215 } else if (!parseElementContent(eventType, xpp, res)) 1216 unknownContent(xpp); 1217 eventType = nextNoWhitespace(xpp); 1218 } 1219 next(xpp); 1220 parseElementClose(res); 1221 return res; 1222 } 1223 1224 protected void parseDomainResourceAttributes(XmlPullParser xpp, DomainResource res) 1225 throws XmlPullParserException, IOException, FHIRFormatError { 1226 parseResourceAttributes(xpp, res); 1227 } 1228 1229 protected boolean parseDomainResourceContent(int eventType, XmlPullParser xpp, DomainResource res) 1230 throws XmlPullParserException, IOException, FHIRFormatError { 1231 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 1232 res.setText(parseNarrative(xpp)); 1233 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contained")) { 1234 res.getContained().add(parseResourceContained(xpp)); 1235 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extension")) { 1236 res.getExtension().add(parseExtension(xpp)); 1237 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifierExtension")) { 1238 res.getModifierExtension().add(parseExtension(xpp)); 1239 } else 1240 return parseResourceContent(eventType, xpp, res); 1241 return true; 1242 } 1243 1244 protected Parameters parseParameters(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1245 Parameters res = new Parameters(); 1246 parseResourceAttributes(xpp, res); 1247 next(xpp); 1248 int eventType = nextNoWhitespace(xpp); 1249 while (eventType != XmlPullParser.END_TAG) { 1250 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 1251 res.getParameter().add(parseParametersParametersParameterComponent(xpp, res)); 1252 } else if (!parseResourceContent(eventType, xpp, res)) 1253 unknownContent(xpp); 1254 eventType = nextNoWhitespace(xpp); 1255 } 1256 next(xpp); 1257 parseElementClose(res); 1258 return res; 1259 } 1260 1261 protected Parameters.ParametersParameterComponent parseParametersParametersParameterComponent(XmlPullParser xpp, 1262 Parameters owner) throws XmlPullParserException, IOException, FHIRFormatError { 1263 Parameters.ParametersParameterComponent res = new Parameters.ParametersParameterComponent(); 1264 parseBackboneAttributes(xpp, res); 1265 next(xpp); 1266 int eventType = nextNoWhitespace(xpp); 1267 while (eventType != XmlPullParser.END_TAG) { 1268 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1269 res.setNameElement(parseString(xpp)); 1270 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 1271 res.setValue(parseType("value", xpp)); 1272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 1273 res.setResource(parseResourceContained(xpp)); 1274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 1275 res.getPart().add(parseParametersParametersParameterComponent(xpp, owner)); 1276 } else if (!parseBackboneContent(eventType, xpp, res)) 1277 unknownContent(xpp); 1278 eventType = nextNoWhitespace(xpp); 1279 } 1280 next(xpp); 1281 parseElementClose(res); 1282 return res; 1283 } 1284 1285 protected void parseResourceAttributes(XmlPullParser xpp, Resource res) 1286 throws XmlPullParserException, IOException, FHIRFormatError { 1287 if (!comments.isEmpty()) { 1288 res.getFormatCommentsPre().addAll(comments); 1289 comments.clear(); 1290 } 1291 } 1292 1293 protected boolean parseResourceContent(int eventType, XmlPullParser xpp, Resource res) 1294 throws XmlPullParserException, IOException, FHIRFormatError { 1295 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("id")) { 1296 res.setIdElement(parseId(xpp)); 1297 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meta")) { 1298 res.setMeta(parseMeta(xpp)); 1299 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implicitRules")) { 1300 res.setImplicitRulesElement(parseUri(xpp)); 1301 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 1302 res.setLanguageElement(parseCode(xpp)); 1303 } else 1304 return false; 1305 return true; 1306 } 1307 1308 protected Account parseAccount(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1309 Account res = new Account(); 1310 parseDomainResourceAttributes(xpp, res); 1311 next(xpp); 1312 int eventType = nextNoWhitespace(xpp); 1313 while (eventType != XmlPullParser.END_TAG) { 1314 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1315 res.getIdentifier().add(parseIdentifier(xpp)); 1316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1317 res.setNameElement(parseString(xpp)); 1318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1319 res.setType(parseCodeableConcept(xpp)); 1320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1321 res.setStatusElement(parseEnumeration(xpp, Account.AccountStatus.NULL, new Account.AccountStatusEnumFactory())); 1322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activePeriod")) { 1323 res.setActivePeriod(parsePeriod(xpp)); 1324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("currency")) { 1325 res.setCurrency(parseCoding(xpp)); 1326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("balance")) { 1327 res.setBalance(parseMoney(xpp)); 1328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coveragePeriod")) { 1329 res.setCoveragePeriod(parsePeriod(xpp)); 1330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 1331 res.setSubject(parseReference(xpp)); 1332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 1333 res.setOwner(parseReference(xpp)); 1334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1335 res.setDescriptionElement(parseString(xpp)); 1336 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1337 unknownContent(xpp); 1338 eventType = nextNoWhitespace(xpp); 1339 } 1340 next(xpp); 1341 parseElementClose(res); 1342 return res; 1343 } 1344 1345 protected AllergyIntolerance parseAllergyIntolerance(XmlPullParser xpp) 1346 throws XmlPullParserException, IOException, FHIRFormatError { 1347 AllergyIntolerance res = new AllergyIntolerance(); 1348 parseDomainResourceAttributes(xpp, res); 1349 next(xpp); 1350 int eventType = nextNoWhitespace(xpp); 1351 while (eventType != XmlPullParser.END_TAG) { 1352 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1353 res.getIdentifier().add(parseIdentifier(xpp)); 1354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onset")) { 1355 res.setOnsetElement(parseDateTime(xpp)); 1356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedDate")) { 1357 res.setRecordedDateElement(parseDateTime(xpp)); 1358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorder")) { 1359 res.setRecorder(parseReference(xpp)); 1360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 1361 res.setPatient(parseReference(xpp)); 1362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reporter")) { 1363 res.setReporter(parseReference(xpp)); 1364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 1365 res.setSubstance(parseCodeableConcept(xpp)); 1366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1367 res.setStatusElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceStatus.NULL, 1368 new AllergyIntolerance.AllergyIntoleranceStatusEnumFactory())); 1369 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criticality")) { 1370 res.setCriticalityElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCriticality.NULL, 1371 new AllergyIntolerance.AllergyIntoleranceCriticalityEnumFactory())); 1372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1373 res.setTypeElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceType.NULL, 1374 new AllergyIntolerance.AllergyIntoleranceTypeEnumFactory())); 1375 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 1376 res.setCategoryElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCategory.NULL, 1377 new AllergyIntolerance.AllergyIntoleranceCategoryEnumFactory())); 1378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastOccurence")) { 1379 res.setLastOccurenceElement(parseDateTime(xpp)); 1380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 1381 res.setNote(parseAnnotation(xpp)); 1382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reaction")) { 1383 res.getReaction().add(parseAllergyIntoleranceAllergyIntoleranceReactionComponent(xpp, res)); 1384 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1385 unknownContent(xpp); 1386 eventType = nextNoWhitespace(xpp); 1387 } 1388 next(xpp); 1389 parseElementClose(res); 1390 return res; 1391 } 1392 1393 protected AllergyIntolerance.AllergyIntoleranceReactionComponent parseAllergyIntoleranceAllergyIntoleranceReactionComponent( 1394 XmlPullParser xpp, AllergyIntolerance owner) throws XmlPullParserException, IOException, FHIRFormatError { 1395 AllergyIntolerance.AllergyIntoleranceReactionComponent res = new AllergyIntolerance.AllergyIntoleranceReactionComponent(); 1396 parseBackboneAttributes(xpp, res); 1397 next(xpp); 1398 int eventType = nextNoWhitespace(xpp); 1399 while (eventType != XmlPullParser.END_TAG) { 1400 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 1401 res.setSubstance(parseCodeableConcept(xpp)); 1402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("certainty")) { 1403 res.setCertaintyElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCertainty.NULL, 1404 new AllergyIntolerance.AllergyIntoleranceCertaintyEnumFactory())); 1405 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manifestation")) { 1406 res.getManifestation().add(parseCodeableConcept(xpp)); 1407 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1408 res.setDescriptionElement(parseString(xpp)); 1409 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onset")) { 1410 res.setOnsetElement(parseDateTime(xpp)); 1411 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 1412 res.setSeverityElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceSeverity.NULL, 1413 new AllergyIntolerance.AllergyIntoleranceSeverityEnumFactory())); 1414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exposureRoute")) { 1415 res.setExposureRoute(parseCodeableConcept(xpp)); 1416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 1417 res.setNote(parseAnnotation(xpp)); 1418 } else if (!parseBackboneContent(eventType, xpp, res)) 1419 unknownContent(xpp); 1420 eventType = nextNoWhitespace(xpp); 1421 } 1422 next(xpp); 1423 parseElementClose(res); 1424 return res; 1425 } 1426 1427 protected Appointment parseAppointment(XmlPullParser xpp) 1428 throws XmlPullParserException, IOException, FHIRFormatError { 1429 Appointment res = new Appointment(); 1430 parseDomainResourceAttributes(xpp, res); 1431 next(xpp); 1432 int eventType = nextNoWhitespace(xpp); 1433 while (eventType != XmlPullParser.END_TAG) { 1434 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1435 res.getIdentifier().add(parseIdentifier(xpp)); 1436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1437 res.setStatusElement( 1438 parseEnumeration(xpp, Appointment.AppointmentStatus.NULL, new Appointment.AppointmentStatusEnumFactory())); 1439 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1440 res.setType(parseCodeableConcept(xpp)); 1441 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 1442 res.setReason(parseCodeableConcept(xpp)); 1443 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 1444 res.setPriorityElement(parseUnsignedInt(xpp)); 1445 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1446 res.setDescriptionElement(parseString(xpp)); 1447 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 1448 res.setStartElement(parseInstant(xpp)); 1449 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 1450 res.setEndElement(parseInstant(xpp)); 1451 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("minutesDuration")) { 1452 res.setMinutesDurationElement(parsePositiveInt(xpp)); 1453 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("slot")) { 1454 res.getSlot().add(parseReference(xpp)); 1455 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 1456 res.setCommentElement(parseString(xpp)); 1457 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 1458 res.getParticipant().add(parseAppointmentAppointmentParticipantComponent(xpp, res)); 1459 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1460 unknownContent(xpp); 1461 eventType = nextNoWhitespace(xpp); 1462 } 1463 next(xpp); 1464 parseElementClose(res); 1465 return res; 1466 } 1467 1468 protected Appointment.AppointmentParticipantComponent parseAppointmentAppointmentParticipantComponent( 1469 XmlPullParser xpp, Appointment owner) throws XmlPullParserException, IOException, FHIRFormatError { 1470 Appointment.AppointmentParticipantComponent res = new Appointment.AppointmentParticipantComponent(); 1471 parseBackboneAttributes(xpp, res); 1472 next(xpp); 1473 int eventType = nextNoWhitespace(xpp); 1474 while (eventType != XmlPullParser.END_TAG) { 1475 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1476 res.getType().add(parseCodeableConcept(xpp)); 1477 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 1478 res.setActor(parseReference(xpp)); 1479 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 1480 res.setRequiredElement(parseEnumeration(xpp, Appointment.ParticipantRequired.NULL, 1481 new Appointment.ParticipantRequiredEnumFactory())); 1482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1483 res.setStatusElement(parseEnumeration(xpp, Appointment.ParticipationStatus.NULL, 1484 new Appointment.ParticipationStatusEnumFactory())); 1485 } else if (!parseBackboneContent(eventType, xpp, res)) 1486 unknownContent(xpp); 1487 eventType = nextNoWhitespace(xpp); 1488 } 1489 next(xpp); 1490 parseElementClose(res); 1491 return res; 1492 } 1493 1494 protected AppointmentResponse parseAppointmentResponse(XmlPullParser xpp) 1495 throws XmlPullParserException, IOException, FHIRFormatError { 1496 AppointmentResponse res = new AppointmentResponse(); 1497 parseDomainResourceAttributes(xpp, res); 1498 next(xpp); 1499 int eventType = nextNoWhitespace(xpp); 1500 while (eventType != XmlPullParser.END_TAG) { 1501 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1502 res.getIdentifier().add(parseIdentifier(xpp)); 1503 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { 1504 res.setAppointment(parseReference(xpp)); 1505 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 1506 res.setStartElement(parseInstant(xpp)); 1507 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 1508 res.setEndElement(parseInstant(xpp)); 1509 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantType")) { 1510 res.getParticipantType().add(parseCodeableConcept(xpp)); 1511 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 1512 res.setActor(parseReference(xpp)); 1513 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantStatus")) { 1514 res.setParticipantStatusElement(parseEnumeration(xpp, AppointmentResponse.ParticipantStatus.NULL, 1515 new AppointmentResponse.ParticipantStatusEnumFactory())); 1516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 1517 res.setCommentElement(parseString(xpp)); 1518 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1519 unknownContent(xpp); 1520 eventType = nextNoWhitespace(xpp); 1521 } 1522 next(xpp); 1523 parseElementClose(res); 1524 return res; 1525 } 1526 1527 protected AuditEvent parseAuditEvent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1528 AuditEvent res = new AuditEvent(); 1529 parseDomainResourceAttributes(xpp, res); 1530 next(xpp); 1531 int eventType = nextNoWhitespace(xpp); 1532 while (eventType != XmlPullParser.END_TAG) { 1533 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 1534 res.setEvent(parseAuditEventAuditEventEventComponent(xpp, res)); 1535 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 1536 res.getParticipant().add(parseAuditEventAuditEventParticipantComponent(xpp, res)); 1537 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 1538 res.setSource(parseAuditEventAuditEventSourceComponent(xpp, res)); 1539 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("object")) { 1540 res.getObject().add(parseAuditEventAuditEventObjectComponent(xpp, res)); 1541 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1542 unknownContent(xpp); 1543 eventType = nextNoWhitespace(xpp); 1544 } 1545 next(xpp); 1546 parseElementClose(res); 1547 return res; 1548 } 1549 1550 protected AuditEvent.AuditEventEventComponent parseAuditEventAuditEventEventComponent(XmlPullParser xpp, 1551 AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1552 AuditEvent.AuditEventEventComponent res = new AuditEvent.AuditEventEventComponent(); 1553 parseBackboneAttributes(xpp, res); 1554 next(xpp); 1555 int eventType = nextNoWhitespace(xpp); 1556 while (eventType != XmlPullParser.END_TAG) { 1557 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1558 res.setType(parseCoding(xpp)); 1559 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtype")) { 1560 res.getSubtype().add(parseCoding(xpp)); 1561 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 1562 res.setActionElement( 1563 parseEnumeration(xpp, AuditEvent.AuditEventAction.NULL, new AuditEvent.AuditEventActionEnumFactory())); 1564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 1565 res.setDateTimeElement(parseInstant(xpp)); 1566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 1567 res.setOutcomeElement( 1568 parseEnumeration(xpp, AuditEvent.AuditEventOutcome.NULL, new AuditEvent.AuditEventOutcomeEnumFactory())); 1569 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcomeDesc")) { 1570 res.setOutcomeDescElement(parseString(xpp)); 1571 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purposeOfEvent")) { 1572 res.getPurposeOfEvent().add(parseCoding(xpp)); 1573 } else if (!parseBackboneContent(eventType, xpp, res)) 1574 unknownContent(xpp); 1575 eventType = nextNoWhitespace(xpp); 1576 } 1577 next(xpp); 1578 parseElementClose(res); 1579 return res; 1580 } 1581 1582 protected AuditEvent.AuditEventParticipantComponent parseAuditEventAuditEventParticipantComponent(XmlPullParser xpp, 1583 AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1584 AuditEvent.AuditEventParticipantComponent res = new AuditEvent.AuditEventParticipantComponent(); 1585 parseBackboneAttributes(xpp, res); 1586 next(xpp); 1587 int eventType = nextNoWhitespace(xpp); 1588 while (eventType != XmlPullParser.END_TAG) { 1589 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 1590 res.getRole().add(parseCodeableConcept(xpp)); 1591 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 1592 res.setReference(parseReference(xpp)); 1593 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("userId")) { 1594 res.setUserId(parseIdentifier(xpp)); 1595 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("altId")) { 1596 res.setAltIdElement(parseString(xpp)); 1597 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1598 res.setNameElement(parseString(xpp)); 1599 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestor")) { 1600 res.setRequestorElement(parseBoolean(xpp)); 1601 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 1602 res.setLocation(parseReference(xpp)); 1603 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policy")) { 1604 res.getPolicy().add(parseUri(xpp)); 1605 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("media")) { 1606 res.setMedia(parseCoding(xpp)); 1607 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 1608 res.setNetwork(parseAuditEventAuditEventParticipantNetworkComponent(xpp, owner)); 1609 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purposeOfUse")) { 1610 res.getPurposeOfUse().add(parseCoding(xpp)); 1611 } else if (!parseBackboneContent(eventType, xpp, res)) 1612 unknownContent(xpp); 1613 eventType = nextNoWhitespace(xpp); 1614 } 1615 next(xpp); 1616 parseElementClose(res); 1617 return res; 1618 } 1619 1620 protected AuditEvent.AuditEventParticipantNetworkComponent parseAuditEventAuditEventParticipantNetworkComponent( 1621 XmlPullParser xpp, AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1622 AuditEvent.AuditEventParticipantNetworkComponent res = new AuditEvent.AuditEventParticipantNetworkComponent(); 1623 parseBackboneAttributes(xpp, res); 1624 next(xpp); 1625 int eventType = nextNoWhitespace(xpp); 1626 while (eventType != XmlPullParser.END_TAG) { 1627 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 1628 res.setAddressElement(parseString(xpp)); 1629 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1630 res.setTypeElement(parseEnumeration(xpp, AuditEvent.AuditEventParticipantNetworkType.NULL, 1631 new AuditEvent.AuditEventParticipantNetworkTypeEnumFactory())); 1632 } else if (!parseBackboneContent(eventType, xpp, res)) 1633 unknownContent(xpp); 1634 eventType = nextNoWhitespace(xpp); 1635 } 1636 next(xpp); 1637 parseElementClose(res); 1638 return res; 1639 } 1640 1641 protected AuditEvent.AuditEventSourceComponent parseAuditEventAuditEventSourceComponent(XmlPullParser xpp, 1642 AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1643 AuditEvent.AuditEventSourceComponent res = new AuditEvent.AuditEventSourceComponent(); 1644 parseBackboneAttributes(xpp, res); 1645 next(xpp); 1646 int eventType = nextNoWhitespace(xpp); 1647 while (eventType != XmlPullParser.END_TAG) { 1648 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 1649 res.setSiteElement(parseString(xpp)); 1650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1651 res.setIdentifier(parseIdentifier(xpp)); 1652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1653 res.getType().add(parseCoding(xpp)); 1654 } else if (!parseBackboneContent(eventType, xpp, res)) 1655 unknownContent(xpp); 1656 eventType = nextNoWhitespace(xpp); 1657 } 1658 next(xpp); 1659 parseElementClose(res); 1660 return res; 1661 } 1662 1663 protected AuditEvent.AuditEventObjectComponent parseAuditEventAuditEventObjectComponent(XmlPullParser xpp, 1664 AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1665 AuditEvent.AuditEventObjectComponent res = new AuditEvent.AuditEventObjectComponent(); 1666 parseBackboneAttributes(xpp, res); 1667 next(xpp); 1668 int eventType = nextNoWhitespace(xpp); 1669 while (eventType != XmlPullParser.END_TAG) { 1670 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1671 res.setIdentifier(parseIdentifier(xpp)); 1672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 1673 res.setReference(parseReference(xpp)); 1674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1675 res.setType(parseCoding(xpp)); 1676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 1677 res.setRole(parseCoding(xpp)); 1678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lifecycle")) { 1679 res.setLifecycle(parseCoding(xpp)); 1680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 1681 res.getSecurityLabel().add(parseCoding(xpp)); 1682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1683 res.setNameElement(parseString(xpp)); 1684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1685 res.setDescriptionElement(parseString(xpp)); 1686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("query")) { 1687 res.setQueryElement(parseBase64Binary(xpp)); 1688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 1689 res.getDetail().add(parseAuditEventAuditEventObjectDetailComponent(xpp, owner)); 1690 } else if (!parseBackboneContent(eventType, xpp, res)) 1691 unknownContent(xpp); 1692 eventType = nextNoWhitespace(xpp); 1693 } 1694 next(xpp); 1695 parseElementClose(res); 1696 return res; 1697 } 1698 1699 protected AuditEvent.AuditEventObjectDetailComponent parseAuditEventAuditEventObjectDetailComponent(XmlPullParser xpp, 1700 AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1701 AuditEvent.AuditEventObjectDetailComponent res = new AuditEvent.AuditEventObjectDetailComponent(); 1702 parseBackboneAttributes(xpp, res); 1703 next(xpp); 1704 int eventType = nextNoWhitespace(xpp); 1705 while (eventType != XmlPullParser.END_TAG) { 1706 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1707 res.setTypeElement(parseString(xpp)); 1708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 1709 res.setValueElement(parseBase64Binary(xpp)); 1710 } else if (!parseBackboneContent(eventType, xpp, res)) 1711 unknownContent(xpp); 1712 eventType = nextNoWhitespace(xpp); 1713 } 1714 next(xpp); 1715 parseElementClose(res); 1716 return res; 1717 } 1718 1719 protected Basic parseBasic(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1720 Basic res = new Basic(); 1721 parseDomainResourceAttributes(xpp, res); 1722 next(xpp); 1723 int eventType = nextNoWhitespace(xpp); 1724 while (eventType != XmlPullParser.END_TAG) { 1725 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1726 res.getIdentifier().add(parseIdentifier(xpp)); 1727 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1728 res.setCode(parseCodeableConcept(xpp)); 1729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 1730 res.setSubject(parseReference(xpp)); 1731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 1732 res.setAuthor(parseReference(xpp)); 1733 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 1734 res.setCreatedElement(parseDate(xpp)); 1735 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1736 unknownContent(xpp); 1737 eventType = nextNoWhitespace(xpp); 1738 } 1739 next(xpp); 1740 parseElementClose(res); 1741 return res; 1742 } 1743 1744 protected Binary parseBinary(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1745 Binary res = new Binary(); 1746 parseResourceAttributes(xpp, res); 1747 next(xpp); 1748 int eventType = nextNoWhitespace(xpp); 1749 while (eventType != XmlPullParser.END_TAG) { 1750 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 1751 res.setContentTypeElement(parseCode(xpp)); 1752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 1753 res.setContentElement(parseBase64Binary(xpp)); 1754 } else if (!parseResourceContent(eventType, xpp, res)) 1755 unknownContent(xpp); 1756 eventType = nextNoWhitespace(xpp); 1757 } 1758 next(xpp); 1759 parseElementClose(res); 1760 return res; 1761 } 1762 1763 protected BodySite parseBodySite(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1764 BodySite res = new BodySite(); 1765 parseDomainResourceAttributes(xpp, res); 1766 next(xpp); 1767 int eventType = nextNoWhitespace(xpp); 1768 while (eventType != XmlPullParser.END_TAG) { 1769 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 1770 res.setPatient(parseReference(xpp)); 1771 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1772 res.getIdentifier().add(parseIdentifier(xpp)); 1773 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1774 res.setCode(parseCodeableConcept(xpp)); 1775 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 1776 res.getModifier().add(parseCodeableConcept(xpp)); 1777 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1778 res.setDescriptionElement(parseString(xpp)); 1779 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("image")) { 1780 res.getImage().add(parseAttachment(xpp)); 1781 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1782 unknownContent(xpp); 1783 eventType = nextNoWhitespace(xpp); 1784 } 1785 next(xpp); 1786 parseElementClose(res); 1787 return res; 1788 } 1789 1790 protected Bundle parseBundle(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1791 Bundle res = new Bundle(); 1792 parseResourceAttributes(xpp, res); 1793 next(xpp); 1794 int eventType = nextNoWhitespace(xpp); 1795 while (eventType != XmlPullParser.END_TAG) { 1796 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1797 res.setTypeElement(parseEnumeration(xpp, Bundle.BundleType.NULL, new Bundle.BundleTypeEnumFactory())); 1798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 1799 res.setTotalElement(parseUnsignedInt(xpp)); 1800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 1801 res.getLink().add(parseBundleBundleLinkComponent(xpp, res)); 1802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 1803 res.getEntry().add(parseBundleBundleEntryComponent(xpp, res)); 1804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 1805 res.setSignature(parseSignature(xpp)); 1806 } else if (!parseResourceContent(eventType, xpp, res)) 1807 unknownContent(xpp); 1808 eventType = nextNoWhitespace(xpp); 1809 } 1810 next(xpp); 1811 parseElementClose(res); 1812 return res; 1813 } 1814 1815 protected Bundle.BundleLinkComponent parseBundleBundleLinkComponent(XmlPullParser xpp, Bundle owner) 1816 throws XmlPullParserException, IOException, FHIRFormatError { 1817 Bundle.BundleLinkComponent res = new Bundle.BundleLinkComponent(); 1818 parseBackboneAttributes(xpp, res); 1819 next(xpp); 1820 int eventType = nextNoWhitespace(xpp); 1821 while (eventType != XmlPullParser.END_TAG) { 1822 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relation")) { 1823 res.setRelationElement(parseString(xpp)); 1824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 1825 res.setUrlElement(parseUri(xpp)); 1826 } else if (!parseBackboneContent(eventType, xpp, res)) 1827 unknownContent(xpp); 1828 eventType = nextNoWhitespace(xpp); 1829 } 1830 next(xpp); 1831 parseElementClose(res); 1832 return res; 1833 } 1834 1835 protected Bundle.BundleEntryComponent parseBundleBundleEntryComponent(XmlPullParser xpp, Bundle owner) 1836 throws XmlPullParserException, IOException, FHIRFormatError { 1837 Bundle.BundleEntryComponent res = new Bundle.BundleEntryComponent(); 1838 parseBackboneAttributes(xpp, res); 1839 next(xpp); 1840 int eventType = nextNoWhitespace(xpp); 1841 while (eventType != XmlPullParser.END_TAG) { 1842 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 1843 res.getLink().add(parseBundleBundleLinkComponent(xpp, owner)); 1844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fullUrl")) { 1845 res.setFullUrlElement(parseUri(xpp)); 1846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 1847 res.setResource(parseResourceContained(xpp)); 1848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("search")) { 1849 res.setSearch(parseBundleBundleEntrySearchComponent(xpp, owner)); 1850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 1851 res.setRequest(parseBundleBundleEntryRequestComponent(xpp, owner)); 1852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 1853 res.setResponse(parseBundleBundleEntryResponseComponent(xpp, owner)); 1854 } else if (!parseBackboneContent(eventType, xpp, res)) 1855 unknownContent(xpp); 1856 eventType = nextNoWhitespace(xpp); 1857 } 1858 next(xpp); 1859 parseElementClose(res); 1860 return res; 1861 } 1862 1863 protected Bundle.BundleEntrySearchComponent parseBundleBundleEntrySearchComponent(XmlPullParser xpp, Bundle owner) 1864 throws XmlPullParserException, IOException, FHIRFormatError { 1865 Bundle.BundleEntrySearchComponent res = new Bundle.BundleEntrySearchComponent(); 1866 parseBackboneAttributes(xpp, res); 1867 next(xpp); 1868 int eventType = nextNoWhitespace(xpp); 1869 while (eventType != XmlPullParser.END_TAG) { 1870 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 1871 res.setModeElement(parseEnumeration(xpp, Bundle.SearchEntryMode.NULL, new Bundle.SearchEntryModeEnumFactory())); 1872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("score")) { 1873 res.setScoreElement(parseDecimal(xpp)); 1874 } else if (!parseBackboneContent(eventType, xpp, res)) 1875 unknownContent(xpp); 1876 eventType = nextNoWhitespace(xpp); 1877 } 1878 next(xpp); 1879 parseElementClose(res); 1880 return res; 1881 } 1882 1883 protected Bundle.BundleEntryRequestComponent parseBundleBundleEntryRequestComponent(XmlPullParser xpp, Bundle owner) 1884 throws XmlPullParserException, IOException, FHIRFormatError { 1885 Bundle.BundleEntryRequestComponent res = new Bundle.BundleEntryRequestComponent(); 1886 parseBackboneAttributes(xpp, res); 1887 next(xpp); 1888 int eventType = nextNoWhitespace(xpp); 1889 while (eventType != XmlPullParser.END_TAG) { 1890 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 1891 res.setMethodElement(parseEnumeration(xpp, Bundle.HTTPVerb.NULL, new Bundle.HTTPVerbEnumFactory())); 1892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 1893 res.setUrlElement(parseUri(xpp)); 1894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifNoneMatch")) { 1895 res.setIfNoneMatchElement(parseString(xpp)); 1896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifModifiedSince")) { 1897 res.setIfModifiedSinceElement(parseInstant(xpp)); 1898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifMatch")) { 1899 res.setIfMatchElement(parseString(xpp)); 1900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifNoneExist")) { 1901 res.setIfNoneExistElement(parseString(xpp)); 1902 } else if (!parseBackboneContent(eventType, xpp, res)) 1903 unknownContent(xpp); 1904 eventType = nextNoWhitespace(xpp); 1905 } 1906 next(xpp); 1907 parseElementClose(res); 1908 return res; 1909 } 1910 1911 protected Bundle.BundleEntryResponseComponent parseBundleBundleEntryResponseComponent(XmlPullParser xpp, Bundle owner) 1912 throws XmlPullParserException, IOException, FHIRFormatError { 1913 Bundle.BundleEntryResponseComponent res = new Bundle.BundleEntryResponseComponent(); 1914 parseBackboneAttributes(xpp, res); 1915 next(xpp); 1916 int eventType = nextNoWhitespace(xpp); 1917 while (eventType != XmlPullParser.END_TAG) { 1918 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1919 res.setStatusElement(parseString(xpp)); 1920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 1921 res.setLocationElement(parseUri(xpp)); 1922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("etag")) { 1923 res.setEtagElement(parseString(xpp)); 1924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastModified")) { 1925 res.setLastModifiedElement(parseInstant(xpp)); 1926 } else if (!parseBackboneContent(eventType, xpp, res)) 1927 unknownContent(xpp); 1928 eventType = nextNoWhitespace(xpp); 1929 } 1930 next(xpp); 1931 parseElementClose(res); 1932 return res; 1933 } 1934 1935 protected CarePlan parseCarePlan(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1936 CarePlan res = new CarePlan(); 1937 parseDomainResourceAttributes(xpp, res); 1938 next(xpp); 1939 int eventType = nextNoWhitespace(xpp); 1940 while (eventType != XmlPullParser.END_TAG) { 1941 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1942 res.getIdentifier().add(parseIdentifier(xpp)); 1943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 1944 res.setSubject(parseReference(xpp)); 1945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1946 res.setStatusElement( 1947 parseEnumeration(xpp, CarePlan.CarePlanStatus.NULL, new CarePlan.CarePlanStatusEnumFactory())); 1948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 1949 res.setContext(parseReference(xpp)); 1950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 1951 res.setPeriod(parsePeriod(xpp)); 1952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 1953 res.getAuthor().add(parseReference(xpp)); 1954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modified")) { 1955 res.setModifiedElement(parseDateTime(xpp)); 1956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 1957 res.getCategory().add(parseCodeableConcept(xpp)); 1958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1959 res.setDescriptionElement(parseString(xpp)); 1960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addresses")) { 1961 res.getAddresses().add(parseReference(xpp)); 1962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("support")) { 1963 res.getSupport().add(parseReference(xpp)); 1964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedPlan")) { 1965 res.getRelatedPlan().add(parseCarePlanCarePlanRelatedPlanComponent(xpp, res)); 1966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 1967 res.getParticipant().add(parseCarePlanCarePlanParticipantComponent(xpp, res)); 1968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { 1969 res.getGoal().add(parseReference(xpp)); 1970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 1971 res.getActivity().add(parseCarePlanCarePlanActivityComponent(xpp, res)); 1972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 1973 res.setNote(parseAnnotation(xpp)); 1974 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1975 unknownContent(xpp); 1976 eventType = nextNoWhitespace(xpp); 1977 } 1978 next(xpp); 1979 parseElementClose(res); 1980 return res; 1981 } 1982 1983 protected CarePlan.CarePlanRelatedPlanComponent parseCarePlanCarePlanRelatedPlanComponent(XmlPullParser xpp, 1984 CarePlan owner) throws XmlPullParserException, IOException, FHIRFormatError { 1985 CarePlan.CarePlanRelatedPlanComponent res = new CarePlan.CarePlanRelatedPlanComponent(); 1986 parseBackboneAttributes(xpp, res); 1987 next(xpp); 1988 int eventType = nextNoWhitespace(xpp); 1989 while (eventType != XmlPullParser.END_TAG) { 1990 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1991 res.setCodeElement( 1992 parseEnumeration(xpp, CarePlan.CarePlanRelationship.NULL, new CarePlan.CarePlanRelationshipEnumFactory())); 1993 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plan")) { 1994 res.setPlan(parseReference(xpp)); 1995 } else if (!parseBackboneContent(eventType, xpp, res)) 1996 unknownContent(xpp); 1997 eventType = nextNoWhitespace(xpp); 1998 } 1999 next(xpp); 2000 parseElementClose(res); 2001 return res; 2002 } 2003 2004 protected CarePlan.CarePlanParticipantComponent parseCarePlanCarePlanParticipantComponent(XmlPullParser xpp, 2005 CarePlan owner) throws XmlPullParserException, IOException, FHIRFormatError { 2006 CarePlan.CarePlanParticipantComponent res = new CarePlan.CarePlanParticipantComponent(); 2007 parseBackboneAttributes(xpp, res); 2008 next(xpp); 2009 int eventType = nextNoWhitespace(xpp); 2010 while (eventType != XmlPullParser.END_TAG) { 2011 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 2012 res.setRole(parseCodeableConcept(xpp)); 2013 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 2014 res.setMember(parseReference(xpp)); 2015 } else if (!parseBackboneContent(eventType, xpp, res)) 2016 unknownContent(xpp); 2017 eventType = nextNoWhitespace(xpp); 2018 } 2019 next(xpp); 2020 parseElementClose(res); 2021 return res; 2022 } 2023 2024 protected CarePlan.CarePlanActivityComponent parseCarePlanCarePlanActivityComponent(XmlPullParser xpp, CarePlan owner) 2025 throws XmlPullParserException, IOException, FHIRFormatError { 2026 CarePlan.CarePlanActivityComponent res = new CarePlan.CarePlanActivityComponent(); 2027 parseBackboneAttributes(xpp, res); 2028 next(xpp); 2029 int eventType = nextNoWhitespace(xpp); 2030 while (eventType != XmlPullParser.END_TAG) { 2031 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionResulting")) { 2032 res.getActionResulting().add(parseReference(xpp)); 2033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("progress")) { 2034 res.getProgress().add(parseAnnotation(xpp)); 2035 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 2036 res.setReference(parseReference(xpp)); 2037 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 2038 res.setDetail(parseCarePlanCarePlanActivityDetailComponent(xpp, owner)); 2039 } else if (!parseBackboneContent(eventType, xpp, res)) 2040 unknownContent(xpp); 2041 eventType = nextNoWhitespace(xpp); 2042 } 2043 next(xpp); 2044 parseElementClose(res); 2045 return res; 2046 } 2047 2048 protected CarePlan.CarePlanActivityDetailComponent parseCarePlanCarePlanActivityDetailComponent(XmlPullParser xpp, 2049 CarePlan owner) throws XmlPullParserException, IOException, FHIRFormatError { 2050 CarePlan.CarePlanActivityDetailComponent res = new CarePlan.CarePlanActivityDetailComponent(); 2051 parseBackboneAttributes(xpp, res); 2052 next(xpp); 2053 int eventType = nextNoWhitespace(xpp); 2054 while (eventType != XmlPullParser.END_TAG) { 2055 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2056 res.setCategory(parseCodeableConcept(xpp)); 2057 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2058 res.setCode(parseCodeableConcept(xpp)); 2059 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 2060 res.getReasonCode().add(parseCodeableConcept(xpp)); 2061 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 2062 res.getReasonReference().add(parseReference(xpp)); 2063 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { 2064 res.getGoal().add(parseReference(xpp)); 2065 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2066 res.setStatusElement(parseEnumeration(xpp, CarePlan.CarePlanActivityStatus.NULL, 2067 new CarePlan.CarePlanActivityStatusEnumFactory())); 2068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 2069 res.setStatusReason(parseCodeableConcept(xpp)); 2070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prohibited")) { 2071 res.setProhibitedElement(parseBoolean(xpp)); 2072 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "scheduled")) { 2073 res.setScheduled(parseType("scheduled", xpp)); 2074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 2075 res.setLocation(parseReference(xpp)); 2076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 2077 res.getPerformer().add(parseReference(xpp)); 2078 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "product")) { 2079 res.setProduct(parseType("product", xpp)); 2080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dailyAmount")) { 2081 res.setDailyAmount(parseSimpleQuantity(xpp)); 2082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2083 res.setQuantity(parseSimpleQuantity(xpp)); 2084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2085 res.setDescriptionElement(parseString(xpp)); 2086 } else if (!parseBackboneContent(eventType, xpp, res)) 2087 unknownContent(xpp); 2088 eventType = nextNoWhitespace(xpp); 2089 } 2090 next(xpp); 2091 parseElementClose(res); 2092 return res; 2093 } 2094 2095 protected Claim parseClaim(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2096 Claim res = new Claim(); 2097 parseDomainResourceAttributes(xpp, res); 2098 next(xpp); 2099 int eventType = nextNoWhitespace(xpp); 2100 while (eventType != XmlPullParser.END_TAG) { 2101 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2102 res.setTypeElement(parseEnumeration(xpp, Claim.ClaimType.NULL, new Claim.ClaimTypeEnumFactory())); 2103 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2104 res.getIdentifier().add(parseIdentifier(xpp)); 2105 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 2106 res.setRuleset(parseCoding(xpp)); 2107 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2108 res.setOriginalRuleset(parseCoding(xpp)); 2109 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 2110 res.setCreatedElement(parseDateTime(xpp)); 2111 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 2112 res.setTarget(parseReference(xpp)); 2113 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 2114 res.setProvider(parseReference(xpp)); 2115 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 2116 res.setOrganization(parseReference(xpp)); 2117 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 2118 res.setUseElement(parseEnumeration(xpp, Claim.Use.NULL, new Claim.UseEnumFactory())); 2119 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 2120 res.setPriority(parseCoding(xpp)); 2121 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundsReserve")) { 2122 res.setFundsReserve(parseCoding(xpp)); 2123 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 2124 res.setEnterer(parseReference(xpp)); 2125 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { 2126 res.setFacility(parseReference(xpp)); 2127 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescription")) { 2128 res.setPrescription(parseReference(xpp)); 2129 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalPrescription")) { 2130 res.setOriginalPrescription(parseReference(xpp)); 2131 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 2132 res.setPayee(parseClaimPayeeComponent(xpp, res)); 2133 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referral")) { 2134 res.setReferral(parseReference(xpp)); 2135 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 2136 res.getDiagnosis().add(parseClaimDiagnosisComponent(xpp, res)); 2137 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 2138 res.getCondition().add(parseCoding(xpp)); 2139 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 2140 res.setPatient(parseReference(xpp)); 2141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2142 res.getCoverage().add(parseClaimCoverageComponent(xpp, res)); 2143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exception")) { 2144 res.getException().add(parseCoding(xpp)); 2145 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("school")) { 2146 res.setSchoolElement(parseString(xpp)); 2147 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accident")) { 2148 res.setAccidentElement(parseDate(xpp)); 2149 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accidentType")) { 2150 res.setAccidentType(parseCoding(xpp)); 2151 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interventionException")) { 2152 res.getInterventionException().add(parseCoding(xpp)); 2153 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2154 res.getItem().add(parseClaimItemsComponent(xpp, res)); 2155 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalMaterials")) { 2156 res.getAdditionalMaterials().add(parseCoding(xpp)); 2157 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("missingTeeth")) { 2158 res.getMissingTeeth().add(parseClaimMissingTeethComponent(xpp, res)); 2159 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2160 unknownContent(xpp); 2161 eventType = nextNoWhitespace(xpp); 2162 } 2163 next(xpp); 2164 parseElementClose(res); 2165 return res; 2166 } 2167 2168 protected Claim.PayeeComponent parseClaimPayeeComponent(XmlPullParser xpp, Claim owner) 2169 throws XmlPullParserException, IOException, FHIRFormatError { 2170 Claim.PayeeComponent res = new Claim.PayeeComponent(); 2171 parseBackboneAttributes(xpp, res); 2172 next(xpp); 2173 int eventType = nextNoWhitespace(xpp); 2174 while (eventType != XmlPullParser.END_TAG) { 2175 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2176 res.setType(parseCoding(xpp)); 2177 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 2178 res.setProvider(parseReference(xpp)); 2179 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 2180 res.setOrganization(parseReference(xpp)); 2181 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("person")) { 2182 res.setPerson(parseReference(xpp)); 2183 } else if (!parseBackboneContent(eventType, xpp, res)) 2184 unknownContent(xpp); 2185 eventType = nextNoWhitespace(xpp); 2186 } 2187 next(xpp); 2188 parseElementClose(res); 2189 return res; 2190 } 2191 2192 protected Claim.DiagnosisComponent parseClaimDiagnosisComponent(XmlPullParser xpp, Claim owner) 2193 throws XmlPullParserException, IOException, FHIRFormatError { 2194 Claim.DiagnosisComponent res = new Claim.DiagnosisComponent(); 2195 parseBackboneAttributes(xpp, res); 2196 next(xpp); 2197 int eventType = nextNoWhitespace(xpp); 2198 while (eventType != XmlPullParser.END_TAG) { 2199 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2200 res.setSequenceElement(parsePositiveInt(xpp)); 2201 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 2202 res.setDiagnosis(parseCoding(xpp)); 2203 } else if (!parseBackboneContent(eventType, xpp, res)) 2204 unknownContent(xpp); 2205 eventType = nextNoWhitespace(xpp); 2206 } 2207 next(xpp); 2208 parseElementClose(res); 2209 return res; 2210 } 2211 2212 protected Claim.CoverageComponent parseClaimCoverageComponent(XmlPullParser xpp, Claim owner) 2213 throws XmlPullParserException, IOException, FHIRFormatError { 2214 Claim.CoverageComponent res = new Claim.CoverageComponent(); 2215 parseBackboneAttributes(xpp, res); 2216 next(xpp); 2217 int eventType = nextNoWhitespace(xpp); 2218 while (eventType != XmlPullParser.END_TAG) { 2219 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2220 res.setSequenceElement(parsePositiveInt(xpp)); 2221 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 2222 res.setFocalElement(parseBoolean(xpp)); 2223 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2224 res.setCoverage(parseReference(xpp)); 2225 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessArrangement")) { 2226 res.setBusinessArrangementElement(parseString(xpp)); 2227 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 2228 res.setRelationship(parseCoding(xpp)); 2229 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 2230 res.getPreAuthRef().add(parseString(xpp)); 2231 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claimResponse")) { 2232 res.setClaimResponse(parseReference(xpp)); 2233 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2234 res.setOriginalRuleset(parseCoding(xpp)); 2235 } else if (!parseBackboneContent(eventType, xpp, res)) 2236 unknownContent(xpp); 2237 eventType = nextNoWhitespace(xpp); 2238 } 2239 next(xpp); 2240 parseElementClose(res); 2241 return res; 2242 } 2243 2244 protected Claim.ItemsComponent parseClaimItemsComponent(XmlPullParser xpp, Claim owner) 2245 throws XmlPullParserException, IOException, FHIRFormatError { 2246 Claim.ItemsComponent res = new Claim.ItemsComponent(); 2247 parseBackboneAttributes(xpp, res); 2248 next(xpp); 2249 int eventType = nextNoWhitespace(xpp); 2250 while (eventType != XmlPullParser.END_TAG) { 2251 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2252 res.setSequenceElement(parsePositiveInt(xpp)); 2253 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2254 res.setType(parseCoding(xpp)); 2255 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 2256 res.setProvider(parseReference(xpp)); 2257 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosisLinkId")) { 2258 res.getDiagnosisLinkId().add(parsePositiveInt(xpp)); 2259 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2260 res.setService(parseCoding(xpp)); 2261 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceDate")) { 2262 res.setServiceDateElement(parseDate(xpp)); 2263 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2264 res.setQuantity(parseSimpleQuantity(xpp)); 2265 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 2266 res.setUnitPrice(parseMoney(xpp)); 2267 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 2268 res.setFactorElement(parseDecimal(xpp)); 2269 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 2270 res.setPointsElement(parseDecimal(xpp)); 2271 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 2272 res.setNet(parseMoney(xpp)); 2273 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 2274 res.setUdi(parseCoding(xpp)); 2275 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 2276 res.setBodySite(parseCoding(xpp)); 2277 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { 2278 res.getSubSite().add(parseCoding(xpp)); 2279 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 2280 res.getModifier().add(parseCoding(xpp)); 2281 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 2282 res.getDetail().add(parseClaimDetailComponent(xpp, owner)); 2283 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prosthesis")) { 2284 res.setProsthesis(parseClaimProsthesisComponent(xpp, owner)); 2285 } else if (!parseBackboneContent(eventType, xpp, res)) 2286 unknownContent(xpp); 2287 eventType = nextNoWhitespace(xpp); 2288 } 2289 next(xpp); 2290 parseElementClose(res); 2291 return res; 2292 } 2293 2294 protected Claim.DetailComponent parseClaimDetailComponent(XmlPullParser xpp, Claim owner) 2295 throws XmlPullParserException, IOException, FHIRFormatError { 2296 Claim.DetailComponent res = new Claim.DetailComponent(); 2297 parseBackboneAttributes(xpp, res); 2298 next(xpp); 2299 int eventType = nextNoWhitespace(xpp); 2300 while (eventType != XmlPullParser.END_TAG) { 2301 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2302 res.setSequenceElement(parsePositiveInt(xpp)); 2303 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2304 res.setType(parseCoding(xpp)); 2305 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2306 res.setService(parseCoding(xpp)); 2307 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2308 res.setQuantity(parseSimpleQuantity(xpp)); 2309 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 2310 res.setUnitPrice(parseMoney(xpp)); 2311 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 2312 res.setFactorElement(parseDecimal(xpp)); 2313 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 2314 res.setPointsElement(parseDecimal(xpp)); 2315 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 2316 res.setNet(parseMoney(xpp)); 2317 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 2318 res.setUdi(parseCoding(xpp)); 2319 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 2320 res.getSubDetail().add(parseClaimSubDetailComponent(xpp, owner)); 2321 } else if (!parseBackboneContent(eventType, xpp, res)) 2322 unknownContent(xpp); 2323 eventType = nextNoWhitespace(xpp); 2324 } 2325 next(xpp); 2326 parseElementClose(res); 2327 return res; 2328 } 2329 2330 protected Claim.SubDetailComponent parseClaimSubDetailComponent(XmlPullParser xpp, Claim owner) 2331 throws XmlPullParserException, IOException, FHIRFormatError { 2332 Claim.SubDetailComponent res = new Claim.SubDetailComponent(); 2333 parseBackboneAttributes(xpp, res); 2334 next(xpp); 2335 int eventType = nextNoWhitespace(xpp); 2336 while (eventType != XmlPullParser.END_TAG) { 2337 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2338 res.setSequenceElement(parsePositiveInt(xpp)); 2339 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2340 res.setType(parseCoding(xpp)); 2341 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2342 res.setService(parseCoding(xpp)); 2343 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2344 res.setQuantity(parseSimpleQuantity(xpp)); 2345 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 2346 res.setUnitPrice(parseMoney(xpp)); 2347 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 2348 res.setFactorElement(parseDecimal(xpp)); 2349 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 2350 res.setPointsElement(parseDecimal(xpp)); 2351 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 2352 res.setNet(parseMoney(xpp)); 2353 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 2354 res.setUdi(parseCoding(xpp)); 2355 } else if (!parseBackboneContent(eventType, xpp, res)) 2356 unknownContent(xpp); 2357 eventType = nextNoWhitespace(xpp); 2358 } 2359 next(xpp); 2360 parseElementClose(res); 2361 return res; 2362 } 2363 2364 protected Claim.ProsthesisComponent parseClaimProsthesisComponent(XmlPullParser xpp, Claim owner) 2365 throws XmlPullParserException, IOException, FHIRFormatError { 2366 Claim.ProsthesisComponent res = new Claim.ProsthesisComponent(); 2367 parseBackboneAttributes(xpp, res); 2368 next(xpp); 2369 int eventType = nextNoWhitespace(xpp); 2370 while (eventType != XmlPullParser.END_TAG) { 2371 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initial")) { 2372 res.setInitialElement(parseBoolean(xpp)); 2373 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorDate")) { 2374 res.setPriorDateElement(parseDate(xpp)); 2375 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorMaterial")) { 2376 res.setPriorMaterial(parseCoding(xpp)); 2377 } else if (!parseBackboneContent(eventType, xpp, res)) 2378 unknownContent(xpp); 2379 eventType = nextNoWhitespace(xpp); 2380 } 2381 next(xpp); 2382 parseElementClose(res); 2383 return res; 2384 } 2385 2386 protected Claim.MissingTeethComponent parseClaimMissingTeethComponent(XmlPullParser xpp, Claim owner) 2387 throws XmlPullParserException, IOException, FHIRFormatError { 2388 Claim.MissingTeethComponent res = new Claim.MissingTeethComponent(); 2389 parseBackboneAttributes(xpp, res); 2390 next(xpp); 2391 int eventType = nextNoWhitespace(xpp); 2392 while (eventType != XmlPullParser.END_TAG) { 2393 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tooth")) { 2394 res.setTooth(parseCoding(xpp)); 2395 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2396 res.setReason(parseCoding(xpp)); 2397 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extractionDate")) { 2398 res.setExtractionDateElement(parseDate(xpp)); 2399 } else if (!parseBackboneContent(eventType, xpp, res)) 2400 unknownContent(xpp); 2401 eventType = nextNoWhitespace(xpp); 2402 } 2403 next(xpp); 2404 parseElementClose(res); 2405 return res; 2406 } 2407 2408 protected ClaimResponse parseClaimResponse(XmlPullParser xpp) 2409 throws XmlPullParserException, IOException, FHIRFormatError { 2410 ClaimResponse res = new ClaimResponse(); 2411 parseDomainResourceAttributes(xpp, res); 2412 next(xpp); 2413 int eventType = nextNoWhitespace(xpp); 2414 while (eventType != XmlPullParser.END_TAG) { 2415 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2416 res.getIdentifier().add(parseIdentifier(xpp)); 2417 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 2418 res.setRequest(parseReference(xpp)); 2419 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 2420 res.setRuleset(parseCoding(xpp)); 2421 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2422 res.setOriginalRuleset(parseCoding(xpp)); 2423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 2424 res.setCreatedElement(parseDateTime(xpp)); 2425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 2426 res.setOrganization(parseReference(xpp)); 2427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 2428 res.setRequestProvider(parseReference(xpp)); 2429 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 2430 res.setRequestOrganization(parseReference(xpp)); 2431 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 2432 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, 2433 new Enumerations.RemittanceOutcomeEnumFactory())); 2434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 2435 res.setDispositionElement(parseString(xpp)); 2436 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payeeType")) { 2437 res.setPayeeType(parseCoding(xpp)); 2438 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2439 res.getItem().add(parseClaimResponseItemsComponent(xpp, res)); 2440 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addItem")) { 2441 res.getAddItem().add(parseClaimResponseAddedItemComponent(xpp, res)); 2442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 2443 res.getError().add(parseClaimResponseErrorsComponent(xpp, res)); 2444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalCost")) { 2445 res.setTotalCost(parseMoney(xpp)); 2446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unallocDeductable")) { 2447 res.setUnallocDeductable(parseMoney(xpp)); 2448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalBenefit")) { 2449 res.setTotalBenefit(parseMoney(xpp)); 2450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAdjustment")) { 2451 res.setPaymentAdjustment(parseMoney(xpp)); 2452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAdjustmentReason")) { 2453 res.setPaymentAdjustmentReason(parseCoding(xpp)); 2454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentDate")) { 2455 res.setPaymentDateElement(parseDate(xpp)); 2456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAmount")) { 2457 res.setPaymentAmount(parseMoney(xpp)); 2458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentRef")) { 2459 res.setPaymentRef(parseIdentifier(xpp)); 2460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reserved")) { 2461 res.setReserved(parseCoding(xpp)); 2462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 2463 res.setForm(parseCoding(xpp)); 2464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 2465 res.getNote().add(parseClaimResponseNotesComponent(xpp, res)); 2466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2467 res.getCoverage().add(parseClaimResponseCoverageComponent(xpp, res)); 2468 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2469 unknownContent(xpp); 2470 eventType = nextNoWhitespace(xpp); 2471 } 2472 next(xpp); 2473 parseElementClose(res); 2474 return res; 2475 } 2476 2477 protected ClaimResponse.ItemsComponent parseClaimResponseItemsComponent(XmlPullParser xpp, ClaimResponse owner) 2478 throws XmlPullParserException, IOException, FHIRFormatError { 2479 ClaimResponse.ItemsComponent res = new ClaimResponse.ItemsComponent(); 2480 parseBackboneAttributes(xpp, res); 2481 next(xpp); 2482 int eventType = nextNoWhitespace(xpp); 2483 while (eventType != XmlPullParser.END_TAG) { 2484 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2485 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 2487 res.getNoteNumber().add(parsePositiveInt(xpp)); 2488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2489 res.getAdjudication().add(parseClaimResponseItemAdjudicationComponent(xpp, owner)); 2490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 2491 res.getDetail().add(parseClaimResponseItemDetailComponent(xpp, owner)); 2492 } else if (!parseBackboneContent(eventType, xpp, res)) 2493 unknownContent(xpp); 2494 eventType = nextNoWhitespace(xpp); 2495 } 2496 next(xpp); 2497 parseElementClose(res); 2498 return res; 2499 } 2500 2501 protected ClaimResponse.ItemAdjudicationComponent parseClaimResponseItemAdjudicationComponent(XmlPullParser xpp, 2502 ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2503 ClaimResponse.ItemAdjudicationComponent res = new ClaimResponse.ItemAdjudicationComponent(); 2504 parseBackboneAttributes(xpp, res); 2505 next(xpp); 2506 int eventType = nextNoWhitespace(xpp); 2507 while (eventType != XmlPullParser.END_TAG) { 2508 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2509 res.setCode(parseCoding(xpp)); 2510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2511 res.setAmount(parseMoney(xpp)); 2512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2513 res.setValueElement(parseDecimal(xpp)); 2514 } else if (!parseBackboneContent(eventType, xpp, res)) 2515 unknownContent(xpp); 2516 eventType = nextNoWhitespace(xpp); 2517 } 2518 next(xpp); 2519 parseElementClose(res); 2520 return res; 2521 } 2522 2523 protected ClaimResponse.ItemDetailComponent parseClaimResponseItemDetailComponent(XmlPullParser xpp, 2524 ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2525 ClaimResponse.ItemDetailComponent res = new ClaimResponse.ItemDetailComponent(); 2526 parseBackboneAttributes(xpp, res); 2527 next(xpp); 2528 int eventType = nextNoWhitespace(xpp); 2529 while (eventType != XmlPullParser.END_TAG) { 2530 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2531 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2533 res.getAdjudication().add(parseClaimResponseDetailAdjudicationComponent(xpp, owner)); 2534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 2535 res.getSubDetail().add(parseClaimResponseSubDetailComponent(xpp, owner)); 2536 } else if (!parseBackboneContent(eventType, xpp, res)) 2537 unknownContent(xpp); 2538 eventType = nextNoWhitespace(xpp); 2539 } 2540 next(xpp); 2541 parseElementClose(res); 2542 return res; 2543 } 2544 2545 protected ClaimResponse.DetailAdjudicationComponent parseClaimResponseDetailAdjudicationComponent(XmlPullParser xpp, 2546 ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2547 ClaimResponse.DetailAdjudicationComponent res = new ClaimResponse.DetailAdjudicationComponent(); 2548 parseBackboneAttributes(xpp, res); 2549 next(xpp); 2550 int eventType = nextNoWhitespace(xpp); 2551 while (eventType != XmlPullParser.END_TAG) { 2552 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2553 res.setCode(parseCoding(xpp)); 2554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2555 res.setAmount(parseMoney(xpp)); 2556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2557 res.setValueElement(parseDecimal(xpp)); 2558 } else if (!parseBackboneContent(eventType, xpp, res)) 2559 unknownContent(xpp); 2560 eventType = nextNoWhitespace(xpp); 2561 } 2562 next(xpp); 2563 parseElementClose(res); 2564 return res; 2565 } 2566 2567 protected ClaimResponse.SubDetailComponent parseClaimResponseSubDetailComponent(XmlPullParser xpp, 2568 ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2569 ClaimResponse.SubDetailComponent res = new ClaimResponse.SubDetailComponent(); 2570 parseBackboneAttributes(xpp, res); 2571 next(xpp); 2572 int eventType = nextNoWhitespace(xpp); 2573 while (eventType != XmlPullParser.END_TAG) { 2574 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2575 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2577 res.getAdjudication().add(parseClaimResponseSubdetailAdjudicationComponent(xpp, owner)); 2578 } else if (!parseBackboneContent(eventType, xpp, res)) 2579 unknownContent(xpp); 2580 eventType = nextNoWhitespace(xpp); 2581 } 2582 next(xpp); 2583 parseElementClose(res); 2584 return res; 2585 } 2586 2587 protected ClaimResponse.SubdetailAdjudicationComponent parseClaimResponseSubdetailAdjudicationComponent( 2588 XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2589 ClaimResponse.SubdetailAdjudicationComponent res = new ClaimResponse.SubdetailAdjudicationComponent(); 2590 parseBackboneAttributes(xpp, res); 2591 next(xpp); 2592 int eventType = nextNoWhitespace(xpp); 2593 while (eventType != XmlPullParser.END_TAG) { 2594 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2595 res.setCode(parseCoding(xpp)); 2596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2597 res.setAmount(parseMoney(xpp)); 2598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2599 res.setValueElement(parseDecimal(xpp)); 2600 } else if (!parseBackboneContent(eventType, xpp, res)) 2601 unknownContent(xpp); 2602 eventType = nextNoWhitespace(xpp); 2603 } 2604 next(xpp); 2605 parseElementClose(res); 2606 return res; 2607 } 2608 2609 protected ClaimResponse.AddedItemComponent parseClaimResponseAddedItemComponent(XmlPullParser xpp, 2610 ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2611 ClaimResponse.AddedItemComponent res = new ClaimResponse.AddedItemComponent(); 2612 parseBackboneAttributes(xpp, res); 2613 next(xpp); 2614 int eventType = nextNoWhitespace(xpp); 2615 while (eventType != XmlPullParser.END_TAG) { 2616 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2617 res.getSequenceLinkId().add(parsePositiveInt(xpp)); 2618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2619 res.setService(parseCoding(xpp)); 2620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fee")) { 2621 res.setFee(parseMoney(xpp)); 2622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumberLinkId")) { 2623 res.getNoteNumberLinkId().add(parsePositiveInt(xpp)); 2624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2625 res.getAdjudication().add(parseClaimResponseAddedItemAdjudicationComponent(xpp, owner)); 2626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 2627 res.getDetail().add(parseClaimResponseAddedItemsDetailComponent(xpp, owner)); 2628 } else if (!parseBackboneContent(eventType, xpp, res)) 2629 unknownContent(xpp); 2630 eventType = nextNoWhitespace(xpp); 2631 } 2632 next(xpp); 2633 parseElementClose(res); 2634 return res; 2635 } 2636 2637 protected ClaimResponse.AddedItemAdjudicationComponent parseClaimResponseAddedItemAdjudicationComponent( 2638 XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2639 ClaimResponse.AddedItemAdjudicationComponent res = new ClaimResponse.AddedItemAdjudicationComponent(); 2640 parseBackboneAttributes(xpp, res); 2641 next(xpp); 2642 int eventType = nextNoWhitespace(xpp); 2643 while (eventType != XmlPullParser.END_TAG) { 2644 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2645 res.setCode(parseCoding(xpp)); 2646 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2647 res.setAmount(parseMoney(xpp)); 2648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2649 res.setValueElement(parseDecimal(xpp)); 2650 } else if (!parseBackboneContent(eventType, xpp, res)) 2651 unknownContent(xpp); 2652 eventType = nextNoWhitespace(xpp); 2653 } 2654 next(xpp); 2655 parseElementClose(res); 2656 return res; 2657 } 2658 2659 protected ClaimResponse.AddedItemsDetailComponent parseClaimResponseAddedItemsDetailComponent(XmlPullParser xpp, 2660 ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2661 ClaimResponse.AddedItemsDetailComponent res = new ClaimResponse.AddedItemsDetailComponent(); 2662 parseBackboneAttributes(xpp, res); 2663 next(xpp); 2664 int eventType = nextNoWhitespace(xpp); 2665 while (eventType != XmlPullParser.END_TAG) { 2666 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2667 res.setService(parseCoding(xpp)); 2668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fee")) { 2669 res.setFee(parseMoney(xpp)); 2670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2671 res.getAdjudication().add(parseClaimResponseAddedItemDetailAdjudicationComponent(xpp, owner)); 2672 } else if (!parseBackboneContent(eventType, xpp, res)) 2673 unknownContent(xpp); 2674 eventType = nextNoWhitespace(xpp); 2675 } 2676 next(xpp); 2677 parseElementClose(res); 2678 return res; 2679 } 2680 2681 protected ClaimResponse.AddedItemDetailAdjudicationComponent parseClaimResponseAddedItemDetailAdjudicationComponent( 2682 XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2683 ClaimResponse.AddedItemDetailAdjudicationComponent res = new ClaimResponse.AddedItemDetailAdjudicationComponent(); 2684 parseBackboneAttributes(xpp, res); 2685 next(xpp); 2686 int eventType = nextNoWhitespace(xpp); 2687 while (eventType != XmlPullParser.END_TAG) { 2688 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2689 res.setCode(parseCoding(xpp)); 2690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2691 res.setAmount(parseMoney(xpp)); 2692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2693 res.setValueElement(parseDecimal(xpp)); 2694 } else if (!parseBackboneContent(eventType, xpp, res)) 2695 unknownContent(xpp); 2696 eventType = nextNoWhitespace(xpp); 2697 } 2698 next(xpp); 2699 parseElementClose(res); 2700 return res; 2701 } 2702 2703 protected ClaimResponse.ErrorsComponent parseClaimResponseErrorsComponent(XmlPullParser xpp, ClaimResponse owner) 2704 throws XmlPullParserException, IOException, FHIRFormatError { 2705 ClaimResponse.ErrorsComponent res = new ClaimResponse.ErrorsComponent(); 2706 parseBackboneAttributes(xpp, res); 2707 next(xpp); 2708 int eventType = nextNoWhitespace(xpp); 2709 while (eventType != XmlPullParser.END_TAG) { 2710 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2711 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detailSequenceLinkId")) { 2713 res.setDetailSequenceLinkIdElement(parsePositiveInt(xpp)); 2714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subdetailSequenceLinkId")) { 2715 res.setSubdetailSequenceLinkIdElement(parsePositiveInt(xpp)); 2716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2717 res.setCode(parseCoding(xpp)); 2718 } else if (!parseBackboneContent(eventType, xpp, res)) 2719 unknownContent(xpp); 2720 eventType = nextNoWhitespace(xpp); 2721 } 2722 next(xpp); 2723 parseElementClose(res); 2724 return res; 2725 } 2726 2727 protected ClaimResponse.NotesComponent parseClaimResponseNotesComponent(XmlPullParser xpp, ClaimResponse owner) 2728 throws XmlPullParserException, IOException, FHIRFormatError { 2729 ClaimResponse.NotesComponent res = new ClaimResponse.NotesComponent(); 2730 parseBackboneAttributes(xpp, res); 2731 next(xpp); 2732 int eventType = nextNoWhitespace(xpp); 2733 while (eventType != XmlPullParser.END_TAG) { 2734 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 2735 res.setNumberElement(parsePositiveInt(xpp)); 2736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2737 res.setType(parseCoding(xpp)); 2738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 2739 res.setTextElement(parseString(xpp)); 2740 } else if (!parseBackboneContent(eventType, xpp, res)) 2741 unknownContent(xpp); 2742 eventType = nextNoWhitespace(xpp); 2743 } 2744 next(xpp); 2745 parseElementClose(res); 2746 return res; 2747 } 2748 2749 protected ClaimResponse.CoverageComponent parseClaimResponseCoverageComponent(XmlPullParser xpp, ClaimResponse owner) 2750 throws XmlPullParserException, IOException, FHIRFormatError { 2751 ClaimResponse.CoverageComponent res = new ClaimResponse.CoverageComponent(); 2752 parseBackboneAttributes(xpp, res); 2753 next(xpp); 2754 int eventType = nextNoWhitespace(xpp); 2755 while (eventType != XmlPullParser.END_TAG) { 2756 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2757 res.setSequenceElement(parsePositiveInt(xpp)); 2758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 2759 res.setFocalElement(parseBoolean(xpp)); 2760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2761 res.setCoverage(parseReference(xpp)); 2762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessArrangement")) { 2763 res.setBusinessArrangementElement(parseString(xpp)); 2764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 2765 res.setRelationship(parseCoding(xpp)); 2766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 2767 res.getPreAuthRef().add(parseString(xpp)); 2768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claimResponse")) { 2769 res.setClaimResponse(parseReference(xpp)); 2770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2771 res.setOriginalRuleset(parseCoding(xpp)); 2772 } else if (!parseBackboneContent(eventType, xpp, res)) 2773 unknownContent(xpp); 2774 eventType = nextNoWhitespace(xpp); 2775 } 2776 next(xpp); 2777 parseElementClose(res); 2778 return res; 2779 } 2780 2781 protected ClinicalImpression parseClinicalImpression(XmlPullParser xpp) 2782 throws XmlPullParserException, IOException, FHIRFormatError { 2783 ClinicalImpression res = new ClinicalImpression(); 2784 parseDomainResourceAttributes(xpp, res); 2785 next(xpp); 2786 int eventType = nextNoWhitespace(xpp); 2787 while (eventType != XmlPullParser.END_TAG) { 2788 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 2789 res.setPatient(parseReference(xpp)); 2790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assessor")) { 2791 res.setAssessor(parseReference(xpp)); 2792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2793 res.setStatusElement(parseEnumeration(xpp, ClinicalImpression.ClinicalImpressionStatus.NULL, 2794 new ClinicalImpression.ClinicalImpressionStatusEnumFactory())); 2795 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 2796 res.setDateElement(parseDateTime(xpp)); 2797 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2798 res.setDescriptionElement(parseString(xpp)); 2799 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("previous")) { 2800 res.setPrevious(parseReference(xpp)); 2801 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("problem")) { 2802 res.getProblem().add(parseReference(xpp)); 2803 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "trigger")) { 2804 res.setTrigger(parseType("trigger", xpp)); 2805 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("investigations")) { 2806 res.getInvestigations().add(parseClinicalImpressionClinicalImpressionInvestigationsComponent(xpp, res)); 2807 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 2808 res.setProtocolElement(parseUri(xpp)); 2809 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 2810 res.setSummaryElement(parseString(xpp)); 2811 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("finding")) { 2812 res.getFinding().add(parseClinicalImpressionClinicalImpressionFindingComponent(xpp, res)); 2813 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resolved")) { 2814 res.getResolved().add(parseCodeableConcept(xpp)); 2815 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruledOut")) { 2816 res.getRuledOut().add(parseClinicalImpressionClinicalImpressionRuledOutComponent(xpp, res)); 2817 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prognosis")) { 2818 res.setPrognosisElement(parseString(xpp)); 2819 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plan")) { 2820 res.getPlan().add(parseReference(xpp)); 2821 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 2822 res.getAction().add(parseReference(xpp)); 2823 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2824 unknownContent(xpp); 2825 eventType = nextNoWhitespace(xpp); 2826 } 2827 next(xpp); 2828 parseElementClose(res); 2829 return res; 2830 } 2831 2832 protected ClinicalImpression.ClinicalImpressionInvestigationsComponent parseClinicalImpressionClinicalImpressionInvestigationsComponent( 2833 XmlPullParser xpp, ClinicalImpression owner) throws XmlPullParserException, IOException, FHIRFormatError { 2834 ClinicalImpression.ClinicalImpressionInvestigationsComponent res = new ClinicalImpression.ClinicalImpressionInvestigationsComponent(); 2835 parseBackboneAttributes(xpp, res); 2836 next(xpp); 2837 int eventType = nextNoWhitespace(xpp); 2838 while (eventType != XmlPullParser.END_TAG) { 2839 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2840 res.setCode(parseCodeableConcept(xpp)); 2841 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2842 res.getItem().add(parseReference(xpp)); 2843 } else if (!parseBackboneContent(eventType, xpp, res)) 2844 unknownContent(xpp); 2845 eventType = nextNoWhitespace(xpp); 2846 } 2847 next(xpp); 2848 parseElementClose(res); 2849 return res; 2850 } 2851 2852 protected ClinicalImpression.ClinicalImpressionFindingComponent parseClinicalImpressionClinicalImpressionFindingComponent( 2853 XmlPullParser xpp, ClinicalImpression owner) throws XmlPullParserException, IOException, FHIRFormatError { 2854 ClinicalImpression.ClinicalImpressionFindingComponent res = new ClinicalImpression.ClinicalImpressionFindingComponent(); 2855 parseBackboneAttributes(xpp, res); 2856 next(xpp); 2857 int eventType = nextNoWhitespace(xpp); 2858 while (eventType != XmlPullParser.END_TAG) { 2859 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2860 res.setItem(parseCodeableConcept(xpp)); 2861 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cause")) { 2862 res.setCauseElement(parseString(xpp)); 2863 } else if (!parseBackboneContent(eventType, xpp, res)) 2864 unknownContent(xpp); 2865 eventType = nextNoWhitespace(xpp); 2866 } 2867 next(xpp); 2868 parseElementClose(res); 2869 return res; 2870 } 2871 2872 protected ClinicalImpression.ClinicalImpressionRuledOutComponent parseClinicalImpressionClinicalImpressionRuledOutComponent( 2873 XmlPullParser xpp, ClinicalImpression owner) throws XmlPullParserException, IOException, FHIRFormatError { 2874 ClinicalImpression.ClinicalImpressionRuledOutComponent res = new ClinicalImpression.ClinicalImpressionRuledOutComponent(); 2875 parseBackboneAttributes(xpp, res); 2876 next(xpp); 2877 int eventType = nextNoWhitespace(xpp); 2878 while (eventType != XmlPullParser.END_TAG) { 2879 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2880 res.setItem(parseCodeableConcept(xpp)); 2881 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2882 res.setReasonElement(parseString(xpp)); 2883 } else if (!parseBackboneContent(eventType, xpp, res)) 2884 unknownContent(xpp); 2885 eventType = nextNoWhitespace(xpp); 2886 } 2887 next(xpp); 2888 parseElementClose(res); 2889 return res; 2890 } 2891 2892 protected Communication parseCommunication(XmlPullParser xpp) 2893 throws XmlPullParserException, IOException, FHIRFormatError { 2894 Communication res = new Communication(); 2895 parseDomainResourceAttributes(xpp, res); 2896 next(xpp); 2897 int eventType = nextNoWhitespace(xpp); 2898 while (eventType != XmlPullParser.END_TAG) { 2899 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2900 res.getIdentifier().add(parseIdentifier(xpp)); 2901 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2902 res.setCategory(parseCodeableConcept(xpp)); 2903 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sender")) { 2904 res.setSender(parseReference(xpp)); 2905 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 2906 res.getRecipient().add(parseReference(xpp)); 2907 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 2908 res.getPayload().add(parseCommunicationCommunicationPayloadComponent(xpp, res)); 2909 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("medium")) { 2910 res.getMedium().add(parseCodeableConcept(xpp)); 2911 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2912 res.setStatusElement(parseEnumeration(xpp, Communication.CommunicationStatus.NULL, 2913 new Communication.CommunicationStatusEnumFactory())); 2914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 2915 res.setEncounter(parseReference(xpp)); 2916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sent")) { 2917 res.setSentElement(parseDateTime(xpp)); 2918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("received")) { 2919 res.setReceivedElement(parseDateTime(xpp)); 2920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2921 res.getReason().add(parseCodeableConcept(xpp)); 2922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 2923 res.setSubject(parseReference(xpp)); 2924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestDetail")) { 2925 res.setRequestDetail(parseReference(xpp)); 2926 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2927 unknownContent(xpp); 2928 eventType = nextNoWhitespace(xpp); 2929 } 2930 next(xpp); 2931 parseElementClose(res); 2932 return res; 2933 } 2934 2935 protected Communication.CommunicationPayloadComponent parseCommunicationCommunicationPayloadComponent( 2936 XmlPullParser xpp, Communication owner) throws XmlPullParserException, IOException, FHIRFormatError { 2937 Communication.CommunicationPayloadComponent res = new Communication.CommunicationPayloadComponent(); 2938 parseBackboneAttributes(xpp, res); 2939 next(xpp); 2940 int eventType = nextNoWhitespace(xpp); 2941 while (eventType != XmlPullParser.END_TAG) { 2942 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 2943 res.setContent(parseType("content", xpp)); 2944 } else if (!parseBackboneContent(eventType, xpp, res)) 2945 unknownContent(xpp); 2946 eventType = nextNoWhitespace(xpp); 2947 } 2948 next(xpp); 2949 parseElementClose(res); 2950 return res; 2951 } 2952 2953 protected CommunicationRequest parseCommunicationRequest(XmlPullParser xpp) 2954 throws XmlPullParserException, IOException, FHIRFormatError { 2955 CommunicationRequest res = new CommunicationRequest(); 2956 parseDomainResourceAttributes(xpp, res); 2957 next(xpp); 2958 int eventType = nextNoWhitespace(xpp); 2959 while (eventType != XmlPullParser.END_TAG) { 2960 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2961 res.getIdentifier().add(parseIdentifier(xpp)); 2962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2963 res.setCategory(parseCodeableConcept(xpp)); 2964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sender")) { 2965 res.setSender(parseReference(xpp)); 2966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 2967 res.getRecipient().add(parseReference(xpp)); 2968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 2969 res.getPayload().add(parseCommunicationRequestCommunicationRequestPayloadComponent(xpp, res)); 2970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("medium")) { 2971 res.getMedium().add(parseCodeableConcept(xpp)); 2972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 2973 res.setRequester(parseReference(xpp)); 2974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2975 res.setStatusElement(parseEnumeration(xpp, CommunicationRequest.CommunicationRequestStatus.NULL, 2976 new CommunicationRequest.CommunicationRequestStatusEnumFactory())); 2977 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 2978 res.setEncounter(parseReference(xpp)); 2979 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "scheduled")) { 2980 res.setScheduled(parseType("scheduled", xpp)); 2981 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2982 res.getReason().add(parseCodeableConcept(xpp)); 2983 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestedOn")) { 2984 res.setRequestedOnElement(parseDateTime(xpp)); 2985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 2986 res.setSubject(parseReference(xpp)); 2987 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 2988 res.setPriority(parseCodeableConcept(xpp)); 2989 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2990 unknownContent(xpp); 2991 eventType = nextNoWhitespace(xpp); 2992 } 2993 next(xpp); 2994 parseElementClose(res); 2995 return res; 2996 } 2997 2998 protected CommunicationRequest.CommunicationRequestPayloadComponent parseCommunicationRequestCommunicationRequestPayloadComponent( 2999 XmlPullParser xpp, CommunicationRequest owner) throws XmlPullParserException, IOException, FHIRFormatError { 3000 CommunicationRequest.CommunicationRequestPayloadComponent res = new CommunicationRequest.CommunicationRequestPayloadComponent(); 3001 parseBackboneAttributes(xpp, res); 3002 next(xpp); 3003 int eventType = nextNoWhitespace(xpp); 3004 while (eventType != XmlPullParser.END_TAG) { 3005 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 3006 res.setContent(parseType("content", xpp)); 3007 } else if (!parseBackboneContent(eventType, xpp, res)) 3008 unknownContent(xpp); 3009 eventType = nextNoWhitespace(xpp); 3010 } 3011 next(xpp); 3012 parseElementClose(res); 3013 return res; 3014 } 3015 3016 protected Composition parseComposition(XmlPullParser xpp) 3017 throws XmlPullParserException, IOException, FHIRFormatError { 3018 Composition res = new Composition(); 3019 parseDomainResourceAttributes(xpp, res); 3020 next(xpp); 3021 int eventType = nextNoWhitespace(xpp); 3022 while (eventType != XmlPullParser.END_TAG) { 3023 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3024 res.setIdentifier(parseIdentifier(xpp)); 3025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 3026 res.setDateElement(parseDateTime(xpp)); 3027 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3028 res.setType(parseCodeableConcept(xpp)); 3029 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 3030 res.setClass_(parseCodeableConcept(xpp)); 3031 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 3032 res.setTitleElement(parseString(xpp)); 3033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3034 res.setStatusElement( 3035 parseEnumeration(xpp, Composition.CompositionStatus.NULL, new Composition.CompositionStatusEnumFactory())); 3036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("confidentiality")) { 3037 res.setConfidentialityElement(parseCode(xpp)); 3038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 3039 res.setSubject(parseReference(xpp)); 3040 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 3041 res.getAuthor().add(parseReference(xpp)); 3042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attester")) { 3043 res.getAttester().add(parseCompositionCompositionAttesterComponent(xpp, res)); 3044 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { 3045 res.setCustodian(parseReference(xpp)); 3046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 3047 res.getEvent().add(parseCompositionCompositionEventComponent(xpp, res)); 3048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 3049 res.setEncounter(parseReference(xpp)); 3050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 3051 res.getSection().add(parseCompositionSectionComponent(xpp, res)); 3052 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3053 unknownContent(xpp); 3054 eventType = nextNoWhitespace(xpp); 3055 } 3056 next(xpp); 3057 parseElementClose(res); 3058 return res; 3059 } 3060 3061 protected Composition.CompositionAttesterComponent parseCompositionCompositionAttesterComponent(XmlPullParser xpp, 3062 Composition owner) throws XmlPullParserException, IOException, FHIRFormatError { 3063 Composition.CompositionAttesterComponent res = new Composition.CompositionAttesterComponent(); 3064 parseBackboneAttributes(xpp, res); 3065 next(xpp); 3066 int eventType = nextNoWhitespace(xpp); 3067 while (eventType != XmlPullParser.END_TAG) { 3068 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3069 res.getMode().add(parseEnumeration(xpp, Composition.CompositionAttestationMode.NULL, 3070 new Composition.CompositionAttestationModeEnumFactory())); 3071 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 3072 res.setTimeElement(parseDateTime(xpp)); 3073 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 3074 res.setParty(parseReference(xpp)); 3075 } else if (!parseBackboneContent(eventType, xpp, res)) 3076 unknownContent(xpp); 3077 eventType = nextNoWhitespace(xpp); 3078 } 3079 next(xpp); 3080 parseElementClose(res); 3081 return res; 3082 } 3083 3084 protected Composition.CompositionEventComponent parseCompositionCompositionEventComponent(XmlPullParser xpp, 3085 Composition owner) throws XmlPullParserException, IOException, FHIRFormatError { 3086 Composition.CompositionEventComponent res = new Composition.CompositionEventComponent(); 3087 parseBackboneAttributes(xpp, res); 3088 next(xpp); 3089 int eventType = nextNoWhitespace(xpp); 3090 while (eventType != XmlPullParser.END_TAG) { 3091 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3092 res.getCode().add(parseCodeableConcept(xpp)); 3093 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 3094 res.setPeriod(parsePeriod(xpp)); 3095 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 3096 res.getDetail().add(parseReference(xpp)); 3097 } else if (!parseBackboneContent(eventType, xpp, res)) 3098 unknownContent(xpp); 3099 eventType = nextNoWhitespace(xpp); 3100 } 3101 next(xpp); 3102 parseElementClose(res); 3103 return res; 3104 } 3105 3106 protected Composition.SectionComponent parseCompositionSectionComponent(XmlPullParser xpp, Composition owner) 3107 throws XmlPullParserException, IOException, FHIRFormatError { 3108 Composition.SectionComponent res = new Composition.SectionComponent(); 3109 parseBackboneAttributes(xpp, res); 3110 next(xpp); 3111 int eventType = nextNoWhitespace(xpp); 3112 while (eventType != XmlPullParser.END_TAG) { 3113 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 3114 res.setTitleElement(parseString(xpp)); 3115 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3116 res.setCode(parseCodeableConcept(xpp)); 3117 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 3118 res.setText(parseNarrative(xpp)); 3119 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3120 res.setModeElement(parseCode(xpp)); 3121 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedBy")) { 3122 res.setOrderedBy(parseCodeableConcept(xpp)); 3123 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 3124 res.getEntry().add(parseReference(xpp)); 3125 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("emptyReason")) { 3126 res.setEmptyReason(parseCodeableConcept(xpp)); 3127 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 3128 res.getSection().add(parseCompositionSectionComponent(xpp, owner)); 3129 } else if (!parseBackboneContent(eventType, xpp, res)) 3130 unknownContent(xpp); 3131 eventType = nextNoWhitespace(xpp); 3132 } 3133 next(xpp); 3134 parseElementClose(res); 3135 return res; 3136 } 3137 3138 protected ConceptMap parseConceptMap(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3139 ConceptMap res = new ConceptMap(); 3140 parseDomainResourceAttributes(xpp, res); 3141 next(xpp); 3142 int eventType = nextNoWhitespace(xpp); 3143 while (eventType != XmlPullParser.END_TAG) { 3144 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3145 res.setUrlElement(parseUri(xpp)); 3146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3147 res.setIdentifier(parseIdentifier(xpp)); 3148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3149 res.setVersionElement(parseString(xpp)); 3150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3151 res.setNameElement(parseString(xpp)); 3152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3153 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 3154 new Enumerations.ConformanceResourceStatusEnumFactory())); 3155 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 3156 res.setExperimentalElement(parseBoolean(xpp)); 3157 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 3158 res.setPublisherElement(parseString(xpp)); 3159 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 3160 res.getContact().add(parseConceptMapConceptMapContactComponent(xpp, res)); 3161 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 3162 res.setDateElement(parseDateTime(xpp)); 3163 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3164 res.setDescriptionElement(parseString(xpp)); 3165 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 3166 res.getUseContext().add(parseCodeableConcept(xpp)); 3167 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 3168 res.setRequirementsElement(parseString(xpp)); 3169 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 3170 res.setCopyrightElement(parseString(xpp)); 3171 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "source")) { 3172 res.setSource(parseType("source", xpp)); 3173 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 3174 res.setTarget(parseType("target", xpp)); 3175 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 3176 res.getElement().add(parseConceptMapSourceElementComponent(xpp, res)); 3177 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3178 unknownContent(xpp); 3179 eventType = nextNoWhitespace(xpp); 3180 } 3181 next(xpp); 3182 parseElementClose(res); 3183 return res; 3184 } 3185 3186 protected ConceptMap.ConceptMapContactComponent parseConceptMapConceptMapContactComponent(XmlPullParser xpp, 3187 ConceptMap owner) throws XmlPullParserException, IOException, FHIRFormatError { 3188 ConceptMap.ConceptMapContactComponent res = new ConceptMap.ConceptMapContactComponent(); 3189 parseBackboneAttributes(xpp, res); 3190 next(xpp); 3191 int eventType = nextNoWhitespace(xpp); 3192 while (eventType != XmlPullParser.END_TAG) { 3193 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3194 res.setNameElement(parseString(xpp)); 3195 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 3196 res.getTelecom().add(parseContactPoint(xpp)); 3197 } else if (!parseBackboneContent(eventType, xpp, res)) 3198 unknownContent(xpp); 3199 eventType = nextNoWhitespace(xpp); 3200 } 3201 next(xpp); 3202 parseElementClose(res); 3203 return res; 3204 } 3205 3206 protected ConceptMap.SourceElementComponent parseConceptMapSourceElementComponent(XmlPullParser xpp, ConceptMap owner) 3207 throws XmlPullParserException, IOException, FHIRFormatError { 3208 ConceptMap.SourceElementComponent res = new ConceptMap.SourceElementComponent(); 3209 parseBackboneAttributes(xpp, res); 3210 next(xpp); 3211 int eventType = nextNoWhitespace(xpp); 3212 while (eventType != XmlPullParser.END_TAG) { 3213 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 3214 res.setCodeSystemElement(parseUri(xpp)); 3215 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3216 res.setCodeElement(parseCode(xpp)); 3217 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 3218 res.getTarget().add(parseConceptMapTargetElementComponent(xpp, owner)); 3219 } else if (!parseBackboneContent(eventType, xpp, res)) 3220 unknownContent(xpp); 3221 eventType = nextNoWhitespace(xpp); 3222 } 3223 next(xpp); 3224 parseElementClose(res); 3225 return res; 3226 } 3227 3228 protected ConceptMap.TargetElementComponent parseConceptMapTargetElementComponent(XmlPullParser xpp, ConceptMap owner) 3229 throws XmlPullParserException, IOException, FHIRFormatError { 3230 ConceptMap.TargetElementComponent res = new ConceptMap.TargetElementComponent(); 3231 parseBackboneAttributes(xpp, res); 3232 next(xpp); 3233 int eventType = nextNoWhitespace(xpp); 3234 while (eventType != XmlPullParser.END_TAG) { 3235 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 3236 res.setCodeSystemElement(parseUri(xpp)); 3237 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3238 res.setCodeElement(parseCode(xpp)); 3239 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("equivalence")) { 3240 res.setEquivalenceElement(parseEnumeration(xpp, Enumerations.ConceptMapEquivalence.NULL, 3241 new Enumerations.ConceptMapEquivalenceEnumFactory())); 3242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 3243 res.setCommentsElement(parseString(xpp)); 3244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependsOn")) { 3245 res.getDependsOn().add(parseConceptMapOtherElementComponent(xpp, owner)); 3246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 3247 res.getProduct().add(parseConceptMapOtherElementComponent(xpp, owner)); 3248 } else if (!parseBackboneContent(eventType, xpp, res)) 3249 unknownContent(xpp); 3250 eventType = nextNoWhitespace(xpp); 3251 } 3252 next(xpp); 3253 parseElementClose(res); 3254 return res; 3255 } 3256 3257 protected ConceptMap.OtherElementComponent parseConceptMapOtherElementComponent(XmlPullParser xpp, ConceptMap owner) 3258 throws XmlPullParserException, IOException, FHIRFormatError { 3259 ConceptMap.OtherElementComponent res = new ConceptMap.OtherElementComponent(); 3260 parseBackboneAttributes(xpp, res); 3261 next(xpp); 3262 int eventType = nextNoWhitespace(xpp); 3263 while (eventType != XmlPullParser.END_TAG) { 3264 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 3265 res.setElementElement(parseUri(xpp)); 3266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 3267 res.setCodeSystemElement(parseUri(xpp)); 3268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3269 res.setCodeElement(parseString(xpp)); 3270 } else if (!parseBackboneContent(eventType, xpp, res)) 3271 unknownContent(xpp); 3272 eventType = nextNoWhitespace(xpp); 3273 } 3274 next(xpp); 3275 parseElementClose(res); 3276 return res; 3277 } 3278 3279 protected Condition parseCondition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3280 Condition res = new Condition(); 3281 parseDomainResourceAttributes(xpp, res); 3282 next(xpp); 3283 int eventType = nextNoWhitespace(xpp); 3284 while (eventType != XmlPullParser.END_TAG) { 3285 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3286 res.getIdentifier().add(parseIdentifier(xpp)); 3287 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 3288 res.setPatient(parseReference(xpp)); 3289 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 3290 res.setEncounter(parseReference(xpp)); 3291 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asserter")) { 3292 res.setAsserter(parseReference(xpp)); 3293 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateRecorded")) { 3294 res.setDateRecordedElement(parseDate(xpp)); 3295 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3296 res.setCode(parseCodeableConcept(xpp)); 3297 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 3298 res.setCategory(parseCodeableConcept(xpp)); 3299 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("clinicalStatus")) { 3300 res.setClinicalStatusElement(parseCode(xpp)); 3301 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verificationStatus")) { 3302 res.setVerificationStatusElement(parseEnumeration(xpp, Condition.ConditionVerificationStatus.NULL, 3303 new Condition.ConditionVerificationStatusEnumFactory())); 3304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 3305 res.setSeverity(parseCodeableConcept(xpp)); 3306 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "onset")) { 3307 res.setOnset(parseType("onset", xpp)); 3308 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "abatement")) { 3309 res.setAbatement(parseType("abatement", xpp)); 3310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stage")) { 3311 res.setStage(parseConditionConditionStageComponent(xpp, res)); 3312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evidence")) { 3313 res.getEvidence().add(parseConditionConditionEvidenceComponent(xpp, res)); 3314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 3315 res.getBodySite().add(parseCodeableConcept(xpp)); 3316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 3317 res.setNotesElement(parseString(xpp)); 3318 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3319 unknownContent(xpp); 3320 eventType = nextNoWhitespace(xpp); 3321 } 3322 next(xpp); 3323 parseElementClose(res); 3324 return res; 3325 } 3326 3327 protected Condition.ConditionStageComponent parseConditionConditionStageComponent(XmlPullParser xpp, Condition owner) 3328 throws XmlPullParserException, IOException, FHIRFormatError { 3329 Condition.ConditionStageComponent res = new Condition.ConditionStageComponent(); 3330 parseBackboneAttributes(xpp, res); 3331 next(xpp); 3332 int eventType = nextNoWhitespace(xpp); 3333 while (eventType != XmlPullParser.END_TAG) { 3334 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 3335 res.setSummary(parseCodeableConcept(xpp)); 3336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assessment")) { 3337 res.getAssessment().add(parseReference(xpp)); 3338 } else if (!parseBackboneContent(eventType, xpp, res)) 3339 unknownContent(xpp); 3340 eventType = nextNoWhitespace(xpp); 3341 } 3342 next(xpp); 3343 parseElementClose(res); 3344 return res; 3345 } 3346 3347 protected Condition.ConditionEvidenceComponent parseConditionConditionEvidenceComponent(XmlPullParser xpp, 3348 Condition owner) throws XmlPullParserException, IOException, FHIRFormatError { 3349 Condition.ConditionEvidenceComponent res = new Condition.ConditionEvidenceComponent(); 3350 parseBackboneAttributes(xpp, res); 3351 next(xpp); 3352 int eventType = nextNoWhitespace(xpp); 3353 while (eventType != XmlPullParser.END_TAG) { 3354 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3355 res.setCode(parseCodeableConcept(xpp)); 3356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 3357 res.getDetail().add(parseReference(xpp)); 3358 } else if (!parseBackboneContent(eventType, xpp, res)) 3359 unknownContent(xpp); 3360 eventType = nextNoWhitespace(xpp); 3361 } 3362 next(xpp); 3363 parseElementClose(res); 3364 return res; 3365 } 3366 3367 protected Conformance parseConformance(XmlPullParser xpp) 3368 throws XmlPullParserException, IOException, FHIRFormatError { 3369 Conformance res = new Conformance(); 3370 parseDomainResourceAttributes(xpp, res); 3371 next(xpp); 3372 int eventType = nextNoWhitespace(xpp); 3373 while (eventType != XmlPullParser.END_TAG) { 3374 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3375 res.setUrlElement(parseUri(xpp)); 3376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3377 res.setVersionElement(parseString(xpp)); 3378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3379 res.setNameElement(parseString(xpp)); 3380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3381 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 3382 new Enumerations.ConformanceResourceStatusEnumFactory())); 3383 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 3384 res.setExperimentalElement(parseBoolean(xpp)); 3385 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 3386 res.setPublisherElement(parseString(xpp)); 3387 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 3388 res.getContact().add(parseConformanceConformanceContactComponent(xpp, res)); 3389 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 3390 res.setDateElement(parseDateTime(xpp)); 3391 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3392 res.setDescriptionElement(parseString(xpp)); 3393 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 3394 res.setRequirementsElement(parseString(xpp)); 3395 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 3396 res.setCopyrightElement(parseString(xpp)); 3397 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 3398 res.setKindElement(parseEnumeration(xpp, Conformance.ConformanceStatementKind.NULL, 3399 new Conformance.ConformanceStatementKindEnumFactory())); 3400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { 3401 res.setSoftware(parseConformanceConformanceSoftwareComponent(xpp, res)); 3402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementation")) { 3403 res.setImplementation(parseConformanceConformanceImplementationComponent(xpp, res)); 3404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 3405 res.setFhirVersionElement(parseId(xpp)); 3406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("acceptUnknown")) { 3407 res.setAcceptUnknownElement(parseEnumeration(xpp, Conformance.UnknownContentCode.NULL, 3408 new Conformance.UnknownContentCodeEnumFactory())); 3409 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 3410 res.getFormat().add(parseCode(xpp)); 3411 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 3412 res.getProfile().add(parseReference(xpp)); 3413 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rest")) { 3414 res.getRest().add(parseConformanceConformanceRestComponent(xpp, res)); 3415 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("messaging")) { 3416 res.getMessaging().add(parseConformanceConformanceMessagingComponent(xpp, res)); 3417 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("document")) { 3418 res.getDocument().add(parseConformanceConformanceDocumentComponent(xpp, res)); 3419 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3420 unknownContent(xpp); 3421 eventType = nextNoWhitespace(xpp); 3422 } 3423 next(xpp); 3424 parseElementClose(res); 3425 return res; 3426 } 3427 3428 protected Conformance.ConformanceContactComponent parseConformanceConformanceContactComponent(XmlPullParser xpp, 3429 Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3430 Conformance.ConformanceContactComponent res = new Conformance.ConformanceContactComponent(); 3431 parseBackboneAttributes(xpp, res); 3432 next(xpp); 3433 int eventType = nextNoWhitespace(xpp); 3434 while (eventType != XmlPullParser.END_TAG) { 3435 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3436 res.setNameElement(parseString(xpp)); 3437 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 3438 res.getTelecom().add(parseContactPoint(xpp)); 3439 } else if (!parseBackboneContent(eventType, xpp, res)) 3440 unknownContent(xpp); 3441 eventType = nextNoWhitespace(xpp); 3442 } 3443 next(xpp); 3444 parseElementClose(res); 3445 return res; 3446 } 3447 3448 protected Conformance.ConformanceSoftwareComponent parseConformanceConformanceSoftwareComponent(XmlPullParser xpp, 3449 Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3450 Conformance.ConformanceSoftwareComponent res = new Conformance.ConformanceSoftwareComponent(); 3451 parseBackboneAttributes(xpp, res); 3452 next(xpp); 3453 int eventType = nextNoWhitespace(xpp); 3454 while (eventType != XmlPullParser.END_TAG) { 3455 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3456 res.setNameElement(parseString(xpp)); 3457 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3458 res.setVersionElement(parseString(xpp)); 3459 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("releaseDate")) { 3460 res.setReleaseDateElement(parseDateTime(xpp)); 3461 } else if (!parseBackboneContent(eventType, xpp, res)) 3462 unknownContent(xpp); 3463 eventType = nextNoWhitespace(xpp); 3464 } 3465 next(xpp); 3466 parseElementClose(res); 3467 return res; 3468 } 3469 3470 protected Conformance.ConformanceImplementationComponent parseConformanceConformanceImplementationComponent( 3471 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3472 Conformance.ConformanceImplementationComponent res = new Conformance.ConformanceImplementationComponent(); 3473 parseBackboneAttributes(xpp, res); 3474 next(xpp); 3475 int eventType = nextNoWhitespace(xpp); 3476 while (eventType != XmlPullParser.END_TAG) { 3477 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3478 res.setDescriptionElement(parseString(xpp)); 3479 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3480 res.setUrlElement(parseUri(xpp)); 3481 } else if (!parseBackboneContent(eventType, xpp, res)) 3482 unknownContent(xpp); 3483 eventType = nextNoWhitespace(xpp); 3484 } 3485 next(xpp); 3486 parseElementClose(res); 3487 return res; 3488 } 3489 3490 protected Conformance.ConformanceRestComponent parseConformanceConformanceRestComponent(XmlPullParser xpp, 3491 Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3492 Conformance.ConformanceRestComponent res = new Conformance.ConformanceRestComponent(); 3493 parseBackboneAttributes(xpp, res); 3494 next(xpp); 3495 int eventType = nextNoWhitespace(xpp); 3496 while (eventType != XmlPullParser.END_TAG) { 3497 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3498 res.setModeElement(parseEnumeration(xpp, Conformance.RestfulConformanceMode.NULL, 3499 new Conformance.RestfulConformanceModeEnumFactory())); 3500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3501 res.setDocumentationElement(parseString(xpp)); 3502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { 3503 res.setSecurity(parseConformanceConformanceRestSecurityComponent(xpp, owner)); 3504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 3505 res.getResource().add(parseConformanceConformanceRestResourceComponent(xpp, owner)); 3506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { 3507 res.getInteraction().add(parseConformanceSystemInteractionComponent(xpp, owner)); 3508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("transactionMode")) { 3509 res.setTransactionModeElement( 3510 parseEnumeration(xpp, Conformance.TransactionMode.NULL, new Conformance.TransactionModeEnumFactory())); 3511 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 3512 res.getSearchParam().add(parseConformanceConformanceRestResourceSearchParamComponent(xpp, owner)); 3513 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 3514 res.getOperation().add(parseConformanceConformanceRestOperationComponent(xpp, owner)); 3515 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compartment")) { 3516 res.getCompartment().add(parseUri(xpp)); 3517 } else if (!parseBackboneContent(eventType, xpp, res)) 3518 unknownContent(xpp); 3519 eventType = nextNoWhitespace(xpp); 3520 } 3521 next(xpp); 3522 parseElementClose(res); 3523 return res; 3524 } 3525 3526 protected Conformance.ConformanceRestSecurityComponent parseConformanceConformanceRestSecurityComponent( 3527 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3528 Conformance.ConformanceRestSecurityComponent res = new Conformance.ConformanceRestSecurityComponent(); 3529 parseBackboneAttributes(xpp, res); 3530 next(xpp); 3531 int eventType = nextNoWhitespace(xpp); 3532 while (eventType != XmlPullParser.END_TAG) { 3533 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cors")) { 3534 res.setCorsElement(parseBoolean(xpp)); 3535 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 3536 res.getService().add(parseCodeableConcept(xpp)); 3537 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3538 res.setDescriptionElement(parseString(xpp)); 3539 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("certificate")) { 3540 res.getCertificate().add(parseConformanceConformanceRestSecurityCertificateComponent(xpp, owner)); 3541 } else if (!parseBackboneContent(eventType, xpp, res)) 3542 unknownContent(xpp); 3543 eventType = nextNoWhitespace(xpp); 3544 } 3545 next(xpp); 3546 parseElementClose(res); 3547 return res; 3548 } 3549 3550 protected Conformance.ConformanceRestSecurityCertificateComponent parseConformanceConformanceRestSecurityCertificateComponent( 3551 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3552 Conformance.ConformanceRestSecurityCertificateComponent res = new Conformance.ConformanceRestSecurityCertificateComponent(); 3553 parseBackboneAttributes(xpp, res); 3554 next(xpp); 3555 int eventType = nextNoWhitespace(xpp); 3556 while (eventType != XmlPullParser.END_TAG) { 3557 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3558 res.setTypeElement(parseCode(xpp)); 3559 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("blob")) { 3560 res.setBlobElement(parseBase64Binary(xpp)); 3561 } else if (!parseBackboneContent(eventType, xpp, res)) 3562 unknownContent(xpp); 3563 eventType = nextNoWhitespace(xpp); 3564 } 3565 next(xpp); 3566 parseElementClose(res); 3567 return res; 3568 } 3569 3570 protected Conformance.ConformanceRestResourceComponent parseConformanceConformanceRestResourceComponent( 3571 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3572 Conformance.ConformanceRestResourceComponent res = new Conformance.ConformanceRestResourceComponent(); 3573 parseBackboneAttributes(xpp, res); 3574 next(xpp); 3575 int eventType = nextNoWhitespace(xpp); 3576 while (eventType != XmlPullParser.END_TAG) { 3577 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3578 res.setTypeElement(parseCode(xpp)); 3579 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 3580 res.setProfile(parseReference(xpp)); 3581 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { 3582 res.getInteraction().add(parseConformanceResourceInteractionComponent(xpp, owner)); 3583 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versioning")) { 3584 res.setVersioningElement(parseEnumeration(xpp, Conformance.ResourceVersionPolicy.NULL, 3585 new Conformance.ResourceVersionPolicyEnumFactory())); 3586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("readHistory")) { 3587 res.setReadHistoryElement(parseBoolean(xpp)); 3588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("updateCreate")) { 3589 res.setUpdateCreateElement(parseBoolean(xpp)); 3590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalCreate")) { 3591 res.setConditionalCreateElement(parseBoolean(xpp)); 3592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalUpdate")) { 3593 res.setConditionalUpdateElement(parseBoolean(xpp)); 3594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalDelete")) { 3595 res.setConditionalDeleteElement(parseEnumeration(xpp, Conformance.ConditionalDeleteStatus.NULL, 3596 new Conformance.ConditionalDeleteStatusEnumFactory())); 3597 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchInclude")) { 3598 res.getSearchInclude().add(parseString(xpp)); 3599 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchRevInclude")) { 3600 res.getSearchRevInclude().add(parseString(xpp)); 3601 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 3602 res.getSearchParam().add(parseConformanceConformanceRestResourceSearchParamComponent(xpp, owner)); 3603 } else if (!parseBackboneContent(eventType, xpp, res)) 3604 unknownContent(xpp); 3605 eventType = nextNoWhitespace(xpp); 3606 } 3607 next(xpp); 3608 parseElementClose(res); 3609 return res; 3610 } 3611 3612 protected Conformance.ResourceInteractionComponent parseConformanceResourceInteractionComponent(XmlPullParser xpp, 3613 Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3614 Conformance.ResourceInteractionComponent res = new Conformance.ResourceInteractionComponent(); 3615 parseBackboneAttributes(xpp, res); 3616 next(xpp); 3617 int eventType = nextNoWhitespace(xpp); 3618 while (eventType != XmlPullParser.END_TAG) { 3619 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3620 res.setCodeElement(parseEnumeration(xpp, Conformance.TypeRestfulInteraction.NULL, 3621 new Conformance.TypeRestfulInteractionEnumFactory())); 3622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3623 res.setDocumentationElement(parseString(xpp)); 3624 } else if (!parseBackboneContent(eventType, xpp, res)) 3625 unknownContent(xpp); 3626 eventType = nextNoWhitespace(xpp); 3627 } 3628 next(xpp); 3629 parseElementClose(res); 3630 return res; 3631 } 3632 3633 protected Conformance.ConformanceRestResourceSearchParamComponent parseConformanceConformanceRestResourceSearchParamComponent( 3634 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3635 Conformance.ConformanceRestResourceSearchParamComponent res = new Conformance.ConformanceRestResourceSearchParamComponent(); 3636 parseBackboneAttributes(xpp, res); 3637 next(xpp); 3638 int eventType = nextNoWhitespace(xpp); 3639 while (eventType != XmlPullParser.END_TAG) { 3640 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3641 res.setNameElement(parseString(xpp)); 3642 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 3643 res.setDefinitionElement(parseUri(xpp)); 3644 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3645 res.setTypeElement( 3646 parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); 3647 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3648 res.setDocumentationElement(parseString(xpp)); 3649 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 3650 res.getTarget().add(parseCode(xpp)); 3651 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 3652 res.getModifier().add(parseEnumeration(xpp, Conformance.SearchModifierCode.NULL, 3653 new Conformance.SearchModifierCodeEnumFactory())); 3654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("chain")) { 3655 res.getChain().add(parseString(xpp)); 3656 } else if (!parseBackboneContent(eventType, xpp, res)) 3657 unknownContent(xpp); 3658 eventType = nextNoWhitespace(xpp); 3659 } 3660 next(xpp); 3661 parseElementClose(res); 3662 return res; 3663 } 3664 3665 protected Conformance.SystemInteractionComponent parseConformanceSystemInteractionComponent(XmlPullParser xpp, 3666 Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3667 Conformance.SystemInteractionComponent res = new Conformance.SystemInteractionComponent(); 3668 parseBackboneAttributes(xpp, res); 3669 next(xpp); 3670 int eventType = nextNoWhitespace(xpp); 3671 while (eventType != XmlPullParser.END_TAG) { 3672 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3673 res.setCodeElement(parseEnumeration(xpp, Conformance.SystemRestfulInteraction.NULL, 3674 new Conformance.SystemRestfulInteractionEnumFactory())); 3675 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3676 res.setDocumentationElement(parseString(xpp)); 3677 } else if (!parseBackboneContent(eventType, xpp, res)) 3678 unknownContent(xpp); 3679 eventType = nextNoWhitespace(xpp); 3680 } 3681 next(xpp); 3682 parseElementClose(res); 3683 return res; 3684 } 3685 3686 protected Conformance.ConformanceRestOperationComponent parseConformanceConformanceRestOperationComponent( 3687 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3688 Conformance.ConformanceRestOperationComponent res = new Conformance.ConformanceRestOperationComponent(); 3689 parseBackboneAttributes(xpp, res); 3690 next(xpp); 3691 int eventType = nextNoWhitespace(xpp); 3692 while (eventType != XmlPullParser.END_TAG) { 3693 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3694 res.setNameElement(parseString(xpp)); 3695 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 3696 res.setDefinition(parseReference(xpp)); 3697 } else if (!parseBackboneContent(eventType, xpp, res)) 3698 unknownContent(xpp); 3699 eventType = nextNoWhitespace(xpp); 3700 } 3701 next(xpp); 3702 parseElementClose(res); 3703 return res; 3704 } 3705 3706 protected Conformance.ConformanceMessagingComponent parseConformanceConformanceMessagingComponent(XmlPullParser xpp, 3707 Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3708 Conformance.ConformanceMessagingComponent res = new Conformance.ConformanceMessagingComponent(); 3709 parseBackboneAttributes(xpp, res); 3710 next(xpp); 3711 int eventType = nextNoWhitespace(xpp); 3712 while (eventType != XmlPullParser.END_TAG) { 3713 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 3714 res.getEndpoint().add(parseConformanceConformanceMessagingEndpointComponent(xpp, owner)); 3715 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reliableCache")) { 3716 res.setReliableCacheElement(parseUnsignedInt(xpp)); 3717 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3718 res.setDocumentationElement(parseString(xpp)); 3719 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 3720 res.getEvent().add(parseConformanceConformanceMessagingEventComponent(xpp, owner)); 3721 } else if (!parseBackboneContent(eventType, xpp, res)) 3722 unknownContent(xpp); 3723 eventType = nextNoWhitespace(xpp); 3724 } 3725 next(xpp); 3726 parseElementClose(res); 3727 return res; 3728 } 3729 3730 protected Conformance.ConformanceMessagingEndpointComponent parseConformanceConformanceMessagingEndpointComponent( 3731 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3732 Conformance.ConformanceMessagingEndpointComponent res = new Conformance.ConformanceMessagingEndpointComponent(); 3733 parseBackboneAttributes(xpp, res); 3734 next(xpp); 3735 int eventType = nextNoWhitespace(xpp); 3736 while (eventType != XmlPullParser.END_TAG) { 3737 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 3738 res.setProtocol(parseCoding(xpp)); 3739 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 3740 res.setAddressElement(parseUri(xpp)); 3741 } else if (!parseBackboneContent(eventType, xpp, res)) 3742 unknownContent(xpp); 3743 eventType = nextNoWhitespace(xpp); 3744 } 3745 next(xpp); 3746 parseElementClose(res); 3747 return res; 3748 } 3749 3750 protected Conformance.ConformanceMessagingEventComponent parseConformanceConformanceMessagingEventComponent( 3751 XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3752 Conformance.ConformanceMessagingEventComponent res = new Conformance.ConformanceMessagingEventComponent(); 3753 parseBackboneAttributes(xpp, res); 3754 next(xpp); 3755 int eventType = nextNoWhitespace(xpp); 3756 while (eventType != XmlPullParser.END_TAG) { 3757 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3758 res.setCode(parseCoding(xpp)); 3759 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 3760 res.setCategoryElement(parseEnumeration(xpp, Conformance.MessageSignificanceCategory.NULL, 3761 new Conformance.MessageSignificanceCategoryEnumFactory())); 3762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3763 res.setModeElement(parseEnumeration(xpp, Conformance.ConformanceEventMode.NULL, 3764 new Conformance.ConformanceEventModeEnumFactory())); 3765 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 3766 res.setFocusElement(parseCode(xpp)); 3767 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 3768 res.setRequest(parseReference(xpp)); 3769 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 3770 res.setResponse(parseReference(xpp)); 3771 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3772 res.setDocumentationElement(parseString(xpp)); 3773 } else if (!parseBackboneContent(eventType, xpp, res)) 3774 unknownContent(xpp); 3775 eventType = nextNoWhitespace(xpp); 3776 } 3777 next(xpp); 3778 parseElementClose(res); 3779 return res; 3780 } 3781 3782 protected Conformance.ConformanceDocumentComponent parseConformanceConformanceDocumentComponent(XmlPullParser xpp, 3783 Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3784 Conformance.ConformanceDocumentComponent res = new Conformance.ConformanceDocumentComponent(); 3785 parseBackboneAttributes(xpp, res); 3786 next(xpp); 3787 int eventType = nextNoWhitespace(xpp); 3788 while (eventType != XmlPullParser.END_TAG) { 3789 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3790 res.setModeElement( 3791 parseEnumeration(xpp, Conformance.DocumentMode.NULL, new Conformance.DocumentModeEnumFactory())); 3792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3793 res.setDocumentationElement(parseString(xpp)); 3794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 3795 res.setProfile(parseReference(xpp)); 3796 } else if (!parseBackboneContent(eventType, xpp, res)) 3797 unknownContent(xpp); 3798 eventType = nextNoWhitespace(xpp); 3799 } 3800 next(xpp); 3801 parseElementClose(res); 3802 return res; 3803 } 3804 3805 protected Contract parseContract(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3806 Contract res = new Contract(); 3807 parseDomainResourceAttributes(xpp, res); 3808 next(xpp); 3809 int eventType = nextNoWhitespace(xpp); 3810 while (eventType != XmlPullParser.END_TAG) { 3811 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3812 res.setIdentifier(parseIdentifier(xpp)); 3813 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 3814 res.setIssuedElement(parseDateTime(xpp)); 3815 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applies")) { 3816 res.setApplies(parsePeriod(xpp)); 3817 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 3818 res.getSubject().add(parseReference(xpp)); 3819 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 3820 res.getAuthority().add(parseReference(xpp)); 3821 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("domain")) { 3822 res.getDomain().add(parseReference(xpp)); 3823 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3824 res.setType(parseCodeableConcept(xpp)); 3825 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 3826 res.getSubType().add(parseCodeableConcept(xpp)); 3827 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 3828 res.getAction().add(parseCodeableConcept(xpp)); 3829 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionReason")) { 3830 res.getActionReason().add(parseCodeableConcept(xpp)); 3831 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 3832 res.getActor().add(parseContractActorComponent(xpp, res)); 3833 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valuedItem")) { 3834 res.getValuedItem().add(parseContractValuedItemComponent(xpp, res)); 3835 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signer")) { 3836 res.getSigner().add(parseContractSignatoryComponent(xpp, res)); 3837 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { 3838 res.getTerm().add(parseContractTermComponent(xpp, res)); 3839 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "binding")) { 3840 res.setBinding(parseType("binding", xpp)); 3841 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("friendly")) { 3842 res.getFriendly().add(parseContractFriendlyLanguageComponent(xpp, res)); 3843 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("legal")) { 3844 res.getLegal().add(parseContractLegalLanguageComponent(xpp, res)); 3845 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rule")) { 3846 res.getRule().add(parseContractComputableLanguageComponent(xpp, res)); 3847 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3848 unknownContent(xpp); 3849 eventType = nextNoWhitespace(xpp); 3850 } 3851 next(xpp); 3852 parseElementClose(res); 3853 return res; 3854 } 3855 3856 protected Contract.ActorComponent parseContractActorComponent(XmlPullParser xpp, Contract owner) 3857 throws XmlPullParserException, IOException, FHIRFormatError { 3858 Contract.ActorComponent res = new Contract.ActorComponent(); 3859 parseBackboneAttributes(xpp, res); 3860 next(xpp); 3861 int eventType = nextNoWhitespace(xpp); 3862 while (eventType != XmlPullParser.END_TAG) { 3863 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 3864 res.setEntity(parseReference(xpp)); 3865 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 3866 res.getRole().add(parseCodeableConcept(xpp)); 3867 } else if (!parseBackboneContent(eventType, xpp, res)) 3868 unknownContent(xpp); 3869 eventType = nextNoWhitespace(xpp); 3870 } 3871 next(xpp); 3872 parseElementClose(res); 3873 return res; 3874 } 3875 3876 protected Contract.ValuedItemComponent parseContractValuedItemComponent(XmlPullParser xpp, Contract owner) 3877 throws XmlPullParserException, IOException, FHIRFormatError { 3878 Contract.ValuedItemComponent res = new Contract.ValuedItemComponent(); 3879 parseBackboneAttributes(xpp, res); 3880 next(xpp); 3881 int eventType = nextNoWhitespace(xpp); 3882 while (eventType != XmlPullParser.END_TAG) { 3883 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "entity")) { 3884 res.setEntity(parseType("entity", xpp)); 3885 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3886 res.setIdentifier(parseIdentifier(xpp)); 3887 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectiveTime")) { 3888 res.setEffectiveTimeElement(parseDateTime(xpp)); 3889 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 3890 res.setQuantity(parseSimpleQuantity(xpp)); 3891 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 3892 res.setUnitPrice(parseMoney(xpp)); 3893 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 3894 res.setFactorElement(parseDecimal(xpp)); 3895 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 3896 res.setPointsElement(parseDecimal(xpp)); 3897 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 3898 res.setNet(parseMoney(xpp)); 3899 } else if (!parseBackboneContent(eventType, xpp, res)) 3900 unknownContent(xpp); 3901 eventType = nextNoWhitespace(xpp); 3902 } 3903 next(xpp); 3904 parseElementClose(res); 3905 return res; 3906 } 3907 3908 protected Contract.SignatoryComponent parseContractSignatoryComponent(XmlPullParser xpp, Contract owner) 3909 throws XmlPullParserException, IOException, FHIRFormatError { 3910 Contract.SignatoryComponent res = new Contract.SignatoryComponent(); 3911 parseBackboneAttributes(xpp, res); 3912 next(xpp); 3913 int eventType = nextNoWhitespace(xpp); 3914 while (eventType != XmlPullParser.END_TAG) { 3915 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3916 res.setType(parseCoding(xpp)); 3917 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 3918 res.setParty(parseReference(xpp)); 3919 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 3920 res.setSignatureElement(parseString(xpp)); 3921 } else if (!parseBackboneContent(eventType, xpp, res)) 3922 unknownContent(xpp); 3923 eventType = nextNoWhitespace(xpp); 3924 } 3925 next(xpp); 3926 parseElementClose(res); 3927 return res; 3928 } 3929 3930 protected Contract.TermComponent parseContractTermComponent(XmlPullParser xpp, Contract owner) 3931 throws XmlPullParserException, IOException, FHIRFormatError { 3932 Contract.TermComponent res = new Contract.TermComponent(); 3933 parseBackboneAttributes(xpp, res); 3934 next(xpp); 3935 int eventType = nextNoWhitespace(xpp); 3936 while (eventType != XmlPullParser.END_TAG) { 3937 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3938 res.setIdentifier(parseIdentifier(xpp)); 3939 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 3940 res.setIssuedElement(parseDateTime(xpp)); 3941 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applies")) { 3942 res.setApplies(parsePeriod(xpp)); 3943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3944 res.setType(parseCodeableConcept(xpp)); 3945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 3946 res.setSubType(parseCodeableConcept(xpp)); 3947 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 3948 res.setSubject(parseReference(xpp)); 3949 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 3950 res.getAction().add(parseCodeableConcept(xpp)); 3951 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionReason")) { 3952 res.getActionReason().add(parseCodeableConcept(xpp)); 3953 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 3954 res.getActor().add(parseContractTermActorComponent(xpp, owner)); 3955 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 3956 res.setTextElement(parseString(xpp)); 3957 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valuedItem")) { 3958 res.getValuedItem().add(parseContractTermValuedItemComponent(xpp, owner)); 3959 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 3960 res.getGroup().add(parseContractTermComponent(xpp, owner)); 3961 } else if (!parseBackboneContent(eventType, xpp, res)) 3962 unknownContent(xpp); 3963 eventType = nextNoWhitespace(xpp); 3964 } 3965 next(xpp); 3966 parseElementClose(res); 3967 return res; 3968 } 3969 3970 protected Contract.TermActorComponent parseContractTermActorComponent(XmlPullParser xpp, Contract owner) 3971 throws XmlPullParserException, IOException, FHIRFormatError { 3972 Contract.TermActorComponent res = new Contract.TermActorComponent(); 3973 parseBackboneAttributes(xpp, res); 3974 next(xpp); 3975 int eventType = nextNoWhitespace(xpp); 3976 while (eventType != XmlPullParser.END_TAG) { 3977 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 3978 res.setEntity(parseReference(xpp)); 3979 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 3980 res.getRole().add(parseCodeableConcept(xpp)); 3981 } else if (!parseBackboneContent(eventType, xpp, res)) 3982 unknownContent(xpp); 3983 eventType = nextNoWhitespace(xpp); 3984 } 3985 next(xpp); 3986 parseElementClose(res); 3987 return res; 3988 } 3989 3990 protected Contract.TermValuedItemComponent parseContractTermValuedItemComponent(XmlPullParser xpp, Contract owner) 3991 throws XmlPullParserException, IOException, FHIRFormatError { 3992 Contract.TermValuedItemComponent res = new Contract.TermValuedItemComponent(); 3993 parseBackboneAttributes(xpp, res); 3994 next(xpp); 3995 int eventType = nextNoWhitespace(xpp); 3996 while (eventType != XmlPullParser.END_TAG) { 3997 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "entity")) { 3998 res.setEntity(parseType("entity", xpp)); 3999 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4000 res.setIdentifier(parseIdentifier(xpp)); 4001 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectiveTime")) { 4002 res.setEffectiveTimeElement(parseDateTime(xpp)); 4003 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 4004 res.setQuantity(parseSimpleQuantity(xpp)); 4005 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 4006 res.setUnitPrice(parseMoney(xpp)); 4007 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 4008 res.setFactorElement(parseDecimal(xpp)); 4009 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 4010 res.setPointsElement(parseDecimal(xpp)); 4011 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 4012 res.setNet(parseMoney(xpp)); 4013 } else if (!parseBackboneContent(eventType, xpp, res)) 4014 unknownContent(xpp); 4015 eventType = nextNoWhitespace(xpp); 4016 } 4017 next(xpp); 4018 parseElementClose(res); 4019 return res; 4020 } 4021 4022 protected Contract.FriendlyLanguageComponent parseContractFriendlyLanguageComponent(XmlPullParser xpp, Contract owner) 4023 throws XmlPullParserException, IOException, FHIRFormatError { 4024 Contract.FriendlyLanguageComponent res = new Contract.FriendlyLanguageComponent(); 4025 parseBackboneAttributes(xpp, res); 4026 next(xpp); 4027 int eventType = nextNoWhitespace(xpp); 4028 while (eventType != XmlPullParser.END_TAG) { 4029 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 4030 res.setContent(parseType("content", xpp)); 4031 } else if (!parseBackboneContent(eventType, xpp, res)) 4032 unknownContent(xpp); 4033 eventType = nextNoWhitespace(xpp); 4034 } 4035 next(xpp); 4036 parseElementClose(res); 4037 return res; 4038 } 4039 4040 protected Contract.LegalLanguageComponent parseContractLegalLanguageComponent(XmlPullParser xpp, Contract owner) 4041 throws XmlPullParserException, IOException, FHIRFormatError { 4042 Contract.LegalLanguageComponent res = new Contract.LegalLanguageComponent(); 4043 parseBackboneAttributes(xpp, res); 4044 next(xpp); 4045 int eventType = nextNoWhitespace(xpp); 4046 while (eventType != XmlPullParser.END_TAG) { 4047 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 4048 res.setContent(parseType("content", xpp)); 4049 } else if (!parseBackboneContent(eventType, xpp, res)) 4050 unknownContent(xpp); 4051 eventType = nextNoWhitespace(xpp); 4052 } 4053 next(xpp); 4054 parseElementClose(res); 4055 return res; 4056 } 4057 4058 protected Contract.ComputableLanguageComponent parseContractComputableLanguageComponent(XmlPullParser xpp, 4059 Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 4060 Contract.ComputableLanguageComponent res = new Contract.ComputableLanguageComponent(); 4061 parseBackboneAttributes(xpp, res); 4062 next(xpp); 4063 int eventType = nextNoWhitespace(xpp); 4064 while (eventType != XmlPullParser.END_TAG) { 4065 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 4066 res.setContent(parseType("content", xpp)); 4067 } else if (!parseBackboneContent(eventType, xpp, res)) 4068 unknownContent(xpp); 4069 eventType = nextNoWhitespace(xpp); 4070 } 4071 next(xpp); 4072 parseElementClose(res); 4073 return res; 4074 } 4075 4076 protected Coverage parseCoverage(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4077 Coverage res = new Coverage(); 4078 parseDomainResourceAttributes(xpp, res); 4079 next(xpp); 4080 int eventType = nextNoWhitespace(xpp); 4081 while (eventType != XmlPullParser.END_TAG) { 4082 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 4083 res.setIssuer(parseReference(xpp)); 4084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bin")) { 4085 res.setBin(parseIdentifier(xpp)); 4086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4087 res.setPeriod(parsePeriod(xpp)); 4088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4089 res.setType(parseCoding(xpp)); 4090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriberId")) { 4091 res.setSubscriberId(parseIdentifier(xpp)); 4092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4093 res.getIdentifier().add(parseIdentifier(xpp)); 4094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 4095 res.setGroupElement(parseString(xpp)); 4096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plan")) { 4097 res.setPlanElement(parseString(xpp)); 4098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subPlan")) { 4099 res.setSubPlanElement(parseString(xpp)); 4100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependent")) { 4101 res.setDependentElement(parsePositiveInt(xpp)); 4102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 4103 res.setSequenceElement(parsePositiveInt(xpp)); 4104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriber")) { 4105 res.setSubscriber(parseReference(xpp)); 4106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 4107 res.setNetwork(parseIdentifier(xpp)); 4108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contract")) { 4109 res.getContract().add(parseReference(xpp)); 4110 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4111 unknownContent(xpp); 4112 eventType = nextNoWhitespace(xpp); 4113 } 4114 next(xpp); 4115 parseElementClose(res); 4116 return res; 4117 } 4118 4119 protected DataElement parseDataElement(XmlPullParser xpp) 4120 throws XmlPullParserException, IOException, FHIRFormatError { 4121 DataElement res = new DataElement(); 4122 parseDomainResourceAttributes(xpp, res); 4123 next(xpp); 4124 int eventType = nextNoWhitespace(xpp); 4125 while (eventType != XmlPullParser.END_TAG) { 4126 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 4127 res.setUrlElement(parseUri(xpp)); 4128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4129 res.getIdentifier().add(parseIdentifier(xpp)); 4130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 4131 res.setVersionElement(parseString(xpp)); 4132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 4133 res.setNameElement(parseString(xpp)); 4134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4135 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 4136 new Enumerations.ConformanceResourceStatusEnumFactory())); 4137 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 4138 res.setExperimentalElement(parseBoolean(xpp)); 4139 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 4140 res.setPublisherElement(parseString(xpp)); 4141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 4142 res.getContact().add(parseDataElementDataElementContactComponent(xpp, res)); 4143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4144 res.setDateElement(parseDateTime(xpp)); 4145 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 4146 res.getUseContext().add(parseCodeableConcept(xpp)); 4147 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 4148 res.setCopyrightElement(parseString(xpp)); 4149 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stringency")) { 4150 res.setStringencyElement(parseEnumeration(xpp, DataElement.DataElementStringency.NULL, 4151 new DataElement.DataElementStringencyEnumFactory())); 4152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 4153 res.getMapping().add(parseDataElementDataElementMappingComponent(xpp, res)); 4154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 4155 res.getElement().add(parseElementDefinition(xpp)); 4156 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4157 unknownContent(xpp); 4158 eventType = nextNoWhitespace(xpp); 4159 } 4160 next(xpp); 4161 parseElementClose(res); 4162 return res; 4163 } 4164 4165 protected DataElement.DataElementContactComponent parseDataElementDataElementContactComponent(XmlPullParser xpp, 4166 DataElement owner) throws XmlPullParserException, IOException, FHIRFormatError { 4167 DataElement.DataElementContactComponent res = new DataElement.DataElementContactComponent(); 4168 parseBackboneAttributes(xpp, res); 4169 next(xpp); 4170 int eventType = nextNoWhitespace(xpp); 4171 while (eventType != XmlPullParser.END_TAG) { 4172 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 4173 res.setNameElement(parseString(xpp)); 4174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 4175 res.getTelecom().add(parseContactPoint(xpp)); 4176 } else if (!parseBackboneContent(eventType, xpp, res)) 4177 unknownContent(xpp); 4178 eventType = nextNoWhitespace(xpp); 4179 } 4180 next(xpp); 4181 parseElementClose(res); 4182 return res; 4183 } 4184 4185 protected DataElement.DataElementMappingComponent parseDataElementDataElementMappingComponent(XmlPullParser xpp, 4186 DataElement owner) throws XmlPullParserException, IOException, FHIRFormatError { 4187 DataElement.DataElementMappingComponent res = new DataElement.DataElementMappingComponent(); 4188 parseBackboneAttributes(xpp, res); 4189 next(xpp); 4190 int eventType = nextNoWhitespace(xpp); 4191 while (eventType != XmlPullParser.END_TAG) { 4192 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 4193 res.setIdentityElement(parseId(xpp)); 4194 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 4195 res.setUriElement(parseUri(xpp)); 4196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 4197 res.setNameElement(parseString(xpp)); 4198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 4199 res.setCommentsElement(parseString(xpp)); 4200 } else if (!parseBackboneContent(eventType, xpp, res)) 4201 unknownContent(xpp); 4202 eventType = nextNoWhitespace(xpp); 4203 } 4204 next(xpp); 4205 parseElementClose(res); 4206 return res; 4207 } 4208 4209 protected DetectedIssue parseDetectedIssue(XmlPullParser xpp) 4210 throws XmlPullParserException, IOException, FHIRFormatError { 4211 DetectedIssue res = new DetectedIssue(); 4212 parseDomainResourceAttributes(xpp, res); 4213 next(xpp); 4214 int eventType = nextNoWhitespace(xpp); 4215 while (eventType != XmlPullParser.END_TAG) { 4216 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 4217 res.setPatient(parseReference(xpp)); 4218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4219 res.setCategory(parseCodeableConcept(xpp)); 4220 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 4221 res.setSeverityElement(parseEnumeration(xpp, DetectedIssue.DetectedIssueSeverity.NULL, 4222 new DetectedIssue.DetectedIssueSeverityEnumFactory())); 4223 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implicated")) { 4224 res.getImplicated().add(parseReference(xpp)); 4225 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 4226 res.setDetailElement(parseString(xpp)); 4227 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4228 res.setDateElement(parseDateTime(xpp)); 4229 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4230 res.setAuthor(parseReference(xpp)); 4231 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4232 res.setIdentifier(parseIdentifier(xpp)); 4233 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 4234 res.setReferenceElement(parseUri(xpp)); 4235 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mitigation")) { 4236 res.getMitigation().add(parseDetectedIssueDetectedIssueMitigationComponent(xpp, res)); 4237 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4238 unknownContent(xpp); 4239 eventType = nextNoWhitespace(xpp); 4240 } 4241 next(xpp); 4242 parseElementClose(res); 4243 return res; 4244 } 4245 4246 protected DetectedIssue.DetectedIssueMitigationComponent parseDetectedIssueDetectedIssueMitigationComponent( 4247 XmlPullParser xpp, DetectedIssue owner) throws XmlPullParserException, IOException, FHIRFormatError { 4248 DetectedIssue.DetectedIssueMitigationComponent res = new DetectedIssue.DetectedIssueMitigationComponent(); 4249 parseBackboneAttributes(xpp, res); 4250 next(xpp); 4251 int eventType = nextNoWhitespace(xpp); 4252 while (eventType != XmlPullParser.END_TAG) { 4253 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 4254 res.setAction(parseCodeableConcept(xpp)); 4255 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4256 res.setDateElement(parseDateTime(xpp)); 4257 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4258 res.setAuthor(parseReference(xpp)); 4259 } else if (!parseBackboneContent(eventType, xpp, res)) 4260 unknownContent(xpp); 4261 eventType = nextNoWhitespace(xpp); 4262 } 4263 next(xpp); 4264 parseElementClose(res); 4265 return res; 4266 } 4267 4268 protected Device parseDevice(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4269 Device res = new Device(); 4270 parseDomainResourceAttributes(xpp, res); 4271 next(xpp); 4272 int eventType = nextNoWhitespace(xpp); 4273 while (eventType != XmlPullParser.END_TAG) { 4274 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4275 res.getIdentifier().add(parseIdentifier(xpp)); 4276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4277 res.setType(parseCodeableConcept(xpp)); 4278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4279 res.getNote().add(parseAnnotation(xpp)); 4280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4281 res.setStatusElement(parseEnumeration(xpp, Device.DeviceStatus.NULL, new Device.DeviceStatusEnumFactory())); 4282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 4283 res.setManufacturerElement(parseString(xpp)); 4284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("model")) { 4285 res.setModelElement(parseString(xpp)); 4286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 4287 res.setVersionElement(parseString(xpp)); 4288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufactureDate")) { 4289 res.setManufactureDateElement(parseDateTime(xpp)); 4290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expiry")) { 4291 res.setExpiryElement(parseDateTime(xpp)); 4292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 4293 res.setUdiElement(parseString(xpp)); 4294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 4295 res.setLotNumberElement(parseString(xpp)); 4296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 4297 res.setOwner(parseReference(xpp)); 4298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 4299 res.setLocation(parseReference(xpp)); 4300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 4301 res.setPatient(parseReference(xpp)); 4302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 4303 res.getContact().add(parseContactPoint(xpp)); 4304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 4305 res.setUrlElement(parseUri(xpp)); 4306 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4307 unknownContent(xpp); 4308 eventType = nextNoWhitespace(xpp); 4309 } 4310 next(xpp); 4311 parseElementClose(res); 4312 return res; 4313 } 4314 4315 protected DeviceComponent parseDeviceComponent(XmlPullParser xpp) 4316 throws XmlPullParserException, IOException, FHIRFormatError { 4317 DeviceComponent res = new DeviceComponent(); 4318 parseDomainResourceAttributes(xpp, res); 4319 next(xpp); 4320 int eventType = nextNoWhitespace(xpp); 4321 while (eventType != XmlPullParser.END_TAG) { 4322 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4323 res.setType(parseCodeableConcept(xpp)); 4324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4325 res.setIdentifier(parseIdentifier(xpp)); 4326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastSystemChange")) { 4327 res.setLastSystemChangeElement(parseInstant(xpp)); 4328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 4329 res.setSource(parseReference(xpp)); 4330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 4331 res.setParent(parseReference(xpp)); 4332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operationalStatus")) { 4333 res.getOperationalStatus().add(parseCodeableConcept(xpp)); 4334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameterGroup")) { 4335 res.setParameterGroup(parseCodeableConcept(xpp)); 4336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measurementPrinciple")) { 4337 res.setMeasurementPrincipleElement(parseEnumeration(xpp, DeviceComponent.MeasmntPrinciple.NULL, 4338 new DeviceComponent.MeasmntPrincipleEnumFactory())); 4339 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productionSpecification")) { 4340 res.getProductionSpecification() 4341 .add(parseDeviceComponentDeviceComponentProductionSpecificationComponent(xpp, res)); 4342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("languageCode")) { 4343 res.setLanguageCode(parseCodeableConcept(xpp)); 4344 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4345 unknownContent(xpp); 4346 eventType = nextNoWhitespace(xpp); 4347 } 4348 next(xpp); 4349 parseElementClose(res); 4350 return res; 4351 } 4352 4353 protected DeviceComponent.DeviceComponentProductionSpecificationComponent parseDeviceComponentDeviceComponentProductionSpecificationComponent( 4354 XmlPullParser xpp, DeviceComponent owner) throws XmlPullParserException, IOException, FHIRFormatError { 4355 DeviceComponent.DeviceComponentProductionSpecificationComponent res = new DeviceComponent.DeviceComponentProductionSpecificationComponent(); 4356 parseBackboneAttributes(xpp, res); 4357 next(xpp); 4358 int eventType = nextNoWhitespace(xpp); 4359 while (eventType != XmlPullParser.END_TAG) { 4360 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specType")) { 4361 res.setSpecType(parseCodeableConcept(xpp)); 4362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("componentId")) { 4363 res.setComponentId(parseIdentifier(xpp)); 4364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productionSpec")) { 4365 res.setProductionSpecElement(parseString(xpp)); 4366 } else if (!parseBackboneContent(eventType, xpp, res)) 4367 unknownContent(xpp); 4368 eventType = nextNoWhitespace(xpp); 4369 } 4370 next(xpp); 4371 parseElementClose(res); 4372 return res; 4373 } 4374 4375 protected DeviceMetric parseDeviceMetric(XmlPullParser xpp) 4376 throws XmlPullParserException, IOException, FHIRFormatError { 4377 DeviceMetric res = new DeviceMetric(); 4378 parseDomainResourceAttributes(xpp, res); 4379 next(xpp); 4380 int eventType = nextNoWhitespace(xpp); 4381 while (eventType != XmlPullParser.END_TAG) { 4382 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4383 res.setType(parseCodeableConcept(xpp)); 4384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4385 res.setIdentifier(parseIdentifier(xpp)); 4386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 4387 res.setUnit(parseCodeableConcept(xpp)); 4388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 4389 res.setSource(parseReference(xpp)); 4390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 4391 res.setParent(parseReference(xpp)); 4392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operationalStatus")) { 4393 res.setOperationalStatusElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricOperationalStatus.NULL, 4394 new DeviceMetric.DeviceMetricOperationalStatusEnumFactory())); 4395 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("color")) { 4396 res.setColorElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricColor.NULL, 4397 new DeviceMetric.DeviceMetricColorEnumFactory())); 4398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4399 res.setCategoryElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCategory.NULL, 4400 new DeviceMetric.DeviceMetricCategoryEnumFactory())); 4401 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measurementPeriod")) { 4402 res.setMeasurementPeriod(parseTiming(xpp)); 4403 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("calibration")) { 4404 res.getCalibration().add(parseDeviceMetricDeviceMetricCalibrationComponent(xpp, res)); 4405 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4406 unknownContent(xpp); 4407 eventType = nextNoWhitespace(xpp); 4408 } 4409 next(xpp); 4410 parseElementClose(res); 4411 return res; 4412 } 4413 4414 protected DeviceMetric.DeviceMetricCalibrationComponent parseDeviceMetricDeviceMetricCalibrationComponent( 4415 XmlPullParser xpp, DeviceMetric owner) throws XmlPullParserException, IOException, FHIRFormatError { 4416 DeviceMetric.DeviceMetricCalibrationComponent res = new DeviceMetric.DeviceMetricCalibrationComponent(); 4417 parseBackboneAttributes(xpp, res); 4418 next(xpp); 4419 int eventType = nextNoWhitespace(xpp); 4420 while (eventType != XmlPullParser.END_TAG) { 4421 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4422 res.setTypeElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCalibrationType.NULL, 4423 new DeviceMetric.DeviceMetricCalibrationTypeEnumFactory())); 4424 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("state")) { 4425 res.setStateElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCalibrationState.NULL, 4426 new DeviceMetric.DeviceMetricCalibrationStateEnumFactory())); 4427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 4428 res.setTimeElement(parseInstant(xpp)); 4429 } else if (!parseBackboneContent(eventType, xpp, res)) 4430 unknownContent(xpp); 4431 eventType = nextNoWhitespace(xpp); 4432 } 4433 next(xpp); 4434 parseElementClose(res); 4435 return res; 4436 } 4437 4438 protected DeviceUseRequest parseDeviceUseRequest(XmlPullParser xpp) 4439 throws XmlPullParserException, IOException, FHIRFormatError { 4440 DeviceUseRequest res = new DeviceUseRequest(); 4441 parseDomainResourceAttributes(xpp, res); 4442 next(xpp); 4443 int eventType = nextNoWhitespace(xpp); 4444 while (eventType != XmlPullParser.END_TAG) { 4445 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "bodySite")) { 4446 res.setBodySite(parseType("bodySite", xpp)); 4447 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4448 res.setStatusElement(parseEnumeration(xpp, DeviceUseRequest.DeviceUseRequestStatus.NULL, 4449 new DeviceUseRequest.DeviceUseRequestStatusEnumFactory())); 4450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 4451 res.setDevice(parseReference(xpp)); 4452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4453 res.setEncounter(parseReference(xpp)); 4454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4455 res.getIdentifier().add(parseIdentifier(xpp)); 4456 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 4457 res.getIndication().add(parseCodeableConcept(xpp)); 4458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 4459 res.getNotes().add(parseString(xpp)); 4460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prnReason")) { 4461 res.getPrnReason().add(parseCodeableConcept(xpp)); 4462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedOn")) { 4463 res.setOrderedOnElement(parseDateTime(xpp)); 4464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedOn")) { 4465 res.setRecordedOnElement(parseDateTime(xpp)); 4466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4467 res.setSubject(parseReference(xpp)); 4468 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 4469 res.setTiming(parseType("timing", xpp)); 4470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 4471 res.setPriorityElement(parseEnumeration(xpp, DeviceUseRequest.DeviceUseRequestPriority.NULL, 4472 new DeviceUseRequest.DeviceUseRequestPriorityEnumFactory())); 4473 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4474 unknownContent(xpp); 4475 eventType = nextNoWhitespace(xpp); 4476 } 4477 next(xpp); 4478 parseElementClose(res); 4479 return res; 4480 } 4481 4482 protected DeviceUseStatement parseDeviceUseStatement(XmlPullParser xpp) 4483 throws XmlPullParserException, IOException, FHIRFormatError { 4484 DeviceUseStatement res = new DeviceUseStatement(); 4485 parseDomainResourceAttributes(xpp, res); 4486 next(xpp); 4487 int eventType = nextNoWhitespace(xpp); 4488 while (eventType != XmlPullParser.END_TAG) { 4489 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "bodySite")) { 4490 res.setBodySite(parseType("bodySite", xpp)); 4491 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenUsed")) { 4492 res.setWhenUsed(parsePeriod(xpp)); 4493 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 4494 res.setDevice(parseReference(xpp)); 4495 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4496 res.getIdentifier().add(parseIdentifier(xpp)); 4497 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 4498 res.getIndication().add(parseCodeableConcept(xpp)); 4499 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 4500 res.getNotes().add(parseString(xpp)); 4501 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedOn")) { 4502 res.setRecordedOnElement(parseDateTime(xpp)); 4503 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4504 res.setSubject(parseReference(xpp)); 4505 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 4506 res.setTiming(parseType("timing", xpp)); 4507 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4508 unknownContent(xpp); 4509 eventType = nextNoWhitespace(xpp); 4510 } 4511 next(xpp); 4512 parseElementClose(res); 4513 return res; 4514 } 4515 4516 protected DiagnosticOrder parseDiagnosticOrder(XmlPullParser xpp) 4517 throws XmlPullParserException, IOException, FHIRFormatError { 4518 DiagnosticOrder res = new DiagnosticOrder(); 4519 parseDomainResourceAttributes(xpp, res); 4520 next(xpp); 4521 int eventType = nextNoWhitespace(xpp); 4522 while (eventType != XmlPullParser.END_TAG) { 4523 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4524 res.setSubject(parseReference(xpp)); 4525 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { 4526 res.setOrderer(parseReference(xpp)); 4527 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4528 res.getIdentifier().add(parseIdentifier(xpp)); 4529 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4530 res.setEncounter(parseReference(xpp)); 4531 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 4532 res.getReason().add(parseCodeableConcept(xpp)); 4533 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 4534 res.getSupportingInformation().add(parseReference(xpp)); 4535 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 4536 res.getSpecimen().add(parseReference(xpp)); 4537 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4538 res.setStatusElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderStatus.NULL, 4539 new DiagnosticOrder.DiagnosticOrderStatusEnumFactory())); 4540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 4541 res.setPriorityElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderPriority.NULL, 4542 new DiagnosticOrder.DiagnosticOrderPriorityEnumFactory())); 4543 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 4544 res.getEvent().add(parseDiagnosticOrderDiagnosticOrderEventComponent(xpp, res)); 4545 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 4546 res.getItem().add(parseDiagnosticOrderDiagnosticOrderItemComponent(xpp, res)); 4547 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4548 res.getNote().add(parseAnnotation(xpp)); 4549 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4550 unknownContent(xpp); 4551 eventType = nextNoWhitespace(xpp); 4552 } 4553 next(xpp); 4554 parseElementClose(res); 4555 return res; 4556 } 4557 4558 protected DiagnosticOrder.DiagnosticOrderEventComponent parseDiagnosticOrderDiagnosticOrderEventComponent( 4559 XmlPullParser xpp, DiagnosticOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 4560 DiagnosticOrder.DiagnosticOrderEventComponent res = new DiagnosticOrder.DiagnosticOrderEventComponent(); 4561 parseBackboneAttributes(xpp, res); 4562 next(xpp); 4563 int eventType = nextNoWhitespace(xpp); 4564 while (eventType != XmlPullParser.END_TAG) { 4565 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4566 res.setStatusElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderStatus.NULL, 4567 new DiagnosticOrder.DiagnosticOrderStatusEnumFactory())); 4568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4569 res.setDescription(parseCodeableConcept(xpp)); 4570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 4571 res.setDateTimeElement(parseDateTime(xpp)); 4572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 4573 res.setActor(parseReference(xpp)); 4574 } else if (!parseBackboneContent(eventType, xpp, res)) 4575 unknownContent(xpp); 4576 eventType = nextNoWhitespace(xpp); 4577 } 4578 next(xpp); 4579 parseElementClose(res); 4580 return res; 4581 } 4582 4583 protected DiagnosticOrder.DiagnosticOrderItemComponent parseDiagnosticOrderDiagnosticOrderItemComponent( 4584 XmlPullParser xpp, DiagnosticOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 4585 DiagnosticOrder.DiagnosticOrderItemComponent res = new DiagnosticOrder.DiagnosticOrderItemComponent(); 4586 parseBackboneAttributes(xpp, res); 4587 next(xpp); 4588 int eventType = nextNoWhitespace(xpp); 4589 while (eventType != XmlPullParser.END_TAG) { 4590 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4591 res.setCode(parseCodeableConcept(xpp)); 4592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 4593 res.getSpecimen().add(parseReference(xpp)); 4594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 4595 res.setBodySite(parseCodeableConcept(xpp)); 4596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4597 res.setStatusElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderStatus.NULL, 4598 new DiagnosticOrder.DiagnosticOrderStatusEnumFactory())); 4599 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 4600 res.getEvent().add(parseDiagnosticOrderDiagnosticOrderEventComponent(xpp, owner)); 4601 } else if (!parseBackboneContent(eventType, xpp, res)) 4602 unknownContent(xpp); 4603 eventType = nextNoWhitespace(xpp); 4604 } 4605 next(xpp); 4606 parseElementClose(res); 4607 return res; 4608 } 4609 4610 protected DiagnosticReport parseDiagnosticReport(XmlPullParser xpp) 4611 throws XmlPullParserException, IOException, FHIRFormatError { 4612 DiagnosticReport res = new DiagnosticReport(); 4613 parseDomainResourceAttributes(xpp, res); 4614 next(xpp); 4615 int eventType = nextNoWhitespace(xpp); 4616 while (eventType != XmlPullParser.END_TAG) { 4617 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4618 res.getIdentifier().add(parseIdentifier(xpp)); 4619 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4620 res.setStatusElement(parseEnumeration(xpp, DiagnosticReport.DiagnosticReportStatus.NULL, 4621 new DiagnosticReport.DiagnosticReportStatusEnumFactory())); 4622 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4623 res.setCategory(parseCodeableConcept(xpp)); 4624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4625 res.setCode(parseCodeableConcept(xpp)); 4626 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4627 res.setSubject(parseReference(xpp)); 4628 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4629 res.setEncounter(parseReference(xpp)); 4630 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 4631 res.setEffective(parseType("effective", xpp)); 4632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 4633 res.setIssuedElement(parseInstant(xpp)); 4634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 4635 res.setPerformer(parseReference(xpp)); 4636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 4637 res.getRequest().add(parseReference(xpp)); 4638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 4639 res.getSpecimen().add(parseReference(xpp)); 4640 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) { 4641 res.getResult().add(parseReference(xpp)); 4642 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imagingStudy")) { 4643 res.getImagingStudy().add(parseReference(xpp)); 4644 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("image")) { 4645 res.getImage().add(parseDiagnosticReportDiagnosticReportImageComponent(xpp, res)); 4646 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conclusion")) { 4647 res.setConclusionElement(parseString(xpp)); 4648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codedDiagnosis")) { 4649 res.getCodedDiagnosis().add(parseCodeableConcept(xpp)); 4650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("presentedForm")) { 4651 res.getPresentedForm().add(parseAttachment(xpp)); 4652 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4653 unknownContent(xpp); 4654 eventType = nextNoWhitespace(xpp); 4655 } 4656 next(xpp); 4657 parseElementClose(res); 4658 return res; 4659 } 4660 4661 protected DiagnosticReport.DiagnosticReportImageComponent parseDiagnosticReportDiagnosticReportImageComponent( 4662 XmlPullParser xpp, DiagnosticReport owner) throws XmlPullParserException, IOException, FHIRFormatError { 4663 DiagnosticReport.DiagnosticReportImageComponent res = new DiagnosticReport.DiagnosticReportImageComponent(); 4664 parseBackboneAttributes(xpp, res); 4665 next(xpp); 4666 int eventType = nextNoWhitespace(xpp); 4667 while (eventType != XmlPullParser.END_TAG) { 4668 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 4669 res.setCommentElement(parseString(xpp)); 4670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 4671 res.setLink(parseReference(xpp)); 4672 } else if (!parseBackboneContent(eventType, xpp, res)) 4673 unknownContent(xpp); 4674 eventType = nextNoWhitespace(xpp); 4675 } 4676 next(xpp); 4677 parseElementClose(res); 4678 return res; 4679 } 4680 4681 protected DocumentManifest parseDocumentManifest(XmlPullParser xpp) 4682 throws XmlPullParserException, IOException, FHIRFormatError { 4683 DocumentManifest res = new DocumentManifest(); 4684 parseDomainResourceAttributes(xpp, res); 4685 next(xpp); 4686 int eventType = nextNoWhitespace(xpp); 4687 while (eventType != XmlPullParser.END_TAG) { 4688 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("masterIdentifier")) { 4689 res.setMasterIdentifier(parseIdentifier(xpp)); 4690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4691 res.getIdentifier().add(parseIdentifier(xpp)); 4692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4693 res.setSubject(parseReference(xpp)); 4694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 4695 res.getRecipient().add(parseReference(xpp)); 4696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4697 res.setType(parseCodeableConcept(xpp)); 4698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4699 res.getAuthor().add(parseReference(xpp)); 4700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4701 res.setCreatedElement(parseDateTime(xpp)); 4702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 4703 res.setSourceElement(parseUri(xpp)); 4704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4705 res.setStatusElement(parseEnumeration(xpp, Enumerations.DocumentReferenceStatus.NULL, 4706 new Enumerations.DocumentReferenceStatusEnumFactory())); 4707 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4708 res.setDescriptionElement(parseString(xpp)); 4709 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 4710 res.getContent().add(parseDocumentManifestDocumentManifestContentComponent(xpp, res)); 4711 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 4712 res.getRelated().add(parseDocumentManifestDocumentManifestRelatedComponent(xpp, res)); 4713 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4714 unknownContent(xpp); 4715 eventType = nextNoWhitespace(xpp); 4716 } 4717 next(xpp); 4718 parseElementClose(res); 4719 return res; 4720 } 4721 4722 protected DocumentManifest.DocumentManifestContentComponent parseDocumentManifestDocumentManifestContentComponent( 4723 XmlPullParser xpp, DocumentManifest owner) throws XmlPullParserException, IOException, FHIRFormatError { 4724 DocumentManifest.DocumentManifestContentComponent res = new DocumentManifest.DocumentManifestContentComponent(); 4725 parseBackboneAttributes(xpp, res); 4726 next(xpp); 4727 int eventType = nextNoWhitespace(xpp); 4728 while (eventType != XmlPullParser.END_TAG) { 4729 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "p")) { 4730 res.setP(parseType("p", xpp)); 4731 } else if (!parseBackboneContent(eventType, xpp, res)) 4732 unknownContent(xpp); 4733 eventType = nextNoWhitespace(xpp); 4734 } 4735 next(xpp); 4736 parseElementClose(res); 4737 return res; 4738 } 4739 4740 protected DocumentManifest.DocumentManifestRelatedComponent parseDocumentManifestDocumentManifestRelatedComponent( 4741 XmlPullParser xpp, DocumentManifest owner) throws XmlPullParserException, IOException, FHIRFormatError { 4742 DocumentManifest.DocumentManifestRelatedComponent res = new DocumentManifest.DocumentManifestRelatedComponent(); 4743 parseBackboneAttributes(xpp, res); 4744 next(xpp); 4745 int eventType = nextNoWhitespace(xpp); 4746 while (eventType != XmlPullParser.END_TAG) { 4747 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4748 res.setIdentifier(parseIdentifier(xpp)); 4749 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ref")) { 4750 res.setRef(parseReference(xpp)); 4751 } else if (!parseBackboneContent(eventType, xpp, res)) 4752 unknownContent(xpp); 4753 eventType = nextNoWhitespace(xpp); 4754 } 4755 next(xpp); 4756 parseElementClose(res); 4757 return res; 4758 } 4759 4760 protected DocumentReference parseDocumentReference(XmlPullParser xpp) 4761 throws XmlPullParserException, IOException, FHIRFormatError { 4762 DocumentReference res = new DocumentReference(); 4763 parseDomainResourceAttributes(xpp, res); 4764 next(xpp); 4765 int eventType = nextNoWhitespace(xpp); 4766 while (eventType != XmlPullParser.END_TAG) { 4767 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("masterIdentifier")) { 4768 res.setMasterIdentifier(parseIdentifier(xpp)); 4769 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4770 res.getIdentifier().add(parseIdentifier(xpp)); 4771 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4772 res.setSubject(parseReference(xpp)); 4773 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4774 res.setType(parseCodeableConcept(xpp)); 4775 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 4776 res.setClass_(parseCodeableConcept(xpp)); 4777 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4778 res.getAuthor().add(parseReference(xpp)); 4779 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { 4780 res.setCustodian(parseReference(xpp)); 4781 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authenticator")) { 4782 res.setAuthenticator(parseReference(xpp)); 4783 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4784 res.setCreatedElement(parseDateTime(xpp)); 4785 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indexed")) { 4786 res.setIndexedElement(parseInstant(xpp)); 4787 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4788 res.setStatusElement(parseEnumeration(xpp, Enumerations.DocumentReferenceStatus.NULL, 4789 new Enumerations.DocumentReferenceStatusEnumFactory())); 4790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("docStatus")) { 4791 res.setDocStatus(parseCodeableConcept(xpp)); 4792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatesTo")) { 4793 res.getRelatesTo().add(parseDocumentReferenceDocumentReferenceRelatesToComponent(xpp, res)); 4794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4795 res.setDescriptionElement(parseString(xpp)); 4796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 4797 res.getSecurityLabel().add(parseCodeableConcept(xpp)); 4798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 4799 res.getContent().add(parseDocumentReferenceDocumentReferenceContentComponent(xpp, res)); 4800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 4801 res.setContext(parseDocumentReferenceDocumentReferenceContextComponent(xpp, res)); 4802 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4803 unknownContent(xpp); 4804 eventType = nextNoWhitespace(xpp); 4805 } 4806 next(xpp); 4807 parseElementClose(res); 4808 return res; 4809 } 4810 4811 protected DocumentReference.DocumentReferenceRelatesToComponent parseDocumentReferenceDocumentReferenceRelatesToComponent( 4812 XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4813 DocumentReference.DocumentReferenceRelatesToComponent res = new DocumentReference.DocumentReferenceRelatesToComponent(); 4814 parseBackboneAttributes(xpp, res); 4815 next(xpp); 4816 int eventType = nextNoWhitespace(xpp); 4817 while (eventType != XmlPullParser.END_TAG) { 4818 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4819 res.setCodeElement(parseEnumeration(xpp, DocumentReference.DocumentRelationshipType.NULL, 4820 new DocumentReference.DocumentRelationshipTypeEnumFactory())); 4821 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 4822 res.setTarget(parseReference(xpp)); 4823 } else if (!parseBackboneContent(eventType, xpp, res)) 4824 unknownContent(xpp); 4825 eventType = nextNoWhitespace(xpp); 4826 } 4827 next(xpp); 4828 parseElementClose(res); 4829 return res; 4830 } 4831 4832 protected DocumentReference.DocumentReferenceContentComponent parseDocumentReferenceDocumentReferenceContentComponent( 4833 XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4834 DocumentReference.DocumentReferenceContentComponent res = new DocumentReference.DocumentReferenceContentComponent(); 4835 parseBackboneAttributes(xpp, res); 4836 next(xpp); 4837 int eventType = nextNoWhitespace(xpp); 4838 while (eventType != XmlPullParser.END_TAG) { 4839 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attachment")) { 4840 res.setAttachment(parseAttachment(xpp)); 4841 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 4842 res.getFormat().add(parseCoding(xpp)); 4843 } else if (!parseBackboneContent(eventType, xpp, res)) 4844 unknownContent(xpp); 4845 eventType = nextNoWhitespace(xpp); 4846 } 4847 next(xpp); 4848 parseElementClose(res); 4849 return res; 4850 } 4851 4852 protected DocumentReference.DocumentReferenceContextComponent parseDocumentReferenceDocumentReferenceContextComponent( 4853 XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4854 DocumentReference.DocumentReferenceContextComponent res = new DocumentReference.DocumentReferenceContextComponent(); 4855 parseBackboneAttributes(xpp, res); 4856 next(xpp); 4857 int eventType = nextNoWhitespace(xpp); 4858 while (eventType != XmlPullParser.END_TAG) { 4859 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4860 res.setEncounter(parseReference(xpp)); 4861 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 4862 res.getEvent().add(parseCodeableConcept(xpp)); 4863 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4864 res.setPeriod(parsePeriod(xpp)); 4865 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facilityType")) { 4866 res.setFacilityType(parseCodeableConcept(xpp)); 4867 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practiceSetting")) { 4868 res.setPracticeSetting(parseCodeableConcept(xpp)); 4869 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourcePatientInfo")) { 4870 res.setSourcePatientInfo(parseReference(xpp)); 4871 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 4872 res.getRelated().add(parseDocumentReferenceDocumentReferenceContextRelatedComponent(xpp, owner)); 4873 } else if (!parseBackboneContent(eventType, xpp, res)) 4874 unknownContent(xpp); 4875 eventType = nextNoWhitespace(xpp); 4876 } 4877 next(xpp); 4878 parseElementClose(res); 4879 return res; 4880 } 4881 4882 protected DocumentReference.DocumentReferenceContextRelatedComponent parseDocumentReferenceDocumentReferenceContextRelatedComponent( 4883 XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4884 DocumentReference.DocumentReferenceContextRelatedComponent res = new DocumentReference.DocumentReferenceContextRelatedComponent(); 4885 parseBackboneAttributes(xpp, res); 4886 next(xpp); 4887 int eventType = nextNoWhitespace(xpp); 4888 while (eventType != XmlPullParser.END_TAG) { 4889 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4890 res.setIdentifier(parseIdentifier(xpp)); 4891 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ref")) { 4892 res.setRef(parseReference(xpp)); 4893 } else if (!parseBackboneContent(eventType, xpp, res)) 4894 unknownContent(xpp); 4895 eventType = nextNoWhitespace(xpp); 4896 } 4897 next(xpp); 4898 parseElementClose(res); 4899 return res; 4900 } 4901 4902 protected EligibilityRequest parseEligibilityRequest(XmlPullParser xpp) 4903 throws XmlPullParserException, IOException, FHIRFormatError { 4904 EligibilityRequest res = new EligibilityRequest(); 4905 parseDomainResourceAttributes(xpp, res); 4906 next(xpp); 4907 int eventType = nextNoWhitespace(xpp); 4908 while (eventType != XmlPullParser.END_TAG) { 4909 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4910 res.getIdentifier().add(parseIdentifier(xpp)); 4911 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 4912 res.setRuleset(parseCoding(xpp)); 4913 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 4914 res.setOriginalRuleset(parseCoding(xpp)); 4915 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4916 res.setCreatedElement(parseDateTime(xpp)); 4917 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 4918 res.setTarget(parseReference(xpp)); 4919 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 4920 res.setProvider(parseReference(xpp)); 4921 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 4922 res.setOrganization(parseReference(xpp)); 4923 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4924 unknownContent(xpp); 4925 eventType = nextNoWhitespace(xpp); 4926 } 4927 next(xpp); 4928 parseElementClose(res); 4929 return res; 4930 } 4931 4932 protected EligibilityResponse parseEligibilityResponse(XmlPullParser xpp) 4933 throws XmlPullParserException, IOException, FHIRFormatError { 4934 EligibilityResponse res = new EligibilityResponse(); 4935 parseDomainResourceAttributes(xpp, res); 4936 next(xpp); 4937 int eventType = nextNoWhitespace(xpp); 4938 while (eventType != XmlPullParser.END_TAG) { 4939 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4940 res.getIdentifier().add(parseIdentifier(xpp)); 4941 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 4942 res.setRequest(parseReference(xpp)); 4943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 4944 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, 4945 new Enumerations.RemittanceOutcomeEnumFactory())); 4946 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 4947 res.setDispositionElement(parseString(xpp)); 4948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 4949 res.setRuleset(parseCoding(xpp)); 4950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 4951 res.setOriginalRuleset(parseCoding(xpp)); 4952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4953 res.setCreatedElement(parseDateTime(xpp)); 4954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 4955 res.setOrganization(parseReference(xpp)); 4956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 4957 res.setRequestProvider(parseReference(xpp)); 4958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 4959 res.setRequestOrganization(parseReference(xpp)); 4960 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4961 unknownContent(xpp); 4962 eventType = nextNoWhitespace(xpp); 4963 } 4964 next(xpp); 4965 parseElementClose(res); 4966 return res; 4967 } 4968 4969 protected Encounter parseEncounter(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4970 Encounter res = new Encounter(); 4971 parseDomainResourceAttributes(xpp, res); 4972 next(xpp); 4973 int eventType = nextNoWhitespace(xpp); 4974 while (eventType != XmlPullParser.END_TAG) { 4975 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4976 res.getIdentifier().add(parseIdentifier(xpp)); 4977 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4978 res.setStatusElement( 4979 parseEnumeration(xpp, Encounter.EncounterState.NULL, new Encounter.EncounterStateEnumFactory())); 4980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusHistory")) { 4981 res.getStatusHistory().add(parseEncounterEncounterStatusHistoryComponent(xpp, res)); 4982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 4983 res.setClass_Element( 4984 parseEnumeration(xpp, Encounter.EncounterClass.NULL, new Encounter.EncounterClassEnumFactory())); 4985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4986 res.getType().add(parseCodeableConcept(xpp)); 4987 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 4988 res.setPriority(parseCodeableConcept(xpp)); 4989 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 4990 res.setPatient(parseReference(xpp)); 4991 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("episodeOfCare")) { 4992 res.getEpisodeOfCare().add(parseReference(xpp)); 4993 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("incomingReferral")) { 4994 res.getIncomingReferral().add(parseReference(xpp)); 4995 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 4996 res.getParticipant().add(parseEncounterEncounterParticipantComponent(xpp, res)); 4997 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { 4998 res.setAppointment(parseReference(xpp)); 4999 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5000 res.setPeriod(parsePeriod(xpp)); 5001 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("length")) { 5002 res.setLength(parseDuration(xpp)); 5003 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 5004 res.getReason().add(parseCodeableConcept(xpp)); 5005 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 5006 res.getIndication().add(parseReference(xpp)); 5007 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hospitalization")) { 5008 res.setHospitalization(parseEncounterEncounterHospitalizationComponent(xpp, res)); 5009 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 5010 res.getLocation().add(parseEncounterEncounterLocationComponent(xpp, res)); 5011 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvider")) { 5012 res.setServiceProvider(parseReference(xpp)); 5013 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 5014 res.setPartOf(parseReference(xpp)); 5015 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5016 unknownContent(xpp); 5017 eventType = nextNoWhitespace(xpp); 5018 } 5019 next(xpp); 5020 parseElementClose(res); 5021 return res; 5022 } 5023 5024 protected Encounter.EncounterStatusHistoryComponent parseEncounterEncounterStatusHistoryComponent(XmlPullParser xpp, 5025 Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 5026 Encounter.EncounterStatusHistoryComponent res = new Encounter.EncounterStatusHistoryComponent(); 5027 parseBackboneAttributes(xpp, res); 5028 next(xpp); 5029 int eventType = nextNoWhitespace(xpp); 5030 while (eventType != XmlPullParser.END_TAG) { 5031 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5032 res.setStatusElement( 5033 parseEnumeration(xpp, Encounter.EncounterState.NULL, new Encounter.EncounterStateEnumFactory())); 5034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5035 res.setPeriod(parsePeriod(xpp)); 5036 } else if (!parseBackboneContent(eventType, xpp, res)) 5037 unknownContent(xpp); 5038 eventType = nextNoWhitespace(xpp); 5039 } 5040 next(xpp); 5041 parseElementClose(res); 5042 return res; 5043 } 5044 5045 protected Encounter.EncounterParticipantComponent parseEncounterEncounterParticipantComponent(XmlPullParser xpp, 5046 Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 5047 Encounter.EncounterParticipantComponent res = new Encounter.EncounterParticipantComponent(); 5048 parseBackboneAttributes(xpp, res); 5049 next(xpp); 5050 int eventType = nextNoWhitespace(xpp); 5051 while (eventType != XmlPullParser.END_TAG) { 5052 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5053 res.getType().add(parseCodeableConcept(xpp)); 5054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5055 res.setPeriod(parsePeriod(xpp)); 5056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("individual")) { 5057 res.setIndividual(parseReference(xpp)); 5058 } else if (!parseBackboneContent(eventType, xpp, res)) 5059 unknownContent(xpp); 5060 eventType = nextNoWhitespace(xpp); 5061 } 5062 next(xpp); 5063 parseElementClose(res); 5064 return res; 5065 } 5066 5067 protected Encounter.EncounterHospitalizationComponent parseEncounterEncounterHospitalizationComponent( 5068 XmlPullParser xpp, Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 5069 Encounter.EncounterHospitalizationComponent res = new Encounter.EncounterHospitalizationComponent(); 5070 parseBackboneAttributes(xpp, res); 5071 next(xpp); 5072 int eventType = nextNoWhitespace(xpp); 5073 while (eventType != XmlPullParser.END_TAG) { 5074 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAdmissionIdentifier")) { 5075 res.setPreAdmissionIdentifier(parseIdentifier(xpp)); 5076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 5077 res.setOrigin(parseReference(xpp)); 5078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("admitSource")) { 5079 res.setAdmitSource(parseCodeableConcept(xpp)); 5080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("admittingDiagnosis")) { 5081 res.getAdmittingDiagnosis().add(parseReference(xpp)); 5082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reAdmission")) { 5083 res.setReAdmission(parseCodeableConcept(xpp)); 5084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dietPreference")) { 5085 res.getDietPreference().add(parseCodeableConcept(xpp)); 5086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialCourtesy")) { 5087 res.getSpecialCourtesy().add(parseCodeableConcept(xpp)); 5088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialArrangement")) { 5089 res.getSpecialArrangement().add(parseCodeableConcept(xpp)); 5090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 5091 res.setDestination(parseReference(xpp)); 5092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dischargeDisposition")) { 5093 res.setDischargeDisposition(parseCodeableConcept(xpp)); 5094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dischargeDiagnosis")) { 5095 res.getDischargeDiagnosis().add(parseReference(xpp)); 5096 } else if (!parseBackboneContent(eventType, xpp, res)) 5097 unknownContent(xpp); 5098 eventType = nextNoWhitespace(xpp); 5099 } 5100 next(xpp); 5101 parseElementClose(res); 5102 return res; 5103 } 5104 5105 protected Encounter.EncounterLocationComponent parseEncounterEncounterLocationComponent(XmlPullParser xpp, 5106 Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 5107 Encounter.EncounterLocationComponent res = new Encounter.EncounterLocationComponent(); 5108 parseBackboneAttributes(xpp, res); 5109 next(xpp); 5110 int eventType = nextNoWhitespace(xpp); 5111 while (eventType != XmlPullParser.END_TAG) { 5112 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 5113 res.setLocation(parseReference(xpp)); 5114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5115 res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterLocationStatus.NULL, 5116 new Encounter.EncounterLocationStatusEnumFactory())); 5117 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5118 res.setPeriod(parsePeriod(xpp)); 5119 } else if (!parseBackboneContent(eventType, xpp, res)) 5120 unknownContent(xpp); 5121 eventType = nextNoWhitespace(xpp); 5122 } 5123 next(xpp); 5124 parseElementClose(res); 5125 return res; 5126 } 5127 5128 protected EnrollmentRequest parseEnrollmentRequest(XmlPullParser xpp) 5129 throws XmlPullParserException, IOException, FHIRFormatError { 5130 EnrollmentRequest res = new EnrollmentRequest(); 5131 parseDomainResourceAttributes(xpp, res); 5132 next(xpp); 5133 int eventType = nextNoWhitespace(xpp); 5134 while (eventType != XmlPullParser.END_TAG) { 5135 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5136 res.getIdentifier().add(parseIdentifier(xpp)); 5137 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 5138 res.setRuleset(parseCoding(xpp)); 5139 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 5140 res.setOriginalRuleset(parseCoding(xpp)); 5141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 5142 res.setCreatedElement(parseDateTime(xpp)); 5143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 5144 res.setTarget(parseReference(xpp)); 5145 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 5146 res.setProvider(parseReference(xpp)); 5147 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 5148 res.setOrganization(parseReference(xpp)); 5149 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 5150 res.setSubject(parseReference(xpp)); 5151 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 5152 res.setCoverage(parseReference(xpp)); 5153 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 5154 res.setRelationship(parseCoding(xpp)); 5155 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5156 unknownContent(xpp); 5157 eventType = nextNoWhitespace(xpp); 5158 } 5159 next(xpp); 5160 parseElementClose(res); 5161 return res; 5162 } 5163 5164 protected EnrollmentResponse parseEnrollmentResponse(XmlPullParser xpp) 5165 throws XmlPullParserException, IOException, FHIRFormatError { 5166 EnrollmentResponse res = new EnrollmentResponse(); 5167 parseDomainResourceAttributes(xpp, res); 5168 next(xpp); 5169 int eventType = nextNoWhitespace(xpp); 5170 while (eventType != XmlPullParser.END_TAG) { 5171 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5172 res.getIdentifier().add(parseIdentifier(xpp)); 5173 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 5174 res.setRequest(parseReference(xpp)); 5175 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5176 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, 5177 new Enumerations.RemittanceOutcomeEnumFactory())); 5178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 5179 res.setDispositionElement(parseString(xpp)); 5180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 5181 res.setRuleset(parseCoding(xpp)); 5182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 5183 res.setOriginalRuleset(parseCoding(xpp)); 5184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 5185 res.setCreatedElement(parseDateTime(xpp)); 5186 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 5187 res.setOrganization(parseReference(xpp)); 5188 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 5189 res.setRequestProvider(parseReference(xpp)); 5190 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 5191 res.setRequestOrganization(parseReference(xpp)); 5192 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5193 unknownContent(xpp); 5194 eventType = nextNoWhitespace(xpp); 5195 } 5196 next(xpp); 5197 parseElementClose(res); 5198 return res; 5199 } 5200 5201 protected EpisodeOfCare parseEpisodeOfCare(XmlPullParser xpp) 5202 throws XmlPullParserException, IOException, FHIRFormatError { 5203 EpisodeOfCare res = new EpisodeOfCare(); 5204 parseDomainResourceAttributes(xpp, res); 5205 next(xpp); 5206 int eventType = nextNoWhitespace(xpp); 5207 while (eventType != XmlPullParser.END_TAG) { 5208 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5209 res.getIdentifier().add(parseIdentifier(xpp)); 5210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5211 res.setStatusElement(parseEnumeration(xpp, EpisodeOfCare.EpisodeOfCareStatus.NULL, 5212 new EpisodeOfCare.EpisodeOfCareStatusEnumFactory())); 5213 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusHistory")) { 5214 res.getStatusHistory().add(parseEpisodeOfCareEpisodeOfCareStatusHistoryComponent(xpp, res)); 5215 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5216 res.getType().add(parseCodeableConcept(xpp)); 5217 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 5218 res.getCondition().add(parseReference(xpp)); 5219 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5220 res.setPatient(parseReference(xpp)); 5221 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 5222 res.setManagingOrganization(parseReference(xpp)); 5223 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5224 res.setPeriod(parsePeriod(xpp)); 5225 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referralRequest")) { 5226 res.getReferralRequest().add(parseReference(xpp)); 5227 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careManager")) { 5228 res.setCareManager(parseReference(xpp)); 5229 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { 5230 res.getCareTeam().add(parseEpisodeOfCareEpisodeOfCareCareTeamComponent(xpp, res)); 5231 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5232 unknownContent(xpp); 5233 eventType = nextNoWhitespace(xpp); 5234 } 5235 next(xpp); 5236 parseElementClose(res); 5237 return res; 5238 } 5239 5240 protected EpisodeOfCare.EpisodeOfCareStatusHistoryComponent parseEpisodeOfCareEpisodeOfCareStatusHistoryComponent( 5241 XmlPullParser xpp, EpisodeOfCare owner) throws XmlPullParserException, IOException, FHIRFormatError { 5242 EpisodeOfCare.EpisodeOfCareStatusHistoryComponent res = new EpisodeOfCare.EpisodeOfCareStatusHistoryComponent(); 5243 parseBackboneAttributes(xpp, res); 5244 next(xpp); 5245 int eventType = nextNoWhitespace(xpp); 5246 while (eventType != XmlPullParser.END_TAG) { 5247 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5248 res.setStatusElement(parseEnumeration(xpp, EpisodeOfCare.EpisodeOfCareStatus.NULL, 5249 new EpisodeOfCare.EpisodeOfCareStatusEnumFactory())); 5250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5251 res.setPeriod(parsePeriod(xpp)); 5252 } else if (!parseBackboneContent(eventType, xpp, res)) 5253 unknownContent(xpp); 5254 eventType = nextNoWhitespace(xpp); 5255 } 5256 next(xpp); 5257 parseElementClose(res); 5258 return res; 5259 } 5260 5261 protected EpisodeOfCare.EpisodeOfCareCareTeamComponent parseEpisodeOfCareEpisodeOfCareCareTeamComponent( 5262 XmlPullParser xpp, EpisodeOfCare owner) throws XmlPullParserException, IOException, FHIRFormatError { 5263 EpisodeOfCare.EpisodeOfCareCareTeamComponent res = new EpisodeOfCare.EpisodeOfCareCareTeamComponent(); 5264 parseBackboneAttributes(xpp, res); 5265 next(xpp); 5266 int eventType = nextNoWhitespace(xpp); 5267 while (eventType != XmlPullParser.END_TAG) { 5268 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 5269 res.getRole().add(parseCodeableConcept(xpp)); 5270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5271 res.setPeriod(parsePeriod(xpp)); 5272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 5273 res.setMember(parseReference(xpp)); 5274 } else if (!parseBackboneContent(eventType, xpp, res)) 5275 unknownContent(xpp); 5276 eventType = nextNoWhitespace(xpp); 5277 } 5278 next(xpp); 5279 parseElementClose(res); 5280 return res; 5281 } 5282 5283 protected ExplanationOfBenefit parseExplanationOfBenefit(XmlPullParser xpp) 5284 throws XmlPullParserException, IOException, FHIRFormatError { 5285 ExplanationOfBenefit res = new ExplanationOfBenefit(); 5286 parseDomainResourceAttributes(xpp, res); 5287 next(xpp); 5288 int eventType = nextNoWhitespace(xpp); 5289 while (eventType != XmlPullParser.END_TAG) { 5290 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5291 res.getIdentifier().add(parseIdentifier(xpp)); 5292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 5293 res.setRequest(parseReference(xpp)); 5294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5295 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, 5296 new Enumerations.RemittanceOutcomeEnumFactory())); 5297 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 5298 res.setDispositionElement(parseString(xpp)); 5299 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 5300 res.setRuleset(parseCoding(xpp)); 5301 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 5302 res.setOriginalRuleset(parseCoding(xpp)); 5303 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 5304 res.setCreatedElement(parseDateTime(xpp)); 5305 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 5306 res.setOrganization(parseReference(xpp)); 5307 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 5308 res.setRequestProvider(parseReference(xpp)); 5309 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 5310 res.setRequestOrganization(parseReference(xpp)); 5311 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5312 unknownContent(xpp); 5313 eventType = nextNoWhitespace(xpp); 5314 } 5315 next(xpp); 5316 parseElementClose(res); 5317 return res; 5318 } 5319 5320 protected FamilyMemberHistory parseFamilyMemberHistory(XmlPullParser xpp) 5321 throws XmlPullParserException, IOException, FHIRFormatError { 5322 FamilyMemberHistory res = new FamilyMemberHistory(); 5323 parseDomainResourceAttributes(xpp, res); 5324 next(xpp); 5325 int eventType = nextNoWhitespace(xpp); 5326 while (eventType != XmlPullParser.END_TAG) { 5327 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5328 res.getIdentifier().add(parseIdentifier(xpp)); 5329 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5330 res.setPatient(parseReference(xpp)); 5331 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5332 res.setDateElement(parseDateTime(xpp)); 5333 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5334 res.setStatusElement(parseEnumeration(xpp, FamilyMemberHistory.FamilyHistoryStatus.NULL, 5335 new FamilyMemberHistory.FamilyHistoryStatusEnumFactory())); 5336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 5337 res.setNameElement(parseString(xpp)); 5338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 5339 res.setRelationship(parseCodeableConcept(xpp)); 5340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 5341 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, 5342 new Enumerations.AdministrativeGenderEnumFactory())); 5343 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "born")) { 5344 res.setBorn(parseType("born", xpp)); 5345 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "age")) { 5346 res.setAge(parseType("age", xpp)); 5347 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { 5348 res.setDeceased(parseType("deceased", xpp)); 5349 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5350 res.setNote(parseAnnotation(xpp)); 5351 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 5352 res.getCondition().add(parseFamilyMemberHistoryFamilyMemberHistoryConditionComponent(xpp, res)); 5353 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5354 unknownContent(xpp); 5355 eventType = nextNoWhitespace(xpp); 5356 } 5357 next(xpp); 5358 parseElementClose(res); 5359 return res; 5360 } 5361 5362 protected FamilyMemberHistory.FamilyMemberHistoryConditionComponent parseFamilyMemberHistoryFamilyMemberHistoryConditionComponent( 5363 XmlPullParser xpp, FamilyMemberHistory owner) throws XmlPullParserException, IOException, FHIRFormatError { 5364 FamilyMemberHistory.FamilyMemberHistoryConditionComponent res = new FamilyMemberHistory.FamilyMemberHistoryConditionComponent(); 5365 parseBackboneAttributes(xpp, res); 5366 next(xpp); 5367 int eventType = nextNoWhitespace(xpp); 5368 while (eventType != XmlPullParser.END_TAG) { 5369 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5370 res.setCode(parseCodeableConcept(xpp)); 5371 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5372 res.setOutcome(parseCodeableConcept(xpp)); 5373 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "onset")) { 5374 res.setOnset(parseType("onset", xpp)); 5375 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5376 res.setNote(parseAnnotation(xpp)); 5377 } else if (!parseBackboneContent(eventType, xpp, res)) 5378 unknownContent(xpp); 5379 eventType = nextNoWhitespace(xpp); 5380 } 5381 next(xpp); 5382 parseElementClose(res); 5383 return res; 5384 } 5385 5386 protected Flag parseFlag(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5387 Flag res = new Flag(); 5388 parseDomainResourceAttributes(xpp, res); 5389 next(xpp); 5390 int eventType = nextNoWhitespace(xpp); 5391 while (eventType != XmlPullParser.END_TAG) { 5392 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5393 res.getIdentifier().add(parseIdentifier(xpp)); 5394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5395 res.setCategory(parseCodeableConcept(xpp)); 5396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5397 res.setStatusElement(parseEnumeration(xpp, Flag.FlagStatus.NULL, new Flag.FlagStatusEnumFactory())); 5398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5399 res.setPeriod(parsePeriod(xpp)); 5400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 5401 res.setSubject(parseReference(xpp)); 5402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 5403 res.setEncounter(parseReference(xpp)); 5404 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 5405 res.setAuthor(parseReference(xpp)); 5406 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5407 res.setCode(parseCodeableConcept(xpp)); 5408 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5409 unknownContent(xpp); 5410 eventType = nextNoWhitespace(xpp); 5411 } 5412 next(xpp); 5413 parseElementClose(res); 5414 return res; 5415 } 5416 5417 protected Goal parseGoal(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5418 Goal res = new Goal(); 5419 parseDomainResourceAttributes(xpp, res); 5420 next(xpp); 5421 int eventType = nextNoWhitespace(xpp); 5422 while (eventType != XmlPullParser.END_TAG) { 5423 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5424 res.getIdentifier().add(parseIdentifier(xpp)); 5425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 5426 res.setSubject(parseReference(xpp)); 5427 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "start")) { 5428 res.setStart(parseType("start", xpp)); 5429 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 5430 res.setTarget(parseType("target", xpp)); 5431 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5432 res.getCategory().add(parseCodeableConcept(xpp)); 5433 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5434 res.setDescriptionElement(parseString(xpp)); 5435 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5436 res.setStatusElement(parseEnumeration(xpp, Goal.GoalStatus.NULL, new Goal.GoalStatusEnumFactory())); 5437 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 5438 res.setStatusDateElement(parseDate(xpp)); 5439 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 5440 res.setStatusReason(parseCodeableConcept(xpp)); 5441 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 5442 res.setAuthor(parseReference(xpp)); 5443 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 5444 res.setPriority(parseCodeableConcept(xpp)); 5445 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addresses")) { 5446 res.getAddresses().add(parseReference(xpp)); 5447 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5448 res.getNote().add(parseAnnotation(xpp)); 5449 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5450 res.getOutcome().add(parseGoalGoalOutcomeComponent(xpp, res)); 5451 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5452 unknownContent(xpp); 5453 eventType = nextNoWhitespace(xpp); 5454 } 5455 next(xpp); 5456 parseElementClose(res); 5457 return res; 5458 } 5459 5460 protected Goal.GoalOutcomeComponent parseGoalGoalOutcomeComponent(XmlPullParser xpp, Goal owner) 5461 throws XmlPullParserException, IOException, FHIRFormatError { 5462 Goal.GoalOutcomeComponent res = new Goal.GoalOutcomeComponent(); 5463 parseBackboneAttributes(xpp, res); 5464 next(xpp); 5465 int eventType = nextNoWhitespace(xpp); 5466 while (eventType != XmlPullParser.END_TAG) { 5467 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "result")) { 5468 res.setResult(parseType("result", xpp)); 5469 } else if (!parseBackboneContent(eventType, xpp, res)) 5470 unknownContent(xpp); 5471 eventType = nextNoWhitespace(xpp); 5472 } 5473 next(xpp); 5474 parseElementClose(res); 5475 return res; 5476 } 5477 5478 protected Group parseGroup(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5479 Group res = new Group(); 5480 parseDomainResourceAttributes(xpp, res); 5481 next(xpp); 5482 int eventType = nextNoWhitespace(xpp); 5483 while (eventType != XmlPullParser.END_TAG) { 5484 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5485 res.getIdentifier().add(parseIdentifier(xpp)); 5486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5487 res.setTypeElement(parseEnumeration(xpp, Group.GroupType.NULL, new Group.GroupTypeEnumFactory())); 5488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { 5489 res.setActualElement(parseBoolean(xpp)); 5490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5491 res.setCode(parseCodeableConcept(xpp)); 5492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 5493 res.setNameElement(parseString(xpp)); 5494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 5495 res.setQuantityElement(parseUnsignedInt(xpp)); 5496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 5497 res.getCharacteristic().add(parseGroupGroupCharacteristicComponent(xpp, res)); 5498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 5499 res.getMember().add(parseGroupGroupMemberComponent(xpp, res)); 5500 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5501 unknownContent(xpp); 5502 eventType = nextNoWhitespace(xpp); 5503 } 5504 next(xpp); 5505 parseElementClose(res); 5506 return res; 5507 } 5508 5509 protected Group.GroupCharacteristicComponent parseGroupGroupCharacteristicComponent(XmlPullParser xpp, Group owner) 5510 throws XmlPullParserException, IOException, FHIRFormatError { 5511 Group.GroupCharacteristicComponent res = new Group.GroupCharacteristicComponent(); 5512 parseBackboneAttributes(xpp, res); 5513 next(xpp); 5514 int eventType = nextNoWhitespace(xpp); 5515 while (eventType != XmlPullParser.END_TAG) { 5516 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5517 res.setCode(parseCodeableConcept(xpp)); 5518 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 5519 res.setValue(parseType("value", xpp)); 5520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 5521 res.setExcludeElement(parseBoolean(xpp)); 5522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5523 res.setPeriod(parsePeriod(xpp)); 5524 } else if (!parseBackboneContent(eventType, xpp, res)) 5525 unknownContent(xpp); 5526 eventType = nextNoWhitespace(xpp); 5527 } 5528 next(xpp); 5529 parseElementClose(res); 5530 return res; 5531 } 5532 5533 protected Group.GroupMemberComponent parseGroupGroupMemberComponent(XmlPullParser xpp, Group owner) 5534 throws XmlPullParserException, IOException, FHIRFormatError { 5535 Group.GroupMemberComponent res = new Group.GroupMemberComponent(); 5536 parseBackboneAttributes(xpp, res); 5537 next(xpp); 5538 int eventType = nextNoWhitespace(xpp); 5539 while (eventType != XmlPullParser.END_TAG) { 5540 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 5541 res.setEntity(parseReference(xpp)); 5542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5543 res.setPeriod(parsePeriod(xpp)); 5544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inactive")) { 5545 res.setInactiveElement(parseBoolean(xpp)); 5546 } else if (!parseBackboneContent(eventType, xpp, res)) 5547 unknownContent(xpp); 5548 eventType = nextNoWhitespace(xpp); 5549 } 5550 next(xpp); 5551 parseElementClose(res); 5552 return res; 5553 } 5554 5555 protected HealthcareService parseHealthcareService(XmlPullParser xpp) 5556 throws XmlPullParserException, IOException, FHIRFormatError { 5557 HealthcareService res = new HealthcareService(); 5558 parseDomainResourceAttributes(xpp, res); 5559 next(xpp); 5560 int eventType = nextNoWhitespace(xpp); 5561 while (eventType != XmlPullParser.END_TAG) { 5562 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5563 res.getIdentifier().add(parseIdentifier(xpp)); 5564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("providedBy")) { 5565 res.setProvidedBy(parseReference(xpp)); 5566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceCategory")) { 5567 res.setServiceCategory(parseCodeableConcept(xpp)); 5568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { 5569 res.getServiceType().add(parseHealthcareServiceServiceTypeComponent(xpp, res)); 5570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 5571 res.setLocation(parseReference(xpp)); 5572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceName")) { 5573 res.setServiceNameElement(parseString(xpp)); 5574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 5575 res.setCommentElement(parseString(xpp)); 5576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extraDetails")) { 5577 res.setExtraDetailsElement(parseString(xpp)); 5578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 5579 res.setPhoto(parseAttachment(xpp)); 5580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 5581 res.getTelecom().add(parseContactPoint(xpp)); 5582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverageArea")) { 5583 res.getCoverageArea().add(parseReference(xpp)); 5584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvisionCode")) { 5585 res.getServiceProvisionCode().add(parseCodeableConcept(xpp)); 5586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eligibility")) { 5587 res.setEligibility(parseCodeableConcept(xpp)); 5588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eligibilityNote")) { 5589 res.setEligibilityNoteElement(parseString(xpp)); 5590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programName")) { 5591 res.getProgramName().add(parseString(xpp)); 5592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 5593 res.getCharacteristic().add(parseCodeableConcept(xpp)); 5594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referralMethod")) { 5595 res.getReferralMethod().add(parseCodeableConcept(xpp)); 5596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicKey")) { 5597 res.setPublicKeyElement(parseString(xpp)); 5598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointmentRequired")) { 5599 res.setAppointmentRequiredElement(parseBoolean(xpp)); 5600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableTime")) { 5601 res.getAvailableTime().add(parseHealthcareServiceHealthcareServiceAvailableTimeComponent(xpp, res)); 5602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notAvailable")) { 5603 res.getNotAvailable().add(parseHealthcareServiceHealthcareServiceNotAvailableComponent(xpp, res)); 5604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { 5605 res.setAvailabilityExceptionsElement(parseString(xpp)); 5606 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5607 unknownContent(xpp); 5608 eventType = nextNoWhitespace(xpp); 5609 } 5610 next(xpp); 5611 parseElementClose(res); 5612 return res; 5613 } 5614 5615 protected HealthcareService.ServiceTypeComponent parseHealthcareServiceServiceTypeComponent(XmlPullParser xpp, 5616 HealthcareService owner) throws XmlPullParserException, IOException, FHIRFormatError { 5617 HealthcareService.ServiceTypeComponent res = new HealthcareService.ServiceTypeComponent(); 5618 parseBackboneAttributes(xpp, res); 5619 next(xpp); 5620 int eventType = nextNoWhitespace(xpp); 5621 while (eventType != XmlPullParser.END_TAG) { 5622 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5623 res.setType(parseCodeableConcept(xpp)); 5624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 5625 res.getSpecialty().add(parseCodeableConcept(xpp)); 5626 } else if (!parseBackboneContent(eventType, xpp, res)) 5627 unknownContent(xpp); 5628 eventType = nextNoWhitespace(xpp); 5629 } 5630 next(xpp); 5631 parseElementClose(res); 5632 return res; 5633 } 5634 5635 protected HealthcareService.HealthcareServiceAvailableTimeComponent parseHealthcareServiceHealthcareServiceAvailableTimeComponent( 5636 XmlPullParser xpp, HealthcareService owner) throws XmlPullParserException, IOException, FHIRFormatError { 5637 HealthcareService.HealthcareServiceAvailableTimeComponent res = new HealthcareService.HealthcareServiceAvailableTimeComponent(); 5638 parseBackboneAttributes(xpp, res); 5639 next(xpp); 5640 int eventType = nextNoWhitespace(xpp); 5641 while (eventType != XmlPullParser.END_TAG) { 5642 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { 5643 res.getDaysOfWeek().add( 5644 parseEnumeration(xpp, HealthcareService.DaysOfWeek.NULL, new HealthcareService.DaysOfWeekEnumFactory())); 5645 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { 5646 res.setAllDayElement(parseBoolean(xpp)); 5647 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableStartTime")) { 5648 res.setAvailableStartTimeElement(parseTime(xpp)); 5649 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableEndTime")) { 5650 res.setAvailableEndTimeElement(parseTime(xpp)); 5651 } else if (!parseBackboneContent(eventType, xpp, res)) 5652 unknownContent(xpp); 5653 eventType = nextNoWhitespace(xpp); 5654 } 5655 next(xpp); 5656 parseElementClose(res); 5657 return res; 5658 } 5659 5660 protected HealthcareService.HealthcareServiceNotAvailableComponent parseHealthcareServiceHealthcareServiceNotAvailableComponent( 5661 XmlPullParser xpp, HealthcareService owner) throws XmlPullParserException, IOException, FHIRFormatError { 5662 HealthcareService.HealthcareServiceNotAvailableComponent res = new HealthcareService.HealthcareServiceNotAvailableComponent(); 5663 parseBackboneAttributes(xpp, res); 5664 next(xpp); 5665 int eventType = nextNoWhitespace(xpp); 5666 while (eventType != XmlPullParser.END_TAG) { 5667 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5668 res.setDescriptionElement(parseString(xpp)); 5669 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("during")) { 5670 res.setDuring(parsePeriod(xpp)); 5671 } else if (!parseBackboneContent(eventType, xpp, res)) 5672 unknownContent(xpp); 5673 eventType = nextNoWhitespace(xpp); 5674 } 5675 next(xpp); 5676 parseElementClose(res); 5677 return res; 5678 } 5679 5680 protected ImagingObjectSelection parseImagingObjectSelection(XmlPullParser xpp) 5681 throws XmlPullParserException, IOException, FHIRFormatError { 5682 ImagingObjectSelection res = new ImagingObjectSelection(); 5683 parseDomainResourceAttributes(xpp, res); 5684 next(xpp); 5685 int eventType = nextNoWhitespace(xpp); 5686 while (eventType != XmlPullParser.END_TAG) { 5687 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5688 res.setUidElement(parseOid(xpp)); 5689 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5690 res.setPatient(parseReference(xpp)); 5691 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 5692 res.setTitle(parseCodeableConcept(xpp)); 5693 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5694 res.setDescriptionElement(parseString(xpp)); 5695 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 5696 res.setAuthor(parseReference(xpp)); 5697 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoringTime")) { 5698 res.setAuthoringTimeElement(parseDateTime(xpp)); 5699 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("study")) { 5700 res.getStudy().add(parseImagingObjectSelectionStudyComponent(xpp, res)); 5701 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5702 unknownContent(xpp); 5703 eventType = nextNoWhitespace(xpp); 5704 } 5705 next(xpp); 5706 parseElementClose(res); 5707 return res; 5708 } 5709 5710 protected ImagingObjectSelection.StudyComponent parseImagingObjectSelectionStudyComponent(XmlPullParser xpp, 5711 ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5712 ImagingObjectSelection.StudyComponent res = new ImagingObjectSelection.StudyComponent(); 5713 parseBackboneAttributes(xpp, res); 5714 next(xpp); 5715 int eventType = nextNoWhitespace(xpp); 5716 while (eventType != XmlPullParser.END_TAG) { 5717 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5718 res.setUidElement(parseOid(xpp)); 5719 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5720 res.setUrlElement(parseUri(xpp)); 5721 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imagingStudy")) { 5722 res.setImagingStudy(parseReference(xpp)); 5723 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 5724 res.getSeries().add(parseImagingObjectSelectionSeriesComponent(xpp, owner)); 5725 } else if (!parseBackboneContent(eventType, xpp, res)) 5726 unknownContent(xpp); 5727 eventType = nextNoWhitespace(xpp); 5728 } 5729 next(xpp); 5730 parseElementClose(res); 5731 return res; 5732 } 5733 5734 protected ImagingObjectSelection.SeriesComponent parseImagingObjectSelectionSeriesComponent(XmlPullParser xpp, 5735 ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5736 ImagingObjectSelection.SeriesComponent res = new ImagingObjectSelection.SeriesComponent(); 5737 parseBackboneAttributes(xpp, res); 5738 next(xpp); 5739 int eventType = nextNoWhitespace(xpp); 5740 while (eventType != XmlPullParser.END_TAG) { 5741 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5742 res.setUidElement(parseOid(xpp)); 5743 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5744 res.setUrlElement(parseUri(xpp)); 5745 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 5746 res.getInstance().add(parseImagingObjectSelectionInstanceComponent(xpp, owner)); 5747 } else if (!parseBackboneContent(eventType, xpp, res)) 5748 unknownContent(xpp); 5749 eventType = nextNoWhitespace(xpp); 5750 } 5751 next(xpp); 5752 parseElementClose(res); 5753 return res; 5754 } 5755 5756 protected ImagingObjectSelection.InstanceComponent parseImagingObjectSelectionInstanceComponent(XmlPullParser xpp, 5757 ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5758 ImagingObjectSelection.InstanceComponent res = new ImagingObjectSelection.InstanceComponent(); 5759 parseBackboneAttributes(xpp, res); 5760 next(xpp); 5761 int eventType = nextNoWhitespace(xpp); 5762 while (eventType != XmlPullParser.END_TAG) { 5763 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sopClass")) { 5764 res.setSopClassElement(parseOid(xpp)); 5765 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5766 res.setUidElement(parseOid(xpp)); 5767 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5768 res.setUrlElement(parseUri(xpp)); 5769 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frames")) { 5770 res.getFrames().add(parseImagingObjectSelectionFramesComponent(xpp, owner)); 5771 } else if (!parseBackboneContent(eventType, xpp, res)) 5772 unknownContent(xpp); 5773 eventType = nextNoWhitespace(xpp); 5774 } 5775 next(xpp); 5776 parseElementClose(res); 5777 return res; 5778 } 5779 5780 protected ImagingObjectSelection.FramesComponent parseImagingObjectSelectionFramesComponent(XmlPullParser xpp, 5781 ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5782 ImagingObjectSelection.FramesComponent res = new ImagingObjectSelection.FramesComponent(); 5783 parseBackboneAttributes(xpp, res); 5784 next(xpp); 5785 int eventType = nextNoWhitespace(xpp); 5786 while (eventType != XmlPullParser.END_TAG) { 5787 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frameNumbers")) { 5788 res.getFrameNumbers().add(parseUnsignedInt(xpp)); 5789 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5790 res.setUrlElement(parseUri(xpp)); 5791 } else if (!parseBackboneContent(eventType, xpp, res)) 5792 unknownContent(xpp); 5793 eventType = nextNoWhitespace(xpp); 5794 } 5795 next(xpp); 5796 parseElementClose(res); 5797 return res; 5798 } 5799 5800 protected ImagingStudy parseImagingStudy(XmlPullParser xpp) 5801 throws XmlPullParserException, IOException, FHIRFormatError { 5802 ImagingStudy res = new ImagingStudy(); 5803 parseDomainResourceAttributes(xpp, res); 5804 next(xpp); 5805 int eventType = nextNoWhitespace(xpp); 5806 while (eventType != XmlPullParser.END_TAG) { 5807 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("started")) { 5808 res.setStartedElement(parseDateTime(xpp)); 5809 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5810 res.setPatient(parseReference(xpp)); 5811 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5812 res.setUidElement(parseOid(xpp)); 5813 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accession")) { 5814 res.setAccession(parseIdentifier(xpp)); 5815 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5816 res.getIdentifier().add(parseIdentifier(xpp)); 5817 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("order")) { 5818 res.getOrder().add(parseReference(xpp)); 5819 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modalityList")) { 5820 res.getModalityList().add(parseCoding(xpp)); 5821 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referrer")) { 5822 res.setReferrer(parseReference(xpp)); 5823 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availability")) { 5824 res.setAvailabilityElement(parseEnumeration(xpp, ImagingStudy.InstanceAvailability.NULL, 5825 new ImagingStudy.InstanceAvailabilityEnumFactory())); 5826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5827 res.setUrlElement(parseUri(xpp)); 5828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfSeries")) { 5829 res.setNumberOfSeriesElement(parseUnsignedInt(xpp)); 5830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfInstances")) { 5831 res.setNumberOfInstancesElement(parseUnsignedInt(xpp)); 5832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 5833 res.getProcedure().add(parseReference(xpp)); 5834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpreter")) { 5835 res.setInterpreter(parseReference(xpp)); 5836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5837 res.setDescriptionElement(parseString(xpp)); 5838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 5839 res.getSeries().add(parseImagingStudyImagingStudySeriesComponent(xpp, res)); 5840 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5841 unknownContent(xpp); 5842 eventType = nextNoWhitespace(xpp); 5843 } 5844 next(xpp); 5845 parseElementClose(res); 5846 return res; 5847 } 5848 5849 protected ImagingStudy.ImagingStudySeriesComponent parseImagingStudyImagingStudySeriesComponent(XmlPullParser xpp, 5850 ImagingStudy owner) throws XmlPullParserException, IOException, FHIRFormatError { 5851 ImagingStudy.ImagingStudySeriesComponent res = new ImagingStudy.ImagingStudySeriesComponent(); 5852 parseBackboneAttributes(xpp, res); 5853 next(xpp); 5854 int eventType = nextNoWhitespace(xpp); 5855 while (eventType != XmlPullParser.END_TAG) { 5856 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 5857 res.setNumberElement(parseUnsignedInt(xpp)); 5858 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modality")) { 5859 res.setModality(parseCoding(xpp)); 5860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5861 res.setUidElement(parseOid(xpp)); 5862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5863 res.setDescriptionElement(parseString(xpp)); 5864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfInstances")) { 5865 res.setNumberOfInstancesElement(parseUnsignedInt(xpp)); 5866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availability")) { 5867 res.setAvailabilityElement(parseEnumeration(xpp, ImagingStudy.InstanceAvailability.NULL, 5868 new ImagingStudy.InstanceAvailabilityEnumFactory())); 5869 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5870 res.setUrlElement(parseUri(xpp)); 5871 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 5872 res.setBodySite(parseCoding(xpp)); 5873 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("laterality")) { 5874 res.setLaterality(parseCoding(xpp)); 5875 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("started")) { 5876 res.setStartedElement(parseDateTime(xpp)); 5877 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 5878 res.getInstance().add(parseImagingStudyImagingStudySeriesInstanceComponent(xpp, owner)); 5879 } else if (!parseBackboneContent(eventType, xpp, res)) 5880 unknownContent(xpp); 5881 eventType = nextNoWhitespace(xpp); 5882 } 5883 next(xpp); 5884 parseElementClose(res); 5885 return res; 5886 } 5887 5888 protected ImagingStudy.ImagingStudySeriesInstanceComponent parseImagingStudyImagingStudySeriesInstanceComponent( 5889 XmlPullParser xpp, ImagingStudy owner) throws XmlPullParserException, IOException, FHIRFormatError { 5890 ImagingStudy.ImagingStudySeriesInstanceComponent res = new ImagingStudy.ImagingStudySeriesInstanceComponent(); 5891 parseBackboneAttributes(xpp, res); 5892 next(xpp); 5893 int eventType = nextNoWhitespace(xpp); 5894 while (eventType != XmlPullParser.END_TAG) { 5895 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 5896 res.setNumberElement(parseUnsignedInt(xpp)); 5897 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5898 res.setUidElement(parseOid(xpp)); 5899 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sopClass")) { 5900 res.setSopClassElement(parseOid(xpp)); 5901 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5902 res.setTypeElement(parseString(xpp)); 5903 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 5904 res.setTitleElement(parseString(xpp)); 5905 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 5906 res.getContent().add(parseAttachment(xpp)); 5907 } else if (!parseBackboneContent(eventType, xpp, res)) 5908 unknownContent(xpp); 5909 eventType = nextNoWhitespace(xpp); 5910 } 5911 next(xpp); 5912 parseElementClose(res); 5913 return res; 5914 } 5915 5916 protected Immunization parseImmunization(XmlPullParser xpp) 5917 throws XmlPullParserException, IOException, FHIRFormatError { 5918 Immunization res = new Immunization(); 5919 parseDomainResourceAttributes(xpp, res); 5920 next(xpp); 5921 int eventType = nextNoWhitespace(xpp); 5922 while (eventType != XmlPullParser.END_TAG) { 5923 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5924 res.getIdentifier().add(parseIdentifier(xpp)); 5925 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5926 res.setStatusElement(parseCode(xpp)); 5927 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5928 res.setDateElement(parseDateTime(xpp)); 5929 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccineCode")) { 5930 res.setVaccineCode(parseCodeableConcept(xpp)); 5931 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5932 res.setPatient(parseReference(xpp)); 5933 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wasNotGiven")) { 5934 res.setWasNotGivenElement(parseBoolean(xpp)); 5935 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reported")) { 5936 res.setReportedElement(parseBoolean(xpp)); 5937 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 5938 res.setPerformer(parseReference(xpp)); 5939 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 5940 res.setRequester(parseReference(xpp)); 5941 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 5942 res.setEncounter(parseReference(xpp)); 5943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 5944 res.setManufacturer(parseReference(xpp)); 5945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 5946 res.setLocation(parseReference(xpp)); 5947 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 5948 res.setLotNumberElement(parseString(xpp)); 5949 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { 5950 res.setExpirationDateElement(parseDate(xpp)); 5951 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 5952 res.setSite(parseCodeableConcept(xpp)); 5953 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 5954 res.setRoute(parseCodeableConcept(xpp)); 5955 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseQuantity")) { 5956 res.setDoseQuantity(parseSimpleQuantity(xpp)); 5957 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5958 res.getNote().add(parseAnnotation(xpp)); 5959 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("explanation")) { 5960 res.setExplanation(parseImmunizationImmunizationExplanationComponent(xpp, res)); 5961 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reaction")) { 5962 res.getReaction().add(parseImmunizationImmunizationReactionComponent(xpp, res)); 5963 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccinationProtocol")) { 5964 res.getVaccinationProtocol().add(parseImmunizationImmunizationVaccinationProtocolComponent(xpp, res)); 5965 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5966 unknownContent(xpp); 5967 eventType = nextNoWhitespace(xpp); 5968 } 5969 next(xpp); 5970 parseElementClose(res); 5971 return res; 5972 } 5973 5974 protected Immunization.ImmunizationExplanationComponent parseImmunizationImmunizationExplanationComponent( 5975 XmlPullParser xpp, Immunization owner) throws XmlPullParserException, IOException, FHIRFormatError { 5976 Immunization.ImmunizationExplanationComponent res = new Immunization.ImmunizationExplanationComponent(); 5977 parseBackboneAttributes(xpp, res); 5978 next(xpp); 5979 int eventType = nextNoWhitespace(xpp); 5980 while (eventType != XmlPullParser.END_TAG) { 5981 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 5982 res.getReason().add(parseCodeableConcept(xpp)); 5983 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotGiven")) { 5984 res.getReasonNotGiven().add(parseCodeableConcept(xpp)); 5985 } else if (!parseBackboneContent(eventType, xpp, res)) 5986 unknownContent(xpp); 5987 eventType = nextNoWhitespace(xpp); 5988 } 5989 next(xpp); 5990 parseElementClose(res); 5991 return res; 5992 } 5993 5994 protected Immunization.ImmunizationReactionComponent parseImmunizationImmunizationReactionComponent(XmlPullParser xpp, 5995 Immunization owner) throws XmlPullParserException, IOException, FHIRFormatError { 5996 Immunization.ImmunizationReactionComponent res = new Immunization.ImmunizationReactionComponent(); 5997 parseBackboneAttributes(xpp, res); 5998 next(xpp); 5999 int eventType = nextNoWhitespace(xpp); 6000 while (eventType != XmlPullParser.END_TAG) { 6001 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6002 res.setDateElement(parseDateTime(xpp)); 6003 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 6004 res.setDetail(parseReference(xpp)); 6005 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reported")) { 6006 res.setReportedElement(parseBoolean(xpp)); 6007 } else if (!parseBackboneContent(eventType, xpp, res)) 6008 unknownContent(xpp); 6009 eventType = nextNoWhitespace(xpp); 6010 } 6011 next(xpp); 6012 parseElementClose(res); 6013 return res; 6014 } 6015 6016 protected Immunization.ImmunizationVaccinationProtocolComponent parseImmunizationImmunizationVaccinationProtocolComponent( 6017 XmlPullParser xpp, Immunization owner) throws XmlPullParserException, IOException, FHIRFormatError { 6018 Immunization.ImmunizationVaccinationProtocolComponent res = new Immunization.ImmunizationVaccinationProtocolComponent(); 6019 parseBackboneAttributes(xpp, res); 6020 next(xpp); 6021 int eventType = nextNoWhitespace(xpp); 6022 while (eventType != XmlPullParser.END_TAG) { 6023 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseSequence")) { 6024 res.setDoseSequenceElement(parsePositiveInt(xpp)); 6025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6026 res.setDescriptionElement(parseString(xpp)); 6027 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 6028 res.setAuthority(parseReference(xpp)); 6029 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 6030 res.setSeriesElement(parseString(xpp)); 6031 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("seriesDoses")) { 6032 res.setSeriesDosesElement(parsePositiveInt(xpp)); 6033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetDisease")) { 6034 res.getTargetDisease().add(parseCodeableConcept(xpp)); 6035 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseStatus")) { 6036 res.setDoseStatus(parseCodeableConcept(xpp)); 6037 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseStatusReason")) { 6038 res.setDoseStatusReason(parseCodeableConcept(xpp)); 6039 } else if (!parseBackboneContent(eventType, xpp, res)) 6040 unknownContent(xpp); 6041 eventType = nextNoWhitespace(xpp); 6042 } 6043 next(xpp); 6044 parseElementClose(res); 6045 return res; 6046 } 6047 6048 protected ImmunizationRecommendation parseImmunizationRecommendation(XmlPullParser xpp) 6049 throws XmlPullParserException, IOException, FHIRFormatError { 6050 ImmunizationRecommendation res = new ImmunizationRecommendation(); 6051 parseDomainResourceAttributes(xpp, res); 6052 next(xpp); 6053 int eventType = nextNoWhitespace(xpp); 6054 while (eventType != XmlPullParser.END_TAG) { 6055 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6056 res.getIdentifier().add(parseIdentifier(xpp)); 6057 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6058 res.setPatient(parseReference(xpp)); 6059 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recommendation")) { 6060 res.getRecommendation() 6061 .add(parseImmunizationRecommendationImmunizationRecommendationRecommendationComponent(xpp, res)); 6062 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6063 unknownContent(xpp); 6064 eventType = nextNoWhitespace(xpp); 6065 } 6066 next(xpp); 6067 parseElementClose(res); 6068 return res; 6069 } 6070 6071 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent parseImmunizationRecommendationImmunizationRecommendationRecommendationComponent( 6072 XmlPullParser xpp, ImmunizationRecommendation owner) throws XmlPullParserException, IOException, FHIRFormatError { 6073 ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent(); 6074 parseBackboneAttributes(xpp, res); 6075 next(xpp); 6076 int eventType = nextNoWhitespace(xpp); 6077 while (eventType != XmlPullParser.END_TAG) { 6078 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6079 res.setDateElement(parseDateTime(xpp)); 6080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccineCode")) { 6081 res.setVaccineCode(parseCodeableConcept(xpp)); 6082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseNumber")) { 6083 res.setDoseNumberElement(parsePositiveInt(xpp)); 6084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("forecastStatus")) { 6085 res.setForecastStatus(parseCodeableConcept(xpp)); 6086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateCriterion")) { 6087 res.getDateCriterion().add( 6088 parseImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent(xpp, owner)); 6089 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 6090 res.setProtocol( 6091 parseImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent(xpp, owner)); 6092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingImmunization")) { 6093 res.getSupportingImmunization().add(parseReference(xpp)); 6094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingPatientInformation")) { 6095 res.getSupportingPatientInformation().add(parseReference(xpp)); 6096 } else if (!parseBackboneContent(eventType, xpp, res)) 6097 unknownContent(xpp); 6098 eventType = nextNoWhitespace(xpp); 6099 } 6100 next(xpp); 6101 parseElementClose(res); 6102 return res; 6103 } 6104 6105 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent parseImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent( 6106 XmlPullParser xpp, ImmunizationRecommendation owner) throws XmlPullParserException, IOException, FHIRFormatError { 6107 ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent(); 6108 parseBackboneAttributes(xpp, res); 6109 next(xpp); 6110 int eventType = nextNoWhitespace(xpp); 6111 while (eventType != XmlPullParser.END_TAG) { 6112 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6113 res.setCode(parseCodeableConcept(xpp)); 6114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 6115 res.setValueElement(parseDateTime(xpp)); 6116 } else if (!parseBackboneContent(eventType, xpp, res)) 6117 unknownContent(xpp); 6118 eventType = nextNoWhitespace(xpp); 6119 } 6120 next(xpp); 6121 parseElementClose(res); 6122 return res; 6123 } 6124 6125 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent parseImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent( 6126 XmlPullParser xpp, ImmunizationRecommendation owner) throws XmlPullParserException, IOException, FHIRFormatError { 6127 ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent(); 6128 parseBackboneAttributes(xpp, res); 6129 next(xpp); 6130 int eventType = nextNoWhitespace(xpp); 6131 while (eventType != XmlPullParser.END_TAG) { 6132 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseSequence")) { 6133 res.setDoseSequenceElement(parseInteger(xpp)); 6134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6135 res.setDescriptionElement(parseString(xpp)); 6136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 6137 res.setAuthority(parseReference(xpp)); 6138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 6139 res.setSeriesElement(parseString(xpp)); 6140 } else if (!parseBackboneContent(eventType, xpp, res)) 6141 unknownContent(xpp); 6142 eventType = nextNoWhitespace(xpp); 6143 } 6144 next(xpp); 6145 parseElementClose(res); 6146 return res; 6147 } 6148 6149 protected ImplementationGuide parseImplementationGuide(XmlPullParser xpp) 6150 throws XmlPullParserException, IOException, FHIRFormatError { 6151 ImplementationGuide res = new ImplementationGuide(); 6152 parseDomainResourceAttributes(xpp, res); 6153 next(xpp); 6154 int eventType = nextNoWhitespace(xpp); 6155 while (eventType != XmlPullParser.END_TAG) { 6156 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 6157 res.setUrlElement(parseUri(xpp)); 6158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 6159 res.setVersionElement(parseString(xpp)); 6160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6161 res.setNameElement(parseString(xpp)); 6162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6163 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 6164 new Enumerations.ConformanceResourceStatusEnumFactory())); 6165 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 6166 res.setExperimentalElement(parseBoolean(xpp)); 6167 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 6168 res.setPublisherElement(parseString(xpp)); 6169 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 6170 res.getContact().add(parseImplementationGuideImplementationGuideContactComponent(xpp, res)); 6171 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6172 res.setDateElement(parseDateTime(xpp)); 6173 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6174 res.setDescriptionElement(parseString(xpp)); 6175 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 6176 res.getUseContext().add(parseCodeableConcept(xpp)); 6177 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 6178 res.setCopyrightElement(parseString(xpp)); 6179 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 6180 res.setFhirVersionElement(parseId(xpp)); 6181 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependency")) { 6182 res.getDependency().add(parseImplementationGuideImplementationGuideDependencyComponent(xpp, res)); 6183 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 6184 res.getPackage().add(parseImplementationGuideImplementationGuidePackageComponent(xpp, res)); 6185 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("global")) { 6186 res.getGlobal().add(parseImplementationGuideImplementationGuideGlobalComponent(xpp, res)); 6187 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binary")) { 6188 res.getBinary().add(parseUri(xpp)); 6189 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("page")) { 6190 res.setPage(parseImplementationGuideImplementationGuidePageComponent(xpp, res)); 6191 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6192 unknownContent(xpp); 6193 eventType = nextNoWhitespace(xpp); 6194 } 6195 next(xpp); 6196 parseElementClose(res); 6197 return res; 6198 } 6199 6200 protected ImplementationGuide.ImplementationGuideContactComponent parseImplementationGuideImplementationGuideContactComponent( 6201 XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6202 ImplementationGuide.ImplementationGuideContactComponent res = new ImplementationGuide.ImplementationGuideContactComponent(); 6203 parseBackboneAttributes(xpp, res); 6204 next(xpp); 6205 int eventType = nextNoWhitespace(xpp); 6206 while (eventType != XmlPullParser.END_TAG) { 6207 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6208 res.setNameElement(parseString(xpp)); 6209 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 6210 res.getTelecom().add(parseContactPoint(xpp)); 6211 } else if (!parseBackboneContent(eventType, xpp, res)) 6212 unknownContent(xpp); 6213 eventType = nextNoWhitespace(xpp); 6214 } 6215 next(xpp); 6216 parseElementClose(res); 6217 return res; 6218 } 6219 6220 protected ImplementationGuide.ImplementationGuideDependencyComponent parseImplementationGuideImplementationGuideDependencyComponent( 6221 XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6222 ImplementationGuide.ImplementationGuideDependencyComponent res = new ImplementationGuide.ImplementationGuideDependencyComponent(); 6223 parseBackboneAttributes(xpp, res); 6224 next(xpp); 6225 int eventType = nextNoWhitespace(xpp); 6226 while (eventType != XmlPullParser.END_TAG) { 6227 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6228 res.setTypeElement(parseEnumeration(xpp, ImplementationGuide.GuideDependencyType.NULL, 6229 new ImplementationGuide.GuideDependencyTypeEnumFactory())); 6230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 6231 res.setUriElement(parseUri(xpp)); 6232 } else if (!parseBackboneContent(eventType, xpp, res)) 6233 unknownContent(xpp); 6234 eventType = nextNoWhitespace(xpp); 6235 } 6236 next(xpp); 6237 parseElementClose(res); 6238 return res; 6239 } 6240 6241 protected ImplementationGuide.ImplementationGuidePackageComponent parseImplementationGuideImplementationGuidePackageComponent( 6242 XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6243 ImplementationGuide.ImplementationGuidePackageComponent res = new ImplementationGuide.ImplementationGuidePackageComponent(); 6244 parseBackboneAttributes(xpp, res); 6245 next(xpp); 6246 int eventType = nextNoWhitespace(xpp); 6247 while (eventType != XmlPullParser.END_TAG) { 6248 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6249 res.setNameElement(parseString(xpp)); 6250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6251 res.setDescriptionElement(parseString(xpp)); 6252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 6253 res.getResource().add(parseImplementationGuideImplementationGuidePackageResourceComponent(xpp, owner)); 6254 } else if (!parseBackboneContent(eventType, xpp, res)) 6255 unknownContent(xpp); 6256 eventType = nextNoWhitespace(xpp); 6257 } 6258 next(xpp); 6259 parseElementClose(res); 6260 return res; 6261 } 6262 6263 protected ImplementationGuide.ImplementationGuidePackageResourceComponent parseImplementationGuideImplementationGuidePackageResourceComponent( 6264 XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6265 ImplementationGuide.ImplementationGuidePackageResourceComponent res = new ImplementationGuide.ImplementationGuidePackageResourceComponent(); 6266 parseBackboneAttributes(xpp, res); 6267 next(xpp); 6268 int eventType = nextNoWhitespace(xpp); 6269 while (eventType != XmlPullParser.END_TAG) { 6270 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 6271 res.setPurposeElement(parseEnumeration(xpp, ImplementationGuide.GuideResourcePurpose.NULL, 6272 new ImplementationGuide.GuideResourcePurposeEnumFactory())); 6273 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6274 res.setNameElement(parseString(xpp)); 6275 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6276 res.setDescriptionElement(parseString(xpp)); 6277 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("acronym")) { 6278 res.setAcronymElement(parseString(xpp)); 6279 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "source")) { 6280 res.setSource(parseType("source", xpp)); 6281 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exampleFor")) { 6282 res.setExampleFor(parseReference(xpp)); 6283 } else if (!parseBackboneContent(eventType, xpp, res)) 6284 unknownContent(xpp); 6285 eventType = nextNoWhitespace(xpp); 6286 } 6287 next(xpp); 6288 parseElementClose(res); 6289 return res; 6290 } 6291 6292 protected ImplementationGuide.ImplementationGuideGlobalComponent parseImplementationGuideImplementationGuideGlobalComponent( 6293 XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6294 ImplementationGuide.ImplementationGuideGlobalComponent res = new ImplementationGuide.ImplementationGuideGlobalComponent(); 6295 parseBackboneAttributes(xpp, res); 6296 next(xpp); 6297 int eventType = nextNoWhitespace(xpp); 6298 while (eventType != XmlPullParser.END_TAG) { 6299 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6300 res.setTypeElement(parseCode(xpp)); 6301 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 6302 res.setProfile(parseReference(xpp)); 6303 } else if (!parseBackboneContent(eventType, xpp, res)) 6304 unknownContent(xpp); 6305 eventType = nextNoWhitespace(xpp); 6306 } 6307 next(xpp); 6308 parseElementClose(res); 6309 return res; 6310 } 6311 6312 protected ImplementationGuide.ImplementationGuidePageComponent parseImplementationGuideImplementationGuidePageComponent( 6313 XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6314 ImplementationGuide.ImplementationGuidePageComponent res = new ImplementationGuide.ImplementationGuidePageComponent(); 6315 parseBackboneAttributes(xpp, res); 6316 next(xpp); 6317 int eventType = nextNoWhitespace(xpp); 6318 while (eventType != XmlPullParser.END_TAG) { 6319 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 6320 res.setSourceElement(parseUri(xpp)); 6321 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6322 res.setNameElement(parseString(xpp)); 6323 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 6324 res.setKindElement(parseEnumeration(xpp, ImplementationGuide.GuidePageKind.NULL, 6325 new ImplementationGuide.GuidePageKindEnumFactory())); 6326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6327 res.getType().add(parseCode(xpp)); 6328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 6329 res.getPackage().add(parseString(xpp)); 6330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 6331 res.setFormatElement(parseCode(xpp)); 6332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("page")) { 6333 res.getPage().add(parseImplementationGuideImplementationGuidePageComponent(xpp, owner)); 6334 } else if (!parseBackboneContent(eventType, xpp, res)) 6335 unknownContent(xpp); 6336 eventType = nextNoWhitespace(xpp); 6337 } 6338 next(xpp); 6339 parseElementClose(res); 6340 return res; 6341 } 6342 6343 protected List_ parseList_(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6344 List_ res = new List_(); 6345 parseDomainResourceAttributes(xpp, res); 6346 next(xpp); 6347 int eventType = nextNoWhitespace(xpp); 6348 while (eventType != XmlPullParser.END_TAG) { 6349 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6350 res.getIdentifier().add(parseIdentifier(xpp)); 6351 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 6352 res.setTitleElement(parseString(xpp)); 6353 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6354 res.setCode(parseCodeableConcept(xpp)); 6355 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 6356 res.setSubject(parseReference(xpp)); 6357 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 6358 res.setSource(parseReference(xpp)); 6359 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6360 res.setEncounter(parseReference(xpp)); 6361 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6362 res.setStatusElement(parseEnumeration(xpp, List_.ListStatus.NULL, new List_.ListStatusEnumFactory())); 6363 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6364 res.setDateElement(parseDateTime(xpp)); 6365 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedBy")) { 6366 res.setOrderedBy(parseCodeableConcept(xpp)); 6367 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 6368 res.setModeElement(parseEnumeration(xpp, List_.ListMode.NULL, new List_.ListModeEnumFactory())); 6369 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6370 res.setNoteElement(parseString(xpp)); 6371 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 6372 res.getEntry().add(parseList_ListEntryComponent(xpp, res)); 6373 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("emptyReason")) { 6374 res.setEmptyReason(parseCodeableConcept(xpp)); 6375 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6376 unknownContent(xpp); 6377 eventType = nextNoWhitespace(xpp); 6378 } 6379 next(xpp); 6380 parseElementClose(res); 6381 return res; 6382 } 6383 6384 protected List_.ListEntryComponent parseList_ListEntryComponent(XmlPullParser xpp, List_ owner) 6385 throws XmlPullParserException, IOException, FHIRFormatError { 6386 List_.ListEntryComponent res = new List_.ListEntryComponent(); 6387 parseBackboneAttributes(xpp, res); 6388 next(xpp); 6389 int eventType = nextNoWhitespace(xpp); 6390 while (eventType != XmlPullParser.END_TAG) { 6391 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("flag")) { 6392 res.setFlag(parseCodeableConcept(xpp)); 6393 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deleted")) { 6394 res.setDeletedElement(parseBoolean(xpp)); 6395 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6396 res.setDateElement(parseDateTime(xpp)); 6397 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 6398 res.setItem(parseReference(xpp)); 6399 } else if (!parseBackboneContent(eventType, xpp, res)) 6400 unknownContent(xpp); 6401 eventType = nextNoWhitespace(xpp); 6402 } 6403 next(xpp); 6404 parseElementClose(res); 6405 return res; 6406 } 6407 6408 protected Location parseLocation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6409 Location res = new Location(); 6410 parseDomainResourceAttributes(xpp, res); 6411 next(xpp); 6412 int eventType = nextNoWhitespace(xpp); 6413 while (eventType != XmlPullParser.END_TAG) { 6414 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6415 res.getIdentifier().add(parseIdentifier(xpp)); 6416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6417 res.setStatusElement( 6418 parseEnumeration(xpp, Location.LocationStatus.NULL, new Location.LocationStatusEnumFactory())); 6419 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6420 res.setNameElement(parseString(xpp)); 6421 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6422 res.setDescriptionElement(parseString(xpp)); 6423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 6424 res.setModeElement(parseEnumeration(xpp, Location.LocationMode.NULL, new Location.LocationModeEnumFactory())); 6425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6426 res.setType(parseCodeableConcept(xpp)); 6427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 6428 res.getTelecom().add(parseContactPoint(xpp)); 6429 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 6430 res.setAddress(parseAddress(xpp)); 6431 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physicalType")) { 6432 res.setPhysicalType(parseCodeableConcept(xpp)); 6433 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("position")) { 6434 res.setPosition(parseLocationLocationPositionComponent(xpp, res)); 6435 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 6436 res.setManagingOrganization(parseReference(xpp)); 6437 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 6438 res.setPartOf(parseReference(xpp)); 6439 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6440 unknownContent(xpp); 6441 eventType = nextNoWhitespace(xpp); 6442 } 6443 next(xpp); 6444 parseElementClose(res); 6445 return res; 6446 } 6447 6448 protected Location.LocationPositionComponent parseLocationLocationPositionComponent(XmlPullParser xpp, Location owner) 6449 throws XmlPullParserException, IOException, FHIRFormatError { 6450 Location.LocationPositionComponent res = new Location.LocationPositionComponent(); 6451 parseBackboneAttributes(xpp, res); 6452 next(xpp); 6453 int eventType = nextNoWhitespace(xpp); 6454 while (eventType != XmlPullParser.END_TAG) { 6455 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("longitude")) { 6456 res.setLongitudeElement(parseDecimal(xpp)); 6457 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("latitude")) { 6458 res.setLatitudeElement(parseDecimal(xpp)); 6459 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("altitude")) { 6460 res.setAltitudeElement(parseDecimal(xpp)); 6461 } else if (!parseBackboneContent(eventType, xpp, res)) 6462 unknownContent(xpp); 6463 eventType = nextNoWhitespace(xpp); 6464 } 6465 next(xpp); 6466 parseElementClose(res); 6467 return res; 6468 } 6469 6470 protected Media parseMedia(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6471 Media res = new Media(); 6472 parseDomainResourceAttributes(xpp, res); 6473 next(xpp); 6474 int eventType = nextNoWhitespace(xpp); 6475 while (eventType != XmlPullParser.END_TAG) { 6476 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6477 res.setTypeElement(parseEnumeration(xpp, Media.DigitalMediaType.NULL, new Media.DigitalMediaTypeEnumFactory())); 6478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtype")) { 6479 res.setSubtype(parseCodeableConcept(xpp)); 6480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6481 res.getIdentifier().add(parseIdentifier(xpp)); 6482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 6483 res.setSubject(parseReference(xpp)); 6484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 6485 res.setOperator(parseReference(xpp)); 6486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("view")) { 6487 res.setView(parseCodeableConcept(xpp)); 6488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceName")) { 6489 res.setDeviceNameElement(parseString(xpp)); 6490 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("height")) { 6491 res.setHeightElement(parsePositiveInt(xpp)); 6492 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("width")) { 6493 res.setWidthElement(parsePositiveInt(xpp)); 6494 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frames")) { 6495 res.setFramesElement(parsePositiveInt(xpp)); 6496 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 6497 res.setDurationElement(parseUnsignedInt(xpp)); 6498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 6499 res.setContent(parseAttachment(xpp)); 6500 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6501 unknownContent(xpp); 6502 eventType = nextNoWhitespace(xpp); 6503 } 6504 next(xpp); 6505 parseElementClose(res); 6506 return res; 6507 } 6508 6509 protected Medication parseMedication(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6510 Medication res = new Medication(); 6511 parseDomainResourceAttributes(xpp, res); 6512 next(xpp); 6513 int eventType = nextNoWhitespace(xpp); 6514 while (eventType != XmlPullParser.END_TAG) { 6515 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6516 res.setCode(parseCodeableConcept(xpp)); 6517 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isBrand")) { 6518 res.setIsBrandElement(parseBoolean(xpp)); 6519 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 6520 res.setManufacturer(parseReference(xpp)); 6521 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 6522 res.setProduct(parseMedicationMedicationProductComponent(xpp, res)); 6523 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 6524 res.setPackage(parseMedicationMedicationPackageComponent(xpp, res)); 6525 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6526 unknownContent(xpp); 6527 eventType = nextNoWhitespace(xpp); 6528 } 6529 next(xpp); 6530 parseElementClose(res); 6531 return res; 6532 } 6533 6534 protected Medication.MedicationProductComponent parseMedicationMedicationProductComponent(XmlPullParser xpp, 6535 Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6536 Medication.MedicationProductComponent res = new Medication.MedicationProductComponent(); 6537 parseBackboneAttributes(xpp, res); 6538 next(xpp); 6539 int eventType = nextNoWhitespace(xpp); 6540 while (eventType != XmlPullParser.END_TAG) { 6541 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 6542 res.setForm(parseCodeableConcept(xpp)); 6543 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 6544 res.getIngredient().add(parseMedicationMedicationProductIngredientComponent(xpp, owner)); 6545 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("batch")) { 6546 res.getBatch().add(parseMedicationMedicationProductBatchComponent(xpp, owner)); 6547 } else if (!parseBackboneContent(eventType, xpp, res)) 6548 unknownContent(xpp); 6549 eventType = nextNoWhitespace(xpp); 6550 } 6551 next(xpp); 6552 parseElementClose(res); 6553 return res; 6554 } 6555 6556 protected Medication.MedicationProductIngredientComponent parseMedicationMedicationProductIngredientComponent( 6557 XmlPullParser xpp, Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6558 Medication.MedicationProductIngredientComponent res = new Medication.MedicationProductIngredientComponent(); 6559 parseBackboneAttributes(xpp, res); 6560 next(xpp); 6561 int eventType = nextNoWhitespace(xpp); 6562 while (eventType != XmlPullParser.END_TAG) { 6563 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 6564 res.setItem(parseReference(xpp)); 6565 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 6566 res.setAmount(parseRatio(xpp)); 6567 } else if (!parseBackboneContent(eventType, xpp, res)) 6568 unknownContent(xpp); 6569 eventType = nextNoWhitespace(xpp); 6570 } 6571 next(xpp); 6572 parseElementClose(res); 6573 return res; 6574 } 6575 6576 protected Medication.MedicationProductBatchComponent parseMedicationMedicationProductBatchComponent(XmlPullParser xpp, 6577 Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6578 Medication.MedicationProductBatchComponent res = new Medication.MedicationProductBatchComponent(); 6579 parseBackboneAttributes(xpp, res); 6580 next(xpp); 6581 int eventType = nextNoWhitespace(xpp); 6582 while (eventType != XmlPullParser.END_TAG) { 6583 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 6584 res.setLotNumberElement(parseString(xpp)); 6585 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { 6586 res.setExpirationDateElement(parseDateTime(xpp)); 6587 } else if (!parseBackboneContent(eventType, xpp, res)) 6588 unknownContent(xpp); 6589 eventType = nextNoWhitespace(xpp); 6590 } 6591 next(xpp); 6592 parseElementClose(res); 6593 return res; 6594 } 6595 6596 protected Medication.MedicationPackageComponent parseMedicationMedicationPackageComponent(XmlPullParser xpp, 6597 Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6598 Medication.MedicationPackageComponent res = new Medication.MedicationPackageComponent(); 6599 parseBackboneAttributes(xpp, res); 6600 next(xpp); 6601 int eventType = nextNoWhitespace(xpp); 6602 while (eventType != XmlPullParser.END_TAG) { 6603 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("container")) { 6604 res.setContainer(parseCodeableConcept(xpp)); 6605 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 6606 res.getContent().add(parseMedicationMedicationPackageContentComponent(xpp, owner)); 6607 } else if (!parseBackboneContent(eventType, xpp, res)) 6608 unknownContent(xpp); 6609 eventType = nextNoWhitespace(xpp); 6610 } 6611 next(xpp); 6612 parseElementClose(res); 6613 return res; 6614 } 6615 6616 protected Medication.MedicationPackageContentComponent parseMedicationMedicationPackageContentComponent( 6617 XmlPullParser xpp, Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6618 Medication.MedicationPackageContentComponent res = new Medication.MedicationPackageContentComponent(); 6619 parseBackboneAttributes(xpp, res); 6620 next(xpp); 6621 int eventType = nextNoWhitespace(xpp); 6622 while (eventType != XmlPullParser.END_TAG) { 6623 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 6624 res.setItem(parseReference(xpp)); 6625 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 6626 res.setAmount(parseSimpleQuantity(xpp)); 6627 } else if (!parseBackboneContent(eventType, xpp, res)) 6628 unknownContent(xpp); 6629 eventType = nextNoWhitespace(xpp); 6630 } 6631 next(xpp); 6632 parseElementClose(res); 6633 return res; 6634 } 6635 6636 protected MedicationAdministration parseMedicationAdministration(XmlPullParser xpp) 6637 throws XmlPullParserException, IOException, FHIRFormatError { 6638 MedicationAdministration res = new MedicationAdministration(); 6639 parseDomainResourceAttributes(xpp, res); 6640 next(xpp); 6641 int eventType = nextNoWhitespace(xpp); 6642 while (eventType != XmlPullParser.END_TAG) { 6643 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6644 res.getIdentifier().add(parseIdentifier(xpp)); 6645 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6646 res.setStatusElement(parseEnumeration(xpp, MedicationAdministration.MedicationAdministrationStatus.NULL, 6647 new MedicationAdministration.MedicationAdministrationStatusEnumFactory())); 6648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6649 res.setPatient(parseReference(xpp)); 6650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practitioner")) { 6651 res.setPractitioner(parseReference(xpp)); 6652 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6653 res.setEncounter(parseReference(xpp)); 6654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescription")) { 6655 res.setPrescription(parseReference(xpp)); 6656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wasNotGiven")) { 6657 res.setWasNotGivenElement(parseBoolean(xpp)); 6658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotGiven")) { 6659 res.getReasonNotGiven().add(parseCodeableConcept(xpp)); 6660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonGiven")) { 6661 res.getReasonGiven().add(parseCodeableConcept(xpp)); 6662 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effectiveTime")) { 6663 res.setEffectiveTime(parseType("effectiveTime", xpp)); 6664 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6665 res.setMedication(parseType("medication", xpp)); 6666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 6667 res.getDevice().add(parseReference(xpp)); 6668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6669 res.setNoteElement(parseString(xpp)); 6670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 6671 res.setDosage(parseMedicationAdministrationMedicationAdministrationDosageComponent(xpp, res)); 6672 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6673 unknownContent(xpp); 6674 eventType = nextNoWhitespace(xpp); 6675 } 6676 next(xpp); 6677 parseElementClose(res); 6678 return res; 6679 } 6680 6681 protected MedicationAdministration.MedicationAdministrationDosageComponent parseMedicationAdministrationMedicationAdministrationDosageComponent( 6682 XmlPullParser xpp, MedicationAdministration owner) throws XmlPullParserException, IOException, FHIRFormatError { 6683 MedicationAdministration.MedicationAdministrationDosageComponent res = new MedicationAdministration.MedicationAdministrationDosageComponent(); 6684 parseBackboneAttributes(xpp, res); 6685 next(xpp); 6686 int eventType = nextNoWhitespace(xpp); 6687 while (eventType != XmlPullParser.END_TAG) { 6688 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6689 res.setTextElement(parseString(xpp)); 6690 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 6691 res.setSite(parseType("site", xpp)); 6692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 6693 res.setRoute(parseCodeableConcept(xpp)); 6694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 6695 res.setMethod(parseCodeableConcept(xpp)); 6696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6697 res.setQuantity(parseSimpleQuantity(xpp)); 6698 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 6699 res.setRate(parseType("rate", xpp)); 6700 } else if (!parseBackboneContent(eventType, xpp, res)) 6701 unknownContent(xpp); 6702 eventType = nextNoWhitespace(xpp); 6703 } 6704 next(xpp); 6705 parseElementClose(res); 6706 return res; 6707 } 6708 6709 protected MedicationDispense parseMedicationDispense(XmlPullParser xpp) 6710 throws XmlPullParserException, IOException, FHIRFormatError { 6711 MedicationDispense res = new MedicationDispense(); 6712 parseDomainResourceAttributes(xpp, res); 6713 next(xpp); 6714 int eventType = nextNoWhitespace(xpp); 6715 while (eventType != XmlPullParser.END_TAG) { 6716 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6717 res.setIdentifier(parseIdentifier(xpp)); 6718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6719 res.setStatusElement(parseEnumeration(xpp, MedicationDispense.MedicationDispenseStatus.NULL, 6720 new MedicationDispense.MedicationDispenseStatusEnumFactory())); 6721 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6722 res.setPatient(parseReference(xpp)); 6723 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispenser")) { 6724 res.setDispenser(parseReference(xpp)); 6725 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authorizingPrescription")) { 6726 res.getAuthorizingPrescription().add(parseReference(xpp)); 6727 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6728 res.setType(parseCodeableConcept(xpp)); 6729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6730 res.setQuantity(parseSimpleQuantity(xpp)); 6731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysSupply")) { 6732 res.setDaysSupply(parseSimpleQuantity(xpp)); 6733 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6734 res.setMedication(parseType("medication", xpp)); 6735 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenPrepared")) { 6736 res.setWhenPreparedElement(parseDateTime(xpp)); 6737 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenHandedOver")) { 6738 res.setWhenHandedOverElement(parseDateTime(xpp)); 6739 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 6740 res.setDestination(parseReference(xpp)); 6741 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 6742 res.getReceiver().add(parseReference(xpp)); 6743 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6744 res.setNoteElement(parseString(xpp)); 6745 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosageInstruction")) { 6746 res.getDosageInstruction().add(parseMedicationDispenseMedicationDispenseDosageInstructionComponent(xpp, res)); 6747 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substitution")) { 6748 res.setSubstitution(parseMedicationDispenseMedicationDispenseSubstitutionComponent(xpp, res)); 6749 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6750 unknownContent(xpp); 6751 eventType = nextNoWhitespace(xpp); 6752 } 6753 next(xpp); 6754 parseElementClose(res); 6755 return res; 6756 } 6757 6758 protected MedicationDispense.MedicationDispenseDosageInstructionComponent parseMedicationDispenseMedicationDispenseDosageInstructionComponent( 6759 XmlPullParser xpp, MedicationDispense owner) throws XmlPullParserException, IOException, FHIRFormatError { 6760 MedicationDispense.MedicationDispenseDosageInstructionComponent res = new MedicationDispense.MedicationDispenseDosageInstructionComponent(); 6761 parseBackboneAttributes(xpp, res); 6762 next(xpp); 6763 int eventType = nextNoWhitespace(xpp); 6764 while (eventType != XmlPullParser.END_TAG) { 6765 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6766 res.setTextElement(parseString(xpp)); 6767 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalInstructions")) { 6768 res.setAdditionalInstructions(parseCodeableConcept(xpp)); 6769 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { 6770 res.setTiming(parseTiming(xpp)); 6771 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 6772 res.setAsNeeded(parseType("asNeeded", xpp)); 6773 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 6774 res.setSite(parseType("site", xpp)); 6775 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 6776 res.setRoute(parseCodeableConcept(xpp)); 6777 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 6778 res.setMethod(parseCodeableConcept(xpp)); 6779 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "dose")) { 6780 res.setDose(parseType("dose", xpp)); 6781 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 6782 res.setRate(parseType("rate", xpp)); 6783 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerPeriod")) { 6784 res.setMaxDosePerPeriod(parseRatio(xpp)); 6785 } else if (!parseBackboneContent(eventType, xpp, res)) 6786 unknownContent(xpp); 6787 eventType = nextNoWhitespace(xpp); 6788 } 6789 next(xpp); 6790 parseElementClose(res); 6791 return res; 6792 } 6793 6794 protected MedicationDispense.MedicationDispenseSubstitutionComponent parseMedicationDispenseMedicationDispenseSubstitutionComponent( 6795 XmlPullParser xpp, MedicationDispense owner) throws XmlPullParserException, IOException, FHIRFormatError { 6796 MedicationDispense.MedicationDispenseSubstitutionComponent res = new MedicationDispense.MedicationDispenseSubstitutionComponent(); 6797 parseBackboneAttributes(xpp, res); 6798 next(xpp); 6799 int eventType = nextNoWhitespace(xpp); 6800 while (eventType != XmlPullParser.END_TAG) { 6801 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6802 res.setType(parseCodeableConcept(xpp)); 6803 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 6804 res.getReason().add(parseCodeableConcept(xpp)); 6805 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsibleParty")) { 6806 res.getResponsibleParty().add(parseReference(xpp)); 6807 } else if (!parseBackboneContent(eventType, xpp, res)) 6808 unknownContent(xpp); 6809 eventType = nextNoWhitespace(xpp); 6810 } 6811 next(xpp); 6812 parseElementClose(res); 6813 return res; 6814 } 6815 6816 protected MedicationOrder parseMedicationOrder(XmlPullParser xpp) 6817 throws XmlPullParserException, IOException, FHIRFormatError { 6818 MedicationOrder res = new MedicationOrder(); 6819 parseDomainResourceAttributes(xpp, res); 6820 next(xpp); 6821 int eventType = nextNoWhitespace(xpp); 6822 while (eventType != XmlPullParser.END_TAG) { 6823 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6824 res.getIdentifier().add(parseIdentifier(xpp)); 6825 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateWritten")) { 6826 res.setDateWrittenElement(parseDateTime(xpp)); 6827 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6828 res.setStatusElement(parseEnumeration(xpp, MedicationOrder.MedicationOrderStatus.NULL, 6829 new MedicationOrder.MedicationOrderStatusEnumFactory())); 6830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateEnded")) { 6831 res.setDateEndedElement(parseDateTime(xpp)); 6832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonEnded")) { 6833 res.setReasonEnded(parseCodeableConcept(xpp)); 6834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6835 res.setPatient(parseReference(xpp)); 6836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescriber")) { 6837 res.setPrescriber(parseReference(xpp)); 6838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6839 res.setEncounter(parseReference(xpp)); 6840 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 6841 res.setReason(parseType("reason", xpp)); 6842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6843 res.setNoteElement(parseString(xpp)); 6844 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6845 res.setMedication(parseType("medication", xpp)); 6846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosageInstruction")) { 6847 res.getDosageInstruction().add(parseMedicationOrderMedicationOrderDosageInstructionComponent(xpp, res)); 6848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispenseRequest")) { 6849 res.setDispenseRequest(parseMedicationOrderMedicationOrderDispenseRequestComponent(xpp, res)); 6850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substitution")) { 6851 res.setSubstitution(parseMedicationOrderMedicationOrderSubstitutionComponent(xpp, res)); 6852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorPrescription")) { 6853 res.setPriorPrescription(parseReference(xpp)); 6854 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6855 unknownContent(xpp); 6856 eventType = nextNoWhitespace(xpp); 6857 } 6858 next(xpp); 6859 parseElementClose(res); 6860 return res; 6861 } 6862 6863 protected MedicationOrder.MedicationOrderDosageInstructionComponent parseMedicationOrderMedicationOrderDosageInstructionComponent( 6864 XmlPullParser xpp, MedicationOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 6865 MedicationOrder.MedicationOrderDosageInstructionComponent res = new MedicationOrder.MedicationOrderDosageInstructionComponent(); 6866 parseBackboneAttributes(xpp, res); 6867 next(xpp); 6868 int eventType = nextNoWhitespace(xpp); 6869 while (eventType != XmlPullParser.END_TAG) { 6870 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6871 res.setTextElement(parseString(xpp)); 6872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalInstructions")) { 6873 res.setAdditionalInstructions(parseCodeableConcept(xpp)); 6874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { 6875 res.setTiming(parseTiming(xpp)); 6876 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 6877 res.setAsNeeded(parseType("asNeeded", xpp)); 6878 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 6879 res.setSite(parseType("site", xpp)); 6880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 6881 res.setRoute(parseCodeableConcept(xpp)); 6882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 6883 res.setMethod(parseCodeableConcept(xpp)); 6884 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "dose")) { 6885 res.setDose(parseType("dose", xpp)); 6886 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 6887 res.setRate(parseType("rate", xpp)); 6888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerPeriod")) { 6889 res.setMaxDosePerPeriod(parseRatio(xpp)); 6890 } else if (!parseBackboneContent(eventType, xpp, res)) 6891 unknownContent(xpp); 6892 eventType = nextNoWhitespace(xpp); 6893 } 6894 next(xpp); 6895 parseElementClose(res); 6896 return res; 6897 } 6898 6899 protected MedicationOrder.MedicationOrderDispenseRequestComponent parseMedicationOrderMedicationOrderDispenseRequestComponent( 6900 XmlPullParser xpp, MedicationOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 6901 MedicationOrder.MedicationOrderDispenseRequestComponent res = new MedicationOrder.MedicationOrderDispenseRequestComponent(); 6902 parseBackboneAttributes(xpp, res); 6903 next(xpp); 6904 int eventType = nextNoWhitespace(xpp); 6905 while (eventType != XmlPullParser.END_TAG) { 6906 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6907 res.setMedication(parseType("medication", xpp)); 6908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validityPeriod")) { 6909 res.setValidityPeriod(parsePeriod(xpp)); 6910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfRepeatsAllowed")) { 6911 res.setNumberOfRepeatsAllowedElement(parsePositiveInt(xpp)); 6912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6913 res.setQuantity(parseSimpleQuantity(xpp)); 6914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expectedSupplyDuration")) { 6915 res.setExpectedSupplyDuration(parseDuration(xpp)); 6916 } else if (!parseBackboneContent(eventType, xpp, res)) 6917 unknownContent(xpp); 6918 eventType = nextNoWhitespace(xpp); 6919 } 6920 next(xpp); 6921 parseElementClose(res); 6922 return res; 6923 } 6924 6925 protected MedicationOrder.MedicationOrderSubstitutionComponent parseMedicationOrderMedicationOrderSubstitutionComponent( 6926 XmlPullParser xpp, MedicationOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 6927 MedicationOrder.MedicationOrderSubstitutionComponent res = new MedicationOrder.MedicationOrderSubstitutionComponent(); 6928 parseBackboneAttributes(xpp, res); 6929 next(xpp); 6930 int eventType = nextNoWhitespace(xpp); 6931 while (eventType != XmlPullParser.END_TAG) { 6932 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6933 res.setType(parseCodeableConcept(xpp)); 6934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 6935 res.setReason(parseCodeableConcept(xpp)); 6936 } else if (!parseBackboneContent(eventType, xpp, res)) 6937 unknownContent(xpp); 6938 eventType = nextNoWhitespace(xpp); 6939 } 6940 next(xpp); 6941 parseElementClose(res); 6942 return res; 6943 } 6944 6945 protected MedicationStatement parseMedicationStatement(XmlPullParser xpp) 6946 throws XmlPullParserException, IOException, FHIRFormatError { 6947 MedicationStatement res = new MedicationStatement(); 6948 parseDomainResourceAttributes(xpp, res); 6949 next(xpp); 6950 int eventType = nextNoWhitespace(xpp); 6951 while (eventType != XmlPullParser.END_TAG) { 6952 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6953 res.getIdentifier().add(parseIdentifier(xpp)); 6954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6955 res.setPatient(parseReference(xpp)); 6956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("informationSource")) { 6957 res.setInformationSource(parseReference(xpp)); 6958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateAsserted")) { 6959 res.setDateAssertedElement(parseDateTime(xpp)); 6960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6961 res.setStatusElement(parseEnumeration(xpp, MedicationStatement.MedicationStatementStatus.NULL, 6962 new MedicationStatement.MedicationStatementStatusEnumFactory())); 6963 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wasNotTaken")) { 6964 res.setWasNotTakenElement(parseBoolean(xpp)); 6965 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotTaken")) { 6966 res.getReasonNotTaken().add(parseCodeableConcept(xpp)); 6967 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reasonForUse")) { 6968 res.setReasonForUse(parseType("reasonForUse", xpp)); 6969 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 6970 res.setEffective(parseType("effective", xpp)); 6971 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6972 res.setNoteElement(parseString(xpp)); 6973 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 6974 res.getSupportingInformation().add(parseReference(xpp)); 6975 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6976 res.setMedication(parseType("medication", xpp)); 6977 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 6978 res.getDosage().add(parseMedicationStatementMedicationStatementDosageComponent(xpp, res)); 6979 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6980 unknownContent(xpp); 6981 eventType = nextNoWhitespace(xpp); 6982 } 6983 next(xpp); 6984 parseElementClose(res); 6985 return res; 6986 } 6987 6988 protected MedicationStatement.MedicationStatementDosageComponent parseMedicationStatementMedicationStatementDosageComponent( 6989 XmlPullParser xpp, MedicationStatement owner) throws XmlPullParserException, IOException, FHIRFormatError { 6990 MedicationStatement.MedicationStatementDosageComponent res = new MedicationStatement.MedicationStatementDosageComponent(); 6991 parseBackboneAttributes(xpp, res); 6992 next(xpp); 6993 int eventType = nextNoWhitespace(xpp); 6994 while (eventType != XmlPullParser.END_TAG) { 6995 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6996 res.setTextElement(parseString(xpp)); 6997 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { 6998 res.setTiming(parseTiming(xpp)); 6999 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 7000 res.setAsNeeded(parseType("asNeeded", xpp)); 7001 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 7002 res.setSite(parseType("site", xpp)); 7003 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 7004 res.setRoute(parseCodeableConcept(xpp)); 7005 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 7006 res.setMethod(parseCodeableConcept(xpp)); 7007 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "quantity")) { 7008 res.setQuantity(parseType("quantity", xpp)); 7009 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 7010 res.setRate(parseType("rate", xpp)); 7011 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerPeriod")) { 7012 res.setMaxDosePerPeriod(parseRatio(xpp)); 7013 } else if (!parseBackboneContent(eventType, xpp, res)) 7014 unknownContent(xpp); 7015 eventType = nextNoWhitespace(xpp); 7016 } 7017 next(xpp); 7018 parseElementClose(res); 7019 return res; 7020 } 7021 7022 protected MessageHeader parseMessageHeader(XmlPullParser xpp) 7023 throws XmlPullParserException, IOException, FHIRFormatError { 7024 MessageHeader res = new MessageHeader(); 7025 parseDomainResourceAttributes(xpp, res); 7026 next(xpp); 7027 int eventType = nextNoWhitespace(xpp); 7028 while (eventType != XmlPullParser.END_TAG) { 7029 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { 7030 res.setTimestampElement(parseInstant(xpp)); 7031 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 7032 res.setEvent(parseCoding(xpp)); 7033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 7034 res.setResponse(parseMessageHeaderMessageHeaderResponseComponent(xpp, res)); 7035 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 7036 res.setSource(parseMessageHeaderMessageSourceComponent(xpp, res)); 7037 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 7038 res.getDestination().add(parseMessageHeaderMessageDestinationComponent(xpp, res)); 7039 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 7040 res.setEnterer(parseReference(xpp)); 7041 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 7042 res.setAuthor(parseReference(xpp)); 7043 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 7044 res.setReceiver(parseReference(xpp)); 7045 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 7046 res.setResponsible(parseReference(xpp)); 7047 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 7048 res.setReason(parseCodeableConcept(xpp)); 7049 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 7050 res.getData().add(parseReference(xpp)); 7051 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7052 unknownContent(xpp); 7053 eventType = nextNoWhitespace(xpp); 7054 } 7055 next(xpp); 7056 parseElementClose(res); 7057 return res; 7058 } 7059 7060 protected MessageHeader.MessageHeaderResponseComponent parseMessageHeaderMessageHeaderResponseComponent( 7061 XmlPullParser xpp, MessageHeader owner) throws XmlPullParserException, IOException, FHIRFormatError { 7062 MessageHeader.MessageHeaderResponseComponent res = new MessageHeader.MessageHeaderResponseComponent(); 7063 parseBackboneAttributes(xpp, res); 7064 next(xpp); 7065 int eventType = nextNoWhitespace(xpp); 7066 while (eventType != XmlPullParser.END_TAG) { 7067 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7068 res.setIdentifierElement(parseId(xpp)); 7069 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7070 res.setCodeElement( 7071 parseEnumeration(xpp, MessageHeader.ResponseType.NULL, new MessageHeader.ResponseTypeEnumFactory())); 7072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("details")) { 7073 res.setDetails(parseReference(xpp)); 7074 } else if (!parseBackboneContent(eventType, xpp, res)) 7075 unknownContent(xpp); 7076 eventType = nextNoWhitespace(xpp); 7077 } 7078 next(xpp); 7079 parseElementClose(res); 7080 return res; 7081 } 7082 7083 protected MessageHeader.MessageSourceComponent parseMessageHeaderMessageSourceComponent(XmlPullParser xpp, 7084 MessageHeader owner) throws XmlPullParserException, IOException, FHIRFormatError { 7085 MessageHeader.MessageSourceComponent res = new MessageHeader.MessageSourceComponent(); 7086 parseBackboneAttributes(xpp, res); 7087 next(xpp); 7088 int eventType = nextNoWhitespace(xpp); 7089 while (eventType != XmlPullParser.END_TAG) { 7090 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7091 res.setNameElement(parseString(xpp)); 7092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { 7093 res.setSoftwareElement(parseString(xpp)); 7094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 7095 res.setVersionElement(parseString(xpp)); 7096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7097 res.setContact(parseContactPoint(xpp)); 7098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 7099 res.setEndpointElement(parseUri(xpp)); 7100 } else if (!parseBackboneContent(eventType, xpp, res)) 7101 unknownContent(xpp); 7102 eventType = nextNoWhitespace(xpp); 7103 } 7104 next(xpp); 7105 parseElementClose(res); 7106 return res; 7107 } 7108 7109 protected MessageHeader.MessageDestinationComponent parseMessageHeaderMessageDestinationComponent(XmlPullParser xpp, 7110 MessageHeader owner) throws XmlPullParserException, IOException, FHIRFormatError { 7111 MessageHeader.MessageDestinationComponent res = new MessageHeader.MessageDestinationComponent(); 7112 parseBackboneAttributes(xpp, res); 7113 next(xpp); 7114 int eventType = nextNoWhitespace(xpp); 7115 while (eventType != XmlPullParser.END_TAG) { 7116 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7117 res.setNameElement(parseString(xpp)); 7118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7119 res.setTarget(parseReference(xpp)); 7120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 7121 res.setEndpointElement(parseUri(xpp)); 7122 } else if (!parseBackboneContent(eventType, xpp, res)) 7123 unknownContent(xpp); 7124 eventType = nextNoWhitespace(xpp); 7125 } 7126 next(xpp); 7127 parseElementClose(res); 7128 return res; 7129 } 7130 7131 protected NamingSystem parseNamingSystem(XmlPullParser xpp) 7132 throws XmlPullParserException, IOException, FHIRFormatError { 7133 NamingSystem res = new NamingSystem(); 7134 parseDomainResourceAttributes(xpp, res); 7135 next(xpp); 7136 int eventType = nextNoWhitespace(xpp); 7137 while (eventType != XmlPullParser.END_TAG) { 7138 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7139 res.setNameElement(parseString(xpp)); 7140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7141 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 7142 new Enumerations.ConformanceResourceStatusEnumFactory())); 7143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 7144 res.setKindElement( 7145 parseEnumeration(xpp, NamingSystem.NamingSystemType.NULL, new NamingSystem.NamingSystemTypeEnumFactory())); 7146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 7147 res.setPublisherElement(parseString(xpp)); 7148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7149 res.getContact().add(parseNamingSystemNamingSystemContactComponent(xpp, res)); 7150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 7151 res.setResponsibleElement(parseString(xpp)); 7152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7153 res.setDateElement(parseDateTime(xpp)); 7154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7155 res.setType(parseCodeableConcept(xpp)); 7156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 7157 res.setDescriptionElement(parseString(xpp)); 7158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 7159 res.getUseContext().add(parseCodeableConcept(xpp)); 7160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 7161 res.setUsageElement(parseString(xpp)); 7162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uniqueId")) { 7163 res.getUniqueId().add(parseNamingSystemNamingSystemUniqueIdComponent(xpp, res)); 7164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replacedBy")) { 7165 res.setReplacedBy(parseReference(xpp)); 7166 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7167 unknownContent(xpp); 7168 eventType = nextNoWhitespace(xpp); 7169 } 7170 next(xpp); 7171 parseElementClose(res); 7172 return res; 7173 } 7174 7175 protected NamingSystem.NamingSystemContactComponent parseNamingSystemNamingSystemContactComponent(XmlPullParser xpp, 7176 NamingSystem owner) throws XmlPullParserException, IOException, FHIRFormatError { 7177 NamingSystem.NamingSystemContactComponent res = new NamingSystem.NamingSystemContactComponent(); 7178 parseBackboneAttributes(xpp, res); 7179 next(xpp); 7180 int eventType = nextNoWhitespace(xpp); 7181 while (eventType != XmlPullParser.END_TAG) { 7182 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7183 res.setNameElement(parseString(xpp)); 7184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7185 res.getTelecom().add(parseContactPoint(xpp)); 7186 } else if (!parseBackboneContent(eventType, xpp, res)) 7187 unknownContent(xpp); 7188 eventType = nextNoWhitespace(xpp); 7189 } 7190 next(xpp); 7191 parseElementClose(res); 7192 return res; 7193 } 7194 7195 protected NamingSystem.NamingSystemUniqueIdComponent parseNamingSystemNamingSystemUniqueIdComponent(XmlPullParser xpp, 7196 NamingSystem owner) throws XmlPullParserException, IOException, FHIRFormatError { 7197 NamingSystem.NamingSystemUniqueIdComponent res = new NamingSystem.NamingSystemUniqueIdComponent(); 7198 parseBackboneAttributes(xpp, res); 7199 next(xpp); 7200 int eventType = nextNoWhitespace(xpp); 7201 while (eventType != XmlPullParser.END_TAG) { 7202 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7203 res.setTypeElement(parseEnumeration(xpp, NamingSystem.NamingSystemIdentifierType.NULL, 7204 new NamingSystem.NamingSystemIdentifierTypeEnumFactory())); 7205 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 7206 res.setValueElement(parseString(xpp)); 7207 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 7208 res.setPreferredElement(parseBoolean(xpp)); 7209 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7210 res.setPeriod(parsePeriod(xpp)); 7211 } else if (!parseBackboneContent(eventType, xpp, res)) 7212 unknownContent(xpp); 7213 eventType = nextNoWhitespace(xpp); 7214 } 7215 next(xpp); 7216 parseElementClose(res); 7217 return res; 7218 } 7219 7220 protected NutritionOrder parseNutritionOrder(XmlPullParser xpp) 7221 throws XmlPullParserException, IOException, FHIRFormatError { 7222 NutritionOrder res = new NutritionOrder(); 7223 parseDomainResourceAttributes(xpp, res); 7224 next(xpp); 7225 int eventType = nextNoWhitespace(xpp); 7226 while (eventType != XmlPullParser.END_TAG) { 7227 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 7228 res.setPatient(parseReference(xpp)); 7229 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { 7230 res.setOrderer(parseReference(xpp)); 7231 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7232 res.getIdentifier().add(parseIdentifier(xpp)); 7233 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 7234 res.setEncounter(parseReference(xpp)); 7235 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 7236 res.setDateTimeElement(parseDateTime(xpp)); 7237 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7238 res.setStatusElement(parseEnumeration(xpp, NutritionOrder.NutritionOrderStatus.NULL, 7239 new NutritionOrder.NutritionOrderStatusEnumFactory())); 7240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allergyIntolerance")) { 7241 res.getAllergyIntolerance().add(parseReference(xpp)); 7242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("foodPreferenceModifier")) { 7243 res.getFoodPreferenceModifier().add(parseCodeableConcept(xpp)); 7244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excludeFoodModifier")) { 7245 res.getExcludeFoodModifier().add(parseCodeableConcept(xpp)); 7246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("oralDiet")) { 7247 res.setOralDiet(parseNutritionOrderNutritionOrderOralDietComponent(xpp, res)); 7248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplement")) { 7249 res.getSupplement().add(parseNutritionOrderNutritionOrderSupplementComponent(xpp, res)); 7250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enteralFormula")) { 7251 res.setEnteralFormula(parseNutritionOrderNutritionOrderEnteralFormulaComponent(xpp, res)); 7252 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7253 unknownContent(xpp); 7254 eventType = nextNoWhitespace(xpp); 7255 } 7256 next(xpp); 7257 parseElementClose(res); 7258 return res; 7259 } 7260 7261 protected NutritionOrder.NutritionOrderOralDietComponent parseNutritionOrderNutritionOrderOralDietComponent( 7262 XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7263 NutritionOrder.NutritionOrderOralDietComponent res = new NutritionOrder.NutritionOrderOralDietComponent(); 7264 parseBackboneAttributes(xpp, res); 7265 next(xpp); 7266 int eventType = nextNoWhitespace(xpp); 7267 while (eventType != XmlPullParser.END_TAG) { 7268 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7269 res.getType().add(parseCodeableConcept(xpp)); 7270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 7271 res.getSchedule().add(parseTiming(xpp)); 7272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nutrient")) { 7273 res.getNutrient().add(parseNutritionOrderNutritionOrderOralDietNutrientComponent(xpp, owner)); 7274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("texture")) { 7275 res.getTexture().add(parseNutritionOrderNutritionOrderOralDietTextureComponent(xpp, owner)); 7276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fluidConsistencyType")) { 7277 res.getFluidConsistencyType().add(parseCodeableConcept(xpp)); 7278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { 7279 res.setInstructionElement(parseString(xpp)); 7280 } else if (!parseBackboneContent(eventType, xpp, res)) 7281 unknownContent(xpp); 7282 eventType = nextNoWhitespace(xpp); 7283 } 7284 next(xpp); 7285 parseElementClose(res); 7286 return res; 7287 } 7288 7289 protected NutritionOrder.NutritionOrderOralDietNutrientComponent parseNutritionOrderNutritionOrderOralDietNutrientComponent( 7290 XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7291 NutritionOrder.NutritionOrderOralDietNutrientComponent res = new NutritionOrder.NutritionOrderOralDietNutrientComponent(); 7292 parseBackboneAttributes(xpp, res); 7293 next(xpp); 7294 int eventType = nextNoWhitespace(xpp); 7295 while (eventType != XmlPullParser.END_TAG) { 7296 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 7297 res.setModifier(parseCodeableConcept(xpp)); 7298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 7299 res.setAmount(parseSimpleQuantity(xpp)); 7300 } else if (!parseBackboneContent(eventType, xpp, res)) 7301 unknownContent(xpp); 7302 eventType = nextNoWhitespace(xpp); 7303 } 7304 next(xpp); 7305 parseElementClose(res); 7306 return res; 7307 } 7308 7309 protected NutritionOrder.NutritionOrderOralDietTextureComponent parseNutritionOrderNutritionOrderOralDietTextureComponent( 7310 XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7311 NutritionOrder.NutritionOrderOralDietTextureComponent res = new NutritionOrder.NutritionOrderOralDietTextureComponent(); 7312 parseBackboneAttributes(xpp, res); 7313 next(xpp); 7314 int eventType = nextNoWhitespace(xpp); 7315 while (eventType != XmlPullParser.END_TAG) { 7316 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 7317 res.setModifier(parseCodeableConcept(xpp)); 7318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("foodType")) { 7319 res.setFoodType(parseCodeableConcept(xpp)); 7320 } else if (!parseBackboneContent(eventType, xpp, res)) 7321 unknownContent(xpp); 7322 eventType = nextNoWhitespace(xpp); 7323 } 7324 next(xpp); 7325 parseElementClose(res); 7326 return res; 7327 } 7328 7329 protected NutritionOrder.NutritionOrderSupplementComponent parseNutritionOrderNutritionOrderSupplementComponent( 7330 XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7331 NutritionOrder.NutritionOrderSupplementComponent res = new NutritionOrder.NutritionOrderSupplementComponent(); 7332 parseBackboneAttributes(xpp, res); 7333 next(xpp); 7334 int eventType = nextNoWhitespace(xpp); 7335 while (eventType != XmlPullParser.END_TAG) { 7336 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7337 res.setType(parseCodeableConcept(xpp)); 7338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productName")) { 7339 res.setProductNameElement(parseString(xpp)); 7340 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 7341 res.getSchedule().add(parseTiming(xpp)); 7342 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 7343 res.setQuantity(parseSimpleQuantity(xpp)); 7344 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { 7345 res.setInstructionElement(parseString(xpp)); 7346 } else if (!parseBackboneContent(eventType, xpp, res)) 7347 unknownContent(xpp); 7348 eventType = nextNoWhitespace(xpp); 7349 } 7350 next(xpp); 7351 parseElementClose(res); 7352 return res; 7353 } 7354 7355 protected NutritionOrder.NutritionOrderEnteralFormulaComponent parseNutritionOrderNutritionOrderEnteralFormulaComponent( 7356 XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7357 NutritionOrder.NutritionOrderEnteralFormulaComponent res = new NutritionOrder.NutritionOrderEnteralFormulaComponent(); 7358 parseBackboneAttributes(xpp, res); 7359 next(xpp); 7360 int eventType = nextNoWhitespace(xpp); 7361 while (eventType != XmlPullParser.END_TAG) { 7362 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaType")) { 7363 res.setBaseFormulaType(parseCodeableConcept(xpp)); 7364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaProductName")) { 7365 res.setBaseFormulaProductNameElement(parseString(xpp)); 7366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveType")) { 7367 res.setAdditiveType(parseCodeableConcept(xpp)); 7368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveProductName")) { 7369 res.setAdditiveProductNameElement(parseString(xpp)); 7370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caloricDensity")) { 7371 res.setCaloricDensity(parseSimpleQuantity(xpp)); 7372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("routeofAdministration")) { 7373 res.setRouteofAdministration(parseCodeableConcept(xpp)); 7374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administration")) { 7375 res.getAdministration().add(parseNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent(xpp, owner)); 7376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxVolumeToDeliver")) { 7377 res.setMaxVolumeToDeliver(parseSimpleQuantity(xpp)); 7378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administrationInstruction")) { 7379 res.setAdministrationInstructionElement(parseString(xpp)); 7380 } else if (!parseBackboneContent(eventType, xpp, res)) 7381 unknownContent(xpp); 7382 eventType = nextNoWhitespace(xpp); 7383 } 7384 next(xpp); 7385 parseElementClose(res); 7386 return res; 7387 } 7388 7389 protected NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent parseNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent( 7390 XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7391 NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); 7392 parseBackboneAttributes(xpp, res); 7393 next(xpp); 7394 int eventType = nextNoWhitespace(xpp); 7395 while (eventType != XmlPullParser.END_TAG) { 7396 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 7397 res.setSchedule(parseTiming(xpp)); 7398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 7399 res.setQuantity(parseSimpleQuantity(xpp)); 7400 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 7401 res.setRate(parseType("rate", xpp)); 7402 } else if (!parseBackboneContent(eventType, xpp, res)) 7403 unknownContent(xpp); 7404 eventType = nextNoWhitespace(xpp); 7405 } 7406 next(xpp); 7407 parseElementClose(res); 7408 return res; 7409 } 7410 7411 protected Observation parseObservation(XmlPullParser xpp) 7412 throws XmlPullParserException, IOException, FHIRFormatError { 7413 Observation res = new Observation(); 7414 parseDomainResourceAttributes(xpp, res); 7415 next(xpp); 7416 int eventType = nextNoWhitespace(xpp); 7417 while (eventType != XmlPullParser.END_TAG) { 7418 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7419 res.getIdentifier().add(parseIdentifier(xpp)); 7420 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7421 res.setStatusElement( 7422 parseEnumeration(xpp, Observation.ObservationStatus.NULL, new Observation.ObservationStatusEnumFactory())); 7423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 7424 res.setCategory(parseCodeableConcept(xpp)); 7425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7426 res.setCode(parseCodeableConcept(xpp)); 7427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7428 res.setSubject(parseReference(xpp)); 7429 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 7430 res.setEncounter(parseReference(xpp)); 7431 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 7432 res.setEffective(parseType("effective", xpp)); 7433 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 7434 res.setIssuedElement(parseInstant(xpp)); 7435 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 7436 res.getPerformer().add(parseReference(xpp)); 7437 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 7438 res.setValue(parseType("value", xpp)); 7439 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataAbsentReason")) { 7440 res.setDataAbsentReason(parseCodeableConcept(xpp)); 7441 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpretation")) { 7442 res.setInterpretation(parseCodeableConcept(xpp)); 7443 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 7444 res.setCommentsElement(parseString(xpp)); 7445 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 7446 res.setBodySite(parseCodeableConcept(xpp)); 7447 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 7448 res.setMethod(parseCodeableConcept(xpp)); 7449 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 7450 res.setSpecimen(parseReference(xpp)); 7451 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 7452 res.setDevice(parseReference(xpp)); 7453 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceRange")) { 7454 res.getReferenceRange().add(parseObservationObservationReferenceRangeComponent(xpp, res)); 7455 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 7456 res.getRelated().add(parseObservationObservationRelatedComponent(xpp, res)); 7457 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { 7458 res.getComponent().add(parseObservationObservationComponentComponent(xpp, res)); 7459 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7460 unknownContent(xpp); 7461 eventType = nextNoWhitespace(xpp); 7462 } 7463 next(xpp); 7464 parseElementClose(res); 7465 return res; 7466 } 7467 7468 protected Observation.ObservationReferenceRangeComponent parseObservationObservationReferenceRangeComponent( 7469 XmlPullParser xpp, Observation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7470 Observation.ObservationReferenceRangeComponent res = new Observation.ObservationReferenceRangeComponent(); 7471 parseBackboneAttributes(xpp, res); 7472 next(xpp); 7473 int eventType = nextNoWhitespace(xpp); 7474 while (eventType != XmlPullParser.END_TAG) { 7475 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("low")) { 7476 res.setLow(parseSimpleQuantity(xpp)); 7477 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("high")) { 7478 res.setHigh(parseSimpleQuantity(xpp)); 7479 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaning")) { 7480 res.setMeaning(parseCodeableConcept(xpp)); 7481 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("age")) { 7482 res.setAge(parseRange(xpp)); 7483 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 7484 res.setTextElement(parseString(xpp)); 7485 } else if (!parseBackboneContent(eventType, xpp, res)) 7486 unknownContent(xpp); 7487 eventType = nextNoWhitespace(xpp); 7488 } 7489 next(xpp); 7490 parseElementClose(res); 7491 return res; 7492 } 7493 7494 protected Observation.ObservationRelatedComponent parseObservationObservationRelatedComponent(XmlPullParser xpp, 7495 Observation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7496 Observation.ObservationRelatedComponent res = new Observation.ObservationRelatedComponent(); 7497 parseBackboneAttributes(xpp, res); 7498 next(xpp); 7499 int eventType = nextNoWhitespace(xpp); 7500 while (eventType != XmlPullParser.END_TAG) { 7501 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7502 res.setTypeElement(parseEnumeration(xpp, Observation.ObservationRelationshipType.NULL, 7503 new Observation.ObservationRelationshipTypeEnumFactory())); 7504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7505 res.setTarget(parseReference(xpp)); 7506 } else if (!parseBackboneContent(eventType, xpp, res)) 7507 unknownContent(xpp); 7508 eventType = nextNoWhitespace(xpp); 7509 } 7510 next(xpp); 7511 parseElementClose(res); 7512 return res; 7513 } 7514 7515 protected Observation.ObservationComponentComponent parseObservationObservationComponentComponent(XmlPullParser xpp, 7516 Observation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7517 Observation.ObservationComponentComponent res = new Observation.ObservationComponentComponent(); 7518 parseBackboneAttributes(xpp, res); 7519 next(xpp); 7520 int eventType = nextNoWhitespace(xpp); 7521 while (eventType != XmlPullParser.END_TAG) { 7522 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7523 res.setCode(parseCodeableConcept(xpp)); 7524 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 7525 res.setValue(parseType("value", xpp)); 7526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataAbsentReason")) { 7527 res.setDataAbsentReason(parseCodeableConcept(xpp)); 7528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceRange")) { 7529 res.getReferenceRange().add(parseObservationObservationReferenceRangeComponent(xpp, owner)); 7530 } else if (!parseBackboneContent(eventType, xpp, res)) 7531 unknownContent(xpp); 7532 eventType = nextNoWhitespace(xpp); 7533 } 7534 next(xpp); 7535 parseElementClose(res); 7536 return res; 7537 } 7538 7539 protected OperationDefinition parseOperationDefinition(XmlPullParser xpp) 7540 throws XmlPullParserException, IOException, FHIRFormatError { 7541 OperationDefinition res = new OperationDefinition(); 7542 parseDomainResourceAttributes(xpp, res); 7543 next(xpp); 7544 int eventType = nextNoWhitespace(xpp); 7545 while (eventType != XmlPullParser.END_TAG) { 7546 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 7547 res.setUrlElement(parseUri(xpp)); 7548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 7549 res.setVersionElement(parseString(xpp)); 7550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7551 res.setNameElement(parseString(xpp)); 7552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7553 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 7554 new Enumerations.ConformanceResourceStatusEnumFactory())); 7555 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 7556 res.setKindElement(parseEnumeration(xpp, OperationDefinition.OperationKind.NULL, 7557 new OperationDefinition.OperationKindEnumFactory())); 7558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 7559 res.setExperimentalElement(parseBoolean(xpp)); 7560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 7561 res.setPublisherElement(parseString(xpp)); 7562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7563 res.getContact().add(parseOperationDefinitionOperationDefinitionContactComponent(xpp, res)); 7564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7565 res.setDateElement(parseDateTime(xpp)); 7566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 7567 res.setDescriptionElement(parseString(xpp)); 7568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 7569 res.setRequirementsElement(parseString(xpp)); 7570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("idempotent")) { 7571 res.setIdempotentElement(parseBoolean(xpp)); 7572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7573 res.setCodeElement(parseCode(xpp)); 7574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 7575 res.setNotesElement(parseString(xpp)); 7576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 7577 res.setBase(parseReference(xpp)); 7578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 7579 res.setSystemElement(parseBoolean(xpp)); 7580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7581 res.getType().add(parseCode(xpp)); 7582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 7583 res.setInstanceElement(parseBoolean(xpp)); 7584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 7585 res.getParameter().add(parseOperationDefinitionOperationDefinitionParameterComponent(xpp, res)); 7586 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7587 unknownContent(xpp); 7588 eventType = nextNoWhitespace(xpp); 7589 } 7590 next(xpp); 7591 parseElementClose(res); 7592 return res; 7593 } 7594 7595 protected OperationDefinition.OperationDefinitionContactComponent parseOperationDefinitionOperationDefinitionContactComponent( 7596 XmlPullParser xpp, OperationDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 7597 OperationDefinition.OperationDefinitionContactComponent res = new OperationDefinition.OperationDefinitionContactComponent(); 7598 parseBackboneAttributes(xpp, res); 7599 next(xpp); 7600 int eventType = nextNoWhitespace(xpp); 7601 while (eventType != XmlPullParser.END_TAG) { 7602 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7603 res.setNameElement(parseString(xpp)); 7604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7605 res.getTelecom().add(parseContactPoint(xpp)); 7606 } else if (!parseBackboneContent(eventType, xpp, res)) 7607 unknownContent(xpp); 7608 eventType = nextNoWhitespace(xpp); 7609 } 7610 next(xpp); 7611 parseElementClose(res); 7612 return res; 7613 } 7614 7615 protected OperationDefinition.OperationDefinitionParameterComponent parseOperationDefinitionOperationDefinitionParameterComponent( 7616 XmlPullParser xpp, OperationDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 7617 OperationDefinition.OperationDefinitionParameterComponent res = new OperationDefinition.OperationDefinitionParameterComponent(); 7618 parseBackboneAttributes(xpp, res); 7619 next(xpp); 7620 int eventType = nextNoWhitespace(xpp); 7621 while (eventType != XmlPullParser.END_TAG) { 7622 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7623 res.setNameElement(parseCode(xpp)); 7624 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 7625 res.setUseElement(parseEnumeration(xpp, OperationDefinition.OperationParameterUse.NULL, 7626 new OperationDefinition.OperationParameterUseEnumFactory())); 7627 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 7628 res.setMinElement(parseInteger(xpp)); 7629 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 7630 res.setMaxElement(parseString(xpp)); 7631 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 7632 res.setDocumentationElement(parseString(xpp)); 7633 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7634 res.setTypeElement(parseCode(xpp)); 7635 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 7636 res.setProfile(parseReference(xpp)); 7637 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binding")) { 7638 res.setBinding(parseOperationDefinitionOperationDefinitionParameterBindingComponent(xpp, owner)); 7639 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 7640 res.getPart().add(parseOperationDefinitionOperationDefinitionParameterComponent(xpp, owner)); 7641 } else if (!parseBackboneContent(eventType, xpp, res)) 7642 unknownContent(xpp); 7643 eventType = nextNoWhitespace(xpp); 7644 } 7645 next(xpp); 7646 parseElementClose(res); 7647 return res; 7648 } 7649 7650 protected OperationDefinition.OperationDefinitionParameterBindingComponent parseOperationDefinitionOperationDefinitionParameterBindingComponent( 7651 XmlPullParser xpp, OperationDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 7652 OperationDefinition.OperationDefinitionParameterBindingComponent res = new OperationDefinition.OperationDefinitionParameterBindingComponent(); 7653 parseBackboneAttributes(xpp, res); 7654 next(xpp); 7655 int eventType = nextNoWhitespace(xpp); 7656 while (eventType != XmlPullParser.END_TAG) { 7657 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 7658 res.setStrengthElement( 7659 parseEnumeration(xpp, Enumerations.BindingStrength.NULL, new Enumerations.BindingStrengthEnumFactory())); 7660 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "valueSet")) { 7661 res.setValueSet(parseType("valueSet", xpp)); 7662 } else if (!parseBackboneContent(eventType, xpp, res)) 7663 unknownContent(xpp); 7664 eventType = nextNoWhitespace(xpp); 7665 } 7666 next(xpp); 7667 parseElementClose(res); 7668 return res; 7669 } 7670 7671 protected OperationOutcome parseOperationOutcome(XmlPullParser xpp) 7672 throws XmlPullParserException, IOException, FHIRFormatError { 7673 OperationOutcome res = new OperationOutcome(); 7674 parseDomainResourceAttributes(xpp, res); 7675 next(xpp); 7676 int eventType = nextNoWhitespace(xpp); 7677 while (eventType != XmlPullParser.END_TAG) { 7678 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issue")) { 7679 res.getIssue().add(parseOperationOutcomeOperationOutcomeIssueComponent(xpp, res)); 7680 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7681 unknownContent(xpp); 7682 eventType = nextNoWhitespace(xpp); 7683 } 7684 next(xpp); 7685 parseElementClose(res); 7686 return res; 7687 } 7688 7689 protected OperationOutcome.OperationOutcomeIssueComponent parseOperationOutcomeOperationOutcomeIssueComponent( 7690 XmlPullParser xpp, OperationOutcome owner) throws XmlPullParserException, IOException, FHIRFormatError { 7691 OperationOutcome.OperationOutcomeIssueComponent res = new OperationOutcome.OperationOutcomeIssueComponent(); 7692 parseBackboneAttributes(xpp, res); 7693 next(xpp); 7694 int eventType = nextNoWhitespace(xpp); 7695 while (eventType != XmlPullParser.END_TAG) { 7696 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 7697 res.setSeverityElement(parseEnumeration(xpp, OperationOutcome.IssueSeverity.NULL, 7698 new OperationOutcome.IssueSeverityEnumFactory())); 7699 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7700 res.setCodeElement( 7701 parseEnumeration(xpp, OperationOutcome.IssueType.NULL, new OperationOutcome.IssueTypeEnumFactory())); 7702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("details")) { 7703 res.setDetails(parseCodeableConcept(xpp)); 7704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnostics")) { 7705 res.setDiagnosticsElement(parseString(xpp)); 7706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 7707 res.getLocation().add(parseString(xpp)); 7708 } else if (!parseBackboneContent(eventType, xpp, res)) 7709 unknownContent(xpp); 7710 eventType = nextNoWhitespace(xpp); 7711 } 7712 next(xpp); 7713 parseElementClose(res); 7714 return res; 7715 } 7716 7717 protected Order parseOrder(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7718 Order res = new Order(); 7719 parseDomainResourceAttributes(xpp, res); 7720 next(xpp); 7721 int eventType = nextNoWhitespace(xpp); 7722 while (eventType != XmlPullParser.END_TAG) { 7723 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7724 res.getIdentifier().add(parseIdentifier(xpp)); 7725 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7726 res.setDateElement(parseDateTime(xpp)); 7727 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7728 res.setSubject(parseReference(xpp)); 7729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 7730 res.setSource(parseReference(xpp)); 7731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7732 res.setTarget(parseReference(xpp)); 7733 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 7734 res.setReason(parseType("reason", xpp)); 7735 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 7736 res.setWhen(parseOrderOrderWhenComponent(xpp, res)); 7737 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 7738 res.getDetail().add(parseReference(xpp)); 7739 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7740 unknownContent(xpp); 7741 eventType = nextNoWhitespace(xpp); 7742 } 7743 next(xpp); 7744 parseElementClose(res); 7745 return res; 7746 } 7747 7748 protected Order.OrderWhenComponent parseOrderOrderWhenComponent(XmlPullParser xpp, Order owner) 7749 throws XmlPullParserException, IOException, FHIRFormatError { 7750 Order.OrderWhenComponent res = new Order.OrderWhenComponent(); 7751 parseBackboneAttributes(xpp, res); 7752 next(xpp); 7753 int eventType = nextNoWhitespace(xpp); 7754 while (eventType != XmlPullParser.END_TAG) { 7755 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7756 res.setCode(parseCodeableConcept(xpp)); 7757 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 7758 res.setSchedule(parseTiming(xpp)); 7759 } else if (!parseBackboneContent(eventType, xpp, res)) 7760 unknownContent(xpp); 7761 eventType = nextNoWhitespace(xpp); 7762 } 7763 next(xpp); 7764 parseElementClose(res); 7765 return res; 7766 } 7767 7768 protected OrderResponse parseOrderResponse(XmlPullParser xpp) 7769 throws XmlPullParserException, IOException, FHIRFormatError { 7770 OrderResponse res = new OrderResponse(); 7771 parseDomainResourceAttributes(xpp, res); 7772 next(xpp); 7773 int eventType = nextNoWhitespace(xpp); 7774 while (eventType != XmlPullParser.END_TAG) { 7775 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7776 res.getIdentifier().add(parseIdentifier(xpp)); 7777 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 7778 res.setRequest(parseReference(xpp)); 7779 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7780 res.setDateElement(parseDateTime(xpp)); 7781 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("who")) { 7782 res.setWho(parseReference(xpp)); 7783 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderStatus")) { 7784 res.setOrderStatusElement( 7785 parseEnumeration(xpp, OrderResponse.OrderStatus.NULL, new OrderResponse.OrderStatusEnumFactory())); 7786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 7787 res.setDescriptionElement(parseString(xpp)); 7788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fulfillment")) { 7789 res.getFulfillment().add(parseReference(xpp)); 7790 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7791 unknownContent(xpp); 7792 eventType = nextNoWhitespace(xpp); 7793 } 7794 next(xpp); 7795 parseElementClose(res); 7796 return res; 7797 } 7798 7799 protected Organization parseOrganization(XmlPullParser xpp) 7800 throws XmlPullParserException, IOException, FHIRFormatError { 7801 Organization res = new Organization(); 7802 parseDomainResourceAttributes(xpp, res); 7803 next(xpp); 7804 int eventType = nextNoWhitespace(xpp); 7805 while (eventType != XmlPullParser.END_TAG) { 7806 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7807 res.getIdentifier().add(parseIdentifier(xpp)); 7808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 7809 res.setActiveElement(parseBoolean(xpp)); 7810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7811 res.setType(parseCodeableConcept(xpp)); 7812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7813 res.setNameElement(parseString(xpp)); 7814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7815 res.getTelecom().add(parseContactPoint(xpp)); 7816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7817 res.getAddress().add(parseAddress(xpp)); 7818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 7819 res.setPartOf(parseReference(xpp)); 7820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7821 res.getContact().add(parseOrganizationOrganizationContactComponent(xpp, res)); 7822 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7823 unknownContent(xpp); 7824 eventType = nextNoWhitespace(xpp); 7825 } 7826 next(xpp); 7827 parseElementClose(res); 7828 return res; 7829 } 7830 7831 protected Organization.OrganizationContactComponent parseOrganizationOrganizationContactComponent(XmlPullParser xpp, 7832 Organization owner) throws XmlPullParserException, IOException, FHIRFormatError { 7833 Organization.OrganizationContactComponent res = new Organization.OrganizationContactComponent(); 7834 parseBackboneAttributes(xpp, res); 7835 next(xpp); 7836 int eventType = nextNoWhitespace(xpp); 7837 while (eventType != XmlPullParser.END_TAG) { 7838 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { 7839 res.setPurpose(parseCodeableConcept(xpp)); 7840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7841 res.setName(parseHumanName(xpp)); 7842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7843 res.getTelecom().add(parseContactPoint(xpp)); 7844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7845 res.setAddress(parseAddress(xpp)); 7846 } else if (!parseBackboneContent(eventType, xpp, res)) 7847 unknownContent(xpp); 7848 eventType = nextNoWhitespace(xpp); 7849 } 7850 next(xpp); 7851 parseElementClose(res); 7852 return res; 7853 } 7854 7855 protected Patient parsePatient(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7856 Patient res = new Patient(); 7857 parseDomainResourceAttributes(xpp, res); 7858 next(xpp); 7859 int eventType = nextNoWhitespace(xpp); 7860 while (eventType != XmlPullParser.END_TAG) { 7861 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7862 res.getIdentifier().add(parseIdentifier(xpp)); 7863 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 7864 res.setActiveElement(parseBoolean(xpp)); 7865 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7866 res.getName().add(parseHumanName(xpp)); 7867 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7868 res.getTelecom().add(parseContactPoint(xpp)); 7869 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 7870 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, 7871 new Enumerations.AdministrativeGenderEnumFactory())); 7872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 7873 res.setBirthDateElement(parseDate(xpp)); 7874 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { 7875 res.setDeceased(parseType("deceased", xpp)); 7876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7877 res.getAddress().add(parseAddress(xpp)); 7878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maritalStatus")) { 7879 res.setMaritalStatus(parseCodeableConcept(xpp)); 7880 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "multipleBirth")) { 7881 res.setMultipleBirth(parseType("multipleBirth", xpp)); 7882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 7883 res.getPhoto().add(parseAttachment(xpp)); 7884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7885 res.getContact().add(parsePatientContactComponent(xpp, res)); 7886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("animal")) { 7887 res.setAnimal(parsePatientAnimalComponent(xpp, res)); 7888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 7889 res.getCommunication().add(parsePatientPatientCommunicationComponent(xpp, res)); 7890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careProvider")) { 7891 res.getCareProvider().add(parseReference(xpp)); 7892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 7893 res.setManagingOrganization(parseReference(xpp)); 7894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 7895 res.getLink().add(parsePatientPatientLinkComponent(xpp, res)); 7896 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7897 unknownContent(xpp); 7898 eventType = nextNoWhitespace(xpp); 7899 } 7900 next(xpp); 7901 parseElementClose(res); 7902 return res; 7903 } 7904 7905 protected Patient.ContactComponent parsePatientContactComponent(XmlPullParser xpp, Patient owner) 7906 throws XmlPullParserException, IOException, FHIRFormatError { 7907 Patient.ContactComponent res = new Patient.ContactComponent(); 7908 parseBackboneAttributes(xpp, res); 7909 next(xpp); 7910 int eventType = nextNoWhitespace(xpp); 7911 while (eventType != XmlPullParser.END_TAG) { 7912 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 7913 res.getRelationship().add(parseCodeableConcept(xpp)); 7914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7915 res.setName(parseHumanName(xpp)); 7916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7917 res.getTelecom().add(parseContactPoint(xpp)); 7918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7919 res.setAddress(parseAddress(xpp)); 7920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 7921 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, 7922 new Enumerations.AdministrativeGenderEnumFactory())); 7923 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 7924 res.setOrganization(parseReference(xpp)); 7925 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7926 res.setPeriod(parsePeriod(xpp)); 7927 } else if (!parseBackboneContent(eventType, xpp, res)) 7928 unknownContent(xpp); 7929 eventType = nextNoWhitespace(xpp); 7930 } 7931 next(xpp); 7932 parseElementClose(res); 7933 return res; 7934 } 7935 7936 protected Patient.AnimalComponent parsePatientAnimalComponent(XmlPullParser xpp, Patient owner) 7937 throws XmlPullParserException, IOException, FHIRFormatError { 7938 Patient.AnimalComponent res = new Patient.AnimalComponent(); 7939 parseBackboneAttributes(xpp, res); 7940 next(xpp); 7941 int eventType = nextNoWhitespace(xpp); 7942 while (eventType != XmlPullParser.END_TAG) { 7943 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("species")) { 7944 res.setSpecies(parseCodeableConcept(xpp)); 7945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("breed")) { 7946 res.setBreed(parseCodeableConcept(xpp)); 7947 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("genderStatus")) { 7948 res.setGenderStatus(parseCodeableConcept(xpp)); 7949 } else if (!parseBackboneContent(eventType, xpp, res)) 7950 unknownContent(xpp); 7951 eventType = nextNoWhitespace(xpp); 7952 } 7953 next(xpp); 7954 parseElementClose(res); 7955 return res; 7956 } 7957 7958 protected Patient.PatientCommunicationComponent parsePatientPatientCommunicationComponent(XmlPullParser xpp, 7959 Patient owner) throws XmlPullParserException, IOException, FHIRFormatError { 7960 Patient.PatientCommunicationComponent res = new Patient.PatientCommunicationComponent(); 7961 parseBackboneAttributes(xpp, res); 7962 next(xpp); 7963 int eventType = nextNoWhitespace(xpp); 7964 while (eventType != XmlPullParser.END_TAG) { 7965 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 7966 res.setLanguage(parseCodeableConcept(xpp)); 7967 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 7968 res.setPreferredElement(parseBoolean(xpp)); 7969 } else if (!parseBackboneContent(eventType, xpp, res)) 7970 unknownContent(xpp); 7971 eventType = nextNoWhitespace(xpp); 7972 } 7973 next(xpp); 7974 parseElementClose(res); 7975 return res; 7976 } 7977 7978 protected Patient.PatientLinkComponent parsePatientPatientLinkComponent(XmlPullParser xpp, Patient owner) 7979 throws XmlPullParserException, IOException, FHIRFormatError { 7980 Patient.PatientLinkComponent res = new Patient.PatientLinkComponent(); 7981 parseBackboneAttributes(xpp, res); 7982 next(xpp); 7983 int eventType = nextNoWhitespace(xpp); 7984 while (eventType != XmlPullParser.END_TAG) { 7985 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("other")) { 7986 res.setOther(parseReference(xpp)); 7987 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7988 res.setTypeElement(parseEnumeration(xpp, Patient.LinkType.NULL, new Patient.LinkTypeEnumFactory())); 7989 } else if (!parseBackboneContent(eventType, xpp, res)) 7990 unknownContent(xpp); 7991 eventType = nextNoWhitespace(xpp); 7992 } 7993 next(xpp); 7994 parseElementClose(res); 7995 return res; 7996 } 7997 7998 protected PaymentNotice parsePaymentNotice(XmlPullParser xpp) 7999 throws XmlPullParserException, IOException, FHIRFormatError { 8000 PaymentNotice res = new PaymentNotice(); 8001 parseDomainResourceAttributes(xpp, res); 8002 next(xpp); 8003 int eventType = nextNoWhitespace(xpp); 8004 while (eventType != XmlPullParser.END_TAG) { 8005 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8006 res.getIdentifier().add(parseIdentifier(xpp)); 8007 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 8008 res.setRuleset(parseCoding(xpp)); 8009 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 8010 res.setOriginalRuleset(parseCoding(xpp)); 8011 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8012 res.setCreatedElement(parseDateTime(xpp)); 8013 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8014 res.setTarget(parseReference(xpp)); 8015 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 8016 res.setProvider(parseReference(xpp)); 8017 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 8018 res.setOrganization(parseReference(xpp)); 8019 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8020 res.setRequest(parseReference(xpp)); 8021 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 8022 res.setResponse(parseReference(xpp)); 8023 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentStatus")) { 8024 res.setPaymentStatus(parseCoding(xpp)); 8025 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8026 unknownContent(xpp); 8027 eventType = nextNoWhitespace(xpp); 8028 } 8029 next(xpp); 8030 parseElementClose(res); 8031 return res; 8032 } 8033 8034 protected PaymentReconciliation parsePaymentReconciliation(XmlPullParser xpp) 8035 throws XmlPullParserException, IOException, FHIRFormatError { 8036 PaymentReconciliation res = new PaymentReconciliation(); 8037 parseDomainResourceAttributes(xpp, res); 8038 next(xpp); 8039 int eventType = nextNoWhitespace(xpp); 8040 while (eventType != XmlPullParser.END_TAG) { 8041 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8042 res.getIdentifier().add(parseIdentifier(xpp)); 8043 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8044 res.setRequest(parseReference(xpp)); 8045 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 8046 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, 8047 new Enumerations.RemittanceOutcomeEnumFactory())); 8048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 8049 res.setDispositionElement(parseString(xpp)); 8050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 8051 res.setRuleset(parseCoding(xpp)); 8052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 8053 res.setOriginalRuleset(parseCoding(xpp)); 8054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8055 res.setCreatedElement(parseDateTime(xpp)); 8056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8057 res.setPeriod(parsePeriod(xpp)); 8058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 8059 res.setOrganization(parseReference(xpp)); 8060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 8061 res.setRequestProvider(parseReference(xpp)); 8062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 8063 res.setRequestOrganization(parseReference(xpp)); 8064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 8065 res.getDetail().add(parsePaymentReconciliationDetailsComponent(xpp, res)); 8066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 8067 res.setForm(parseCoding(xpp)); 8068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 8069 res.setTotal(parseMoney(xpp)); 8070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 8071 res.getNote().add(parsePaymentReconciliationNotesComponent(xpp, res)); 8072 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8073 unknownContent(xpp); 8074 eventType = nextNoWhitespace(xpp); 8075 } 8076 next(xpp); 8077 parseElementClose(res); 8078 return res; 8079 } 8080 8081 protected PaymentReconciliation.DetailsComponent parsePaymentReconciliationDetailsComponent(XmlPullParser xpp, 8082 PaymentReconciliation owner) throws XmlPullParserException, IOException, FHIRFormatError { 8083 PaymentReconciliation.DetailsComponent res = new PaymentReconciliation.DetailsComponent(); 8084 parseBackboneAttributes(xpp, res); 8085 next(xpp); 8086 int eventType = nextNoWhitespace(xpp); 8087 while (eventType != XmlPullParser.END_TAG) { 8088 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8089 res.setType(parseCoding(xpp)); 8090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8091 res.setRequest(parseReference(xpp)); 8092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responce")) { 8093 res.setResponce(parseReference(xpp)); 8094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("submitter")) { 8095 res.setSubmitter(parseReference(xpp)); 8096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 8097 res.setPayee(parseReference(xpp)); 8098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8099 res.setDateElement(parseDate(xpp)); 8100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 8101 res.setAmount(parseMoney(xpp)); 8102 } else if (!parseBackboneContent(eventType, xpp, res)) 8103 unknownContent(xpp); 8104 eventType = nextNoWhitespace(xpp); 8105 } 8106 next(xpp); 8107 parseElementClose(res); 8108 return res; 8109 } 8110 8111 protected PaymentReconciliation.NotesComponent parsePaymentReconciliationNotesComponent(XmlPullParser xpp, 8112 PaymentReconciliation owner) throws XmlPullParserException, IOException, FHIRFormatError { 8113 PaymentReconciliation.NotesComponent res = new PaymentReconciliation.NotesComponent(); 8114 parseBackboneAttributes(xpp, res); 8115 next(xpp); 8116 int eventType = nextNoWhitespace(xpp); 8117 while (eventType != XmlPullParser.END_TAG) { 8118 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8119 res.setType(parseCoding(xpp)); 8120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8121 res.setTextElement(parseString(xpp)); 8122 } else if (!parseBackboneContent(eventType, xpp, res)) 8123 unknownContent(xpp); 8124 eventType = nextNoWhitespace(xpp); 8125 } 8126 next(xpp); 8127 parseElementClose(res); 8128 return res; 8129 } 8130 8131 protected Person parsePerson(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8132 Person res = new Person(); 8133 parseDomainResourceAttributes(xpp, res); 8134 next(xpp); 8135 int eventType = nextNoWhitespace(xpp); 8136 while (eventType != XmlPullParser.END_TAG) { 8137 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8138 res.getIdentifier().add(parseIdentifier(xpp)); 8139 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8140 res.getName().add(parseHumanName(xpp)); 8141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8142 res.getTelecom().add(parseContactPoint(xpp)); 8143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 8144 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, 8145 new Enumerations.AdministrativeGenderEnumFactory())); 8146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 8147 res.setBirthDateElement(parseDate(xpp)); 8148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 8149 res.getAddress().add(parseAddress(xpp)); 8150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 8151 res.setPhoto(parseAttachment(xpp)); 8152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 8153 res.setManagingOrganization(parseReference(xpp)); 8154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 8155 res.setActiveElement(parseBoolean(xpp)); 8156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 8157 res.getLink().add(parsePersonPersonLinkComponent(xpp, res)); 8158 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8159 unknownContent(xpp); 8160 eventType = nextNoWhitespace(xpp); 8161 } 8162 next(xpp); 8163 parseElementClose(res); 8164 return res; 8165 } 8166 8167 protected Person.PersonLinkComponent parsePersonPersonLinkComponent(XmlPullParser xpp, Person owner) 8168 throws XmlPullParserException, IOException, FHIRFormatError { 8169 Person.PersonLinkComponent res = new Person.PersonLinkComponent(); 8170 parseBackboneAttributes(xpp, res); 8171 next(xpp); 8172 int eventType = nextNoWhitespace(xpp); 8173 while (eventType != XmlPullParser.END_TAG) { 8174 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8175 res.setTarget(parseReference(xpp)); 8176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assurance")) { 8177 res.setAssuranceElement( 8178 parseEnumeration(xpp, Person.IdentityAssuranceLevel.NULL, new Person.IdentityAssuranceLevelEnumFactory())); 8179 } else if (!parseBackboneContent(eventType, xpp, res)) 8180 unknownContent(xpp); 8181 eventType = nextNoWhitespace(xpp); 8182 } 8183 next(xpp); 8184 parseElementClose(res); 8185 return res; 8186 } 8187 8188 protected Practitioner parsePractitioner(XmlPullParser xpp) 8189 throws XmlPullParserException, IOException, FHIRFormatError { 8190 Practitioner res = new Practitioner(); 8191 parseDomainResourceAttributes(xpp, res); 8192 next(xpp); 8193 int eventType = nextNoWhitespace(xpp); 8194 while (eventType != XmlPullParser.END_TAG) { 8195 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8196 res.getIdentifier().add(parseIdentifier(xpp)); 8197 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 8198 res.setActiveElement(parseBoolean(xpp)); 8199 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8200 res.setName(parseHumanName(xpp)); 8201 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8202 res.getTelecom().add(parseContactPoint(xpp)); 8203 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 8204 res.getAddress().add(parseAddress(xpp)); 8205 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 8206 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, 8207 new Enumerations.AdministrativeGenderEnumFactory())); 8208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 8209 res.setBirthDateElement(parseDate(xpp)); 8210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 8211 res.getPhoto().add(parseAttachment(xpp)); 8212 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practitionerRole")) { 8213 res.getPractitionerRole().add(parsePractitionerPractitionerPractitionerRoleComponent(xpp, res)); 8214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { 8215 res.getQualification().add(parsePractitionerPractitionerQualificationComponent(xpp, res)); 8216 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 8217 res.getCommunication().add(parseCodeableConcept(xpp)); 8218 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8219 unknownContent(xpp); 8220 eventType = nextNoWhitespace(xpp); 8221 } 8222 next(xpp); 8223 parseElementClose(res); 8224 return res; 8225 } 8226 8227 protected Practitioner.PractitionerPractitionerRoleComponent parsePractitionerPractitionerPractitionerRoleComponent( 8228 XmlPullParser xpp, Practitioner owner) throws XmlPullParserException, IOException, FHIRFormatError { 8229 Practitioner.PractitionerPractitionerRoleComponent res = new Practitioner.PractitionerPractitionerRoleComponent(); 8230 parseBackboneAttributes(xpp, res); 8231 next(xpp); 8232 int eventType = nextNoWhitespace(xpp); 8233 while (eventType != XmlPullParser.END_TAG) { 8234 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 8235 res.setManagingOrganization(parseReference(xpp)); 8236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8237 res.setRole(parseCodeableConcept(xpp)); 8238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 8239 res.getSpecialty().add(parseCodeableConcept(xpp)); 8240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8241 res.setPeriod(parsePeriod(xpp)); 8242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 8243 res.getLocation().add(parseReference(xpp)); 8244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("healthcareService")) { 8245 res.getHealthcareService().add(parseReference(xpp)); 8246 } else if (!parseBackboneContent(eventType, xpp, res)) 8247 unknownContent(xpp); 8248 eventType = nextNoWhitespace(xpp); 8249 } 8250 next(xpp); 8251 parseElementClose(res); 8252 return res; 8253 } 8254 8255 protected Practitioner.PractitionerQualificationComponent parsePractitionerPractitionerQualificationComponent( 8256 XmlPullParser xpp, Practitioner owner) throws XmlPullParserException, IOException, FHIRFormatError { 8257 Practitioner.PractitionerQualificationComponent res = new Practitioner.PractitionerQualificationComponent(); 8258 parseBackboneAttributes(xpp, res); 8259 next(xpp); 8260 int eventType = nextNoWhitespace(xpp); 8261 while (eventType != XmlPullParser.END_TAG) { 8262 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8263 res.getIdentifier().add(parseIdentifier(xpp)); 8264 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8265 res.setCode(parseCodeableConcept(xpp)); 8266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8267 res.setPeriod(parsePeriod(xpp)); 8268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 8269 res.setIssuer(parseReference(xpp)); 8270 } else if (!parseBackboneContent(eventType, xpp, res)) 8271 unknownContent(xpp); 8272 eventType = nextNoWhitespace(xpp); 8273 } 8274 next(xpp); 8275 parseElementClose(res); 8276 return res; 8277 } 8278 8279 protected Procedure parseProcedure(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8280 Procedure res = new Procedure(); 8281 parseDomainResourceAttributes(xpp, res); 8282 next(xpp); 8283 int eventType = nextNoWhitespace(xpp); 8284 while (eventType != XmlPullParser.END_TAG) { 8285 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8286 res.getIdentifier().add(parseIdentifier(xpp)); 8287 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8288 res.setSubject(parseReference(xpp)); 8289 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8290 res.setStatusElement( 8291 parseEnumeration(xpp, Procedure.ProcedureStatus.NULL, new Procedure.ProcedureStatusEnumFactory())); 8292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 8293 res.setCategory(parseCodeableConcept(xpp)); 8294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8295 res.setCode(parseCodeableConcept(xpp)); 8296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notPerformed")) { 8297 res.setNotPerformedElement(parseBoolean(xpp)); 8298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotPerformed")) { 8299 res.getReasonNotPerformed().add(parseCodeableConcept(xpp)); 8300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 8301 res.getBodySite().add(parseCodeableConcept(xpp)); 8302 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 8303 res.setReason(parseType("reason", xpp)); 8304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 8305 res.getPerformer().add(parseProcedureProcedurePerformerComponent(xpp, res)); 8306 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "performed")) { 8307 res.setPerformed(parseType("performed", xpp)); 8308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8309 res.setEncounter(parseReference(xpp)); 8310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 8311 res.setLocation(parseReference(xpp)); 8312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 8313 res.setOutcome(parseCodeableConcept(xpp)); 8314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("report")) { 8315 res.getReport().add(parseReference(xpp)); 8316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("complication")) { 8317 res.getComplication().add(parseCodeableConcept(xpp)); 8318 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("followUp")) { 8319 res.getFollowUp().add(parseCodeableConcept(xpp)); 8320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8321 res.setRequest(parseReference(xpp)); 8322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 8323 res.getNotes().add(parseAnnotation(xpp)); 8324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focalDevice")) { 8325 res.getFocalDevice().add(parseProcedureProcedureFocalDeviceComponent(xpp, res)); 8326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("used")) { 8327 res.getUsed().add(parseReference(xpp)); 8328 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8329 unknownContent(xpp); 8330 eventType = nextNoWhitespace(xpp); 8331 } 8332 next(xpp); 8333 parseElementClose(res); 8334 return res; 8335 } 8336 8337 protected Procedure.ProcedurePerformerComponent parseProcedureProcedurePerformerComponent(XmlPullParser xpp, 8338 Procedure owner) throws XmlPullParserException, IOException, FHIRFormatError { 8339 Procedure.ProcedurePerformerComponent res = new Procedure.ProcedurePerformerComponent(); 8340 parseBackboneAttributes(xpp, res); 8341 next(xpp); 8342 int eventType = nextNoWhitespace(xpp); 8343 while (eventType != XmlPullParser.END_TAG) { 8344 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 8345 res.setActor(parseReference(xpp)); 8346 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8347 res.setRole(parseCodeableConcept(xpp)); 8348 } else if (!parseBackboneContent(eventType, xpp, res)) 8349 unknownContent(xpp); 8350 eventType = nextNoWhitespace(xpp); 8351 } 8352 next(xpp); 8353 parseElementClose(res); 8354 return res; 8355 } 8356 8357 protected Procedure.ProcedureFocalDeviceComponent parseProcedureProcedureFocalDeviceComponent(XmlPullParser xpp, 8358 Procedure owner) throws XmlPullParserException, IOException, FHIRFormatError { 8359 Procedure.ProcedureFocalDeviceComponent res = new Procedure.ProcedureFocalDeviceComponent(); 8360 parseBackboneAttributes(xpp, res); 8361 next(xpp); 8362 int eventType = nextNoWhitespace(xpp); 8363 while (eventType != XmlPullParser.END_TAG) { 8364 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 8365 res.setAction(parseCodeableConcept(xpp)); 8366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manipulated")) { 8367 res.setManipulated(parseReference(xpp)); 8368 } else if (!parseBackboneContent(eventType, xpp, res)) 8369 unknownContent(xpp); 8370 eventType = nextNoWhitespace(xpp); 8371 } 8372 next(xpp); 8373 parseElementClose(res); 8374 return res; 8375 } 8376 8377 protected ProcedureRequest parseProcedureRequest(XmlPullParser xpp) 8378 throws XmlPullParserException, IOException, FHIRFormatError { 8379 ProcedureRequest res = new ProcedureRequest(); 8380 parseDomainResourceAttributes(xpp, res); 8381 next(xpp); 8382 int eventType = nextNoWhitespace(xpp); 8383 while (eventType != XmlPullParser.END_TAG) { 8384 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8385 res.getIdentifier().add(parseIdentifier(xpp)); 8386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8387 res.setSubject(parseReference(xpp)); 8388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8389 res.setCode(parseCodeableConcept(xpp)); 8390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 8391 res.getBodySite().add(parseCodeableConcept(xpp)); 8392 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 8393 res.setReason(parseType("reason", xpp)); 8394 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "scheduled")) { 8395 res.setScheduled(parseType("scheduled", xpp)); 8396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8397 res.setEncounter(parseReference(xpp)); 8398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 8399 res.setPerformer(parseReference(xpp)); 8400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8401 res.setStatusElement(parseEnumeration(xpp, ProcedureRequest.ProcedureRequestStatus.NULL, 8402 new ProcedureRequest.ProcedureRequestStatusEnumFactory())); 8403 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 8404 res.getNotes().add(parseAnnotation(xpp)); 8405 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 8406 res.setAsNeeded(parseType("asNeeded", xpp)); 8407 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedOn")) { 8408 res.setOrderedOnElement(parseDateTime(xpp)); 8409 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { 8410 res.setOrderer(parseReference(xpp)); 8411 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 8412 res.setPriorityElement(parseEnumeration(xpp, ProcedureRequest.ProcedureRequestPriority.NULL, 8413 new ProcedureRequest.ProcedureRequestPriorityEnumFactory())); 8414 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8415 unknownContent(xpp); 8416 eventType = nextNoWhitespace(xpp); 8417 } 8418 next(xpp); 8419 parseElementClose(res); 8420 return res; 8421 } 8422 8423 protected ProcessRequest parseProcessRequest(XmlPullParser xpp) 8424 throws XmlPullParserException, IOException, FHIRFormatError { 8425 ProcessRequest res = new ProcessRequest(); 8426 parseDomainResourceAttributes(xpp, res); 8427 next(xpp); 8428 int eventType = nextNoWhitespace(xpp); 8429 while (eventType != XmlPullParser.END_TAG) { 8430 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 8431 res.setActionElement( 8432 parseEnumeration(xpp, ProcessRequest.ActionList.NULL, new ProcessRequest.ActionListEnumFactory())); 8433 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8434 res.getIdentifier().add(parseIdentifier(xpp)); 8435 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 8436 res.setRuleset(parseCoding(xpp)); 8437 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 8438 res.setOriginalRuleset(parseCoding(xpp)); 8439 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8440 res.setCreatedElement(parseDateTime(xpp)); 8441 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8442 res.setTarget(parseReference(xpp)); 8443 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 8444 res.setProvider(parseReference(xpp)); 8445 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 8446 res.setOrganization(parseReference(xpp)); 8447 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8448 res.setRequest(parseReference(xpp)); 8449 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 8450 res.setResponse(parseReference(xpp)); 8451 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nullify")) { 8452 res.setNullifyElement(parseBoolean(xpp)); 8453 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8454 res.setReferenceElement(parseString(xpp)); 8455 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 8456 res.getItem().add(parseProcessRequestItemsComponent(xpp, res)); 8457 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("include")) { 8458 res.getInclude().add(parseString(xpp)); 8459 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 8460 res.getExclude().add(parseString(xpp)); 8461 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8462 res.setPeriod(parsePeriod(xpp)); 8463 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8464 unknownContent(xpp); 8465 eventType = nextNoWhitespace(xpp); 8466 } 8467 next(xpp); 8468 parseElementClose(res); 8469 return res; 8470 } 8471 8472 protected ProcessRequest.ItemsComponent parseProcessRequestItemsComponent(XmlPullParser xpp, ProcessRequest owner) 8473 throws XmlPullParserException, IOException, FHIRFormatError { 8474 ProcessRequest.ItemsComponent res = new ProcessRequest.ItemsComponent(); 8475 parseBackboneAttributes(xpp, res); 8476 next(xpp); 8477 int eventType = nextNoWhitespace(xpp); 8478 while (eventType != XmlPullParser.END_TAG) { 8479 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 8480 res.setSequenceLinkIdElement(parseInteger(xpp)); 8481 } else if (!parseBackboneContent(eventType, xpp, res)) 8482 unknownContent(xpp); 8483 eventType = nextNoWhitespace(xpp); 8484 } 8485 next(xpp); 8486 parseElementClose(res); 8487 return res; 8488 } 8489 8490 protected ProcessResponse parseProcessResponse(XmlPullParser xpp) 8491 throws XmlPullParserException, IOException, FHIRFormatError { 8492 ProcessResponse res = new ProcessResponse(); 8493 parseDomainResourceAttributes(xpp, res); 8494 next(xpp); 8495 int eventType = nextNoWhitespace(xpp); 8496 while (eventType != XmlPullParser.END_TAG) { 8497 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8498 res.getIdentifier().add(parseIdentifier(xpp)); 8499 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8500 res.setRequest(parseReference(xpp)); 8501 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 8502 res.setOutcome(parseCoding(xpp)); 8503 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 8504 res.setDispositionElement(parseString(xpp)); 8505 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 8506 res.setRuleset(parseCoding(xpp)); 8507 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 8508 res.setOriginalRuleset(parseCoding(xpp)); 8509 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8510 res.setCreatedElement(parseDateTime(xpp)); 8511 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 8512 res.setOrganization(parseReference(xpp)); 8513 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 8514 res.setRequestProvider(parseReference(xpp)); 8515 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 8516 res.setRequestOrganization(parseReference(xpp)); 8517 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 8518 res.setForm(parseCoding(xpp)); 8519 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 8520 res.getNotes().add(parseProcessResponseProcessResponseNotesComponent(xpp, res)); 8521 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 8522 res.getError().add(parseCoding(xpp)); 8523 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8524 unknownContent(xpp); 8525 eventType = nextNoWhitespace(xpp); 8526 } 8527 next(xpp); 8528 parseElementClose(res); 8529 return res; 8530 } 8531 8532 protected ProcessResponse.ProcessResponseNotesComponent parseProcessResponseProcessResponseNotesComponent( 8533 XmlPullParser xpp, ProcessResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8534 ProcessResponse.ProcessResponseNotesComponent res = new ProcessResponse.ProcessResponseNotesComponent(); 8535 parseBackboneAttributes(xpp, res); 8536 next(xpp); 8537 int eventType = nextNoWhitespace(xpp); 8538 while (eventType != XmlPullParser.END_TAG) { 8539 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8540 res.setType(parseCoding(xpp)); 8541 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8542 res.setTextElement(parseString(xpp)); 8543 } else if (!parseBackboneContent(eventType, xpp, res)) 8544 unknownContent(xpp); 8545 eventType = nextNoWhitespace(xpp); 8546 } 8547 next(xpp); 8548 parseElementClose(res); 8549 return res; 8550 } 8551 8552 protected Provenance parseProvenance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8553 Provenance res = new Provenance(); 8554 parseDomainResourceAttributes(xpp, res); 8555 next(xpp); 8556 int eventType = nextNoWhitespace(xpp); 8557 while (eventType != XmlPullParser.END_TAG) { 8558 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8559 res.getTarget().add(parseReference(xpp)); 8560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8561 res.setPeriod(parsePeriod(xpp)); 8562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorded")) { 8563 res.setRecordedElement(parseInstant(xpp)); 8564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 8565 res.getReason().add(parseCodeableConcept(xpp)); 8566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 8567 res.setActivity(parseCodeableConcept(xpp)); 8568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 8569 res.setLocation(parseReference(xpp)); 8570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policy")) { 8571 res.getPolicy().add(parseUri(xpp)); 8572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("agent")) { 8573 res.getAgent().add(parseProvenanceProvenanceAgentComponent(xpp, res)); 8574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 8575 res.getEntity().add(parseProvenanceProvenanceEntityComponent(xpp, res)); 8576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 8577 res.getSignature().add(parseSignature(xpp)); 8578 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8579 unknownContent(xpp); 8580 eventType = nextNoWhitespace(xpp); 8581 } 8582 next(xpp); 8583 parseElementClose(res); 8584 return res; 8585 } 8586 8587 protected Provenance.ProvenanceAgentComponent parseProvenanceProvenanceAgentComponent(XmlPullParser xpp, 8588 Provenance owner) throws XmlPullParserException, IOException, FHIRFormatError { 8589 Provenance.ProvenanceAgentComponent res = new Provenance.ProvenanceAgentComponent(); 8590 parseBackboneAttributes(xpp, res); 8591 next(xpp); 8592 int eventType = nextNoWhitespace(xpp); 8593 while (eventType != XmlPullParser.END_TAG) { 8594 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8595 res.setRole(parseCoding(xpp)); 8596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 8597 res.setActor(parseReference(xpp)); 8598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("userId")) { 8599 res.setUserId(parseIdentifier(xpp)); 8600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedAgent")) { 8601 res.getRelatedAgent().add(parseProvenanceProvenanceAgentRelatedAgentComponent(xpp, owner)); 8602 } else if (!parseBackboneContent(eventType, xpp, res)) 8603 unknownContent(xpp); 8604 eventType = nextNoWhitespace(xpp); 8605 } 8606 next(xpp); 8607 parseElementClose(res); 8608 return res; 8609 } 8610 8611 protected Provenance.ProvenanceAgentRelatedAgentComponent parseProvenanceProvenanceAgentRelatedAgentComponent( 8612 XmlPullParser xpp, Provenance owner) throws XmlPullParserException, IOException, FHIRFormatError { 8613 Provenance.ProvenanceAgentRelatedAgentComponent res = new Provenance.ProvenanceAgentRelatedAgentComponent(); 8614 parseBackboneAttributes(xpp, res); 8615 next(xpp); 8616 int eventType = nextNoWhitespace(xpp); 8617 while (eventType != XmlPullParser.END_TAG) { 8618 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8619 res.setType(parseCodeableConcept(xpp)); 8620 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8621 res.setTargetElement(parseUri(xpp)); 8622 } else if (!parseBackboneContent(eventType, xpp, res)) 8623 unknownContent(xpp); 8624 eventType = nextNoWhitespace(xpp); 8625 } 8626 next(xpp); 8627 parseElementClose(res); 8628 return res; 8629 } 8630 8631 protected Provenance.ProvenanceEntityComponent parseProvenanceProvenanceEntityComponent(XmlPullParser xpp, 8632 Provenance owner) throws XmlPullParserException, IOException, FHIRFormatError { 8633 Provenance.ProvenanceEntityComponent res = new Provenance.ProvenanceEntityComponent(); 8634 parseBackboneAttributes(xpp, res); 8635 next(xpp); 8636 int eventType = nextNoWhitespace(xpp); 8637 while (eventType != XmlPullParser.END_TAG) { 8638 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8639 res.setRoleElement(parseEnumeration(xpp, Provenance.ProvenanceEntityRole.NULL, 8640 new Provenance.ProvenanceEntityRoleEnumFactory())); 8641 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8642 res.setType(parseCoding(xpp)); 8643 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8644 res.setReferenceElement(parseUri(xpp)); 8645 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 8646 res.setDisplayElement(parseString(xpp)); 8647 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("agent")) { 8648 res.setAgent(parseProvenanceProvenanceAgentComponent(xpp, owner)); 8649 } else if (!parseBackboneContent(eventType, xpp, res)) 8650 unknownContent(xpp); 8651 eventType = nextNoWhitespace(xpp); 8652 } 8653 next(xpp); 8654 parseElementClose(res); 8655 return res; 8656 } 8657 8658 protected Questionnaire parseQuestionnaire(XmlPullParser xpp) 8659 throws XmlPullParserException, IOException, FHIRFormatError { 8660 Questionnaire res = new Questionnaire(); 8661 parseDomainResourceAttributes(xpp, res); 8662 next(xpp); 8663 int eventType = nextNoWhitespace(xpp); 8664 while (eventType != XmlPullParser.END_TAG) { 8665 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8666 res.getIdentifier().add(parseIdentifier(xpp)); 8667 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 8668 res.setVersionElement(parseString(xpp)); 8669 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8670 res.setStatusElement(parseEnumeration(xpp, Questionnaire.QuestionnaireStatus.NULL, 8671 new Questionnaire.QuestionnaireStatusEnumFactory())); 8672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8673 res.setDateElement(parseDateTime(xpp)); 8674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 8675 res.setPublisherElement(parseString(xpp)); 8676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8677 res.getTelecom().add(parseContactPoint(xpp)); 8678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subjectType")) { 8679 res.getSubjectType().add(parseCode(xpp)); 8680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8681 res.setGroup(parseQuestionnaireGroupComponent(xpp, res)); 8682 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8683 unknownContent(xpp); 8684 eventType = nextNoWhitespace(xpp); 8685 } 8686 next(xpp); 8687 parseElementClose(res); 8688 return res; 8689 } 8690 8691 protected Questionnaire.GroupComponent parseQuestionnaireGroupComponent(XmlPullParser xpp, Questionnaire owner) 8692 throws XmlPullParserException, IOException, FHIRFormatError { 8693 Questionnaire.GroupComponent res = new Questionnaire.GroupComponent(); 8694 parseBackboneAttributes(xpp, res); 8695 next(xpp); 8696 int eventType = nextNoWhitespace(xpp); 8697 while (eventType != XmlPullParser.END_TAG) { 8698 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8699 res.setLinkIdElement(parseString(xpp)); 8700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 8701 res.setTitleElement(parseString(xpp)); 8702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 8703 res.getConcept().add(parseCoding(xpp)); 8704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8705 res.setTextElement(parseString(xpp)); 8706 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 8707 res.setRequiredElement(parseBoolean(xpp)); 8708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeats")) { 8709 res.setRepeatsElement(parseBoolean(xpp)); 8710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8711 res.getGroup().add(parseQuestionnaireGroupComponent(xpp, owner)); 8712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("question")) { 8713 res.getQuestion().add(parseQuestionnaireQuestionComponent(xpp, owner)); 8714 } else if (!parseBackboneContent(eventType, xpp, res)) 8715 unknownContent(xpp); 8716 eventType = nextNoWhitespace(xpp); 8717 } 8718 next(xpp); 8719 parseElementClose(res); 8720 return res; 8721 } 8722 8723 protected Questionnaire.QuestionComponent parseQuestionnaireQuestionComponent(XmlPullParser xpp, Questionnaire owner) 8724 throws XmlPullParserException, IOException, FHIRFormatError { 8725 Questionnaire.QuestionComponent res = new Questionnaire.QuestionComponent(); 8726 parseBackboneAttributes(xpp, res); 8727 next(xpp); 8728 int eventType = nextNoWhitespace(xpp); 8729 while (eventType != XmlPullParser.END_TAG) { 8730 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8731 res.setLinkIdElement(parseString(xpp)); 8732 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 8733 res.getConcept().add(parseCoding(xpp)); 8734 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8735 res.setTextElement(parseString(xpp)); 8736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8737 res.setTypeElement( 8738 parseEnumeration(xpp, Questionnaire.AnswerFormat.NULL, new Questionnaire.AnswerFormatEnumFactory())); 8739 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 8740 res.setRequiredElement(parseBoolean(xpp)); 8741 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeats")) { 8742 res.setRepeatsElement(parseBoolean(xpp)); 8743 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("options")) { 8744 res.setOptions(parseReference(xpp)); 8745 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("option")) { 8746 res.getOption().add(parseCoding(xpp)); 8747 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8748 res.getGroup().add(parseQuestionnaireGroupComponent(xpp, owner)); 8749 } else if (!parseBackboneContent(eventType, xpp, res)) 8750 unknownContent(xpp); 8751 eventType = nextNoWhitespace(xpp); 8752 } 8753 next(xpp); 8754 parseElementClose(res); 8755 return res; 8756 } 8757 8758 protected QuestionnaireResponse parseQuestionnaireResponse(XmlPullParser xpp) 8759 throws XmlPullParserException, IOException, FHIRFormatError { 8760 QuestionnaireResponse res = new QuestionnaireResponse(); 8761 parseDomainResourceAttributes(xpp, res); 8762 next(xpp); 8763 int eventType = nextNoWhitespace(xpp); 8764 while (eventType != XmlPullParser.END_TAG) { 8765 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8766 res.setIdentifier(parseIdentifier(xpp)); 8767 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("questionnaire")) { 8768 res.setQuestionnaire(parseReference(xpp)); 8769 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8770 res.setStatusElement(parseEnumeration(xpp, QuestionnaireResponse.QuestionnaireResponseStatus.NULL, 8771 new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory())); 8772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8773 res.setSubject(parseReference(xpp)); 8774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 8775 res.setAuthor(parseReference(xpp)); 8776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authored")) { 8777 res.setAuthoredElement(parseDateTime(xpp)); 8778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 8779 res.setSource(parseReference(xpp)); 8780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8781 res.setEncounter(parseReference(xpp)); 8782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8783 res.setGroup(parseQuestionnaireResponseGroupComponent(xpp, res)); 8784 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8785 unknownContent(xpp); 8786 eventType = nextNoWhitespace(xpp); 8787 } 8788 next(xpp); 8789 parseElementClose(res); 8790 return res; 8791 } 8792 8793 protected QuestionnaireResponse.GroupComponent parseQuestionnaireResponseGroupComponent(XmlPullParser xpp, 8794 QuestionnaireResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8795 QuestionnaireResponse.GroupComponent res = new QuestionnaireResponse.GroupComponent(); 8796 parseBackboneAttributes(xpp, res); 8797 next(xpp); 8798 int eventType = nextNoWhitespace(xpp); 8799 while (eventType != XmlPullParser.END_TAG) { 8800 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8801 res.setLinkIdElement(parseString(xpp)); 8802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 8803 res.setTitleElement(parseString(xpp)); 8804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8805 res.setTextElement(parseString(xpp)); 8806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8807 res.setSubject(parseReference(xpp)); 8808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8809 res.getGroup().add(parseQuestionnaireResponseGroupComponent(xpp, owner)); 8810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("question")) { 8811 res.getQuestion().add(parseQuestionnaireResponseQuestionComponent(xpp, owner)); 8812 } else if (!parseBackboneContent(eventType, xpp, res)) 8813 unknownContent(xpp); 8814 eventType = nextNoWhitespace(xpp); 8815 } 8816 next(xpp); 8817 parseElementClose(res); 8818 return res; 8819 } 8820 8821 protected QuestionnaireResponse.QuestionComponent parseQuestionnaireResponseQuestionComponent(XmlPullParser xpp, 8822 QuestionnaireResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8823 QuestionnaireResponse.QuestionComponent res = new QuestionnaireResponse.QuestionComponent(); 8824 parseBackboneAttributes(xpp, res); 8825 next(xpp); 8826 int eventType = nextNoWhitespace(xpp); 8827 while (eventType != XmlPullParser.END_TAG) { 8828 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8829 res.setLinkIdElement(parseString(xpp)); 8830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8831 res.setTextElement(parseString(xpp)); 8832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("answer")) { 8833 res.getAnswer().add(parseQuestionnaireResponseQuestionAnswerComponent(xpp, owner)); 8834 } else if (!parseBackboneContent(eventType, xpp, res)) 8835 unknownContent(xpp); 8836 eventType = nextNoWhitespace(xpp); 8837 } 8838 next(xpp); 8839 parseElementClose(res); 8840 return res; 8841 } 8842 8843 protected QuestionnaireResponse.QuestionAnswerComponent parseQuestionnaireResponseQuestionAnswerComponent( 8844 XmlPullParser xpp, QuestionnaireResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8845 QuestionnaireResponse.QuestionAnswerComponent res = new QuestionnaireResponse.QuestionAnswerComponent(); 8846 parseBackboneAttributes(xpp, res); 8847 next(xpp); 8848 int eventType = nextNoWhitespace(xpp); 8849 while (eventType != XmlPullParser.END_TAG) { 8850 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 8851 res.setValue(parseType("value", xpp)); 8852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8853 res.getGroup().add(parseQuestionnaireResponseGroupComponent(xpp, owner)); 8854 } else if (!parseBackboneContent(eventType, xpp, res)) 8855 unknownContent(xpp); 8856 eventType = nextNoWhitespace(xpp); 8857 } 8858 next(xpp); 8859 parseElementClose(res); 8860 return res; 8861 } 8862 8863 protected ReferralRequest parseReferralRequest(XmlPullParser xpp) 8864 throws XmlPullParserException, IOException, FHIRFormatError { 8865 ReferralRequest res = new ReferralRequest(); 8866 parseDomainResourceAttributes(xpp, res); 8867 next(xpp); 8868 int eventType = nextNoWhitespace(xpp); 8869 while (eventType != XmlPullParser.END_TAG) { 8870 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8871 res.setStatusElement(parseEnumeration(xpp, ReferralRequest.ReferralStatus.NULL, 8872 new ReferralRequest.ReferralStatusEnumFactory())); 8873 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8874 res.getIdentifier().add(parseIdentifier(xpp)); 8875 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8876 res.setDateElement(parseDateTime(xpp)); 8877 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8878 res.setType(parseCodeableConcept(xpp)); 8879 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 8880 res.setSpecialty(parseCodeableConcept(xpp)); 8881 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 8882 res.setPriority(parseCodeableConcept(xpp)); 8883 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 8884 res.setPatient(parseReference(xpp)); 8885 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 8886 res.setRequester(parseReference(xpp)); 8887 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 8888 res.getRecipient().add(parseReference(xpp)); 8889 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8890 res.setEncounter(parseReference(xpp)); 8891 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateSent")) { 8892 res.setDateSentElement(parseDateTime(xpp)); 8893 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 8894 res.setReason(parseCodeableConcept(xpp)); 8895 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 8896 res.setDescriptionElement(parseString(xpp)); 8897 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceRequested")) { 8898 res.getServiceRequested().add(parseCodeableConcept(xpp)); 8899 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 8900 res.getSupportingInformation().add(parseReference(xpp)); 8901 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fulfillmentTime")) { 8902 res.setFulfillmentTime(parsePeriod(xpp)); 8903 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8904 unknownContent(xpp); 8905 eventType = nextNoWhitespace(xpp); 8906 } 8907 next(xpp); 8908 parseElementClose(res); 8909 return res; 8910 } 8911 8912 protected RelatedPerson parseRelatedPerson(XmlPullParser xpp) 8913 throws XmlPullParserException, IOException, FHIRFormatError { 8914 RelatedPerson res = new RelatedPerson(); 8915 parseDomainResourceAttributes(xpp, res); 8916 next(xpp); 8917 int eventType = nextNoWhitespace(xpp); 8918 while (eventType != XmlPullParser.END_TAG) { 8919 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8920 res.getIdentifier().add(parseIdentifier(xpp)); 8921 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 8922 res.setPatient(parseReference(xpp)); 8923 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 8924 res.setRelationship(parseCodeableConcept(xpp)); 8925 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8926 res.setName(parseHumanName(xpp)); 8927 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8928 res.getTelecom().add(parseContactPoint(xpp)); 8929 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 8930 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, 8931 new Enumerations.AdministrativeGenderEnumFactory())); 8932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 8933 res.setBirthDateElement(parseDate(xpp)); 8934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 8935 res.getAddress().add(parseAddress(xpp)); 8936 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 8937 res.getPhoto().add(parseAttachment(xpp)); 8938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8939 res.setPeriod(parsePeriod(xpp)); 8940 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8941 unknownContent(xpp); 8942 eventType = nextNoWhitespace(xpp); 8943 } 8944 next(xpp); 8945 parseElementClose(res); 8946 return res; 8947 } 8948 8949 protected RiskAssessment parseRiskAssessment(XmlPullParser xpp) 8950 throws XmlPullParserException, IOException, FHIRFormatError { 8951 RiskAssessment res = new RiskAssessment(); 8952 parseDomainResourceAttributes(xpp, res); 8953 next(xpp); 8954 int eventType = nextNoWhitespace(xpp); 8955 while (eventType != XmlPullParser.END_TAG) { 8956 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8957 res.setSubject(parseReference(xpp)); 8958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8959 res.setDateElement(parseDateTime(xpp)); 8960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 8961 res.setCondition(parseReference(xpp)); 8962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8963 res.setEncounter(parseReference(xpp)); 8964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 8965 res.setPerformer(parseReference(xpp)); 8966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8967 res.setIdentifier(parseIdentifier(xpp)); 8968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 8969 res.setMethod(parseCodeableConcept(xpp)); 8970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { 8971 res.getBasis().add(parseReference(xpp)); 8972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prediction")) { 8973 res.getPrediction().add(parseRiskAssessmentRiskAssessmentPredictionComponent(xpp, res)); 8974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mitigation")) { 8975 res.setMitigationElement(parseString(xpp)); 8976 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8977 unknownContent(xpp); 8978 eventType = nextNoWhitespace(xpp); 8979 } 8980 next(xpp); 8981 parseElementClose(res); 8982 return res; 8983 } 8984 8985 protected RiskAssessment.RiskAssessmentPredictionComponent parseRiskAssessmentRiskAssessmentPredictionComponent( 8986 XmlPullParser xpp, RiskAssessment owner) throws XmlPullParserException, IOException, FHIRFormatError { 8987 RiskAssessment.RiskAssessmentPredictionComponent res = new RiskAssessment.RiskAssessmentPredictionComponent(); 8988 parseBackboneAttributes(xpp, res); 8989 next(xpp); 8990 int eventType = nextNoWhitespace(xpp); 8991 while (eventType != XmlPullParser.END_TAG) { 8992 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 8993 res.setOutcome(parseCodeableConcept(xpp)); 8994 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "probability")) { 8995 res.setProbability(parseType("probability", xpp)); 8996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relativeRisk")) { 8997 res.setRelativeRiskElement(parseDecimal(xpp)); 8998 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "when")) { 8999 res.setWhen(parseType("when", xpp)); 9000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rationale")) { 9001 res.setRationaleElement(parseString(xpp)); 9002 } else if (!parseBackboneContent(eventType, xpp, res)) 9003 unknownContent(xpp); 9004 eventType = nextNoWhitespace(xpp); 9005 } 9006 next(xpp); 9007 parseElementClose(res); 9008 return res; 9009 } 9010 9011 protected Schedule parseSchedule(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9012 Schedule res = new Schedule(); 9013 parseDomainResourceAttributes(xpp, res); 9014 next(xpp); 9015 int eventType = nextNoWhitespace(xpp); 9016 while (eventType != XmlPullParser.END_TAG) { 9017 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9018 res.getIdentifier().add(parseIdentifier(xpp)); 9019 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9020 res.getType().add(parseCodeableConcept(xpp)); 9021 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 9022 res.setActor(parseReference(xpp)); 9023 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("planningHorizon")) { 9024 res.setPlanningHorizon(parsePeriod(xpp)); 9025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 9026 res.setCommentElement(parseString(xpp)); 9027 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9028 unknownContent(xpp); 9029 eventType = nextNoWhitespace(xpp); 9030 } 9031 next(xpp); 9032 parseElementClose(res); 9033 return res; 9034 } 9035 9036 protected SearchParameter parseSearchParameter(XmlPullParser xpp) 9037 throws XmlPullParserException, IOException, FHIRFormatError { 9038 SearchParameter res = new SearchParameter(); 9039 parseDomainResourceAttributes(xpp, res); 9040 next(xpp); 9041 int eventType = nextNoWhitespace(xpp); 9042 while (eventType != XmlPullParser.END_TAG) { 9043 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9044 res.setUrlElement(parseUri(xpp)); 9045 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9046 res.setNameElement(parseString(xpp)); 9047 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9048 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 9049 new Enumerations.ConformanceResourceStatusEnumFactory())); 9050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 9051 res.setExperimentalElement(parseBoolean(xpp)); 9052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 9053 res.setPublisherElement(parseString(xpp)); 9054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9055 res.getContact().add(parseSearchParameterSearchParameterContactComponent(xpp, res)); 9056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9057 res.setDateElement(parseDateTime(xpp)); 9058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 9059 res.setRequirementsElement(parseString(xpp)); 9060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9061 res.setCodeElement(parseCode(xpp)); 9062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 9063 res.setBaseElement(parseCode(xpp)); 9064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9065 res.setTypeElement( 9066 parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); 9067 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9068 res.setDescriptionElement(parseString(xpp)); 9069 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpath")) { 9070 res.setXpathElement(parseString(xpp)); 9071 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpathUsage")) { 9072 res.setXpathUsageElement(parseEnumeration(xpp, SearchParameter.XPathUsageType.NULL, 9073 new SearchParameter.XPathUsageTypeEnumFactory())); 9074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 9075 res.getTarget().add(parseCode(xpp)); 9076 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9077 unknownContent(xpp); 9078 eventType = nextNoWhitespace(xpp); 9079 } 9080 next(xpp); 9081 parseElementClose(res); 9082 return res; 9083 } 9084 9085 protected SearchParameter.SearchParameterContactComponent parseSearchParameterSearchParameterContactComponent( 9086 XmlPullParser xpp, SearchParameter owner) throws XmlPullParserException, IOException, FHIRFormatError { 9087 SearchParameter.SearchParameterContactComponent res = new SearchParameter.SearchParameterContactComponent(); 9088 parseBackboneAttributes(xpp, res); 9089 next(xpp); 9090 int eventType = nextNoWhitespace(xpp); 9091 while (eventType != XmlPullParser.END_TAG) { 9092 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9093 res.setNameElement(parseString(xpp)); 9094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 9095 res.getTelecom().add(parseContactPoint(xpp)); 9096 } else if (!parseBackboneContent(eventType, xpp, res)) 9097 unknownContent(xpp); 9098 eventType = nextNoWhitespace(xpp); 9099 } 9100 next(xpp); 9101 parseElementClose(res); 9102 return res; 9103 } 9104 9105 protected Slot parseSlot(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9106 Slot res = new Slot(); 9107 parseDomainResourceAttributes(xpp, res); 9108 next(xpp); 9109 int eventType = nextNoWhitespace(xpp); 9110 while (eventType != XmlPullParser.END_TAG) { 9111 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9112 res.getIdentifier().add(parseIdentifier(xpp)); 9113 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9114 res.setType(parseCodeableConcept(xpp)); 9115 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 9116 res.setSchedule(parseReference(xpp)); 9117 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("freeBusyType")) { 9118 res.setFreeBusyTypeElement(parseEnumeration(xpp, Slot.SlotStatus.NULL, new Slot.SlotStatusEnumFactory())); 9119 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 9120 res.setStartElement(parseInstant(xpp)); 9121 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 9122 res.setEndElement(parseInstant(xpp)); 9123 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("overbooked")) { 9124 res.setOverbookedElement(parseBoolean(xpp)); 9125 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 9126 res.setCommentElement(parseString(xpp)); 9127 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9128 unknownContent(xpp); 9129 eventType = nextNoWhitespace(xpp); 9130 } 9131 next(xpp); 9132 parseElementClose(res); 9133 return res; 9134 } 9135 9136 protected Specimen parseSpecimen(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9137 Specimen res = new Specimen(); 9138 parseDomainResourceAttributes(xpp, res); 9139 next(xpp); 9140 int eventType = nextNoWhitespace(xpp); 9141 while (eventType != XmlPullParser.END_TAG) { 9142 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9143 res.getIdentifier().add(parseIdentifier(xpp)); 9144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9145 res.setStatusElement( 9146 parseEnumeration(xpp, Specimen.SpecimenStatus.NULL, new Specimen.SpecimenStatusEnumFactory())); 9147 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9148 res.setType(parseCodeableConcept(xpp)); 9149 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 9150 res.getParent().add(parseReference(xpp)); 9151 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 9152 res.setSubject(parseReference(xpp)); 9153 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accessionIdentifier")) { 9154 res.setAccessionIdentifier(parseIdentifier(xpp)); 9155 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receivedTime")) { 9156 res.setReceivedTimeElement(parseDateTime(xpp)); 9157 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collection")) { 9158 res.setCollection(parseSpecimenSpecimenCollectionComponent(xpp, res)); 9159 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("treatment")) { 9160 res.getTreatment().add(parseSpecimenSpecimenTreatmentComponent(xpp, res)); 9161 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("container")) { 9162 res.getContainer().add(parseSpecimenSpecimenContainerComponent(xpp, res)); 9163 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9164 unknownContent(xpp); 9165 eventType = nextNoWhitespace(xpp); 9166 } 9167 next(xpp); 9168 parseElementClose(res); 9169 return res; 9170 } 9171 9172 protected Specimen.SpecimenCollectionComponent parseSpecimenSpecimenCollectionComponent(XmlPullParser xpp, 9173 Specimen owner) throws XmlPullParserException, IOException, FHIRFormatError { 9174 Specimen.SpecimenCollectionComponent res = new Specimen.SpecimenCollectionComponent(); 9175 parseBackboneAttributes(xpp, res); 9176 next(xpp); 9177 int eventType = nextNoWhitespace(xpp); 9178 while (eventType != XmlPullParser.END_TAG) { 9179 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collector")) { 9180 res.setCollector(parseReference(xpp)); 9181 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 9182 res.getComment().add(parseString(xpp)); 9183 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "collected")) { 9184 res.setCollected(parseType("collected", xpp)); 9185 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9186 res.setQuantity(parseSimpleQuantity(xpp)); 9187 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 9188 res.setMethod(parseCodeableConcept(xpp)); 9189 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 9190 res.setBodySite(parseCodeableConcept(xpp)); 9191 } else if (!parseBackboneContent(eventType, xpp, res)) 9192 unknownContent(xpp); 9193 eventType = nextNoWhitespace(xpp); 9194 } 9195 next(xpp); 9196 parseElementClose(res); 9197 return res; 9198 } 9199 9200 protected Specimen.SpecimenTreatmentComponent parseSpecimenSpecimenTreatmentComponent(XmlPullParser xpp, 9201 Specimen owner) throws XmlPullParserException, IOException, FHIRFormatError { 9202 Specimen.SpecimenTreatmentComponent res = new Specimen.SpecimenTreatmentComponent(); 9203 parseBackboneAttributes(xpp, res); 9204 next(xpp); 9205 int eventType = nextNoWhitespace(xpp); 9206 while (eventType != XmlPullParser.END_TAG) { 9207 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9208 res.setDescriptionElement(parseString(xpp)); 9209 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 9210 res.setProcedure(parseCodeableConcept(xpp)); 9211 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additive")) { 9212 res.getAdditive().add(parseReference(xpp)); 9213 } else if (!parseBackboneContent(eventType, xpp, res)) 9214 unknownContent(xpp); 9215 eventType = nextNoWhitespace(xpp); 9216 } 9217 next(xpp); 9218 parseElementClose(res); 9219 return res; 9220 } 9221 9222 protected Specimen.SpecimenContainerComponent parseSpecimenSpecimenContainerComponent(XmlPullParser xpp, 9223 Specimen owner) throws XmlPullParserException, IOException, FHIRFormatError { 9224 Specimen.SpecimenContainerComponent res = new Specimen.SpecimenContainerComponent(); 9225 parseBackboneAttributes(xpp, res); 9226 next(xpp); 9227 int eventType = nextNoWhitespace(xpp); 9228 while (eventType != XmlPullParser.END_TAG) { 9229 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9230 res.getIdentifier().add(parseIdentifier(xpp)); 9231 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9232 res.setDescriptionElement(parseString(xpp)); 9233 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9234 res.setType(parseCodeableConcept(xpp)); 9235 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capacity")) { 9236 res.setCapacity(parseSimpleQuantity(xpp)); 9237 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimenQuantity")) { 9238 res.setSpecimenQuantity(parseSimpleQuantity(xpp)); 9239 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "additive")) { 9240 res.setAdditive(parseType("additive", xpp)); 9241 } else if (!parseBackboneContent(eventType, xpp, res)) 9242 unknownContent(xpp); 9243 eventType = nextNoWhitespace(xpp); 9244 } 9245 next(xpp); 9246 parseElementClose(res); 9247 return res; 9248 } 9249 9250 protected StructureDefinition parseStructureDefinition(XmlPullParser xpp) 9251 throws XmlPullParserException, IOException, FHIRFormatError { 9252 StructureDefinition res = new StructureDefinition(); 9253 parseDomainResourceAttributes(xpp, res); 9254 next(xpp); 9255 int eventType = nextNoWhitespace(xpp); 9256 while (eventType != XmlPullParser.END_TAG) { 9257 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9258 res.setUrlElement(parseUri(xpp)); 9259 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9260 res.getIdentifier().add(parseIdentifier(xpp)); 9261 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9262 res.setVersionElement(parseString(xpp)); 9263 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9264 res.setNameElement(parseString(xpp)); 9265 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 9266 res.setDisplayElement(parseString(xpp)); 9267 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9268 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 9269 new Enumerations.ConformanceResourceStatusEnumFactory())); 9270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 9271 res.setExperimentalElement(parseBoolean(xpp)); 9272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 9273 res.setPublisherElement(parseString(xpp)); 9274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9275 res.getContact().add(parseStructureDefinitionStructureDefinitionContactComponent(xpp, res)); 9276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9277 res.setDateElement(parseDateTime(xpp)); 9278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9279 res.setDescriptionElement(parseString(xpp)); 9280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 9281 res.getUseContext().add(parseCodeableConcept(xpp)); 9282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 9283 res.setRequirementsElement(parseString(xpp)); 9284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 9285 res.setCopyrightElement(parseString(xpp)); 9286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9287 res.getCode().add(parseCoding(xpp)); 9288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 9289 res.setFhirVersionElement(parseId(xpp)); 9290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 9291 res.getMapping().add(parseStructureDefinitionStructureDefinitionMappingComponent(xpp, res)); 9292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 9293 res.setKindElement(parseEnumeration(xpp, StructureDefinition.StructureDefinitionKind.NULL, 9294 new StructureDefinition.StructureDefinitionKindEnumFactory())); 9295 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("constrainedType")) { 9296 res.setConstrainedTypeElement(parseCode(xpp)); 9297 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 9298 res.setAbstractElement(parseBoolean(xpp)); 9299 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contextType")) { 9300 res.setContextTypeElement(parseEnumeration(xpp, StructureDefinition.ExtensionContext.NULL, 9301 new StructureDefinition.ExtensionContextEnumFactory())); 9302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 9303 res.getContext().add(parseString(xpp)); 9304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 9305 res.setBaseElement(parseUri(xpp)); 9306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("snapshot")) { 9307 res.setSnapshot(parseStructureDefinitionStructureDefinitionSnapshotComponent(xpp, res)); 9308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("differential")) { 9309 res.setDifferential(parseStructureDefinitionStructureDefinitionDifferentialComponent(xpp, res)); 9310 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9311 unknownContent(xpp); 9312 eventType = nextNoWhitespace(xpp); 9313 } 9314 next(xpp); 9315 parseElementClose(res); 9316 return res; 9317 } 9318 9319 protected StructureDefinition.StructureDefinitionContactComponent parseStructureDefinitionStructureDefinitionContactComponent( 9320 XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 9321 StructureDefinition.StructureDefinitionContactComponent res = new StructureDefinition.StructureDefinitionContactComponent(); 9322 parseBackboneAttributes(xpp, res); 9323 next(xpp); 9324 int eventType = nextNoWhitespace(xpp); 9325 while (eventType != XmlPullParser.END_TAG) { 9326 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9327 res.setNameElement(parseString(xpp)); 9328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 9329 res.getTelecom().add(parseContactPoint(xpp)); 9330 } else if (!parseBackboneContent(eventType, xpp, res)) 9331 unknownContent(xpp); 9332 eventType = nextNoWhitespace(xpp); 9333 } 9334 next(xpp); 9335 parseElementClose(res); 9336 return res; 9337 } 9338 9339 protected StructureDefinition.StructureDefinitionMappingComponent parseStructureDefinitionStructureDefinitionMappingComponent( 9340 XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 9341 StructureDefinition.StructureDefinitionMappingComponent res = new StructureDefinition.StructureDefinitionMappingComponent(); 9342 parseBackboneAttributes(xpp, res); 9343 next(xpp); 9344 int eventType = nextNoWhitespace(xpp); 9345 while (eventType != XmlPullParser.END_TAG) { 9346 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 9347 res.setIdentityElement(parseId(xpp)); 9348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 9349 res.setUriElement(parseUri(xpp)); 9350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9351 res.setNameElement(parseString(xpp)); 9352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 9353 res.setCommentsElement(parseString(xpp)); 9354 } else if (!parseBackboneContent(eventType, xpp, res)) 9355 unknownContent(xpp); 9356 eventType = nextNoWhitespace(xpp); 9357 } 9358 next(xpp); 9359 parseElementClose(res); 9360 return res; 9361 } 9362 9363 protected StructureDefinition.StructureDefinitionSnapshotComponent parseStructureDefinitionStructureDefinitionSnapshotComponent( 9364 XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 9365 StructureDefinition.StructureDefinitionSnapshotComponent res = new StructureDefinition.StructureDefinitionSnapshotComponent(); 9366 parseBackboneAttributes(xpp, res); 9367 next(xpp); 9368 int eventType = nextNoWhitespace(xpp); 9369 while (eventType != XmlPullParser.END_TAG) { 9370 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 9371 res.getElement().add(parseElementDefinition(xpp)); 9372 } else if (!parseBackboneContent(eventType, xpp, res)) 9373 unknownContent(xpp); 9374 eventType = nextNoWhitespace(xpp); 9375 } 9376 next(xpp); 9377 parseElementClose(res); 9378 return res; 9379 } 9380 9381 protected StructureDefinition.StructureDefinitionDifferentialComponent parseStructureDefinitionStructureDefinitionDifferentialComponent( 9382 XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 9383 StructureDefinition.StructureDefinitionDifferentialComponent res = new StructureDefinition.StructureDefinitionDifferentialComponent(); 9384 parseBackboneAttributes(xpp, res); 9385 next(xpp); 9386 int eventType = nextNoWhitespace(xpp); 9387 while (eventType != XmlPullParser.END_TAG) { 9388 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 9389 res.getElement().add(parseElementDefinition(xpp)); 9390 } else if (!parseBackboneContent(eventType, xpp, res)) 9391 unknownContent(xpp); 9392 eventType = nextNoWhitespace(xpp); 9393 } 9394 next(xpp); 9395 parseElementClose(res); 9396 return res; 9397 } 9398 9399 protected Subscription parseSubscription(XmlPullParser xpp) 9400 throws XmlPullParserException, IOException, FHIRFormatError { 9401 Subscription res = new Subscription(); 9402 parseDomainResourceAttributes(xpp, res); 9403 next(xpp); 9404 int eventType = nextNoWhitespace(xpp); 9405 while (eventType != XmlPullParser.END_TAG) { 9406 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criteria")) { 9407 res.setCriteriaElement(parseString(xpp)); 9408 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9409 res.getContact().add(parseContactPoint(xpp)); 9410 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 9411 res.setReasonElement(parseString(xpp)); 9412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9413 res.setStatusElement(parseEnumeration(xpp, Subscription.SubscriptionStatus.NULL, 9414 new Subscription.SubscriptionStatusEnumFactory())); 9415 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 9416 res.setErrorElement(parseString(xpp)); 9417 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("channel")) { 9418 res.setChannel(parseSubscriptionSubscriptionChannelComponent(xpp, res)); 9419 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 9420 res.setEndElement(parseInstant(xpp)); 9421 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tag")) { 9422 res.getTag().add(parseCoding(xpp)); 9423 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9424 unknownContent(xpp); 9425 eventType = nextNoWhitespace(xpp); 9426 } 9427 next(xpp); 9428 parseElementClose(res); 9429 return res; 9430 } 9431 9432 protected Subscription.SubscriptionChannelComponent parseSubscriptionSubscriptionChannelComponent(XmlPullParser xpp, 9433 Subscription owner) throws XmlPullParserException, IOException, FHIRFormatError { 9434 Subscription.SubscriptionChannelComponent res = new Subscription.SubscriptionChannelComponent(); 9435 parseBackboneAttributes(xpp, res); 9436 next(xpp); 9437 int eventType = nextNoWhitespace(xpp); 9438 while (eventType != XmlPullParser.END_TAG) { 9439 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9440 res.setTypeElement(parseEnumeration(xpp, Subscription.SubscriptionChannelType.NULL, 9441 new Subscription.SubscriptionChannelTypeEnumFactory())); 9442 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 9443 res.setEndpointElement(parseUri(xpp)); 9444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 9445 res.setPayloadElement(parseString(xpp)); 9446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("header")) { 9447 res.setHeaderElement(parseString(xpp)); 9448 } else if (!parseBackboneContent(eventType, xpp, res)) 9449 unknownContent(xpp); 9450 eventType = nextNoWhitespace(xpp); 9451 } 9452 next(xpp); 9453 parseElementClose(res); 9454 return res; 9455 } 9456 9457 protected Substance parseSubstance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9458 Substance res = new Substance(); 9459 parseDomainResourceAttributes(xpp, res); 9460 next(xpp); 9461 int eventType = nextNoWhitespace(xpp); 9462 while (eventType != XmlPullParser.END_TAG) { 9463 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9464 res.getIdentifier().add(parseIdentifier(xpp)); 9465 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 9466 res.getCategory().add(parseCodeableConcept(xpp)); 9467 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9468 res.setCode(parseCodeableConcept(xpp)); 9469 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9470 res.setDescriptionElement(parseString(xpp)); 9471 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 9472 res.getInstance().add(parseSubstanceSubstanceInstanceComponent(xpp, res)); 9473 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 9474 res.getIngredient().add(parseSubstanceSubstanceIngredientComponent(xpp, res)); 9475 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9476 unknownContent(xpp); 9477 eventType = nextNoWhitespace(xpp); 9478 } 9479 next(xpp); 9480 parseElementClose(res); 9481 return res; 9482 } 9483 9484 protected Substance.SubstanceInstanceComponent parseSubstanceSubstanceInstanceComponent(XmlPullParser xpp, 9485 Substance owner) throws XmlPullParserException, IOException, FHIRFormatError { 9486 Substance.SubstanceInstanceComponent res = new Substance.SubstanceInstanceComponent(); 9487 parseBackboneAttributes(xpp, res); 9488 next(xpp); 9489 int eventType = nextNoWhitespace(xpp); 9490 while (eventType != XmlPullParser.END_TAG) { 9491 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9492 res.setIdentifier(parseIdentifier(xpp)); 9493 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expiry")) { 9494 res.setExpiryElement(parseDateTime(xpp)); 9495 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9496 res.setQuantity(parseSimpleQuantity(xpp)); 9497 } else if (!parseBackboneContent(eventType, xpp, res)) 9498 unknownContent(xpp); 9499 eventType = nextNoWhitespace(xpp); 9500 } 9501 next(xpp); 9502 parseElementClose(res); 9503 return res; 9504 } 9505 9506 protected Substance.SubstanceIngredientComponent parseSubstanceSubstanceIngredientComponent(XmlPullParser xpp, 9507 Substance owner) throws XmlPullParserException, IOException, FHIRFormatError { 9508 Substance.SubstanceIngredientComponent res = new Substance.SubstanceIngredientComponent(); 9509 parseBackboneAttributes(xpp, res); 9510 next(xpp); 9511 int eventType = nextNoWhitespace(xpp); 9512 while (eventType != XmlPullParser.END_TAG) { 9513 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9514 res.setQuantity(parseRatio(xpp)); 9515 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 9516 res.setSubstance(parseReference(xpp)); 9517 } else if (!parseBackboneContent(eventType, xpp, res)) 9518 unknownContent(xpp); 9519 eventType = nextNoWhitespace(xpp); 9520 } 9521 next(xpp); 9522 parseElementClose(res); 9523 return res; 9524 } 9525 9526 protected SupplyDelivery parseSupplyDelivery(XmlPullParser xpp) 9527 throws XmlPullParserException, IOException, FHIRFormatError { 9528 SupplyDelivery res = new SupplyDelivery(); 9529 parseDomainResourceAttributes(xpp, res); 9530 next(xpp); 9531 int eventType = nextNoWhitespace(xpp); 9532 while (eventType != XmlPullParser.END_TAG) { 9533 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9534 res.setIdentifier(parseIdentifier(xpp)); 9535 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9536 res.setStatusElement(parseEnumeration(xpp, SupplyDelivery.SupplyDeliveryStatus.NULL, 9537 new SupplyDelivery.SupplyDeliveryStatusEnumFactory())); 9538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 9539 res.setPatient(parseReference(xpp)); 9540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9541 res.setType(parseCodeableConcept(xpp)); 9542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9543 res.setQuantity(parseSimpleQuantity(xpp)); 9544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suppliedItem")) { 9545 res.setSuppliedItem(parseReference(xpp)); 9546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { 9547 res.setSupplier(parseReference(xpp)); 9548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenPrepared")) { 9549 res.setWhenPrepared(parsePeriod(xpp)); 9550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 9551 res.setTimeElement(parseDateTime(xpp)); 9552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 9553 res.setDestination(parseReference(xpp)); 9554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 9555 res.getReceiver().add(parseReference(xpp)); 9556 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9557 unknownContent(xpp); 9558 eventType = nextNoWhitespace(xpp); 9559 } 9560 next(xpp); 9561 parseElementClose(res); 9562 return res; 9563 } 9564 9565 protected SupplyRequest parseSupplyRequest(XmlPullParser xpp) 9566 throws XmlPullParserException, IOException, FHIRFormatError { 9567 SupplyRequest res = new SupplyRequest(); 9568 parseDomainResourceAttributes(xpp, res); 9569 next(xpp); 9570 int eventType = nextNoWhitespace(xpp); 9571 while (eventType != XmlPullParser.END_TAG) { 9572 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 9573 res.setPatient(parseReference(xpp)); 9574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 9575 res.setSource(parseReference(xpp)); 9576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9577 res.setDateElement(parseDateTime(xpp)); 9578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9579 res.setIdentifier(parseIdentifier(xpp)); 9580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9581 res.setStatusElement(parseEnumeration(xpp, SupplyRequest.SupplyRequestStatus.NULL, 9582 new SupplyRequest.SupplyRequestStatusEnumFactory())); 9583 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 9584 res.setKind(parseCodeableConcept(xpp)); 9585 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedItem")) { 9586 res.setOrderedItem(parseReference(xpp)); 9587 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { 9588 res.getSupplier().add(parseReference(xpp)); 9589 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 9590 res.setReason(parseType("reason", xpp)); 9591 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 9592 res.setWhen(parseSupplyRequestSupplyRequestWhenComponent(xpp, res)); 9593 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9594 unknownContent(xpp); 9595 eventType = nextNoWhitespace(xpp); 9596 } 9597 next(xpp); 9598 parseElementClose(res); 9599 return res; 9600 } 9601 9602 protected SupplyRequest.SupplyRequestWhenComponent parseSupplyRequestSupplyRequestWhenComponent(XmlPullParser xpp, 9603 SupplyRequest owner) throws XmlPullParserException, IOException, FHIRFormatError { 9604 SupplyRequest.SupplyRequestWhenComponent res = new SupplyRequest.SupplyRequestWhenComponent(); 9605 parseBackboneAttributes(xpp, res); 9606 next(xpp); 9607 int eventType = nextNoWhitespace(xpp); 9608 while (eventType != XmlPullParser.END_TAG) { 9609 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9610 res.setCode(parseCodeableConcept(xpp)); 9611 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 9612 res.setSchedule(parseTiming(xpp)); 9613 } else if (!parseBackboneContent(eventType, xpp, res)) 9614 unknownContent(xpp); 9615 eventType = nextNoWhitespace(xpp); 9616 } 9617 next(xpp); 9618 parseElementClose(res); 9619 return res; 9620 } 9621 9622 protected TestScript parseTestScript(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9623 TestScript res = new TestScript(); 9624 parseDomainResourceAttributes(xpp, res); 9625 next(xpp); 9626 int eventType = nextNoWhitespace(xpp); 9627 while (eventType != XmlPullParser.END_TAG) { 9628 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9629 res.setUrlElement(parseUri(xpp)); 9630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9631 res.setVersionElement(parseString(xpp)); 9632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9633 res.setNameElement(parseString(xpp)); 9634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9635 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 9636 new Enumerations.ConformanceResourceStatusEnumFactory())); 9637 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9638 res.setIdentifier(parseIdentifier(xpp)); 9639 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 9640 res.setExperimentalElement(parseBoolean(xpp)); 9641 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 9642 res.setPublisherElement(parseString(xpp)); 9643 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9644 res.getContact().add(parseTestScriptTestScriptContactComponent(xpp, res)); 9645 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9646 res.setDateElement(parseDateTime(xpp)); 9647 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9648 res.setDescriptionElement(parseString(xpp)); 9649 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 9650 res.getUseContext().add(parseCodeableConcept(xpp)); 9651 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 9652 res.setRequirementsElement(parseString(xpp)); 9653 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 9654 res.setCopyrightElement(parseString(xpp)); 9655 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("metadata")) { 9656 res.setMetadata(parseTestScriptTestScriptMetadataComponent(xpp, res)); 9657 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("multiserver")) { 9658 res.setMultiserverElement(parseBoolean(xpp)); 9659 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fixture")) { 9660 res.getFixture().add(parseTestScriptTestScriptFixtureComponent(xpp, res)); 9661 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 9662 res.getProfile().add(parseReference(xpp)); 9663 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variable")) { 9664 res.getVariable().add(parseTestScriptTestScriptVariableComponent(xpp, res)); 9665 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("setup")) { 9666 res.setSetup(parseTestScriptTestScriptSetupComponent(xpp, res)); 9667 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("test")) { 9668 res.getTest().add(parseTestScriptTestScriptTestComponent(xpp, res)); 9669 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("teardown")) { 9670 res.setTeardown(parseTestScriptTestScriptTeardownComponent(xpp, res)); 9671 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9672 unknownContent(xpp); 9673 eventType = nextNoWhitespace(xpp); 9674 } 9675 next(xpp); 9676 parseElementClose(res); 9677 return res; 9678 } 9679 9680 protected TestScript.TestScriptContactComponent parseTestScriptTestScriptContactComponent(XmlPullParser xpp, 9681 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9682 TestScript.TestScriptContactComponent res = new TestScript.TestScriptContactComponent(); 9683 parseBackboneAttributes(xpp, res); 9684 next(xpp); 9685 int eventType = nextNoWhitespace(xpp); 9686 while (eventType != XmlPullParser.END_TAG) { 9687 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9688 res.setNameElement(parseString(xpp)); 9689 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 9690 res.getTelecom().add(parseContactPoint(xpp)); 9691 } else if (!parseBackboneContent(eventType, xpp, res)) 9692 unknownContent(xpp); 9693 eventType = nextNoWhitespace(xpp); 9694 } 9695 next(xpp); 9696 parseElementClose(res); 9697 return res; 9698 } 9699 9700 protected TestScript.TestScriptMetadataComponent parseTestScriptTestScriptMetadataComponent(XmlPullParser xpp, 9701 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9702 TestScript.TestScriptMetadataComponent res = new TestScript.TestScriptMetadataComponent(); 9703 parseBackboneAttributes(xpp, res); 9704 next(xpp); 9705 int eventType = nextNoWhitespace(xpp); 9706 while (eventType != XmlPullParser.END_TAG) { 9707 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 9708 res.getLink().add(parseTestScriptTestScriptMetadataLinkComponent(xpp, owner)); 9709 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capability")) { 9710 res.getCapability().add(parseTestScriptTestScriptMetadataCapabilityComponent(xpp, owner)); 9711 } else if (!parseBackboneContent(eventType, xpp, res)) 9712 unknownContent(xpp); 9713 eventType = nextNoWhitespace(xpp); 9714 } 9715 next(xpp); 9716 parseElementClose(res); 9717 return res; 9718 } 9719 9720 protected TestScript.TestScriptMetadataLinkComponent parseTestScriptTestScriptMetadataLinkComponent(XmlPullParser xpp, 9721 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9722 TestScript.TestScriptMetadataLinkComponent res = new TestScript.TestScriptMetadataLinkComponent(); 9723 parseBackboneAttributes(xpp, res); 9724 next(xpp); 9725 int eventType = nextNoWhitespace(xpp); 9726 while (eventType != XmlPullParser.END_TAG) { 9727 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9728 res.setUrlElement(parseUri(xpp)); 9729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9730 res.setDescriptionElement(parseString(xpp)); 9731 } else if (!parseBackboneContent(eventType, xpp, res)) 9732 unknownContent(xpp); 9733 eventType = nextNoWhitespace(xpp); 9734 } 9735 next(xpp); 9736 parseElementClose(res); 9737 return res; 9738 } 9739 9740 protected TestScript.TestScriptMetadataCapabilityComponent parseTestScriptTestScriptMetadataCapabilityComponent( 9741 XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9742 TestScript.TestScriptMetadataCapabilityComponent res = new TestScript.TestScriptMetadataCapabilityComponent(); 9743 parseBackboneAttributes(xpp, res); 9744 next(xpp); 9745 int eventType = nextNoWhitespace(xpp); 9746 while (eventType != XmlPullParser.END_TAG) { 9747 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 9748 res.setRequiredElement(parseBoolean(xpp)); 9749 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validated")) { 9750 res.setValidatedElement(parseBoolean(xpp)); 9751 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9752 res.setDescriptionElement(parseString(xpp)); 9753 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 9754 res.setDestinationElement(parseInteger(xpp)); 9755 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 9756 res.getLink().add(parseUri(xpp)); 9757 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conformance")) { 9758 res.setConformance(parseReference(xpp)); 9759 } else if (!parseBackboneContent(eventType, xpp, res)) 9760 unknownContent(xpp); 9761 eventType = nextNoWhitespace(xpp); 9762 } 9763 next(xpp); 9764 parseElementClose(res); 9765 return res; 9766 } 9767 9768 protected TestScript.TestScriptFixtureComponent parseTestScriptTestScriptFixtureComponent(XmlPullParser xpp, 9769 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9770 TestScript.TestScriptFixtureComponent res = new TestScript.TestScriptFixtureComponent(); 9771 parseBackboneAttributes(xpp, res); 9772 next(xpp); 9773 int eventType = nextNoWhitespace(xpp); 9774 while (eventType != XmlPullParser.END_TAG) { 9775 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("autocreate")) { 9776 res.setAutocreateElement(parseBoolean(xpp)); 9777 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("autodelete")) { 9778 res.setAutodeleteElement(parseBoolean(xpp)); 9779 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 9780 res.setResource(parseReference(xpp)); 9781 } else if (!parseBackboneContent(eventType, xpp, res)) 9782 unknownContent(xpp); 9783 eventType = nextNoWhitespace(xpp); 9784 } 9785 next(xpp); 9786 parseElementClose(res); 9787 return res; 9788 } 9789 9790 protected TestScript.TestScriptVariableComponent parseTestScriptTestScriptVariableComponent(XmlPullParser xpp, 9791 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9792 TestScript.TestScriptVariableComponent res = new TestScript.TestScriptVariableComponent(); 9793 parseBackboneAttributes(xpp, res); 9794 next(xpp); 9795 int eventType = nextNoWhitespace(xpp); 9796 while (eventType != XmlPullParser.END_TAG) { 9797 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9798 res.setNameElement(parseString(xpp)); 9799 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("headerField")) { 9800 res.setHeaderFieldElement(parseString(xpp)); 9801 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 9802 res.setPathElement(parseString(xpp)); 9803 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 9804 res.setSourceIdElement(parseId(xpp)); 9805 } else if (!parseBackboneContent(eventType, xpp, res)) 9806 unknownContent(xpp); 9807 eventType = nextNoWhitespace(xpp); 9808 } 9809 next(xpp); 9810 parseElementClose(res); 9811 return res; 9812 } 9813 9814 protected TestScript.TestScriptSetupComponent parseTestScriptTestScriptSetupComponent(XmlPullParser xpp, 9815 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9816 TestScript.TestScriptSetupComponent res = new TestScript.TestScriptSetupComponent(); 9817 parseBackboneAttributes(xpp, res); 9818 next(xpp); 9819 int eventType = nextNoWhitespace(xpp); 9820 while (eventType != XmlPullParser.END_TAG) { 9821 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("metadata")) { 9822 res.setMetadata(parseTestScriptTestScriptMetadataComponent(xpp, owner)); 9823 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 9824 res.getAction().add(parseTestScriptTestScriptSetupActionComponent(xpp, owner)); 9825 } else if (!parseBackboneContent(eventType, xpp, res)) 9826 unknownContent(xpp); 9827 eventType = nextNoWhitespace(xpp); 9828 } 9829 next(xpp); 9830 parseElementClose(res); 9831 return res; 9832 } 9833 9834 protected TestScript.TestScriptSetupActionComponent parseTestScriptTestScriptSetupActionComponent(XmlPullParser xpp, 9835 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9836 TestScript.TestScriptSetupActionComponent res = new TestScript.TestScriptSetupActionComponent(); 9837 parseBackboneAttributes(xpp, res); 9838 next(xpp); 9839 int eventType = nextNoWhitespace(xpp); 9840 while (eventType != XmlPullParser.END_TAG) { 9841 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 9842 res.setOperation(parseTestScriptTestScriptSetupActionOperationComponent(xpp, owner)); 9843 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 9844 res.setAssert(parseTestScriptTestScriptSetupActionAssertComponent(xpp, owner)); 9845 } else if (!parseBackboneContent(eventType, xpp, res)) 9846 unknownContent(xpp); 9847 eventType = nextNoWhitespace(xpp); 9848 } 9849 next(xpp); 9850 parseElementClose(res); 9851 return res; 9852 } 9853 9854 protected TestScript.TestScriptSetupActionOperationComponent parseTestScriptTestScriptSetupActionOperationComponent( 9855 XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9856 TestScript.TestScriptSetupActionOperationComponent res = new TestScript.TestScriptSetupActionOperationComponent(); 9857 parseBackboneAttributes(xpp, res); 9858 next(xpp); 9859 int eventType = nextNoWhitespace(xpp); 9860 while (eventType != XmlPullParser.END_TAG) { 9861 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9862 res.setType(parseCoding(xpp)); 9863 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 9864 res.setResourceElement(parseCode(xpp)); 9865 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 9866 res.setLabelElement(parseString(xpp)); 9867 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9868 res.setDescriptionElement(parseString(xpp)); 9869 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accept")) { 9870 res.setAcceptElement( 9871 parseEnumeration(xpp, TestScript.ContentType.NULL, new TestScript.ContentTypeEnumFactory())); 9872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 9873 res.setContentTypeElement( 9874 parseEnumeration(xpp, TestScript.ContentType.NULL, new TestScript.ContentTypeEnumFactory())); 9875 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 9876 res.setDestinationElement(parseInteger(xpp)); 9877 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encodeRequestUrl")) { 9878 res.setEncodeRequestUrlElement(parseBoolean(xpp)); 9879 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("params")) { 9880 res.setParamsElement(parseString(xpp)); 9881 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestHeader")) { 9882 res.getRequestHeader().add(parseTestScriptTestScriptSetupActionOperationRequestHeaderComponent(xpp, owner)); 9883 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseId")) { 9884 res.setResponseIdElement(parseId(xpp)); 9885 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 9886 res.setSourceIdElement(parseId(xpp)); 9887 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetId")) { 9888 res.setTargetIdElement(parseId(xpp)); 9889 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9890 res.setUrlElement(parseString(xpp)); 9891 } else if (!parseBackboneContent(eventType, xpp, res)) 9892 unknownContent(xpp); 9893 eventType = nextNoWhitespace(xpp); 9894 } 9895 next(xpp); 9896 parseElementClose(res); 9897 return res; 9898 } 9899 9900 protected TestScript.TestScriptSetupActionOperationRequestHeaderComponent parseTestScriptTestScriptSetupActionOperationRequestHeaderComponent( 9901 XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9902 TestScript.TestScriptSetupActionOperationRequestHeaderComponent res = new TestScript.TestScriptSetupActionOperationRequestHeaderComponent(); 9903 parseBackboneAttributes(xpp, res); 9904 next(xpp); 9905 int eventType = nextNoWhitespace(xpp); 9906 while (eventType != XmlPullParser.END_TAG) { 9907 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("field")) { 9908 res.setFieldElement(parseString(xpp)); 9909 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 9910 res.setValueElement(parseString(xpp)); 9911 } else if (!parseBackboneContent(eventType, xpp, res)) 9912 unknownContent(xpp); 9913 eventType = nextNoWhitespace(xpp); 9914 } 9915 next(xpp); 9916 parseElementClose(res); 9917 return res; 9918 } 9919 9920 protected TestScript.TestScriptSetupActionAssertComponent parseTestScriptTestScriptSetupActionAssertComponent( 9921 XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9922 TestScript.TestScriptSetupActionAssertComponent res = new TestScript.TestScriptSetupActionAssertComponent(); 9923 parseBackboneAttributes(xpp, res); 9924 next(xpp); 9925 int eventType = nextNoWhitespace(xpp); 9926 while (eventType != XmlPullParser.END_TAG) { 9927 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 9928 res.setLabelElement(parseString(xpp)); 9929 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9930 res.setDescriptionElement(parseString(xpp)); 9931 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("direction")) { 9932 res.setDirectionElement(parseEnumeration(xpp, TestScript.AssertionDirectionType.NULL, 9933 new TestScript.AssertionDirectionTypeEnumFactory())); 9934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compareToSourceId")) { 9935 res.setCompareToSourceIdElement(parseString(xpp)); 9936 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compareToSourcePath")) { 9937 res.setCompareToSourcePathElement(parseString(xpp)); 9938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 9939 res.setContentTypeElement( 9940 parseEnumeration(xpp, TestScript.ContentType.NULL, new TestScript.ContentTypeEnumFactory())); 9941 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("headerField")) { 9942 res.setHeaderFieldElement(parseString(xpp)); 9943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("minimumId")) { 9944 res.setMinimumIdElement(parseString(xpp)); 9945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("navigationLinks")) { 9946 res.setNavigationLinksElement(parseBoolean(xpp)); 9947 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 9948 res.setOperatorElement(parseEnumeration(xpp, TestScript.AssertionOperatorType.NULL, 9949 new TestScript.AssertionOperatorTypeEnumFactory())); 9950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 9951 res.setPathElement(parseString(xpp)); 9952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 9953 res.setResourceElement(parseCode(xpp)); 9954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 9955 res.setResponseElement(parseEnumeration(xpp, TestScript.AssertionResponseTypes.NULL, 9956 new TestScript.AssertionResponseTypesEnumFactory())); 9957 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseCode")) { 9958 res.setResponseCodeElement(parseString(xpp)); 9959 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 9960 res.setSourceIdElement(parseId(xpp)); 9961 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validateProfileId")) { 9962 res.setValidateProfileIdElement(parseId(xpp)); 9963 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 9964 res.setValueElement(parseString(xpp)); 9965 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("warningOnly")) { 9966 res.setWarningOnlyElement(parseBoolean(xpp)); 9967 } else if (!parseBackboneContent(eventType, xpp, res)) 9968 unknownContent(xpp); 9969 eventType = nextNoWhitespace(xpp); 9970 } 9971 next(xpp); 9972 parseElementClose(res); 9973 return res; 9974 } 9975 9976 protected TestScript.TestScriptTestComponent parseTestScriptTestScriptTestComponent(XmlPullParser xpp, 9977 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9978 TestScript.TestScriptTestComponent res = new TestScript.TestScriptTestComponent(); 9979 parseBackboneAttributes(xpp, res); 9980 next(xpp); 9981 int eventType = nextNoWhitespace(xpp); 9982 while (eventType != XmlPullParser.END_TAG) { 9983 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9984 res.setNameElement(parseString(xpp)); 9985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9986 res.setDescriptionElement(parseString(xpp)); 9987 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("metadata")) { 9988 res.setMetadata(parseTestScriptTestScriptMetadataComponent(xpp, owner)); 9989 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 9990 res.getAction().add(parseTestScriptTestScriptTestActionComponent(xpp, owner)); 9991 } else if (!parseBackboneContent(eventType, xpp, res)) 9992 unknownContent(xpp); 9993 eventType = nextNoWhitespace(xpp); 9994 } 9995 next(xpp); 9996 parseElementClose(res); 9997 return res; 9998 } 9999 10000 protected TestScript.TestScriptTestActionComponent parseTestScriptTestScriptTestActionComponent(XmlPullParser xpp, 10001 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 10002 TestScript.TestScriptTestActionComponent res = new TestScript.TestScriptTestActionComponent(); 10003 parseBackboneAttributes(xpp, res); 10004 next(xpp); 10005 int eventType = nextNoWhitespace(xpp); 10006 while (eventType != XmlPullParser.END_TAG) { 10007 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 10008 res.setOperation(parseTestScriptTestScriptSetupActionOperationComponent(xpp, owner)); 10009 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 10010 res.setAssert(parseTestScriptTestScriptSetupActionAssertComponent(xpp, owner)); 10011 } else if (!parseBackboneContent(eventType, xpp, res)) 10012 unknownContent(xpp); 10013 eventType = nextNoWhitespace(xpp); 10014 } 10015 next(xpp); 10016 parseElementClose(res); 10017 return res; 10018 } 10019 10020 protected TestScript.TestScriptTeardownComponent parseTestScriptTestScriptTeardownComponent(XmlPullParser xpp, 10021 TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 10022 TestScript.TestScriptTeardownComponent res = new TestScript.TestScriptTeardownComponent(); 10023 parseBackboneAttributes(xpp, res); 10024 next(xpp); 10025 int eventType = nextNoWhitespace(xpp); 10026 while (eventType != XmlPullParser.END_TAG) { 10027 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 10028 res.getAction().add(parseTestScriptTestScriptTeardownActionComponent(xpp, owner)); 10029 } else if (!parseBackboneContent(eventType, xpp, res)) 10030 unknownContent(xpp); 10031 eventType = nextNoWhitespace(xpp); 10032 } 10033 next(xpp); 10034 parseElementClose(res); 10035 return res; 10036 } 10037 10038 protected TestScript.TestScriptTeardownActionComponent parseTestScriptTestScriptTeardownActionComponent( 10039 XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 10040 TestScript.TestScriptTeardownActionComponent res = new TestScript.TestScriptTeardownActionComponent(); 10041 parseBackboneAttributes(xpp, res); 10042 next(xpp); 10043 int eventType = nextNoWhitespace(xpp); 10044 while (eventType != XmlPullParser.END_TAG) { 10045 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 10046 res.setOperation(parseTestScriptTestScriptSetupActionOperationComponent(xpp, owner)); 10047 } else if (!parseBackboneContent(eventType, xpp, res)) 10048 unknownContent(xpp); 10049 eventType = nextNoWhitespace(xpp); 10050 } 10051 next(xpp); 10052 parseElementClose(res); 10053 return res; 10054 } 10055 10056 protected ValueSet parseValueSet(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10057 ValueSet res = new ValueSet(); 10058 parseDomainResourceAttributes(xpp, res); 10059 next(xpp); 10060 int eventType = nextNoWhitespace(xpp); 10061 while (eventType != XmlPullParser.END_TAG) { 10062 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 10063 res.setUrlElement(parseUri(xpp)); 10064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10065 res.setIdentifier(parseIdentifier(xpp)); 10066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 10067 res.setVersionElement(parseString(xpp)); 10068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 10069 res.setNameElement(parseString(xpp)); 10070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 10071 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, 10072 new Enumerations.ConformanceResourceStatusEnumFactory())); 10073 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 10074 res.setExperimentalElement(parseBoolean(xpp)); 10075 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 10076 res.setPublisherElement(parseString(xpp)); 10077 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 10078 res.getContact().add(parseValueSetValueSetContactComponent(xpp, res)); 10079 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 10080 res.setDateElement(parseDateTime(xpp)); 10081 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lockedDate")) { 10082 res.setLockedDateElement(parseDate(xpp)); 10083 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 10084 res.setDescriptionElement(parseString(xpp)); 10085 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 10086 res.getUseContext().add(parseCodeableConcept(xpp)); 10087 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("immutable")) { 10088 res.setImmutableElement(parseBoolean(xpp)); 10089 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 10090 res.setRequirementsElement(parseString(xpp)); 10091 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 10092 res.setCopyrightElement(parseString(xpp)); 10093 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extensible")) { 10094 res.setExtensibleElement(parseBoolean(xpp)); 10095 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 10096 res.setCodeSystem(parseValueSetValueSetCodeSystemComponent(xpp, res)); 10097 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compose")) { 10098 res.setCompose(parseValueSetValueSetComposeComponent(xpp, res)); 10099 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expansion")) { 10100 res.setExpansion(parseValueSetValueSetExpansionComponent(xpp, res)); 10101 } else if (!parseDomainResourceContent(eventType, xpp, res)) 10102 unknownContent(xpp); 10103 eventType = nextNoWhitespace(xpp); 10104 } 10105 next(xpp); 10106 parseElementClose(res); 10107 return res; 10108 } 10109 10110 protected ValueSet.ValueSetContactComponent parseValueSetValueSetContactComponent(XmlPullParser xpp, ValueSet owner) 10111 throws XmlPullParserException, IOException, FHIRFormatError { 10112 ValueSet.ValueSetContactComponent res = new ValueSet.ValueSetContactComponent(); 10113 parseBackboneAttributes(xpp, res); 10114 next(xpp); 10115 int eventType = nextNoWhitespace(xpp); 10116 while (eventType != XmlPullParser.END_TAG) { 10117 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 10118 res.setNameElement(parseString(xpp)); 10119 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 10120 res.getTelecom().add(parseContactPoint(xpp)); 10121 } else if (!parseBackboneContent(eventType, xpp, res)) 10122 unknownContent(xpp); 10123 eventType = nextNoWhitespace(xpp); 10124 } 10125 next(xpp); 10126 parseElementClose(res); 10127 return res; 10128 } 10129 10130 protected ValueSet.ValueSetCodeSystemComponent parseValueSetValueSetCodeSystemComponent(XmlPullParser xpp, 10131 ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 10132 ValueSet.ValueSetCodeSystemComponent res = new ValueSet.ValueSetCodeSystemComponent(); 10133 parseBackboneAttributes(xpp, res); 10134 next(xpp); 10135 int eventType = nextNoWhitespace(xpp); 10136 while (eventType != XmlPullParser.END_TAG) { 10137 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 10138 res.setSystemElement(parseUri(xpp)); 10139 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 10140 res.setVersionElement(parseString(xpp)); 10141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caseSensitive")) { 10142 res.setCaseSensitiveElement(parseBoolean(xpp)); 10143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 10144 res.getConcept().add(parseValueSetConceptDefinitionComponent(xpp, owner)); 10145 } else if (!parseBackboneContent(eventType, xpp, res)) 10146 unknownContent(xpp); 10147 eventType = nextNoWhitespace(xpp); 10148 } 10149 next(xpp); 10150 parseElementClose(res); 10151 return res; 10152 } 10153 10154 protected ValueSet.ConceptDefinitionComponent parseValueSetConceptDefinitionComponent(XmlPullParser xpp, 10155 ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 10156 ValueSet.ConceptDefinitionComponent res = new ValueSet.ConceptDefinitionComponent(); 10157 parseBackboneAttributes(xpp, res); 10158 next(xpp); 10159 int eventType = nextNoWhitespace(xpp); 10160 while (eventType != XmlPullParser.END_TAG) { 10161 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 10162 res.setCodeElement(parseCode(xpp)); 10163 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 10164 res.setAbstractElement(parseBoolean(xpp)); 10165 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 10166 res.setDisplayElement(parseString(xpp)); 10167 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 10168 res.setDefinitionElement(parseString(xpp)); 10169 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("designation")) { 10170 res.getDesignation().add(parseValueSetConceptDefinitionDesignationComponent(xpp, owner)); 10171 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 10172 res.getConcept().add(parseValueSetConceptDefinitionComponent(xpp, owner)); 10173 } else if (!parseBackboneContent(eventType, xpp, res)) 10174 unknownContent(xpp); 10175 eventType = nextNoWhitespace(xpp); 10176 } 10177 next(xpp); 10178 parseElementClose(res); 10179 return res; 10180 } 10181 10182 protected ValueSet.ConceptDefinitionDesignationComponent parseValueSetConceptDefinitionDesignationComponent( 10183 XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 10184 ValueSet.ConceptDefinitionDesignationComponent res = new ValueSet.ConceptDefinitionDesignationComponent(); 10185 parseBackboneAttributes(xpp, res); 10186 next(xpp); 10187 int eventType = nextNoWhitespace(xpp); 10188 while (eventType != XmlPullParser.END_TAG) { 10189 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 10190 res.setLanguageElement(parseCode(xpp)); 10191 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 10192 res.setUse(parseCoding(xpp)); 10193 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 10194 res.setValueElement(parseString(xpp)); 10195 } else if (!parseBackboneContent(eventType, xpp, res)) 10196 unknownContent(xpp); 10197 eventType = nextNoWhitespace(xpp); 10198 } 10199 next(xpp); 10200 parseElementClose(res); 10201 return res; 10202 } 10203 10204 protected ValueSet.ValueSetComposeComponent parseValueSetValueSetComposeComponent(XmlPullParser xpp, ValueSet owner) 10205 throws XmlPullParserException, IOException, FHIRFormatError { 10206 ValueSet.ValueSetComposeComponent res = new ValueSet.ValueSetComposeComponent(); 10207 parseBackboneAttributes(xpp, res); 10208 next(xpp); 10209 int eventType = nextNoWhitespace(xpp); 10210 while (eventType != XmlPullParser.END_TAG) { 10211 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("import")) { 10212 res.getImport().add(parseUri(xpp)); 10213 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("include")) { 10214 res.getInclude().add(parseValueSetConceptSetComponent(xpp, owner)); 10215 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 10216 res.getExclude().add(parseValueSetConceptSetComponent(xpp, owner)); 10217 } else if (!parseBackboneContent(eventType, xpp, res)) 10218 unknownContent(xpp); 10219 eventType = nextNoWhitespace(xpp); 10220 } 10221 next(xpp); 10222 parseElementClose(res); 10223 return res; 10224 } 10225 10226 protected ValueSet.ConceptSetComponent parseValueSetConceptSetComponent(XmlPullParser xpp, ValueSet owner) 10227 throws XmlPullParserException, IOException, FHIRFormatError { 10228 ValueSet.ConceptSetComponent res = new ValueSet.ConceptSetComponent(); 10229 parseBackboneAttributes(xpp, res); 10230 next(xpp); 10231 int eventType = nextNoWhitespace(xpp); 10232 while (eventType != XmlPullParser.END_TAG) { 10233 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 10234 res.setSystemElement(parseUri(xpp)); 10235 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 10236 res.setVersionElement(parseString(xpp)); 10237 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 10238 res.getConcept().add(parseValueSetConceptReferenceComponent(xpp, owner)); 10239 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filter")) { 10240 res.getFilter().add(parseValueSetConceptSetFilterComponent(xpp, owner)); 10241 } else if (!parseBackboneContent(eventType, xpp, res)) 10242 unknownContent(xpp); 10243 eventType = nextNoWhitespace(xpp); 10244 } 10245 next(xpp); 10246 parseElementClose(res); 10247 return res; 10248 } 10249 10250 protected ValueSet.ConceptReferenceComponent parseValueSetConceptReferenceComponent(XmlPullParser xpp, ValueSet owner) 10251 throws XmlPullParserException, IOException, FHIRFormatError { 10252 ValueSet.ConceptReferenceComponent res = new ValueSet.ConceptReferenceComponent(); 10253 parseBackboneAttributes(xpp, res); 10254 next(xpp); 10255 int eventType = nextNoWhitespace(xpp); 10256 while (eventType != XmlPullParser.END_TAG) { 10257 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 10258 res.setCodeElement(parseCode(xpp)); 10259 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 10260 res.setDisplayElement(parseString(xpp)); 10261 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("designation")) { 10262 res.getDesignation().add(parseValueSetConceptDefinitionDesignationComponent(xpp, owner)); 10263 } else if (!parseBackboneContent(eventType, xpp, res)) 10264 unknownContent(xpp); 10265 eventType = nextNoWhitespace(xpp); 10266 } 10267 next(xpp); 10268 parseElementClose(res); 10269 return res; 10270 } 10271 10272 protected ValueSet.ConceptSetFilterComponent parseValueSetConceptSetFilterComponent(XmlPullParser xpp, ValueSet owner) 10273 throws XmlPullParserException, IOException, FHIRFormatError { 10274 ValueSet.ConceptSetFilterComponent res = new ValueSet.ConceptSetFilterComponent(); 10275 parseBackboneAttributes(xpp, res); 10276 next(xpp); 10277 int eventType = nextNoWhitespace(xpp); 10278 while (eventType != XmlPullParser.END_TAG) { 10279 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 10280 res.setPropertyElement(parseCode(xpp)); 10281 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("op")) { 10282 res.setOpElement(parseEnumeration(xpp, ValueSet.FilterOperator.NULL, new ValueSet.FilterOperatorEnumFactory())); 10283 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 10284 res.setValueElement(parseCode(xpp)); 10285 } else if (!parseBackboneContent(eventType, xpp, res)) 10286 unknownContent(xpp); 10287 eventType = nextNoWhitespace(xpp); 10288 } 10289 next(xpp); 10290 parseElementClose(res); 10291 return res; 10292 } 10293 10294 protected ValueSet.ValueSetExpansionComponent parseValueSetValueSetExpansionComponent(XmlPullParser xpp, 10295 ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 10296 ValueSet.ValueSetExpansionComponent res = new ValueSet.ValueSetExpansionComponent(); 10297 parseBackboneAttributes(xpp, res); 10298 next(xpp); 10299 int eventType = nextNoWhitespace(xpp); 10300 while (eventType != XmlPullParser.END_TAG) { 10301 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10302 res.setIdentifierElement(parseUri(xpp)); 10303 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { 10304 res.setTimestampElement(parseDateTime(xpp)); 10305 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 10306 res.setTotalElement(parseInteger(xpp)); 10307 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("offset")) { 10308 res.setOffsetElement(parseInteger(xpp)); 10309 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 10310 res.getParameter().add(parseValueSetValueSetExpansionParameterComponent(xpp, owner)); 10311 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contains")) { 10312 res.getContains().add(parseValueSetValueSetExpansionContainsComponent(xpp, owner)); 10313 } else if (!parseBackboneContent(eventType, xpp, res)) 10314 unknownContent(xpp); 10315 eventType = nextNoWhitespace(xpp); 10316 } 10317 next(xpp); 10318 parseElementClose(res); 10319 return res; 10320 } 10321 10322 protected ValueSet.ValueSetExpansionParameterComponent parseValueSetValueSetExpansionParameterComponent( 10323 XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 10324 ValueSet.ValueSetExpansionParameterComponent res = new ValueSet.ValueSetExpansionParameterComponent(); 10325 parseBackboneAttributes(xpp, res); 10326 next(xpp); 10327 int eventType = nextNoWhitespace(xpp); 10328 while (eventType != XmlPullParser.END_TAG) { 10329 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 10330 res.setNameElement(parseString(xpp)); 10331 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 10332 res.setValue(parseType("value", xpp)); 10333 } else if (!parseBackboneContent(eventType, xpp, res)) 10334 unknownContent(xpp); 10335 eventType = nextNoWhitespace(xpp); 10336 } 10337 next(xpp); 10338 parseElementClose(res); 10339 return res; 10340 } 10341 10342 protected ValueSet.ValueSetExpansionContainsComponent parseValueSetValueSetExpansionContainsComponent( 10343 XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 10344 ValueSet.ValueSetExpansionContainsComponent res = new ValueSet.ValueSetExpansionContainsComponent(); 10345 parseBackboneAttributes(xpp, res); 10346 next(xpp); 10347 int eventType = nextNoWhitespace(xpp); 10348 while (eventType != XmlPullParser.END_TAG) { 10349 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 10350 res.setSystemElement(parseUri(xpp)); 10351 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 10352 res.setAbstractElement(parseBoolean(xpp)); 10353 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 10354 res.setVersionElement(parseString(xpp)); 10355 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 10356 res.setCodeElement(parseCode(xpp)); 10357 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 10358 res.setDisplayElement(parseString(xpp)); 10359 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contains")) { 10360 res.getContains().add(parseValueSetValueSetExpansionContainsComponent(xpp, owner)); 10361 } else if (!parseBackboneContent(eventType, xpp, res)) 10362 unknownContent(xpp); 10363 eventType = nextNoWhitespace(xpp); 10364 } 10365 next(xpp); 10366 parseElementClose(res); 10367 return res; 10368 } 10369 10370 protected VisionPrescription parseVisionPrescription(XmlPullParser xpp) 10371 throws XmlPullParserException, IOException, FHIRFormatError { 10372 VisionPrescription res = new VisionPrescription(); 10373 parseDomainResourceAttributes(xpp, res); 10374 next(xpp); 10375 int eventType = nextNoWhitespace(xpp); 10376 while (eventType != XmlPullParser.END_TAG) { 10377 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 10378 res.getIdentifier().add(parseIdentifier(xpp)); 10379 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateWritten")) { 10380 res.setDateWrittenElement(parseDateTime(xpp)); 10381 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 10382 res.setPatient(parseReference(xpp)); 10383 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescriber")) { 10384 res.setPrescriber(parseReference(xpp)); 10385 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 10386 res.setEncounter(parseReference(xpp)); 10387 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 10388 res.setReason(parseType("reason", xpp)); 10389 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispense")) { 10390 res.getDispense().add(parseVisionPrescriptionVisionPrescriptionDispenseComponent(xpp, res)); 10391 } else if (!parseDomainResourceContent(eventType, xpp, res)) 10392 unknownContent(xpp); 10393 eventType = nextNoWhitespace(xpp); 10394 } 10395 next(xpp); 10396 parseElementClose(res); 10397 return res; 10398 } 10399 10400 protected VisionPrescription.VisionPrescriptionDispenseComponent parseVisionPrescriptionVisionPrescriptionDispenseComponent( 10401 XmlPullParser xpp, VisionPrescription owner) throws XmlPullParserException, IOException, FHIRFormatError { 10402 VisionPrescription.VisionPrescriptionDispenseComponent res = new VisionPrescription.VisionPrescriptionDispenseComponent(); 10403 parseBackboneAttributes(xpp, res); 10404 next(xpp); 10405 int eventType = nextNoWhitespace(xpp); 10406 while (eventType != XmlPullParser.END_TAG) { 10407 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 10408 res.setProduct(parseCoding(xpp)); 10409 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eye")) { 10410 res.setEyeElement( 10411 parseEnumeration(xpp, VisionPrescription.VisionEyes.NULL, new VisionPrescription.VisionEyesEnumFactory())); 10412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sphere")) { 10413 res.setSphereElement(parseDecimal(xpp)); 10414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cylinder")) { 10415 res.setCylinderElement(parseDecimal(xpp)); 10416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("axis")) { 10417 res.setAxisElement(parseInteger(xpp)); 10418 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prism")) { 10419 res.setPrismElement(parseDecimal(xpp)); 10420 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 10421 res.setBaseElement( 10422 parseEnumeration(xpp, VisionPrescription.VisionBase.NULL, new VisionPrescription.VisionBaseEnumFactory())); 10423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("add")) { 10424 res.setAddElement(parseDecimal(xpp)); 10425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("power")) { 10426 res.setPowerElement(parseDecimal(xpp)); 10427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("backCurve")) { 10428 res.setBackCurveElement(parseDecimal(xpp)); 10429 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diameter")) { 10430 res.setDiameterElement(parseDecimal(xpp)); 10431 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 10432 res.setDuration(parseSimpleQuantity(xpp)); 10433 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("color")) { 10434 res.setColorElement(parseString(xpp)); 10435 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("brand")) { 10436 res.setBrandElement(parseString(xpp)); 10437 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 10438 res.setNotesElement(parseString(xpp)); 10439 } else if (!parseBackboneContent(eventType, xpp, res)) 10440 unknownContent(xpp); 10441 eventType = nextNoWhitespace(xpp); 10442 } 10443 next(xpp); 10444 parseElementClose(res); 10445 return res; 10446 } 10447 10448 @Override 10449 protected Resource parseResource(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10450 if (xpp.getName().equals("Parameters")) 10451 return parseParameters(xpp); 10452 else if (xpp.getName().equals("Account")) 10453 return parseAccount(xpp); 10454 else if (xpp.getName().equals("AllergyIntolerance")) 10455 return parseAllergyIntolerance(xpp); 10456 else if (xpp.getName().equals("Appointment")) 10457 return parseAppointment(xpp); 10458 else if (xpp.getName().equals("AppointmentResponse")) 10459 return parseAppointmentResponse(xpp); 10460 else if (xpp.getName().equals("AuditEvent")) 10461 return parseAuditEvent(xpp); 10462 else if (xpp.getName().equals("Basic")) 10463 return parseBasic(xpp); 10464 else if (xpp.getName().equals("Binary")) 10465 return parseBinary(xpp); 10466 else if (xpp.getName().equals("BodySite")) 10467 return parseBodySite(xpp); 10468 else if (xpp.getName().equals("Bundle")) 10469 return parseBundle(xpp); 10470 else if (xpp.getName().equals("CarePlan")) 10471 return parseCarePlan(xpp); 10472 else if (xpp.getName().equals("Claim")) 10473 return parseClaim(xpp); 10474 else if (xpp.getName().equals("ClaimResponse")) 10475 return parseClaimResponse(xpp); 10476 else if (xpp.getName().equals("ClinicalImpression")) 10477 return parseClinicalImpression(xpp); 10478 else if (xpp.getName().equals("Communication")) 10479 return parseCommunication(xpp); 10480 else if (xpp.getName().equals("CommunicationRequest")) 10481 return parseCommunicationRequest(xpp); 10482 else if (xpp.getName().equals("Composition")) 10483 return parseComposition(xpp); 10484 else if (xpp.getName().equals("ConceptMap")) 10485 return parseConceptMap(xpp); 10486 else if (xpp.getName().equals("Condition")) 10487 return parseCondition(xpp); 10488 else if (xpp.getName().equals("Conformance")) 10489 return parseConformance(xpp); 10490 else if (xpp.getName().equals("Contract")) 10491 return parseContract(xpp); 10492 else if (xpp.getName().equals("Coverage")) 10493 return parseCoverage(xpp); 10494 else if (xpp.getName().equals("DataElement")) 10495 return parseDataElement(xpp); 10496 else if (xpp.getName().equals("DetectedIssue")) 10497 return parseDetectedIssue(xpp); 10498 else if (xpp.getName().equals("Device")) 10499 return parseDevice(xpp); 10500 else if (xpp.getName().equals("DeviceComponent")) 10501 return parseDeviceComponent(xpp); 10502 else if (xpp.getName().equals("DeviceMetric")) 10503 return parseDeviceMetric(xpp); 10504 else if (xpp.getName().equals("DeviceUseRequest")) 10505 return parseDeviceUseRequest(xpp); 10506 else if (xpp.getName().equals("DeviceUseStatement")) 10507 return parseDeviceUseStatement(xpp); 10508 else if (xpp.getName().equals("DiagnosticOrder")) 10509 return parseDiagnosticOrder(xpp); 10510 else if (xpp.getName().equals("DiagnosticReport")) 10511 return parseDiagnosticReport(xpp); 10512 else if (xpp.getName().equals("DocumentManifest")) 10513 return parseDocumentManifest(xpp); 10514 else if (xpp.getName().equals("DocumentReference")) 10515 return parseDocumentReference(xpp); 10516 else if (xpp.getName().equals("EligibilityRequest")) 10517 return parseEligibilityRequest(xpp); 10518 else if (xpp.getName().equals("EligibilityResponse")) 10519 return parseEligibilityResponse(xpp); 10520 else if (xpp.getName().equals("Encounter")) 10521 return parseEncounter(xpp); 10522 else if (xpp.getName().equals("EnrollmentRequest")) 10523 return parseEnrollmentRequest(xpp); 10524 else if (xpp.getName().equals("EnrollmentResponse")) 10525 return parseEnrollmentResponse(xpp); 10526 else if (xpp.getName().equals("EpisodeOfCare")) 10527 return parseEpisodeOfCare(xpp); 10528 else if (xpp.getName().equals("ExplanationOfBenefit")) 10529 return parseExplanationOfBenefit(xpp); 10530 else if (xpp.getName().equals("FamilyMemberHistory")) 10531 return parseFamilyMemberHistory(xpp); 10532 else if (xpp.getName().equals("Flag")) 10533 return parseFlag(xpp); 10534 else if (xpp.getName().equals("Goal")) 10535 return parseGoal(xpp); 10536 else if (xpp.getName().equals("Group")) 10537 return parseGroup(xpp); 10538 else if (xpp.getName().equals("HealthcareService")) 10539 return parseHealthcareService(xpp); 10540 else if (xpp.getName().equals("ImagingObjectSelection")) 10541 return parseImagingObjectSelection(xpp); 10542 else if (xpp.getName().equals("ImagingStudy")) 10543 return parseImagingStudy(xpp); 10544 else if (xpp.getName().equals("Immunization")) 10545 return parseImmunization(xpp); 10546 else if (xpp.getName().equals("ImmunizationRecommendation")) 10547 return parseImmunizationRecommendation(xpp); 10548 else if (xpp.getName().equals("ImplementationGuide")) 10549 return parseImplementationGuide(xpp); 10550 else if (xpp.getName().equals("List")) 10551 return parseList_(xpp); 10552 else if (xpp.getName().equals("Location")) 10553 return parseLocation(xpp); 10554 else if (xpp.getName().equals("Media")) 10555 return parseMedia(xpp); 10556 else if (xpp.getName().equals("Medication")) 10557 return parseMedication(xpp); 10558 else if (xpp.getName().equals("MedicationAdministration")) 10559 return parseMedicationAdministration(xpp); 10560 else if (xpp.getName().equals("MedicationDispense")) 10561 return parseMedicationDispense(xpp); 10562 else if (xpp.getName().equals("MedicationOrder")) 10563 return parseMedicationOrder(xpp); 10564 else if (xpp.getName().equals("MedicationStatement")) 10565 return parseMedicationStatement(xpp); 10566 else if (xpp.getName().equals("MessageHeader")) 10567 return parseMessageHeader(xpp); 10568 else if (xpp.getName().equals("NamingSystem")) 10569 return parseNamingSystem(xpp); 10570 else if (xpp.getName().equals("NutritionOrder")) 10571 return parseNutritionOrder(xpp); 10572 else if (xpp.getName().equals("Observation")) 10573 return parseObservation(xpp); 10574 else if (xpp.getName().equals("OperationDefinition")) 10575 return parseOperationDefinition(xpp); 10576 else if (xpp.getName().equals("OperationOutcome")) 10577 return parseOperationOutcome(xpp); 10578 else if (xpp.getName().equals("Order")) 10579 return parseOrder(xpp); 10580 else if (xpp.getName().equals("OrderResponse")) 10581 return parseOrderResponse(xpp); 10582 else if (xpp.getName().equals("Organization")) 10583 return parseOrganization(xpp); 10584 else if (xpp.getName().equals("Patient")) 10585 return parsePatient(xpp); 10586 else if (xpp.getName().equals("PaymentNotice")) 10587 return parsePaymentNotice(xpp); 10588 else if (xpp.getName().equals("PaymentReconciliation")) 10589 return parsePaymentReconciliation(xpp); 10590 else if (xpp.getName().equals("Person")) 10591 return parsePerson(xpp); 10592 else if (xpp.getName().equals("Practitioner")) 10593 return parsePractitioner(xpp); 10594 else if (xpp.getName().equals("Procedure")) 10595 return parseProcedure(xpp); 10596 else if (xpp.getName().equals("ProcedureRequest")) 10597 return parseProcedureRequest(xpp); 10598 else if (xpp.getName().equals("ProcessRequest")) 10599 return parseProcessRequest(xpp); 10600 else if (xpp.getName().equals("ProcessResponse")) 10601 return parseProcessResponse(xpp); 10602 else if (xpp.getName().equals("Provenance")) 10603 return parseProvenance(xpp); 10604 else if (xpp.getName().equals("Questionnaire")) 10605 return parseQuestionnaire(xpp); 10606 else if (xpp.getName().equals("QuestionnaireResponse")) 10607 return parseQuestionnaireResponse(xpp); 10608 else if (xpp.getName().equals("ReferralRequest")) 10609 return parseReferralRequest(xpp); 10610 else if (xpp.getName().equals("RelatedPerson")) 10611 return parseRelatedPerson(xpp); 10612 else if (xpp.getName().equals("RiskAssessment")) 10613 return parseRiskAssessment(xpp); 10614 else if (xpp.getName().equals("Schedule")) 10615 return parseSchedule(xpp); 10616 else if (xpp.getName().equals("SearchParameter")) 10617 return parseSearchParameter(xpp); 10618 else if (xpp.getName().equals("Slot")) 10619 return parseSlot(xpp); 10620 else if (xpp.getName().equals("Specimen")) 10621 return parseSpecimen(xpp); 10622 else if (xpp.getName().equals("StructureDefinition")) 10623 return parseStructureDefinition(xpp); 10624 else if (xpp.getName().equals("Subscription")) 10625 return parseSubscription(xpp); 10626 else if (xpp.getName().equals("Substance")) 10627 return parseSubstance(xpp); 10628 else if (xpp.getName().equals("SupplyDelivery")) 10629 return parseSupplyDelivery(xpp); 10630 else if (xpp.getName().equals("SupplyRequest")) 10631 return parseSupplyRequest(xpp); 10632 else if (xpp.getName().equals("TestScript")) 10633 return parseTestScript(xpp); 10634 else if (xpp.getName().equals("ValueSet")) 10635 return parseValueSet(xpp); 10636 else if (xpp.getName().equals("VisionPrescription")) 10637 return parseVisionPrescription(xpp); 10638 else if (xpp.getName().equals("Binary")) 10639 return parseBinary(xpp); 10640 throw new FHIRFormatError("Unknown resource type " + xpp.getName() + ""); 10641 } 10642 10643 protected Type parseType(String prefix, XmlPullParser xpp) 10644 throws XmlPullParserException, IOException, FHIRFormatError { 10645 if (xpp.getName().equals(prefix + "date")) 10646 return parseDate(xpp); 10647 else if (xpp.getName().equals(prefix + "dateTime")) 10648 return parseDateTime(xpp); 10649 else if (xpp.getName().equals(prefix + "code")) 10650 return parseCode(xpp); 10651 else if (xpp.getName().equals(prefix + "string")) 10652 return parseString(xpp); 10653 else if (xpp.getName().equals(prefix + "integer")) 10654 return parseInteger(xpp); 10655 else if (xpp.getName().equals(prefix + "oid")) 10656 return parseOid(xpp); 10657 else if (xpp.getName().equals(prefix + "uri")) 10658 return parseUri(xpp); 10659 else if (xpp.getName().equals(prefix + "uuid")) 10660 return parseUuid(xpp); 10661 else if (xpp.getName().equals(prefix + "instant")) 10662 return parseInstant(xpp); 10663 else if (xpp.getName().equals(prefix + "boolean")) 10664 return parseBoolean(xpp); 10665 else if (xpp.getName().equals(prefix + "base64Binary")) 10666 return parseBase64Binary(xpp); 10667 else if (xpp.getName().equals(prefix + "unsignedInt")) 10668 return parseUnsignedInt(xpp); 10669 else if (xpp.getName().equals(prefix + "markdown")) 10670 return parseMarkdown(xpp); 10671 else if (xpp.getName().equals(prefix + "time")) 10672 return parseTime(xpp); 10673 else if (xpp.getName().equals(prefix + "id")) 10674 return parseId(xpp); 10675 else if (xpp.getName().equals(prefix + "positiveInt")) 10676 return parsePositiveInt(xpp); 10677 else if (xpp.getName().equals(prefix + "decimal")) 10678 return parseDecimal(xpp); 10679 else if (xpp.getName().equals(prefix + "Extension")) 10680 return parseExtension(xpp); 10681 else if (xpp.getName().equals(prefix + "Narrative")) 10682 return parseNarrative(xpp); 10683 else if (xpp.getName().equals(prefix + "Identifier")) 10684 return parseIdentifier(xpp); 10685 else if (xpp.getName().equals(prefix + "Coding")) 10686 return parseCoding(xpp); 10687 else if (xpp.getName().equals(prefix + "Reference")) 10688 return parseReference(xpp); 10689 else if (xpp.getName().equals(prefix + "Signature")) 10690 return parseSignature(xpp); 10691 else if (xpp.getName().equals(prefix + "SampledData")) 10692 return parseSampledData(xpp); 10693 else if (xpp.getName().equals(prefix + "Quantity")) 10694 return parseQuantity(xpp); 10695 else if (xpp.getName().equals(prefix + "Period")) 10696 return parsePeriod(xpp); 10697 else if (xpp.getName().equals(prefix + "Attachment")) 10698 return parseAttachment(xpp); 10699 else if (xpp.getName().equals(prefix + "Ratio")) 10700 return parseRatio(xpp); 10701 else if (xpp.getName().equals(prefix + "Range")) 10702 return parseRange(xpp); 10703 else if (xpp.getName().equals(prefix + "Annotation")) 10704 return parseAnnotation(xpp); 10705 else if (xpp.getName().equals(prefix + "CodeableConcept")) 10706 return parseCodeableConcept(xpp); 10707 else if (xpp.getName().equals(prefix + "Money")) 10708 return parseMoney(xpp); 10709 else if (xpp.getName().equals(prefix + "SimpleQuantity")) 10710 return parseSimpleQuantity(xpp); 10711 else if (xpp.getName().equals(prefix + "Duration")) 10712 return parseDuration(xpp); 10713 else if (xpp.getName().equals(prefix + "Count")) 10714 return parseCount(xpp); 10715 else if (xpp.getName().equals(prefix + "Distance")) 10716 return parseDistance(xpp); 10717 else if (xpp.getName().equals(prefix + "Age")) 10718 return parseAge(xpp); 10719 else if (xpp.getName().equals(prefix + "HumanName")) 10720 return parseHumanName(xpp); 10721 else if (xpp.getName().equals(prefix + "ContactPoint")) 10722 return parseContactPoint(xpp); 10723 else if (xpp.getName().equals(prefix + "Meta")) 10724 return parseMeta(xpp); 10725 else if (xpp.getName().equals(prefix + "Address")) 10726 return parseAddress(xpp); 10727 else if (xpp.getName().equals(prefix + "Timing")) 10728 return parseTiming(xpp); 10729 else if (xpp.getName().equals(prefix + "ElementDefinition")) 10730 return parseElementDefinition(xpp); 10731 else if (xpp.getName().equals(prefix + "Date")) 10732 return parseDate(xpp); 10733 else if (xpp.getName().equals(prefix + "DateTime")) 10734 return parseDateTime(xpp); 10735 else if (xpp.getName().equals(prefix + "Code")) 10736 return parseCode(xpp); 10737 else if (xpp.getName().equals(prefix + "String")) 10738 return parseString(xpp); 10739 else if (xpp.getName().equals(prefix + "Integer")) 10740 return parseInteger(xpp); 10741 else if (xpp.getName().equals(prefix + "Oid")) 10742 return parseOid(xpp); 10743 else if (xpp.getName().equals(prefix + "Uri")) 10744 return parseUri(xpp); 10745 else if (xpp.getName().equals(prefix + "Uuid")) 10746 return parseUuid(xpp); 10747 else if (xpp.getName().equals(prefix + "Instant")) 10748 return parseInstant(xpp); 10749 else if (xpp.getName().equals(prefix + "Boolean")) 10750 return parseBoolean(xpp); 10751 else if (xpp.getName().equals(prefix + "Base64Binary")) 10752 return parseBase64Binary(xpp); 10753 else if (xpp.getName().equals(prefix + "UnsignedInt")) 10754 return parseUnsignedInt(xpp); 10755 else if (xpp.getName().equals(prefix + "Markdown")) 10756 return parseMarkdown(xpp); 10757 else if (xpp.getName().equals(prefix + "Time")) 10758 return parseTime(xpp); 10759 else if (xpp.getName().equals(prefix + "Id")) 10760 return parseId(xpp); 10761 else if (xpp.getName().equals(prefix + "PositiveInt")) 10762 return parsePositiveInt(xpp); 10763 else if (xpp.getName().equals(prefix + "Decimal")) 10764 return parseDecimal(xpp); 10765 throw new FHIRFormatError("Unknown type " + xpp.getName()); 10766 } 10767 10768 protected Type parseType(XmlPullParser xpp, String type) throws XmlPullParserException, IOException, FHIRFormatError { 10769 if (type.equals("date")) 10770 return parseDate(xpp); 10771 else if (type.equals("dateTime")) 10772 return parseDateTime(xpp); 10773 else if (type.equals("code")) 10774 return parseCode(xpp); 10775 else if (type.equals("string")) 10776 return parseString(xpp); 10777 else if (type.equals("integer")) 10778 return parseInteger(xpp); 10779 else if (type.equals("oid")) 10780 return parseOid(xpp); 10781 else if (type.equals("uri")) 10782 return parseUri(xpp); 10783 else if (type.equals("uuid")) 10784 return parseUuid(xpp); 10785 else if (type.equals("instant")) 10786 return parseInstant(xpp); 10787 else if (type.equals("boolean")) 10788 return parseBoolean(xpp); 10789 else if (type.equals("base64Binary")) 10790 return parseBase64Binary(xpp); 10791 else if (type.equals("unsignedInt")) 10792 return parseUnsignedInt(xpp); 10793 else if (type.equals("markdown")) 10794 return parseMarkdown(xpp); 10795 else if (type.equals("time")) 10796 return parseTime(xpp); 10797 else if (type.equals("id")) 10798 return parseId(xpp); 10799 else if (type.equals("positiveInt")) 10800 return parsePositiveInt(xpp); 10801 else if (type.equals("decimal")) 10802 return parseDecimal(xpp); 10803 else if (type.equals("Extension")) 10804 return parseExtension(xpp); 10805 else if (type.equals("Narrative")) 10806 return parseNarrative(xpp); 10807 else if (type.equals("Identifier")) 10808 return parseIdentifier(xpp); 10809 else if (type.equals("Coding")) 10810 return parseCoding(xpp); 10811 else if (type.equals("Reference")) 10812 return parseReference(xpp); 10813 else if (type.equals("Signature")) 10814 return parseSignature(xpp); 10815 else if (type.equals("SampledData")) 10816 return parseSampledData(xpp); 10817 else if (type.equals("Quantity")) 10818 return parseQuantity(xpp); 10819 else if (type.equals("Period")) 10820 return parsePeriod(xpp); 10821 else if (type.equals("Attachment")) 10822 return parseAttachment(xpp); 10823 else if (type.equals("Ratio")) 10824 return parseRatio(xpp); 10825 else if (type.equals("Range")) 10826 return parseRange(xpp); 10827 else if (type.equals("Annotation")) 10828 return parseAnnotation(xpp); 10829 else if (type.equals("CodeableConcept")) 10830 return parseCodeableConcept(xpp); 10831 else if (type.equals("Money")) 10832 return parseMoney(xpp); 10833 else if (type.equals("SimpleQuantity")) 10834 return parseSimpleQuantity(xpp); 10835 else if (type.equals("Duration")) 10836 return parseDuration(xpp); 10837 else if (type.equals("Count")) 10838 return parseCount(xpp); 10839 else if (type.equals("Distance")) 10840 return parseDistance(xpp); 10841 else if (type.equals("Age")) 10842 return parseAge(xpp); 10843 else if (type.equals("HumanName")) 10844 return parseHumanName(xpp); 10845 else if (type.equals("ContactPoint")) 10846 return parseContactPoint(xpp); 10847 else if (type.equals("Meta")) 10848 return parseMeta(xpp); 10849 else if (type.equals("Address")) 10850 return parseAddress(xpp); 10851 else if (type.equals("Timing")) 10852 return parseTiming(xpp); 10853 else if (type.equals("ElementDefinition")) 10854 return parseElementDefinition(xpp); 10855 throw new FHIRFormatError("Unknown type " + type); 10856 } 10857 10858 public Base parseFragment(XmlPullParser xpp, String type) 10859 throws XmlPullParserException, IOException, FHIRFormatError { 10860 if (type.equals("Extension")) 10861 return parseExtension(xpp); 10862 else if (type.equals("Narrative")) 10863 return parseNarrative(xpp); 10864 else if (type.equals("Identifier")) 10865 return parseIdentifier(xpp); 10866 else if (type.equals("Coding")) 10867 return parseCoding(xpp); 10868 else if (type.equals("Reference")) 10869 return parseReference(xpp); 10870 else if (type.equals("Signature")) 10871 return parseSignature(xpp); 10872 else if (type.equals("SampledData")) 10873 return parseSampledData(xpp); 10874 else if (type.equals("Quantity")) 10875 return parseQuantity(xpp); 10876 else if (type.equals("Period")) 10877 return parsePeriod(xpp); 10878 else if (type.equals("Attachment")) 10879 return parseAttachment(xpp); 10880 else if (type.equals("Ratio")) 10881 return parseRatio(xpp); 10882 else if (type.equals("Range")) 10883 return parseRange(xpp); 10884 else if (type.equals("Annotation")) 10885 return parseAnnotation(xpp); 10886 else if (type.equals("CodeableConcept")) 10887 return parseCodeableConcept(xpp); 10888 else if (type.equals("Money")) 10889 return parseMoney(xpp); 10890 else if (type.equals("SimpleQuantity")) 10891 return parseSimpleQuantity(xpp); 10892 else if (type.equals("Duration")) 10893 return parseDuration(xpp); 10894 else if (type.equals("Count")) 10895 return parseCount(xpp); 10896 else if (type.equals("Distance")) 10897 return parseDistance(xpp); 10898 else if (type.equals("Age")) 10899 return parseAge(xpp); 10900 else if (type.equals("HumanName")) 10901 return parseHumanName(xpp); 10902 else if (type.equals("ContactPoint")) 10903 return parseContactPoint(xpp); 10904 else if (type.equals("Meta")) 10905 return parseMeta(xpp); 10906 else if (type.equals("Address")) 10907 return parseAddress(xpp); 10908 else if (type.equals("Timing")) 10909 return parseTiming(xpp); 10910 else if (type.equals("ElementDefinition")) 10911 return parseElementDefinition(xpp); 10912 else if (type.equals("Parameters")) 10913 return parseParameters(xpp); 10914 else if (type.equals("Account")) 10915 return parseAccount(xpp); 10916 else if (type.equals("AllergyIntolerance")) 10917 return parseAllergyIntolerance(xpp); 10918 else if (type.equals("Appointment")) 10919 return parseAppointment(xpp); 10920 else if (type.equals("AppointmentResponse")) 10921 return parseAppointmentResponse(xpp); 10922 else if (type.equals("AuditEvent")) 10923 return parseAuditEvent(xpp); 10924 else if (type.equals("Basic")) 10925 return parseBasic(xpp); 10926 else if (type.equals("Binary")) 10927 return parseBinary(xpp); 10928 else if (type.equals("BodySite")) 10929 return parseBodySite(xpp); 10930 else if (type.equals("Bundle")) 10931 return parseBundle(xpp); 10932 else if (type.equals("CarePlan")) 10933 return parseCarePlan(xpp); 10934 else if (type.equals("Claim")) 10935 return parseClaim(xpp); 10936 else if (type.equals("ClaimResponse")) 10937 return parseClaimResponse(xpp); 10938 else if (type.equals("ClinicalImpression")) 10939 return parseClinicalImpression(xpp); 10940 else if (type.equals("Communication")) 10941 return parseCommunication(xpp); 10942 else if (type.equals("CommunicationRequest")) 10943 return parseCommunicationRequest(xpp); 10944 else if (type.equals("Composition")) 10945 return parseComposition(xpp); 10946 else if (type.equals("ConceptMap")) 10947 return parseConceptMap(xpp); 10948 else if (type.equals("Condition")) 10949 return parseCondition(xpp); 10950 else if (type.equals("Conformance")) 10951 return parseConformance(xpp); 10952 else if (type.equals("Contract")) 10953 return parseContract(xpp); 10954 else if (type.equals("Coverage")) 10955 return parseCoverage(xpp); 10956 else if (type.equals("DataElement")) 10957 return parseDataElement(xpp); 10958 else if (type.equals("DetectedIssue")) 10959 return parseDetectedIssue(xpp); 10960 else if (type.equals("Device")) 10961 return parseDevice(xpp); 10962 else if (type.equals("DeviceComponent")) 10963 return parseDeviceComponent(xpp); 10964 else if (type.equals("DeviceMetric")) 10965 return parseDeviceMetric(xpp); 10966 else if (type.equals("DeviceUseRequest")) 10967 return parseDeviceUseRequest(xpp); 10968 else if (type.equals("DeviceUseStatement")) 10969 return parseDeviceUseStatement(xpp); 10970 else if (type.equals("DiagnosticOrder")) 10971 return parseDiagnosticOrder(xpp); 10972 else if (type.equals("DiagnosticReport")) 10973 return parseDiagnosticReport(xpp); 10974 else if (type.equals("DocumentManifest")) 10975 return parseDocumentManifest(xpp); 10976 else if (type.equals("DocumentReference")) 10977 return parseDocumentReference(xpp); 10978 else if (type.equals("EligibilityRequest")) 10979 return parseEligibilityRequest(xpp); 10980 else if (type.equals("EligibilityResponse")) 10981 return parseEligibilityResponse(xpp); 10982 else if (type.equals("Encounter")) 10983 return parseEncounter(xpp); 10984 else if (type.equals("EnrollmentRequest")) 10985 return parseEnrollmentRequest(xpp); 10986 else if (type.equals("EnrollmentResponse")) 10987 return parseEnrollmentResponse(xpp); 10988 else if (type.equals("EpisodeOfCare")) 10989 return parseEpisodeOfCare(xpp); 10990 else if (type.equals("ExplanationOfBenefit")) 10991 return parseExplanationOfBenefit(xpp); 10992 else if (type.equals("FamilyMemberHistory")) 10993 return parseFamilyMemberHistory(xpp); 10994 else if (type.equals("Flag")) 10995 return parseFlag(xpp); 10996 else if (type.equals("Goal")) 10997 return parseGoal(xpp); 10998 else if (type.equals("Group")) 10999 return parseGroup(xpp); 11000 else if (type.equals("HealthcareService")) 11001 return parseHealthcareService(xpp); 11002 else if (type.equals("ImagingObjectSelection")) 11003 return parseImagingObjectSelection(xpp); 11004 else if (type.equals("ImagingStudy")) 11005 return parseImagingStudy(xpp); 11006 else if (type.equals("Immunization")) 11007 return parseImmunization(xpp); 11008 else if (type.equals("ImmunizationRecommendation")) 11009 return parseImmunizationRecommendation(xpp); 11010 else if (type.equals("ImplementationGuide")) 11011 return parseImplementationGuide(xpp); 11012 else if (type.equals("List")) 11013 return parseList_(xpp); 11014 else if (type.equals("Location")) 11015 return parseLocation(xpp); 11016 else if (type.equals("Media")) 11017 return parseMedia(xpp); 11018 else if (type.equals("Medication")) 11019 return parseMedication(xpp); 11020 else if (type.equals("MedicationAdministration")) 11021 return parseMedicationAdministration(xpp); 11022 else if (type.equals("MedicationDispense")) 11023 return parseMedicationDispense(xpp); 11024 else if (type.equals("MedicationOrder")) 11025 return parseMedicationOrder(xpp); 11026 else if (type.equals("MedicationStatement")) 11027 return parseMedicationStatement(xpp); 11028 else if (type.equals("MessageHeader")) 11029 return parseMessageHeader(xpp); 11030 else if (type.equals("NamingSystem")) 11031 return parseNamingSystem(xpp); 11032 else if (type.equals("NutritionOrder")) 11033 return parseNutritionOrder(xpp); 11034 else if (type.equals("Observation")) 11035 return parseObservation(xpp); 11036 else if (type.equals("OperationDefinition")) 11037 return parseOperationDefinition(xpp); 11038 else if (type.equals("OperationOutcome")) 11039 return parseOperationOutcome(xpp); 11040 else if (type.equals("Order")) 11041 return parseOrder(xpp); 11042 else if (type.equals("OrderResponse")) 11043 return parseOrderResponse(xpp); 11044 else if (type.equals("Organization")) 11045 return parseOrganization(xpp); 11046 else if (type.equals("Patient")) 11047 return parsePatient(xpp); 11048 else if (type.equals("PaymentNotice")) 11049 return parsePaymentNotice(xpp); 11050 else if (type.equals("PaymentReconciliation")) 11051 return parsePaymentReconciliation(xpp); 11052 else if (type.equals("Person")) 11053 return parsePerson(xpp); 11054 else if (type.equals("Practitioner")) 11055 return parsePractitioner(xpp); 11056 else if (type.equals("Procedure")) 11057 return parseProcedure(xpp); 11058 else if (type.equals("ProcedureRequest")) 11059 return parseProcedureRequest(xpp); 11060 else if (type.equals("ProcessRequest")) 11061 return parseProcessRequest(xpp); 11062 else if (type.equals("ProcessResponse")) 11063 return parseProcessResponse(xpp); 11064 else if (type.equals("Provenance")) 11065 return parseProvenance(xpp); 11066 else if (type.equals("Questionnaire")) 11067 return parseQuestionnaire(xpp); 11068 else if (type.equals("QuestionnaireResponse")) 11069 return parseQuestionnaireResponse(xpp); 11070 else if (type.equals("ReferralRequest")) 11071 return parseReferralRequest(xpp); 11072 else if (type.equals("RelatedPerson")) 11073 return parseRelatedPerson(xpp); 11074 else if (type.equals("RiskAssessment")) 11075 return parseRiskAssessment(xpp); 11076 else if (type.equals("Schedule")) 11077 return parseSchedule(xpp); 11078 else if (type.equals("SearchParameter")) 11079 return parseSearchParameter(xpp); 11080 else if (type.equals("Slot")) 11081 return parseSlot(xpp); 11082 else if (type.equals("Specimen")) 11083 return parseSpecimen(xpp); 11084 else if (type.equals("StructureDefinition")) 11085 return parseStructureDefinition(xpp); 11086 else if (type.equals("Subscription")) 11087 return parseSubscription(xpp); 11088 else if (type.equals("Substance")) 11089 return parseSubstance(xpp); 11090 else if (type.equals("SupplyDelivery")) 11091 return parseSupplyDelivery(xpp); 11092 else if (type.equals("SupplyRequest")) 11093 return parseSupplyRequest(xpp); 11094 else if (type.equals("TestScript")) 11095 return parseTestScript(xpp); 11096 else if (type.equals("ValueSet")) 11097 return parseValueSet(xpp); 11098 else if (type.equals("VisionPrescription")) 11099 return parseVisionPrescription(xpp); 11100 else if (type.equals("date")) 11101 return parseDate(xpp); 11102 else if (type.equals("dateTime")) 11103 return parseDateTime(xpp); 11104 else if (type.equals("code")) 11105 return parseCode(xpp); 11106 else if (type.equals("string")) 11107 return parseString(xpp); 11108 else if (type.equals("integer")) 11109 return parseInteger(xpp); 11110 else if (type.equals("oid")) 11111 return parseOid(xpp); 11112 else if (type.equals("uri")) 11113 return parseUri(xpp); 11114 else if (type.equals("uuid")) 11115 return parseUuid(xpp); 11116 else if (type.equals("instant")) 11117 return parseInstant(xpp); 11118 else if (type.equals("boolean")) 11119 return parseBoolean(xpp); 11120 else if (type.equals("base64Binary")) 11121 return parseBase64Binary(xpp); 11122 else if (type.equals("unsignedInt")) 11123 return parseUnsignedInt(xpp); 11124 else if (type.equals("markdown")) 11125 return parseMarkdown(xpp); 11126 else if (type.equals("time")) 11127 return parseTime(xpp); 11128 else if (type.equals("id")) 11129 return parseId(xpp); 11130 else if (type.equals("positiveInt")) 11131 return parsePositiveInt(xpp); 11132 else if (type.equals("decimal")) 11133 return parseDecimal(xpp); 11134 throw new FHIRFormatError("Unknown type " + type); 11135 } 11136 11137 private boolean nameIsTypeName(XmlPullParser xpp, String prefix) { 11138 if (xpp.getName().equals(prefix + "Identifier")) 11139 return true; 11140 if (xpp.getName().equals(prefix + "Coding")) 11141 return true; 11142 if (xpp.getName().equals(prefix + "Reference")) 11143 return true; 11144 if (xpp.getName().equals(prefix + "Signature")) 11145 return true; 11146 if (xpp.getName().equals(prefix + "SampledData")) 11147 return true; 11148 if (xpp.getName().equals(prefix + "Quantity")) 11149 return true; 11150 if (xpp.getName().equals(prefix + "Period")) 11151 return true; 11152 if (xpp.getName().equals(prefix + "Attachment")) 11153 return true; 11154 if (xpp.getName().equals(prefix + "Ratio")) 11155 return true; 11156 if (xpp.getName().equals(prefix + "Range")) 11157 return true; 11158 if (xpp.getName().equals(prefix + "Annotation")) 11159 return true; 11160 if (xpp.getName().equals(prefix + "CodeableConcept")) 11161 return true; 11162 if (xpp.getName().equals(prefix + "Money")) 11163 return true; 11164 if (xpp.getName().equals(prefix + "SimpleQuantity")) 11165 return true; 11166 if (xpp.getName().equals(prefix + "Duration")) 11167 return true; 11168 if (xpp.getName().equals(prefix + "Count")) 11169 return true; 11170 if (xpp.getName().equals(prefix + "Distance")) 11171 return true; 11172 if (xpp.getName().equals(prefix + "Age")) 11173 return true; 11174 if (xpp.getName().equals(prefix + "HumanName")) 11175 return true; 11176 if (xpp.getName().equals(prefix + "ContactPoint")) 11177 return true; 11178 if (xpp.getName().equals(prefix + "Meta")) 11179 return true; 11180 if (xpp.getName().equals(prefix + "Address")) 11181 return true; 11182 if (xpp.getName().equals(prefix + "Timing")) 11183 return true; 11184 if (xpp.getName().equals(prefix + "ElementDefinition")) 11185 return true; 11186 if (xpp.getName().equals(prefix + "Parameters")) 11187 return true; 11188 if (xpp.getName().equals(prefix + "Account")) 11189 return true; 11190 if (xpp.getName().equals(prefix + "AllergyIntolerance")) 11191 return true; 11192 if (xpp.getName().equals(prefix + "Appointment")) 11193 return true; 11194 if (xpp.getName().equals(prefix + "AppointmentResponse")) 11195 return true; 11196 if (xpp.getName().equals(prefix + "AuditEvent")) 11197 return true; 11198 if (xpp.getName().equals(prefix + "Basic")) 11199 return true; 11200 if (xpp.getName().equals(prefix + "Binary")) 11201 return true; 11202 if (xpp.getName().equals(prefix + "BodySite")) 11203 return true; 11204 if (xpp.getName().equals(prefix + "Bundle")) 11205 return true; 11206 if (xpp.getName().equals(prefix + "CarePlan")) 11207 return true; 11208 if (xpp.getName().equals(prefix + "Claim")) 11209 return true; 11210 if (xpp.getName().equals(prefix + "ClaimResponse")) 11211 return true; 11212 if (xpp.getName().equals(prefix + "ClinicalImpression")) 11213 return true; 11214 if (xpp.getName().equals(prefix + "Communication")) 11215 return true; 11216 if (xpp.getName().equals(prefix + "CommunicationRequest")) 11217 return true; 11218 if (xpp.getName().equals(prefix + "Composition")) 11219 return true; 11220 if (xpp.getName().equals(prefix + "ConceptMap")) 11221 return true; 11222 if (xpp.getName().equals(prefix + "Condition")) 11223 return true; 11224 if (xpp.getName().equals(prefix + "Conformance")) 11225 return true; 11226 if (xpp.getName().equals(prefix + "Contract")) 11227 return true; 11228 if (xpp.getName().equals(prefix + "Coverage")) 11229 return true; 11230 if (xpp.getName().equals(prefix + "DataElement")) 11231 return true; 11232 if (xpp.getName().equals(prefix + "DetectedIssue")) 11233 return true; 11234 if (xpp.getName().equals(prefix + "Device")) 11235 return true; 11236 if (xpp.getName().equals(prefix + "DeviceComponent")) 11237 return true; 11238 if (xpp.getName().equals(prefix + "DeviceMetric")) 11239 return true; 11240 if (xpp.getName().equals(prefix + "DeviceUseRequest")) 11241 return true; 11242 if (xpp.getName().equals(prefix + "DeviceUseStatement")) 11243 return true; 11244 if (xpp.getName().equals(prefix + "DiagnosticOrder")) 11245 return true; 11246 if (xpp.getName().equals(prefix + "DiagnosticReport")) 11247 return true; 11248 if (xpp.getName().equals(prefix + "DocumentManifest")) 11249 return true; 11250 if (xpp.getName().equals(prefix + "DocumentReference")) 11251 return true; 11252 if (xpp.getName().equals(prefix + "EligibilityRequest")) 11253 return true; 11254 if (xpp.getName().equals(prefix + "EligibilityResponse")) 11255 return true; 11256 if (xpp.getName().equals(prefix + "Encounter")) 11257 return true; 11258 if (xpp.getName().equals(prefix + "EnrollmentRequest")) 11259 return true; 11260 if (xpp.getName().equals(prefix + "EnrollmentResponse")) 11261 return true; 11262 if (xpp.getName().equals(prefix + "EpisodeOfCare")) 11263 return true; 11264 if (xpp.getName().equals(prefix + "ExplanationOfBenefit")) 11265 return true; 11266 if (xpp.getName().equals(prefix + "FamilyMemberHistory")) 11267 return true; 11268 if (xpp.getName().equals(prefix + "Flag")) 11269 return true; 11270 if (xpp.getName().equals(prefix + "Goal")) 11271 return true; 11272 if (xpp.getName().equals(prefix + "Group")) 11273 return true; 11274 if (xpp.getName().equals(prefix + "HealthcareService")) 11275 return true; 11276 if (xpp.getName().equals(prefix + "ImagingObjectSelection")) 11277 return true; 11278 if (xpp.getName().equals(prefix + "ImagingStudy")) 11279 return true; 11280 if (xpp.getName().equals(prefix + "Immunization")) 11281 return true; 11282 if (xpp.getName().equals(prefix + "ImmunizationRecommendation")) 11283 return true; 11284 if (xpp.getName().equals(prefix + "ImplementationGuide")) 11285 return true; 11286 if (xpp.getName().equals(prefix + "List")) 11287 return true; 11288 if (xpp.getName().equals(prefix + "Location")) 11289 return true; 11290 if (xpp.getName().equals(prefix + "Media")) 11291 return true; 11292 if (xpp.getName().equals(prefix + "Medication")) 11293 return true; 11294 if (xpp.getName().equals(prefix + "MedicationAdministration")) 11295 return true; 11296 if (xpp.getName().equals(prefix + "MedicationDispense")) 11297 return true; 11298 if (xpp.getName().equals(prefix + "MedicationOrder")) 11299 return true; 11300 if (xpp.getName().equals(prefix + "MedicationStatement")) 11301 return true; 11302 if (xpp.getName().equals(prefix + "MessageHeader")) 11303 return true; 11304 if (xpp.getName().equals(prefix + "NamingSystem")) 11305 return true; 11306 if (xpp.getName().equals(prefix + "NutritionOrder")) 11307 return true; 11308 if (xpp.getName().equals(prefix + "Observation")) 11309 return true; 11310 if (xpp.getName().equals(prefix + "OperationDefinition")) 11311 return true; 11312 if (xpp.getName().equals(prefix + "OperationOutcome")) 11313 return true; 11314 if (xpp.getName().equals(prefix + "Order")) 11315 return true; 11316 if (xpp.getName().equals(prefix + "OrderResponse")) 11317 return true; 11318 if (xpp.getName().equals(prefix + "Organization")) 11319 return true; 11320 if (xpp.getName().equals(prefix + "Patient")) 11321 return true; 11322 if (xpp.getName().equals(prefix + "PaymentNotice")) 11323 return true; 11324 if (xpp.getName().equals(prefix + "PaymentReconciliation")) 11325 return true; 11326 if (xpp.getName().equals(prefix + "Person")) 11327 return true; 11328 if (xpp.getName().equals(prefix + "Practitioner")) 11329 return true; 11330 if (xpp.getName().equals(prefix + "Procedure")) 11331 return true; 11332 if (xpp.getName().equals(prefix + "ProcedureRequest")) 11333 return true; 11334 if (xpp.getName().equals(prefix + "ProcessRequest")) 11335 return true; 11336 if (xpp.getName().equals(prefix + "ProcessResponse")) 11337 return true; 11338 if (xpp.getName().equals(prefix + "Provenance")) 11339 return true; 11340 if (xpp.getName().equals(prefix + "Questionnaire")) 11341 return true; 11342 if (xpp.getName().equals(prefix + "QuestionnaireResponse")) 11343 return true; 11344 if (xpp.getName().equals(prefix + "ReferralRequest")) 11345 return true; 11346 if (xpp.getName().equals(prefix + "RelatedPerson")) 11347 return true; 11348 if (xpp.getName().equals(prefix + "RiskAssessment")) 11349 return true; 11350 if (xpp.getName().equals(prefix + "Schedule")) 11351 return true; 11352 if (xpp.getName().equals(prefix + "SearchParameter")) 11353 return true; 11354 if (xpp.getName().equals(prefix + "Slot")) 11355 return true; 11356 if (xpp.getName().equals(prefix + "Specimen")) 11357 return true; 11358 if (xpp.getName().equals(prefix + "StructureDefinition")) 11359 return true; 11360 if (xpp.getName().equals(prefix + "Subscription")) 11361 return true; 11362 if (xpp.getName().equals(prefix + "Substance")) 11363 return true; 11364 if (xpp.getName().equals(prefix + "SupplyDelivery")) 11365 return true; 11366 if (xpp.getName().equals(prefix + "SupplyRequest")) 11367 return true; 11368 if (xpp.getName().equals(prefix + "TestScript")) 11369 return true; 11370 if (xpp.getName().equals(prefix + "ValueSet")) 11371 return true; 11372 if (xpp.getName().equals(prefix + "VisionPrescription")) 11373 return true; 11374 if (xpp.getName().equals(prefix + "Date")) 11375 return true; 11376 if (xpp.getName().equals(prefix + "DateTime")) 11377 return true; 11378 if (xpp.getName().equals(prefix + "Code")) 11379 return true; 11380 if (xpp.getName().equals(prefix + "String")) 11381 return true; 11382 if (xpp.getName().equals(prefix + "Integer")) 11383 return true; 11384 if (xpp.getName().equals(prefix + "Oid")) 11385 return true; 11386 if (xpp.getName().equals(prefix + "Uri")) 11387 return true; 11388 if (xpp.getName().equals(prefix + "Uuid")) 11389 return true; 11390 if (xpp.getName().equals(prefix + "Instant")) 11391 return true; 11392 if (xpp.getName().equals(prefix + "Boolean")) 11393 return true; 11394 if (xpp.getName().equals(prefix + "Base64Binary")) 11395 return true; 11396 if (xpp.getName().equals(prefix + "UnsignedInt")) 11397 return true; 11398 if (xpp.getName().equals(prefix + "Markdown")) 11399 return true; 11400 if (xpp.getName().equals(prefix + "Time")) 11401 return true; 11402 if (xpp.getName().equals(prefix + "Id")) 11403 return true; 11404 if (xpp.getName().equals(prefix + "PositiveInt")) 11405 return true; 11406 if (xpp.getName().equals(prefix + "Decimal")) 11407 return true; 11408 return false; 11409 } 11410 11411 protected void composeElementElements(Element element) throws IOException { 11412 for (Extension e : element.getExtension()) { 11413 composeExtension("extension", e); 11414 } 11415 } 11416 11417 protected void composeBackboneElements(BackboneElement element) throws IOException { 11418 composeElementElements(element); 11419 for (Extension e : element.getModifierExtension()) { 11420 composeExtension("modifierExtension", e); 11421 } 11422 } 11423 11424 protected <E extends Enum<E>> void composeEnumeration(String name, Enumeration<E> value, EnumFactory e) 11425 throws IOException { 11426 if (value != null 11427 && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) { 11428 composeElementAttributes(value); 11429 if (value.getValue() != null) 11430 xml.attribute("value", e.toCode(value.getValue())); 11431 11432 xml.enter(FHIR_NS, name); 11433 composeElementElements(value); 11434 composeElementClose(value); 11435 xml.exit(FHIR_NS, name); 11436 } 11437 } 11438 11439 protected void composeDate(String name, DateType value) throws IOException { 11440 if (value != null 11441 && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// date 11442 composeElementAttributes(value); 11443 if (value.asStringValue() != null) 11444 xml.attribute("value", value.asStringValue()); 11445 11446 xml.enter(FHIR_NS, name); 11447 composeElementElements(value); 11448 composeElementClose(value); 11449 xml.exit(FHIR_NS, name); 11450 } 11451 } 11452 11453 protected void composeDateTime(String name, DateTimeType value) throws IOException { 11454 if (value != null 11455 && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// dateTime 11456 composeElementAttributes(value); 11457 if (value.asStringValue() != null) 11458 xml.attribute("value", value.asStringValue()); 11459 11460 xml.enter(FHIR_NS, name); 11461 composeElementElements(value); 11462 composeElementClose(value); 11463 xml.exit(FHIR_NS, name); 11464 } 11465 } 11466 11467 protected void composeCode(String name, CodeType value) throws IOException { 11468 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) 11469 || !Utilities.noString(value.getValue()))) {// code 11470 composeElementAttributes(value); 11471 if (value.asStringValue() != null) 11472 xml.attribute("value", value.asStringValue()); 11473 11474 xml.enter(FHIR_NS, name); 11475 composeElementElements(value); 11476 composeElementClose(value); 11477 xml.exit(FHIR_NS, name); 11478 } 11479 } 11480 11481 protected void composeString(String name, StringType value) throws IOException { 11482 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) 11483 || !Utilities.noString(value.getValue()))) {// string 11484 composeElementAttributes(value); 11485 if (value.asStringValue() != null) 11486 xml.attribute("value", value.asStringValue()); 11487 11488 xml.enter(FHIR_NS, name); 11489 composeElementElements(value); 11490 composeElementClose(value); 11491 xml.exit(FHIR_NS, name); 11492 } 11493 } 11494 11495 protected void composeInteger(String name, IntegerType value) throws IOException { 11496 if (value != null) { // integer 11497 composeElementAttributes(value); 11498 if (value.asStringValue() != null) 11499 xml.attribute("value", value.asStringValue()); 11500 11501 xml.enter(FHIR_NS, name); 11502 composeElementElements(value); 11503 composeElementClose(value); 11504 xml.exit(FHIR_NS, name); 11505 } 11506 } 11507 11508 protected void composeOid(String name, OidType value) throws IOException { 11509 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) 11510 || !Utilities.noString(value.getValue()))) {// oid 11511 composeElementAttributes(value); 11512 if (value.asStringValue() != null) 11513 xml.attribute("value", value.asStringValue()); 11514 11515 xml.enter(FHIR_NS, name); 11516 composeElementElements(value); 11517 composeElementClose(value); 11518 xml.exit(FHIR_NS, name); 11519 } 11520 } 11521 11522 protected void composeUri(String name, UriType value) throws IOException { 11523 if (value != null 11524 && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// uri 11525 composeElementAttributes(value); 11526 if (value.asStringValue() != null) 11527 xml.attribute("value", value.asStringValue()); 11528 11529 xml.enter(FHIR_NS, name); 11530 composeElementElements(value); 11531 composeElementClose(value); 11532 xml.exit(FHIR_NS, name); 11533 } 11534 } 11535 11536 protected void composeUuid(String name, UuidType value) throws IOException { 11537 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) 11538 || !Utilities.noString(value.getValue()))) {// uuid 11539 composeElementAttributes(value); 11540 if (value.asStringValue() != null) 11541 xml.attribute("value", value.asStringValue()); 11542 11543 xml.enter(FHIR_NS, name); 11544 composeElementElements(value); 11545 composeElementClose(value); 11546 xml.exit(FHIR_NS, name); 11547 } 11548 } 11549 11550 protected void composeInstant(String name, InstantType value) throws IOException { 11551 if (value != null 11552 && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// instant 11553 composeElementAttributes(value); 11554 if (value.asStringValue() != null) 11555 xml.attribute("value", value.asStringValue()); 11556 11557 xml.enter(FHIR_NS, name); 11558 composeElementElements(value); 11559 composeElementClose(value); 11560 xml.exit(FHIR_NS, name); 11561 } 11562 } 11563 11564 protected void composeBoolean(String name, BooleanType value) throws IOException { 11565 if (value != null) { // boolean 11566 composeElementAttributes(value); 11567 if (value.asStringValue() != null) 11568 xml.attribute("value", value.asStringValue()); 11569 11570 xml.enter(FHIR_NS, name); 11571 composeElementElements(value); 11572 composeElementClose(value); 11573 xml.exit(FHIR_NS, name); 11574 } 11575 } 11576 11577 protected void composeBase64Binary(String name, Base64BinaryType value) throws IOException { 11578 if (value != null 11579 && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// base64Binary 11580 composeElementAttributes(value); 11581 if (value.asStringValue() != null) 11582 xml.attribute("value", value.asStringValue()); 11583 11584 xml.enter(FHIR_NS, name); 11585 composeElementElements(value); 11586 composeElementClose(value); 11587 xml.exit(FHIR_NS, name); 11588 } 11589 } 11590 11591 protected void composeUnsignedInt(String name, UnsignedIntType value) throws IOException { 11592 if (value != null) { // unsignedInt 11593 composeElementAttributes(value); 11594 if (value.asStringValue() != null) 11595 xml.attribute("value", value.asStringValue()); 11596 11597 xml.enter(FHIR_NS, name); 11598 composeElementElements(value); 11599 composeElementClose(value); 11600 xml.exit(FHIR_NS, name); 11601 } 11602 } 11603 11604 protected void composeMarkdown(String name, MarkdownType value) throws IOException { 11605 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) 11606 || !Utilities.noString(value.getValue()))) {// markdown 11607 composeElementAttributes(value); 11608 if (value.asStringValue() != null) 11609 xml.attribute("value", value.asStringValue()); 11610 11611 xml.enter(FHIR_NS, name); 11612 composeElementElements(value); 11613 composeElementClose(value); 11614 xml.exit(FHIR_NS, name); 11615 } 11616 } 11617 11618 protected void composeTime(String name, TimeType value) throws IOException { 11619 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) 11620 || !Utilities.noString(value.getValue()))) {// time 11621 composeElementAttributes(value); 11622 if (value.asStringValue() != null) 11623 xml.attribute("value", value.asStringValue()); 11624 11625 xml.enter(FHIR_NS, name); 11626 composeElementElements(value); 11627 composeElementClose(value); 11628 xml.exit(FHIR_NS, name); 11629 } 11630 } 11631 11632 protected void composeId(String name, IdType value) throws IOException { 11633 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) 11634 || !Utilities.noString(value.getValue()))) {// id 11635 composeElementAttributes(value); 11636 if (value.asStringValue() != null) 11637 xml.attribute("value", value.asStringValue()); 11638 11639 xml.enter(FHIR_NS, name); 11640 composeElementElements(value); 11641 composeElementClose(value); 11642 xml.exit(FHIR_NS, name); 11643 } 11644 } 11645 11646 protected void composePositiveInt(String name, PositiveIntType value) throws IOException { 11647 if (value != null) { // positiveInt 11648 composeElementAttributes(value); 11649 if (value.asStringValue() != null) 11650 xml.attribute("value", value.asStringValue()); 11651 11652 xml.enter(FHIR_NS, name); 11653 composeElementElements(value); 11654 composeElementClose(value); 11655 xml.exit(FHIR_NS, name); 11656 } 11657 } 11658 11659 protected void composeDecimal(String name, DecimalType value) throws IOException { 11660 if (value != null 11661 && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// decimal 11662 composeElementAttributes(value); 11663 if (value.asStringValue() != null) 11664 xml.attribute("value", value.asStringValue()); 11665 11666 xml.enter(FHIR_NS, name); 11667 composeElementElements(value); 11668 composeElementClose(value); 11669 xml.exit(FHIR_NS, name); 11670 } 11671 } 11672 11673 protected void composeExtension(String name, Extension element) throws IOException { 11674 if (element != null) { 11675 composeElementAttributes(element); 11676 if (element.hasUrlElement()) 11677 xml.attribute("url", element.getUrlElement().getValue()); 11678 xml.enter(FHIR_NS, name); 11679 composeElementElements(element); 11680 if (element.hasValue()) { 11681 composeType("value", element.getValue()); 11682 } 11683 composeElementClose(element); 11684 xml.exit(FHIR_NS, name); 11685 } 11686 } 11687 11688 protected void composeNarrative(String name, Narrative element) throws IOException { 11689 if (element != null) { 11690 composeElementAttributes(element); 11691 xml.enter(FHIR_NS, name); 11692 composeElementElements(element); 11693 if (element.hasStatusElement()) 11694 composeEnumeration("status", element.getStatusElement(), new Narrative.NarrativeStatusEnumFactory()); 11695 if (element.hasDiv()) { 11696 composeXhtml("div", element.getDiv()); 11697 } 11698 composeElementClose(element); 11699 xml.exit(FHIR_NS, name); 11700 } 11701 } 11702 11703 protected void composeIdentifier(String name, Identifier element) throws IOException { 11704 if (element != null) { 11705 composeTypeAttributes(element); 11706 xml.enter(FHIR_NS, name); 11707 composeElementElements(element); 11708 if (element.hasUseElement()) 11709 composeEnumeration("use", element.getUseElement(), new Identifier.IdentifierUseEnumFactory()); 11710 if (element.hasType()) { 11711 composeCodeableConcept("type", element.getType()); 11712 } 11713 if (element.hasSystemElement()) { 11714 composeUri("system", element.getSystemElement()); 11715 } 11716 if (element.hasValueElement()) { 11717 composeString("value", element.getValueElement()); 11718 } 11719 if (element.hasPeriod()) { 11720 composePeriod("period", element.getPeriod()); 11721 } 11722 if (element.hasAssigner()) { 11723 composeReference("assigner", element.getAssigner()); 11724 } 11725 composeElementClose(element); 11726 xml.exit(FHIR_NS, name); 11727 } 11728 } 11729 11730 protected void composeCoding(String name, Coding element) throws IOException { 11731 if (element != null) { 11732 composeTypeAttributes(element); 11733 xml.enter(FHIR_NS, name); 11734 composeElementElements(element); 11735 if (element.hasSystemElement()) { 11736 composeUri("system", element.getSystemElement()); 11737 } 11738 if (element.hasVersionElement()) { 11739 composeString("version", element.getVersionElement()); 11740 } 11741 if (element.hasCodeElement()) { 11742 composeCode("code", element.getCodeElement()); 11743 } 11744 if (element.hasDisplayElement()) { 11745 composeString("display", element.getDisplayElement()); 11746 } 11747 if (element.hasUserSelectedElement()) { 11748 composeBoolean("userSelected", element.getUserSelectedElement()); 11749 } 11750 composeElementClose(element); 11751 xml.exit(FHIR_NS, name); 11752 } 11753 } 11754 11755 protected void composeReference(String name, Reference element) throws IOException { 11756 if (element != null) { 11757 composeTypeAttributes(element); 11758 xml.enter(FHIR_NS, name); 11759 composeElementElements(element); 11760 if (element.hasReferenceElement()) { 11761 composeString("reference", element.getReferenceElement()); 11762 } 11763 if (element.hasDisplayElement()) { 11764 composeString("display", element.getDisplayElement()); 11765 } 11766 composeElementClose(element); 11767 xml.exit(FHIR_NS, name); 11768 } 11769 } 11770 11771 protected void composeSignature(String name, Signature element) throws IOException { 11772 if (element != null) { 11773 composeTypeAttributes(element); 11774 xml.enter(FHIR_NS, name); 11775 composeElementElements(element); 11776 if (element.hasType()) { 11777 for (Coding e : element.getType()) 11778 composeCoding("type", e); 11779 } 11780 if (element.hasWhenElement()) { 11781 composeInstant("when", element.getWhenElement()); 11782 } 11783 if (element.hasWho()) { 11784 composeType("who", element.getWho()); 11785 } 11786 if (element.hasContentTypeElement()) { 11787 composeCode("contentType", element.getContentTypeElement()); 11788 } 11789 if (element.hasBlobElement()) { 11790 composeBase64Binary("blob", element.getBlobElement()); 11791 } 11792 composeElementClose(element); 11793 xml.exit(FHIR_NS, name); 11794 } 11795 } 11796 11797 protected void composeSampledData(String name, SampledData element) throws IOException { 11798 if (element != null) { 11799 composeTypeAttributes(element); 11800 xml.enter(FHIR_NS, name); 11801 composeElementElements(element); 11802 if (element.hasOrigin()) { 11803 composeSimpleQuantity("origin", element.getOrigin()); 11804 } 11805 if (element.hasPeriodElement()) { 11806 composeDecimal("period", element.getPeriodElement()); 11807 } 11808 if (element.hasFactorElement()) { 11809 composeDecimal("factor", element.getFactorElement()); 11810 } 11811 if (element.hasLowerLimitElement()) { 11812 composeDecimal("lowerLimit", element.getLowerLimitElement()); 11813 } 11814 if (element.hasUpperLimitElement()) { 11815 composeDecimal("upperLimit", element.getUpperLimitElement()); 11816 } 11817 if (element.hasDimensionsElement()) { 11818 composePositiveInt("dimensions", element.getDimensionsElement()); 11819 } 11820 if (element.hasDataElement()) { 11821 composeString("data", element.getDataElement()); 11822 } 11823 composeElementClose(element); 11824 xml.exit(FHIR_NS, name); 11825 } 11826 } 11827 11828 protected void composeQuantity(String name, Quantity element) throws IOException { 11829 if (element != null) { 11830 composeTypeAttributes(element); 11831 xml.enter(FHIR_NS, name); 11832 composeElementElements(element); 11833 if (element.hasValueElement()) { 11834 composeDecimal("value", element.getValueElement()); 11835 } 11836 if (element.hasComparatorElement()) 11837 composeEnumeration("comparator", element.getComparatorElement(), new Quantity.QuantityComparatorEnumFactory()); 11838 if (element.hasUnitElement()) { 11839 composeString("unit", element.getUnitElement()); 11840 } 11841 if (element.hasSystemElement()) { 11842 composeUri("system", element.getSystemElement()); 11843 } 11844 if (element.hasCodeElement()) { 11845 composeCode("code", element.getCodeElement()); 11846 } 11847 composeElementClose(element); 11848 xml.exit(FHIR_NS, name); 11849 } 11850 } 11851 11852 protected void composePeriod(String name, Period element) throws IOException { 11853 if (element != null) { 11854 composeTypeAttributes(element); 11855 xml.enter(FHIR_NS, name); 11856 composeElementElements(element); 11857 if (element.hasStartElement()) { 11858 composeDateTime("start", element.getStartElement()); 11859 } 11860 if (element.hasEndElement()) { 11861 composeDateTime("end", element.getEndElement()); 11862 } 11863 composeElementClose(element); 11864 xml.exit(FHIR_NS, name); 11865 } 11866 } 11867 11868 protected void composeAttachment(String name, Attachment element) throws IOException { 11869 if (element != null) { 11870 composeTypeAttributes(element); 11871 xml.enter(FHIR_NS, name); 11872 composeElementElements(element); 11873 if (element.hasContentTypeElement()) { 11874 composeCode("contentType", element.getContentTypeElement()); 11875 } 11876 if (element.hasLanguageElement()) { 11877 composeCode("language", element.getLanguageElement()); 11878 } 11879 if (element.hasDataElement()) { 11880 composeBase64Binary("data", element.getDataElement()); 11881 } 11882 if (element.hasUrlElement()) { 11883 composeUri("url", element.getUrlElement()); 11884 } 11885 if (element.hasSizeElement()) { 11886 composeUnsignedInt("size", element.getSizeElement()); 11887 } 11888 if (element.hasHashElement()) { 11889 composeBase64Binary("hash", element.getHashElement()); 11890 } 11891 if (element.hasTitleElement()) { 11892 composeString("title", element.getTitleElement()); 11893 } 11894 if (element.hasCreationElement()) { 11895 composeDateTime("creation", element.getCreationElement()); 11896 } 11897 composeElementClose(element); 11898 xml.exit(FHIR_NS, name); 11899 } 11900 } 11901 11902 protected void composeRatio(String name, Ratio element) throws IOException { 11903 if (element != null) { 11904 composeTypeAttributes(element); 11905 xml.enter(FHIR_NS, name); 11906 composeElementElements(element); 11907 if (element.hasNumerator()) { 11908 composeQuantity("numerator", element.getNumerator()); 11909 } 11910 if (element.hasDenominator()) { 11911 composeQuantity("denominator", element.getDenominator()); 11912 } 11913 composeElementClose(element); 11914 xml.exit(FHIR_NS, name); 11915 } 11916 } 11917 11918 protected void composeRange(String name, Range element) throws IOException { 11919 if (element != null) { 11920 composeTypeAttributes(element); 11921 xml.enter(FHIR_NS, name); 11922 composeElementElements(element); 11923 if (element.hasLow()) { 11924 composeSimpleQuantity("low", element.getLow()); 11925 } 11926 if (element.hasHigh()) { 11927 composeSimpleQuantity("high", element.getHigh()); 11928 } 11929 composeElementClose(element); 11930 xml.exit(FHIR_NS, name); 11931 } 11932 } 11933 11934 protected void composeAnnotation(String name, Annotation element) throws IOException { 11935 if (element != null) { 11936 composeTypeAttributes(element); 11937 xml.enter(FHIR_NS, name); 11938 composeElementElements(element); 11939 if (element.hasAuthor()) { 11940 composeType("author", element.getAuthor()); 11941 } 11942 if (element.hasTimeElement()) { 11943 composeDateTime("time", element.getTimeElement()); 11944 } 11945 if (element.hasTextElement()) { 11946 composeString("text", element.getTextElement()); 11947 } 11948 composeElementClose(element); 11949 xml.exit(FHIR_NS, name); 11950 } 11951 } 11952 11953 protected void composeCodeableConcept(String name, CodeableConcept element) throws IOException { 11954 if (element != null) { 11955 composeTypeAttributes(element); 11956 xml.enter(FHIR_NS, name); 11957 composeElementElements(element); 11958 if (element.hasCoding()) { 11959 for (Coding e : element.getCoding()) 11960 composeCoding("coding", e); 11961 } 11962 if (element.hasTextElement()) { 11963 composeString("text", element.getTextElement()); 11964 } 11965 composeElementClose(element); 11966 xml.exit(FHIR_NS, name); 11967 } 11968 } 11969 11970 protected void composeMoney(String name, Money element) throws IOException { 11971 if (element != null) { 11972 composeTypeAttributes(element); 11973 xml.enter(FHIR_NS, name); 11974 composeElementElements(element); 11975 if (element.hasValueElement()) { 11976 composeDecimal("value", element.getValueElement()); 11977 } 11978 if (element.hasComparatorElement()) 11979 composeEnumeration("comparator", element.getComparatorElement(), new Money.QuantityComparatorEnumFactory()); 11980 if (element.hasUnitElement()) { 11981 composeString("unit", element.getUnitElement()); 11982 } 11983 if (element.hasSystemElement()) { 11984 composeUri("system", element.getSystemElement()); 11985 } 11986 if (element.hasCodeElement()) { 11987 composeCode("code", element.getCodeElement()); 11988 } 11989 composeElementClose(element); 11990 xml.exit(FHIR_NS, name); 11991 } 11992 } 11993 11994 protected void composeSimpleQuantity(String name, SimpleQuantity element) throws IOException { 11995 if (element != null) { 11996 composeTypeAttributes(element); 11997 xml.enter(FHIR_NS, name); 11998 composeElementElements(element); 11999 if (element.hasValueElement()) { 12000 composeDecimal("value", element.getValueElement()); 12001 } 12002 if (element.hasComparatorElement()) 12003 composeEnumeration("comparator", element.getComparatorElement(), 12004 new SimpleQuantity.QuantityComparatorEnumFactory()); 12005 if (element.hasUnitElement()) { 12006 composeString("unit", element.getUnitElement()); 12007 } 12008 if (element.hasSystemElement()) { 12009 composeUri("system", element.getSystemElement()); 12010 } 12011 if (element.hasCodeElement()) { 12012 composeCode("code", element.getCodeElement()); 12013 } 12014 composeElementClose(element); 12015 xml.exit(FHIR_NS, name); 12016 } 12017 } 12018 12019 protected void composeDuration(String name, Duration element) throws IOException { 12020 if (element != null) { 12021 composeTypeAttributes(element); 12022 xml.enter(FHIR_NS, name); 12023 composeElementElements(element); 12024 if (element.hasValueElement()) { 12025 composeDecimal("value", element.getValueElement()); 12026 } 12027 if (element.hasComparatorElement()) 12028 composeEnumeration("comparator", element.getComparatorElement(), new Duration.QuantityComparatorEnumFactory()); 12029 if (element.hasUnitElement()) { 12030 composeString("unit", element.getUnitElement()); 12031 } 12032 if (element.hasSystemElement()) { 12033 composeUri("system", element.getSystemElement()); 12034 } 12035 if (element.hasCodeElement()) { 12036 composeCode("code", element.getCodeElement()); 12037 } 12038 composeElementClose(element); 12039 xml.exit(FHIR_NS, name); 12040 } 12041 } 12042 12043 protected void composeCount(String name, Count element) throws IOException { 12044 if (element != null) { 12045 composeTypeAttributes(element); 12046 xml.enter(FHIR_NS, name); 12047 composeElementElements(element); 12048 if (element.hasValueElement()) { 12049 composeDecimal("value", element.getValueElement()); 12050 } 12051 if (element.hasComparatorElement()) 12052 composeEnumeration("comparator", element.getComparatorElement(), new Count.QuantityComparatorEnumFactory()); 12053 if (element.hasUnitElement()) { 12054 composeString("unit", element.getUnitElement()); 12055 } 12056 if (element.hasSystemElement()) { 12057 composeUri("system", element.getSystemElement()); 12058 } 12059 if (element.hasCodeElement()) { 12060 composeCode("code", element.getCodeElement()); 12061 } 12062 composeElementClose(element); 12063 xml.exit(FHIR_NS, name); 12064 } 12065 } 12066 12067 protected void composeDistance(String name, Distance element) throws IOException { 12068 if (element != null) { 12069 composeTypeAttributes(element); 12070 xml.enter(FHIR_NS, name); 12071 composeElementElements(element); 12072 if (element.hasValueElement()) { 12073 composeDecimal("value", element.getValueElement()); 12074 } 12075 if (element.hasComparatorElement()) 12076 composeEnumeration("comparator", element.getComparatorElement(), new Distance.QuantityComparatorEnumFactory()); 12077 if (element.hasUnitElement()) { 12078 composeString("unit", element.getUnitElement()); 12079 } 12080 if (element.hasSystemElement()) { 12081 composeUri("system", element.getSystemElement()); 12082 } 12083 if (element.hasCodeElement()) { 12084 composeCode("code", element.getCodeElement()); 12085 } 12086 composeElementClose(element); 12087 xml.exit(FHIR_NS, name); 12088 } 12089 } 12090 12091 protected void composeAge(String name, Age element) throws IOException { 12092 if (element != null) { 12093 composeTypeAttributes(element); 12094 xml.enter(FHIR_NS, name); 12095 composeElementElements(element); 12096 if (element.hasValueElement()) { 12097 composeDecimal("value", element.getValueElement()); 12098 } 12099 if (element.hasComparatorElement()) 12100 composeEnumeration("comparator", element.getComparatorElement(), new Age.QuantityComparatorEnumFactory()); 12101 if (element.hasUnitElement()) { 12102 composeString("unit", element.getUnitElement()); 12103 } 12104 if (element.hasSystemElement()) { 12105 composeUri("system", element.getSystemElement()); 12106 } 12107 if (element.hasCodeElement()) { 12108 composeCode("code", element.getCodeElement()); 12109 } 12110 composeElementClose(element); 12111 xml.exit(FHIR_NS, name); 12112 } 12113 } 12114 12115 protected void composeHumanName(String name, HumanName element) throws IOException { 12116 if (element != null) { 12117 composeElementAttributes(element); 12118 xml.enter(FHIR_NS, name); 12119 composeElementElements(element); 12120 if (element.hasUseElement()) 12121 composeEnumeration("use", element.getUseElement(), new HumanName.NameUseEnumFactory()); 12122 if (element.hasTextElement()) { 12123 composeString("text", element.getTextElement()); 12124 } 12125 if (element.hasFamily()) { 12126 for (StringType e : element.getFamily()) 12127 composeString("family", e); 12128 } 12129 if (element.hasGiven()) { 12130 for (StringType e : element.getGiven()) 12131 composeString("given", e); 12132 } 12133 if (element.hasPrefix()) { 12134 for (StringType e : element.getPrefix()) 12135 composeString("prefix", e); 12136 } 12137 if (element.hasSuffix()) { 12138 for (StringType e : element.getSuffix()) 12139 composeString("suffix", e); 12140 } 12141 if (element.hasPeriod()) { 12142 composePeriod("period", element.getPeriod()); 12143 } 12144 composeElementClose(element); 12145 xml.exit(FHIR_NS, name); 12146 } 12147 } 12148 12149 protected void composeContactPoint(String name, ContactPoint element) throws IOException { 12150 if (element != null) { 12151 composeElementAttributes(element); 12152 xml.enter(FHIR_NS, name); 12153 composeElementElements(element); 12154 if (element.hasSystemElement()) 12155 composeEnumeration("system", element.getSystemElement(), new ContactPoint.ContactPointSystemEnumFactory()); 12156 if (element.hasValueElement()) { 12157 composeString("value", element.getValueElement()); 12158 } 12159 if (element.hasUseElement()) 12160 composeEnumeration("use", element.getUseElement(), new ContactPoint.ContactPointUseEnumFactory()); 12161 if (element.hasRankElement()) { 12162 composePositiveInt("rank", element.getRankElement()); 12163 } 12164 if (element.hasPeriod()) { 12165 composePeriod("period", element.getPeriod()); 12166 } 12167 composeElementClose(element); 12168 xml.exit(FHIR_NS, name); 12169 } 12170 } 12171 12172 protected void composeMeta(String name, Meta element) throws IOException { 12173 if (element != null) { 12174 composeElementAttributes(element); 12175 xml.enter(FHIR_NS, name); 12176 composeElementElements(element); 12177 if (element.hasVersionIdElement()) { 12178 composeId("versionId", element.getVersionIdElement()); 12179 } 12180 if (element.hasLastUpdatedElement()) { 12181 composeInstant("lastUpdated", element.getLastUpdatedElement()); 12182 } 12183 if (element.hasProfile()) { 12184 for (UriType e : element.getProfile()) 12185 composeUri("profile", e); 12186 } 12187 if (element.hasSecurity()) { 12188 for (Coding e : element.getSecurity()) 12189 composeCoding("security", e); 12190 } 12191 if (element.hasTag()) { 12192 for (Coding e : element.getTag()) 12193 composeCoding("tag", e); 12194 } 12195 composeElementClose(element); 12196 xml.exit(FHIR_NS, name); 12197 } 12198 } 12199 12200 protected void composeAddress(String name, Address element) throws IOException { 12201 if (element != null) { 12202 composeElementAttributes(element); 12203 xml.enter(FHIR_NS, name); 12204 composeElementElements(element); 12205 if (element.hasUseElement()) 12206 composeEnumeration("use", element.getUseElement(), new Address.AddressUseEnumFactory()); 12207 if (element.hasTypeElement()) 12208 composeEnumeration("type", element.getTypeElement(), new Address.AddressTypeEnumFactory()); 12209 if (element.hasTextElement()) { 12210 composeString("text", element.getTextElement()); 12211 } 12212 if (element.hasLine()) { 12213 for (StringType e : element.getLine()) 12214 composeString("line", e); 12215 } 12216 if (element.hasCityElement()) { 12217 composeString("city", element.getCityElement()); 12218 } 12219 if (element.hasDistrictElement()) { 12220 composeString("district", element.getDistrictElement()); 12221 } 12222 if (element.hasStateElement()) { 12223 composeString("state", element.getStateElement()); 12224 } 12225 if (element.hasPostalCodeElement()) { 12226 composeString("postalCode", element.getPostalCodeElement()); 12227 } 12228 if (element.hasCountryElement()) { 12229 composeString("country", element.getCountryElement()); 12230 } 12231 if (element.hasPeriod()) { 12232 composePeriod("period", element.getPeriod()); 12233 } 12234 composeElementClose(element); 12235 xml.exit(FHIR_NS, name); 12236 } 12237 } 12238 12239 protected void composeTiming(String name, Timing element) throws IOException { 12240 if (element != null) { 12241 composeElementAttributes(element); 12242 xml.enter(FHIR_NS, name); 12243 composeElementElements(element); 12244 if (element.hasEvent()) { 12245 for (DateTimeType e : element.getEvent()) 12246 composeDateTime("event", e); 12247 } 12248 if (element.hasRepeat()) { 12249 composeTimingTimingRepeatComponent("repeat", element.getRepeat()); 12250 } 12251 if (element.hasCode()) { 12252 composeCodeableConcept("code", element.getCode()); 12253 } 12254 composeElementClose(element); 12255 xml.exit(FHIR_NS, name); 12256 } 12257 } 12258 12259 protected void composeTimingTimingRepeatComponent(String name, Timing.TimingRepeatComponent element) 12260 throws IOException { 12261 if (element != null) { 12262 composeElementAttributes(element); 12263 xml.enter(FHIR_NS, name); 12264 composeElementElements(element); 12265 if (element.hasBounds()) { 12266 composeType("bounds", element.getBounds()); 12267 } 12268 if (element.hasCountElement()) { 12269 composeInteger("count", element.getCountElement()); 12270 } 12271 if (element.hasDurationElement()) { 12272 composeDecimal("duration", element.getDurationElement()); 12273 } 12274 if (element.hasDurationMaxElement()) { 12275 composeDecimal("durationMax", element.getDurationMaxElement()); 12276 } 12277 if (element.hasDurationUnitsElement()) 12278 composeEnumeration("durationUnits", element.getDurationUnitsElement(), new Timing.UnitsOfTimeEnumFactory()); 12279 if (element.hasFrequencyElement()) { 12280 composeInteger("frequency", element.getFrequencyElement()); 12281 } 12282 if (element.hasFrequencyMaxElement()) { 12283 composeInteger("frequencyMax", element.getFrequencyMaxElement()); 12284 } 12285 if (element.hasPeriodElement()) { 12286 composeDecimal("period", element.getPeriodElement()); 12287 } 12288 if (element.hasPeriodMaxElement()) { 12289 composeDecimal("periodMax", element.getPeriodMaxElement()); 12290 } 12291 if (element.hasPeriodUnitsElement()) 12292 composeEnumeration("periodUnits", element.getPeriodUnitsElement(), new Timing.UnitsOfTimeEnumFactory()); 12293 if (element.hasWhenElement()) 12294 composeEnumeration("when", element.getWhenElement(), new Timing.EventTimingEnumFactory()); 12295 composeElementClose(element); 12296 xml.exit(FHIR_NS, name); 12297 } 12298 } 12299 12300 protected void composeElementDefinition(String name, ElementDefinition element) throws IOException { 12301 if (element != null) { 12302 composeElementAttributes(element); 12303 xml.enter(FHIR_NS, name); 12304 composeElementElements(element); 12305 if (element.hasPathElement()) { 12306 composeString("path", element.getPathElement()); 12307 } 12308 if (element.hasRepresentation()) 12309 for (Enumeration<ElementDefinition.PropertyRepresentation> e : element.getRepresentation()) 12310 composeEnumeration("representation", e, new ElementDefinition.PropertyRepresentationEnumFactory()); 12311 if (element.hasNameElement()) { 12312 composeString("name", element.getNameElement()); 12313 } 12314 if (element.hasLabelElement()) { 12315 composeString("label", element.getLabelElement()); 12316 } 12317 if (element.hasCode()) { 12318 for (Coding e : element.getCode()) 12319 composeCoding("code", e); 12320 } 12321 if (element.hasSlicing()) { 12322 composeElementDefinitionElementDefinitionSlicingComponent("slicing", element.getSlicing()); 12323 } 12324 if (element.hasShortElement()) { 12325 composeString("short", element.getShortElement()); 12326 } 12327 if (element.hasDefinitionElement()) { 12328 composeMarkdown("definition", element.getDefinitionElement()); 12329 } 12330 if (element.hasCommentsElement()) { 12331 composeMarkdown("comments", element.getCommentsElement()); 12332 } 12333 if (element.hasRequirementsElement()) { 12334 composeMarkdown("requirements", element.getRequirementsElement()); 12335 } 12336 if (element.hasAlias()) { 12337 for (StringType e : element.getAlias()) 12338 composeString("alias", e); 12339 } 12340 if (element.hasMinElement()) { 12341 composeInteger("min", element.getMinElement()); 12342 } 12343 if (element.hasMaxElement()) { 12344 composeString("max", element.getMaxElement()); 12345 } 12346 if (element.hasBase()) { 12347 composeElementDefinitionElementDefinitionBaseComponent("base", element.getBase()); 12348 } 12349 if (element.hasType()) { 12350 for (ElementDefinition.TypeRefComponent e : element.getType()) 12351 composeElementDefinitionTypeRefComponent("type", e); 12352 } 12353 if (element.hasNameReferenceElement()) { 12354 composeString("nameReference", element.getNameReferenceElement()); 12355 } 12356 if (element.hasDefaultValue()) { 12357 composeType("defaultValue", element.getDefaultValue()); 12358 } 12359 if (element.hasMeaningWhenMissingElement()) { 12360 composeMarkdown("meaningWhenMissing", element.getMeaningWhenMissingElement()); 12361 } 12362 if (element.hasFixed()) { 12363 composeType("fixed", element.getFixed()); 12364 } 12365 if (element.hasPattern()) { 12366 composeType("pattern", element.getPattern()); 12367 } 12368 if (element.hasExample()) { 12369 composeType("example", element.getExample()); 12370 } 12371 if (element.hasMinValue()) { 12372 composeType("minValue", element.getMinValue()); 12373 } 12374 if (element.hasMaxValue()) { 12375 composeType("maxValue", element.getMaxValue()); 12376 } 12377 if (element.hasMaxLengthElement()) { 12378 composeInteger("maxLength", element.getMaxLengthElement()); 12379 } 12380 if (element.hasCondition()) { 12381 for (IdType e : element.getCondition()) 12382 composeId("condition", e); 12383 } 12384 if (element.hasConstraint()) { 12385 for (ElementDefinition.ElementDefinitionConstraintComponent e : element.getConstraint()) 12386 composeElementDefinitionElementDefinitionConstraintComponent("constraint", e); 12387 } 12388 if (element.hasMustSupportElement()) { 12389 composeBoolean("mustSupport", element.getMustSupportElement()); 12390 } 12391 if (element.hasIsModifierElement()) { 12392 composeBoolean("isModifier", element.getIsModifierElement()); 12393 } 12394 if (element.hasIsSummaryElement()) { 12395 composeBoolean("isSummary", element.getIsSummaryElement()); 12396 } 12397 if (element.hasBinding()) { 12398 composeElementDefinitionElementDefinitionBindingComponent("binding", element.getBinding()); 12399 } 12400 if (element.hasMapping()) { 12401 for (ElementDefinition.ElementDefinitionMappingComponent e : element.getMapping()) 12402 composeElementDefinitionElementDefinitionMappingComponent("mapping", e); 12403 } 12404 composeElementClose(element); 12405 xml.exit(FHIR_NS, name); 12406 } 12407 } 12408 12409 protected void composeElementDefinitionElementDefinitionSlicingComponent(String name, 12410 ElementDefinition.ElementDefinitionSlicingComponent element) throws IOException { 12411 if (element != null) { 12412 composeElementAttributes(element); 12413 xml.enter(FHIR_NS, name); 12414 composeElementElements(element); 12415 if (element.hasDiscriminator()) { 12416 for (StringType e : element.getDiscriminator()) 12417 composeString("discriminator", e); 12418 } 12419 if (element.hasDescriptionElement()) { 12420 composeString("description", element.getDescriptionElement()); 12421 } 12422 if (element.hasOrderedElement()) { 12423 composeBoolean("ordered", element.getOrderedElement()); 12424 } 12425 if (element.hasRulesElement()) 12426 composeEnumeration("rules", element.getRulesElement(), new ElementDefinition.SlicingRulesEnumFactory()); 12427 composeElementClose(element); 12428 xml.exit(FHIR_NS, name); 12429 } 12430 } 12431 12432 protected void composeElementDefinitionElementDefinitionBaseComponent(String name, 12433 ElementDefinition.ElementDefinitionBaseComponent element) throws IOException { 12434 if (element != null) { 12435 composeElementAttributes(element); 12436 xml.enter(FHIR_NS, name); 12437 composeElementElements(element); 12438 if (element.hasPathElement()) { 12439 composeString("path", element.getPathElement()); 12440 } 12441 if (element.hasMinElement()) { 12442 composeInteger("min", element.getMinElement()); 12443 } 12444 if (element.hasMaxElement()) { 12445 composeString("max", element.getMaxElement()); 12446 } 12447 composeElementClose(element); 12448 xml.exit(FHIR_NS, name); 12449 } 12450 } 12451 12452 protected void composeElementDefinitionTypeRefComponent(String name, ElementDefinition.TypeRefComponent element) 12453 throws IOException { 12454 if (element != null) { 12455 composeElementAttributes(element); 12456 xml.enter(FHIR_NS, name); 12457 composeElementElements(element); 12458 if (element.hasCodeElement()) { 12459 composeCode("code", element.getCodeElement()); 12460 } 12461 if (element.hasProfile()) { 12462 for (UriType e : element.getProfile()) 12463 composeUri("profile", e); 12464 } 12465 if (element.hasAggregation()) 12466 for (Enumeration<ElementDefinition.AggregationMode> e : element.getAggregation()) 12467 composeEnumeration("aggregation", e, new ElementDefinition.AggregationModeEnumFactory()); 12468 composeElementClose(element); 12469 xml.exit(FHIR_NS, name); 12470 } 12471 } 12472 12473 protected void composeElementDefinitionElementDefinitionConstraintComponent(String name, 12474 ElementDefinition.ElementDefinitionConstraintComponent element) throws IOException { 12475 if (element != null) { 12476 composeElementAttributes(element); 12477 xml.enter(FHIR_NS, name); 12478 composeElementElements(element); 12479 if (element.hasKeyElement()) { 12480 composeId("key", element.getKeyElement()); 12481 } 12482 if (element.hasRequirementsElement()) { 12483 composeString("requirements", element.getRequirementsElement()); 12484 } 12485 if (element.hasSeverityElement()) 12486 composeEnumeration("severity", element.getSeverityElement(), 12487 new ElementDefinition.ConstraintSeverityEnumFactory()); 12488 if (element.hasHumanElement()) { 12489 composeString("human", element.getHumanElement()); 12490 } 12491 if (element.hasXpathElement()) { 12492 composeString("xpath", element.getXpathElement()); 12493 } 12494 composeElementClose(element); 12495 xml.exit(FHIR_NS, name); 12496 } 12497 } 12498 12499 protected void composeElementDefinitionElementDefinitionBindingComponent(String name, 12500 ElementDefinition.ElementDefinitionBindingComponent element) throws IOException { 12501 if (element != null) { 12502 composeElementAttributes(element); 12503 xml.enter(FHIR_NS, name); 12504 composeElementElements(element); 12505 if (element.hasStrengthElement()) 12506 composeEnumeration("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory()); 12507 if (element.hasDescriptionElement()) { 12508 composeString("description", element.getDescriptionElement()); 12509 } 12510 if (element.hasValueSet()) { 12511 composeType("valueSet", element.getValueSet()); 12512 } 12513 composeElementClose(element); 12514 xml.exit(FHIR_NS, name); 12515 } 12516 } 12517 12518 protected void composeElementDefinitionElementDefinitionMappingComponent(String name, 12519 ElementDefinition.ElementDefinitionMappingComponent element) throws IOException { 12520 if (element != null) { 12521 composeElementAttributes(element); 12522 xml.enter(FHIR_NS, name); 12523 composeElementElements(element); 12524 if (element.hasIdentityElement()) { 12525 composeId("identity", element.getIdentityElement()); 12526 } 12527 if (element.hasLanguageElement()) { 12528 composeCode("language", element.getLanguageElement()); 12529 } 12530 if (element.hasMapElement()) { 12531 composeString("map", element.getMapElement()); 12532 } 12533 composeElementClose(element); 12534 xml.exit(FHIR_NS, name); 12535 } 12536 } 12537 12538 protected void composeDomainResourceAttributes(DomainResource element) throws IOException { 12539 composeResourceAttributes(element); 12540 } 12541 12542 protected void composeDomainResourceElements(DomainResource element) throws IOException { 12543 composeResourceElements(element); 12544 if (element.hasText()) { 12545 composeNarrative("text", element.getText()); 12546 } 12547 if (element.hasContained()) { 12548 for (Resource e : element.getContained()) { 12549 xml.enter(FHIR_NS, "contained"); 12550 composeResource(e); 12551 xml.exit(FHIR_NS, "contained"); 12552 } 12553 } 12554 if (element.hasExtension()) 12555 for (Extension e : element.getExtension()) 12556 composeExtension("extension", e); 12557 if (element.hasModifierExtension()) { 12558 for (Extension e : element.getModifierExtension()) 12559 composeExtension("modifierExtension", e); 12560 } 12561 } 12562 12563 protected void composeParameters(String name, Parameters element) throws IOException { 12564 if (element != null) { 12565 composeResourceAttributes(element); 12566 xml.enter(FHIR_NS, name); 12567 composeResourceElements(element); 12568 if (element.hasParameter()) { 12569 for (Parameters.ParametersParameterComponent e : element.getParameter()) 12570 composeParametersParametersParameterComponent("parameter", e); 12571 } 12572 composeElementClose(element); 12573 xml.exit(FHIR_NS, name); 12574 } 12575 } 12576 12577 protected void composeParametersParametersParameterComponent(String name, 12578 Parameters.ParametersParameterComponent element) throws IOException { 12579 if (element != null) { 12580 composeElementAttributes(element); 12581 xml.enter(FHIR_NS, name); 12582 composeBackboneElements(element); 12583 if (element.hasNameElement()) { 12584 composeString("name", element.getNameElement()); 12585 } 12586 if (element.hasValue()) { 12587 composeType("value", element.getValue()); 12588 } 12589 if (element.hasResource()) { 12590 xml.enter(FHIR_NS, "resource"); 12591 composeResource(element.getResource()); 12592 xml.exit(FHIR_NS, "resource"); 12593 } 12594 if (element.hasPart()) { 12595 for (Parameters.ParametersParameterComponent e : element.getPart()) 12596 composeParametersParametersParameterComponent("part", e); 12597 } 12598 composeElementClose(element); 12599 xml.exit(FHIR_NS, name); 12600 } 12601 } 12602 12603 protected void composeResourceAttributes(Resource element) throws IOException { 12604 if (style != OutputStyle.CANONICAL) 12605 for (String comment : element.getFormatCommentsPre()) 12606 xml.comment(comment, getOutputStyle() == OutputStyle.PRETTY); 12607 } 12608 12609 protected void composeResourceElements(Resource element) throws IOException { 12610 if (element.hasIdElement()) { 12611 composeId("id", element.getIdElement()); 12612 } 12613 if (element.hasMeta()) { 12614 composeMeta("meta", element.getMeta()); 12615 } 12616 if (element.hasImplicitRulesElement()) { 12617 composeUri("implicitRules", element.getImplicitRulesElement()); 12618 } 12619 if (element.hasLanguageElement()) { 12620 composeCode("language", element.getLanguageElement()); 12621 } 12622 } 12623 12624 protected void composeAccount(String name, Account element) throws IOException { 12625 if (element != null) { 12626 composeDomainResourceAttributes(element); 12627 xml.enter(FHIR_NS, name); 12628 composeDomainResourceElements(element); 12629 if (element.hasIdentifier()) { 12630 for (Identifier e : element.getIdentifier()) 12631 composeIdentifier("identifier", e); 12632 } 12633 if (element.hasNameElement()) { 12634 composeString("name", element.getNameElement()); 12635 } 12636 if (element.hasType()) { 12637 composeCodeableConcept("type", element.getType()); 12638 } 12639 if (element.hasStatusElement()) 12640 composeEnumeration("status", element.getStatusElement(), new Account.AccountStatusEnumFactory()); 12641 if (element.hasActivePeriod()) { 12642 composePeriod("activePeriod", element.getActivePeriod()); 12643 } 12644 if (element.hasCurrency()) { 12645 composeCoding("currency", element.getCurrency()); 12646 } 12647 if (element.hasBalance()) { 12648 composeMoney("balance", element.getBalance()); 12649 } 12650 if (element.hasCoveragePeriod()) { 12651 composePeriod("coveragePeriod", element.getCoveragePeriod()); 12652 } 12653 if (element.hasSubject()) { 12654 composeReference("subject", element.getSubject()); 12655 } 12656 if (element.hasOwner()) { 12657 composeReference("owner", element.getOwner()); 12658 } 12659 if (element.hasDescriptionElement()) { 12660 composeString("description", element.getDescriptionElement()); 12661 } 12662 composeElementClose(element); 12663 xml.exit(FHIR_NS, name); 12664 } 12665 } 12666 12667 protected void composeAllergyIntolerance(String name, AllergyIntolerance element) throws IOException { 12668 if (element != null) { 12669 composeDomainResourceAttributes(element); 12670 xml.enter(FHIR_NS, name); 12671 composeDomainResourceElements(element); 12672 if (element.hasIdentifier()) { 12673 for (Identifier e : element.getIdentifier()) 12674 composeIdentifier("identifier", e); 12675 } 12676 if (element.hasOnsetElement()) { 12677 composeDateTime("onset", element.getOnsetElement()); 12678 } 12679 if (element.hasRecordedDateElement()) { 12680 composeDateTime("recordedDate", element.getRecordedDateElement()); 12681 } 12682 if (element.hasRecorder()) { 12683 composeReference("recorder", element.getRecorder()); 12684 } 12685 if (element.hasPatient()) { 12686 composeReference("patient", element.getPatient()); 12687 } 12688 if (element.hasReporter()) { 12689 composeReference("reporter", element.getReporter()); 12690 } 12691 if (element.hasSubstance()) { 12692 composeCodeableConcept("substance", element.getSubstance()); 12693 } 12694 if (element.hasStatusElement()) 12695 composeEnumeration("status", element.getStatusElement(), 12696 new AllergyIntolerance.AllergyIntoleranceStatusEnumFactory()); 12697 if (element.hasCriticalityElement()) 12698 composeEnumeration("criticality", element.getCriticalityElement(), 12699 new AllergyIntolerance.AllergyIntoleranceCriticalityEnumFactory()); 12700 if (element.hasTypeElement()) 12701 composeEnumeration("type", element.getTypeElement(), 12702 new AllergyIntolerance.AllergyIntoleranceTypeEnumFactory()); 12703 if (element.hasCategoryElement()) 12704 composeEnumeration("category", element.getCategoryElement(), 12705 new AllergyIntolerance.AllergyIntoleranceCategoryEnumFactory()); 12706 if (element.hasLastOccurenceElement()) { 12707 composeDateTime("lastOccurence", element.getLastOccurenceElement()); 12708 } 12709 if (element.hasNote()) { 12710 composeAnnotation("note", element.getNote()); 12711 } 12712 if (element.hasReaction()) { 12713 for (AllergyIntolerance.AllergyIntoleranceReactionComponent e : element.getReaction()) 12714 composeAllergyIntoleranceAllergyIntoleranceReactionComponent("reaction", e); 12715 } 12716 composeElementClose(element); 12717 xml.exit(FHIR_NS, name); 12718 } 12719 } 12720 12721 protected void composeAllergyIntoleranceAllergyIntoleranceReactionComponent(String name, 12722 AllergyIntolerance.AllergyIntoleranceReactionComponent element) throws IOException { 12723 if (element != null) { 12724 composeElementAttributes(element); 12725 xml.enter(FHIR_NS, name); 12726 composeBackboneElements(element); 12727 if (element.hasSubstance()) { 12728 composeCodeableConcept("substance", element.getSubstance()); 12729 } 12730 if (element.hasCertaintyElement()) 12731 composeEnumeration("certainty", element.getCertaintyElement(), 12732 new AllergyIntolerance.AllergyIntoleranceCertaintyEnumFactory()); 12733 if (element.hasManifestation()) { 12734 for (CodeableConcept e : element.getManifestation()) 12735 composeCodeableConcept("manifestation", e); 12736 } 12737 if (element.hasDescriptionElement()) { 12738 composeString("description", element.getDescriptionElement()); 12739 } 12740 if (element.hasOnsetElement()) { 12741 composeDateTime("onset", element.getOnsetElement()); 12742 } 12743 if (element.hasSeverityElement()) 12744 composeEnumeration("severity", element.getSeverityElement(), 12745 new AllergyIntolerance.AllergyIntoleranceSeverityEnumFactory()); 12746 if (element.hasExposureRoute()) { 12747 composeCodeableConcept("exposureRoute", element.getExposureRoute()); 12748 } 12749 if (element.hasNote()) { 12750 composeAnnotation("note", element.getNote()); 12751 } 12752 composeElementClose(element); 12753 xml.exit(FHIR_NS, name); 12754 } 12755 } 12756 12757 protected void composeAppointment(String name, Appointment element) throws IOException { 12758 if (element != null) { 12759 composeDomainResourceAttributes(element); 12760 xml.enter(FHIR_NS, name); 12761 composeDomainResourceElements(element); 12762 if (element.hasIdentifier()) { 12763 for (Identifier e : element.getIdentifier()) 12764 composeIdentifier("identifier", e); 12765 } 12766 if (element.hasStatusElement()) 12767 composeEnumeration("status", element.getStatusElement(), new Appointment.AppointmentStatusEnumFactory()); 12768 if (element.hasType()) { 12769 composeCodeableConcept("type", element.getType()); 12770 } 12771 if (element.hasReason()) { 12772 composeCodeableConcept("reason", element.getReason()); 12773 } 12774 if (element.hasPriorityElement()) { 12775 composeUnsignedInt("priority", element.getPriorityElement()); 12776 } 12777 if (element.hasDescriptionElement()) { 12778 composeString("description", element.getDescriptionElement()); 12779 } 12780 if (element.hasStartElement()) { 12781 composeInstant("start", element.getStartElement()); 12782 } 12783 if (element.hasEndElement()) { 12784 composeInstant("end", element.getEndElement()); 12785 } 12786 if (element.hasMinutesDurationElement()) { 12787 composePositiveInt("minutesDuration", element.getMinutesDurationElement()); 12788 } 12789 if (element.hasSlot()) { 12790 for (Reference e : element.getSlot()) 12791 composeReference("slot", e); 12792 } 12793 if (element.hasCommentElement()) { 12794 composeString("comment", element.getCommentElement()); 12795 } 12796 if (element.hasParticipant()) { 12797 for (Appointment.AppointmentParticipantComponent e : element.getParticipant()) 12798 composeAppointmentAppointmentParticipantComponent("participant", e); 12799 } 12800 composeElementClose(element); 12801 xml.exit(FHIR_NS, name); 12802 } 12803 } 12804 12805 protected void composeAppointmentAppointmentParticipantComponent(String name, 12806 Appointment.AppointmentParticipantComponent element) throws IOException { 12807 if (element != null) { 12808 composeElementAttributes(element); 12809 xml.enter(FHIR_NS, name); 12810 composeBackboneElements(element); 12811 if (element.hasType()) { 12812 for (CodeableConcept e : element.getType()) 12813 composeCodeableConcept("type", e); 12814 } 12815 if (element.hasActor()) { 12816 composeReference("actor", element.getActor()); 12817 } 12818 if (element.hasRequiredElement()) 12819 composeEnumeration("required", element.getRequiredElement(), new Appointment.ParticipantRequiredEnumFactory()); 12820 if (element.hasStatusElement()) 12821 composeEnumeration("status", element.getStatusElement(), new Appointment.ParticipationStatusEnumFactory()); 12822 composeElementClose(element); 12823 xml.exit(FHIR_NS, name); 12824 } 12825 } 12826 12827 protected void composeAppointmentResponse(String name, AppointmentResponse element) throws IOException { 12828 if (element != null) { 12829 composeDomainResourceAttributes(element); 12830 xml.enter(FHIR_NS, name); 12831 composeDomainResourceElements(element); 12832 if (element.hasIdentifier()) { 12833 for (Identifier e : element.getIdentifier()) 12834 composeIdentifier("identifier", e); 12835 } 12836 if (element.hasAppointment()) { 12837 composeReference("appointment", element.getAppointment()); 12838 } 12839 if (element.hasStartElement()) { 12840 composeInstant("start", element.getStartElement()); 12841 } 12842 if (element.hasEndElement()) { 12843 composeInstant("end", element.getEndElement()); 12844 } 12845 if (element.hasParticipantType()) { 12846 for (CodeableConcept e : element.getParticipantType()) 12847 composeCodeableConcept("participantType", e); 12848 } 12849 if (element.hasActor()) { 12850 composeReference("actor", element.getActor()); 12851 } 12852 if (element.hasParticipantStatusElement()) 12853 composeEnumeration("participantStatus", element.getParticipantStatusElement(), 12854 new AppointmentResponse.ParticipantStatusEnumFactory()); 12855 if (element.hasCommentElement()) { 12856 composeString("comment", element.getCommentElement()); 12857 } 12858 composeElementClose(element); 12859 xml.exit(FHIR_NS, name); 12860 } 12861 } 12862 12863 protected void composeAuditEvent(String name, AuditEvent element) throws IOException { 12864 if (element != null) { 12865 composeDomainResourceAttributes(element); 12866 xml.enter(FHIR_NS, name); 12867 composeDomainResourceElements(element); 12868 if (element.hasEvent()) { 12869 composeAuditEventAuditEventEventComponent("event", element.getEvent()); 12870 } 12871 if (element.hasParticipant()) { 12872 for (AuditEvent.AuditEventParticipantComponent e : element.getParticipant()) 12873 composeAuditEventAuditEventParticipantComponent("participant", e); 12874 } 12875 if (element.hasSource()) { 12876 composeAuditEventAuditEventSourceComponent("source", element.getSource()); 12877 } 12878 if (element.hasObject()) { 12879 for (AuditEvent.AuditEventObjectComponent e : element.getObject()) 12880 composeAuditEventAuditEventObjectComponent("object", e); 12881 } 12882 composeElementClose(element); 12883 xml.exit(FHIR_NS, name); 12884 } 12885 } 12886 12887 protected void composeAuditEventAuditEventEventComponent(String name, AuditEvent.AuditEventEventComponent element) 12888 throws IOException { 12889 if (element != null) { 12890 composeElementAttributes(element); 12891 xml.enter(FHIR_NS, name); 12892 composeBackboneElements(element); 12893 if (element.hasType()) { 12894 composeCoding("type", element.getType()); 12895 } 12896 if (element.hasSubtype()) { 12897 for (Coding e : element.getSubtype()) 12898 composeCoding("subtype", e); 12899 } 12900 if (element.hasActionElement()) 12901 composeEnumeration("action", element.getActionElement(), new AuditEvent.AuditEventActionEnumFactory()); 12902 if (element.hasDateTimeElement()) { 12903 composeInstant("dateTime", element.getDateTimeElement()); 12904 } 12905 if (element.hasOutcomeElement()) 12906 composeEnumeration("outcome", element.getOutcomeElement(), new AuditEvent.AuditEventOutcomeEnumFactory()); 12907 if (element.hasOutcomeDescElement()) { 12908 composeString("outcomeDesc", element.getOutcomeDescElement()); 12909 } 12910 if (element.hasPurposeOfEvent()) { 12911 for (Coding e : element.getPurposeOfEvent()) 12912 composeCoding("purposeOfEvent", e); 12913 } 12914 composeElementClose(element); 12915 xml.exit(FHIR_NS, name); 12916 } 12917 } 12918 12919 protected void composeAuditEventAuditEventParticipantComponent(String name, 12920 AuditEvent.AuditEventParticipantComponent element) throws IOException { 12921 if (element != null) { 12922 composeElementAttributes(element); 12923 xml.enter(FHIR_NS, name); 12924 composeBackboneElements(element); 12925 if (element.hasRole()) { 12926 for (CodeableConcept e : element.getRole()) 12927 composeCodeableConcept("role", e); 12928 } 12929 if (element.hasReference()) { 12930 composeReference("reference", element.getReference()); 12931 } 12932 if (element.hasUserId()) { 12933 composeIdentifier("userId", element.getUserId()); 12934 } 12935 if (element.hasAltIdElement()) { 12936 composeString("altId", element.getAltIdElement()); 12937 } 12938 if (element.hasNameElement()) { 12939 composeString("name", element.getNameElement()); 12940 } 12941 if (element.hasRequestorElement()) { 12942 composeBoolean("requestor", element.getRequestorElement()); 12943 } 12944 if (element.hasLocation()) { 12945 composeReference("location", element.getLocation()); 12946 } 12947 if (element.hasPolicy()) { 12948 for (UriType e : element.getPolicy()) 12949 composeUri("policy", e); 12950 } 12951 if (element.hasMedia()) { 12952 composeCoding("media", element.getMedia()); 12953 } 12954 if (element.hasNetwork()) { 12955 composeAuditEventAuditEventParticipantNetworkComponent("network", element.getNetwork()); 12956 } 12957 if (element.hasPurposeOfUse()) { 12958 for (Coding e : element.getPurposeOfUse()) 12959 composeCoding("purposeOfUse", e); 12960 } 12961 composeElementClose(element); 12962 xml.exit(FHIR_NS, name); 12963 } 12964 } 12965 12966 protected void composeAuditEventAuditEventParticipantNetworkComponent(String name, 12967 AuditEvent.AuditEventParticipantNetworkComponent element) throws IOException { 12968 if (element != null) { 12969 composeElementAttributes(element); 12970 xml.enter(FHIR_NS, name); 12971 composeBackboneElements(element); 12972 if (element.hasAddressElement()) { 12973 composeString("address", element.getAddressElement()); 12974 } 12975 if (element.hasTypeElement()) 12976 composeEnumeration("type", element.getTypeElement(), 12977 new AuditEvent.AuditEventParticipantNetworkTypeEnumFactory()); 12978 composeElementClose(element); 12979 xml.exit(FHIR_NS, name); 12980 } 12981 } 12982 12983 protected void composeAuditEventAuditEventSourceComponent(String name, AuditEvent.AuditEventSourceComponent element) 12984 throws IOException { 12985 if (element != null) { 12986 composeElementAttributes(element); 12987 xml.enter(FHIR_NS, name); 12988 composeBackboneElements(element); 12989 if (element.hasSiteElement()) { 12990 composeString("site", element.getSiteElement()); 12991 } 12992 if (element.hasIdentifier()) { 12993 composeIdentifier("identifier", element.getIdentifier()); 12994 } 12995 if (element.hasType()) { 12996 for (Coding e : element.getType()) 12997 composeCoding("type", e); 12998 } 12999 composeElementClose(element); 13000 xml.exit(FHIR_NS, name); 13001 } 13002 } 13003 13004 protected void composeAuditEventAuditEventObjectComponent(String name, AuditEvent.AuditEventObjectComponent element) 13005 throws IOException { 13006 if (element != null) { 13007 composeElementAttributes(element); 13008 xml.enter(FHIR_NS, name); 13009 composeBackboneElements(element); 13010 if (element.hasIdentifier()) { 13011 composeIdentifier("identifier", element.getIdentifier()); 13012 } 13013 if (element.hasReference()) { 13014 composeReference("reference", element.getReference()); 13015 } 13016 if (element.hasType()) { 13017 composeCoding("type", element.getType()); 13018 } 13019 if (element.hasRole()) { 13020 composeCoding("role", element.getRole()); 13021 } 13022 if (element.hasLifecycle()) { 13023 composeCoding("lifecycle", element.getLifecycle()); 13024 } 13025 if (element.hasSecurityLabel()) { 13026 for (Coding e : element.getSecurityLabel()) 13027 composeCoding("securityLabel", e); 13028 } 13029 if (element.hasNameElement()) { 13030 composeString("name", element.getNameElement()); 13031 } 13032 if (element.hasDescriptionElement()) { 13033 composeString("description", element.getDescriptionElement()); 13034 } 13035 if (element.hasQueryElement()) { 13036 composeBase64Binary("query", element.getQueryElement()); 13037 } 13038 if (element.hasDetail()) { 13039 for (AuditEvent.AuditEventObjectDetailComponent e : element.getDetail()) 13040 composeAuditEventAuditEventObjectDetailComponent("detail", e); 13041 } 13042 composeElementClose(element); 13043 xml.exit(FHIR_NS, name); 13044 } 13045 } 13046 13047 protected void composeAuditEventAuditEventObjectDetailComponent(String name, 13048 AuditEvent.AuditEventObjectDetailComponent element) throws IOException { 13049 if (element != null) { 13050 composeElementAttributes(element); 13051 xml.enter(FHIR_NS, name); 13052 composeBackboneElements(element); 13053 if (element.hasTypeElement()) { 13054 composeString("type", element.getTypeElement()); 13055 } 13056 if (element.hasValueElement()) { 13057 composeBase64Binary("value", element.getValueElement()); 13058 } 13059 composeElementClose(element); 13060 xml.exit(FHIR_NS, name); 13061 } 13062 } 13063 13064 protected void composeBasic(String name, Basic element) throws IOException { 13065 if (element != null) { 13066 composeDomainResourceAttributes(element); 13067 xml.enter(FHIR_NS, name); 13068 composeDomainResourceElements(element); 13069 if (element.hasIdentifier()) { 13070 for (Identifier e : element.getIdentifier()) 13071 composeIdentifier("identifier", e); 13072 } 13073 if (element.hasCode()) { 13074 composeCodeableConcept("code", element.getCode()); 13075 } 13076 if (element.hasSubject()) { 13077 composeReference("subject", element.getSubject()); 13078 } 13079 if (element.hasAuthor()) { 13080 composeReference("author", element.getAuthor()); 13081 } 13082 if (element.hasCreatedElement()) { 13083 composeDate("created", element.getCreatedElement()); 13084 } 13085 composeElementClose(element); 13086 xml.exit(FHIR_NS, name); 13087 } 13088 } 13089 13090 protected void composeBinary(String name, Binary element) throws IOException { 13091 if (element != null) { 13092 composeResourceAttributes(element); 13093 xml.enter(FHIR_NS, name); 13094 composeResourceElements(element); 13095 if (element.hasContentTypeElement()) { 13096 composeCode("contentType", element.getContentTypeElement()); 13097 } 13098 if (element.hasContentElement()) { 13099 composeBase64Binary("content", element.getContentElement()); 13100 } 13101 composeElementClose(element); 13102 xml.exit(FHIR_NS, name); 13103 } 13104 } 13105 13106 protected void composeBodySite(String name, BodySite element) throws IOException { 13107 if (element != null) { 13108 composeDomainResourceAttributes(element); 13109 xml.enter(FHIR_NS, name); 13110 composeDomainResourceElements(element); 13111 if (element.hasPatient()) { 13112 composeReference("patient", element.getPatient()); 13113 } 13114 if (element.hasIdentifier()) { 13115 for (Identifier e : element.getIdentifier()) 13116 composeIdentifier("identifier", e); 13117 } 13118 if (element.hasCode()) { 13119 composeCodeableConcept("code", element.getCode()); 13120 } 13121 if (element.hasModifier()) { 13122 for (CodeableConcept e : element.getModifier()) 13123 composeCodeableConcept("modifier", e); 13124 } 13125 if (element.hasDescriptionElement()) { 13126 composeString("description", element.getDescriptionElement()); 13127 } 13128 if (element.hasImage()) { 13129 for (Attachment e : element.getImage()) 13130 composeAttachment("image", e); 13131 } 13132 composeElementClose(element); 13133 xml.exit(FHIR_NS, name); 13134 } 13135 } 13136 13137 protected void composeBundle(String name, Bundle element) throws IOException { 13138 if (element != null) { 13139 composeResourceAttributes(element); 13140 xml.enter(FHIR_NS, name); 13141 composeResourceElements(element); 13142 if (element.hasTypeElement()) 13143 composeEnumeration("type", element.getTypeElement(), new Bundle.BundleTypeEnumFactory()); 13144 if (element.hasTotalElement()) { 13145 composeUnsignedInt("total", element.getTotalElement()); 13146 } 13147 if (element.hasLink()) { 13148 for (Bundle.BundleLinkComponent e : element.getLink()) 13149 composeBundleBundleLinkComponent("link", e); 13150 } 13151 if (element.hasEntry()) { 13152 for (Bundle.BundleEntryComponent e : element.getEntry()) 13153 composeBundleBundleEntryComponent("entry", e); 13154 } 13155 if (element.hasSignature()) { 13156 composeSignature("signature", element.getSignature()); 13157 } 13158 composeElementClose(element); 13159 xml.exit(FHIR_NS, name); 13160 } 13161 } 13162 13163 protected void composeBundleBundleLinkComponent(String name, Bundle.BundleLinkComponent element) throws IOException { 13164 if (element != null) { 13165 composeElementAttributes(element); 13166 xml.enter(FHIR_NS, name); 13167 composeBackboneElements(element); 13168 if (element.hasRelationElement()) { 13169 composeString("relation", element.getRelationElement()); 13170 } 13171 if (element.hasUrlElement()) { 13172 composeUri("url", element.getUrlElement()); 13173 } 13174 composeElementClose(element); 13175 xml.exit(FHIR_NS, name); 13176 } 13177 } 13178 13179 protected void composeBundleBundleEntryComponent(String name, Bundle.BundleEntryComponent element) 13180 throws IOException { 13181 if (element != null) { 13182 composeElementAttributes(element); 13183 xml.enter(FHIR_NS, name); 13184 composeBackboneElements(element); 13185 if (element.hasLink()) { 13186 for (Bundle.BundleLinkComponent e : element.getLink()) 13187 composeBundleBundleLinkComponent("link", e); 13188 } 13189 if (element.hasFullUrlElement()) { 13190 composeUri("fullUrl", element.getFullUrlElement()); 13191 } 13192 if (element.hasResource()) { 13193 xml.enter(FHIR_NS, "resource"); 13194 composeResource(element.getResource()); 13195 xml.exit(FHIR_NS, "resource"); 13196 } 13197 if (element.hasSearch()) { 13198 composeBundleBundleEntrySearchComponent("search", element.getSearch()); 13199 } 13200 if (element.hasRequest()) { 13201 composeBundleBundleEntryRequestComponent("request", element.getRequest()); 13202 } 13203 if (element.hasResponse()) { 13204 composeBundleBundleEntryResponseComponent("response", element.getResponse()); 13205 } 13206 composeElementClose(element); 13207 xml.exit(FHIR_NS, name); 13208 } 13209 } 13210 13211 protected void composeBundleBundleEntrySearchComponent(String name, Bundle.BundleEntrySearchComponent element) 13212 throws IOException { 13213 if (element != null) { 13214 composeElementAttributes(element); 13215 xml.enter(FHIR_NS, name); 13216 composeBackboneElements(element); 13217 if (element.hasModeElement()) 13218 composeEnumeration("mode", element.getModeElement(), new Bundle.SearchEntryModeEnumFactory()); 13219 if (element.hasScoreElement()) { 13220 composeDecimal("score", element.getScoreElement()); 13221 } 13222 composeElementClose(element); 13223 xml.exit(FHIR_NS, name); 13224 } 13225 } 13226 13227 protected void composeBundleBundleEntryRequestComponent(String name, Bundle.BundleEntryRequestComponent element) 13228 throws IOException { 13229 if (element != null) { 13230 composeElementAttributes(element); 13231 xml.enter(FHIR_NS, name); 13232 composeBackboneElements(element); 13233 if (element.hasMethodElement()) 13234 composeEnumeration("method", element.getMethodElement(), new Bundle.HTTPVerbEnumFactory()); 13235 if (element.hasUrlElement()) { 13236 composeUri("url", element.getUrlElement()); 13237 } 13238 if (element.hasIfNoneMatchElement()) { 13239 composeString("ifNoneMatch", element.getIfNoneMatchElement()); 13240 } 13241 if (element.hasIfModifiedSinceElement()) { 13242 composeInstant("ifModifiedSince", element.getIfModifiedSinceElement()); 13243 } 13244 if (element.hasIfMatchElement()) { 13245 composeString("ifMatch", element.getIfMatchElement()); 13246 } 13247 if (element.hasIfNoneExistElement()) { 13248 composeString("ifNoneExist", element.getIfNoneExistElement()); 13249 } 13250 composeElementClose(element); 13251 xml.exit(FHIR_NS, name); 13252 } 13253 } 13254 13255 protected void composeBundleBundleEntryResponseComponent(String name, Bundle.BundleEntryResponseComponent element) 13256 throws IOException { 13257 if (element != null) { 13258 composeElementAttributes(element); 13259 xml.enter(FHIR_NS, name); 13260 composeBackboneElements(element); 13261 if (element.hasStatusElement()) { 13262 composeString("status", element.getStatusElement()); 13263 } 13264 if (element.hasLocationElement()) { 13265 composeUri("location", element.getLocationElement()); 13266 } 13267 if (element.hasEtagElement()) { 13268 composeString("etag", element.getEtagElement()); 13269 } 13270 if (element.hasLastModifiedElement()) { 13271 composeInstant("lastModified", element.getLastModifiedElement()); 13272 } 13273 composeElementClose(element); 13274 xml.exit(FHIR_NS, name); 13275 } 13276 } 13277 13278 protected void composeCarePlan(String name, CarePlan element) throws IOException { 13279 if (element != null) { 13280 composeDomainResourceAttributes(element); 13281 xml.enter(FHIR_NS, name); 13282 composeDomainResourceElements(element); 13283 if (element.hasIdentifier()) { 13284 for (Identifier e : element.getIdentifier()) 13285 composeIdentifier("identifier", e); 13286 } 13287 if (element.hasSubject()) { 13288 composeReference("subject", element.getSubject()); 13289 } 13290 if (element.hasStatusElement()) 13291 composeEnumeration("status", element.getStatusElement(), new CarePlan.CarePlanStatusEnumFactory()); 13292 if (element.hasContext()) { 13293 composeReference("context", element.getContext()); 13294 } 13295 if (element.hasPeriod()) { 13296 composePeriod("period", element.getPeriod()); 13297 } 13298 if (element.hasAuthor()) { 13299 for (Reference e : element.getAuthor()) 13300 composeReference("author", e); 13301 } 13302 if (element.hasModifiedElement()) { 13303 composeDateTime("modified", element.getModifiedElement()); 13304 } 13305 if (element.hasCategory()) { 13306 for (CodeableConcept e : element.getCategory()) 13307 composeCodeableConcept("category", e); 13308 } 13309 if (element.hasDescriptionElement()) { 13310 composeString("description", element.getDescriptionElement()); 13311 } 13312 if (element.hasAddresses()) { 13313 for (Reference e : element.getAddresses()) 13314 composeReference("addresses", e); 13315 } 13316 if (element.hasSupport()) { 13317 for (Reference e : element.getSupport()) 13318 composeReference("support", e); 13319 } 13320 if (element.hasRelatedPlan()) { 13321 for (CarePlan.CarePlanRelatedPlanComponent e : element.getRelatedPlan()) 13322 composeCarePlanCarePlanRelatedPlanComponent("relatedPlan", e); 13323 } 13324 if (element.hasParticipant()) { 13325 for (CarePlan.CarePlanParticipantComponent e : element.getParticipant()) 13326 composeCarePlanCarePlanParticipantComponent("participant", e); 13327 } 13328 if (element.hasGoal()) { 13329 for (Reference e : element.getGoal()) 13330 composeReference("goal", e); 13331 } 13332 if (element.hasActivity()) { 13333 for (CarePlan.CarePlanActivityComponent e : element.getActivity()) 13334 composeCarePlanCarePlanActivityComponent("activity", e); 13335 } 13336 if (element.hasNote()) { 13337 composeAnnotation("note", element.getNote()); 13338 } 13339 composeElementClose(element); 13340 xml.exit(FHIR_NS, name); 13341 } 13342 } 13343 13344 protected void composeCarePlanCarePlanRelatedPlanComponent(String name, CarePlan.CarePlanRelatedPlanComponent element) 13345 throws IOException { 13346 if (element != null) { 13347 composeElementAttributes(element); 13348 xml.enter(FHIR_NS, name); 13349 composeBackboneElements(element); 13350 if (element.hasCodeElement()) 13351 composeEnumeration("code", element.getCodeElement(), new CarePlan.CarePlanRelationshipEnumFactory()); 13352 if (element.hasPlan()) { 13353 composeReference("plan", element.getPlan()); 13354 } 13355 composeElementClose(element); 13356 xml.exit(FHIR_NS, name); 13357 } 13358 } 13359 13360 protected void composeCarePlanCarePlanParticipantComponent(String name, CarePlan.CarePlanParticipantComponent element) 13361 throws IOException { 13362 if (element != null) { 13363 composeElementAttributes(element); 13364 xml.enter(FHIR_NS, name); 13365 composeBackboneElements(element); 13366 if (element.hasRole()) { 13367 composeCodeableConcept("role", element.getRole()); 13368 } 13369 if (element.hasMember()) { 13370 composeReference("member", element.getMember()); 13371 } 13372 composeElementClose(element); 13373 xml.exit(FHIR_NS, name); 13374 } 13375 } 13376 13377 protected void composeCarePlanCarePlanActivityComponent(String name, CarePlan.CarePlanActivityComponent element) 13378 throws IOException { 13379 if (element != null) { 13380 composeElementAttributes(element); 13381 xml.enter(FHIR_NS, name); 13382 composeBackboneElements(element); 13383 if (element.hasActionResulting()) { 13384 for (Reference e : element.getActionResulting()) 13385 composeReference("actionResulting", e); 13386 } 13387 if (element.hasProgress()) { 13388 for (Annotation e : element.getProgress()) 13389 composeAnnotation("progress", e); 13390 } 13391 if (element.hasReference()) { 13392 composeReference("reference", element.getReference()); 13393 } 13394 if (element.hasDetail()) { 13395 composeCarePlanCarePlanActivityDetailComponent("detail", element.getDetail()); 13396 } 13397 composeElementClose(element); 13398 xml.exit(FHIR_NS, name); 13399 } 13400 } 13401 13402 protected void composeCarePlanCarePlanActivityDetailComponent(String name, 13403 CarePlan.CarePlanActivityDetailComponent element) throws IOException { 13404 if (element != null) { 13405 composeElementAttributes(element); 13406 xml.enter(FHIR_NS, name); 13407 composeBackboneElements(element); 13408 if (element.hasCategory()) { 13409 composeCodeableConcept("category", element.getCategory()); 13410 } 13411 if (element.hasCode()) { 13412 composeCodeableConcept("code", element.getCode()); 13413 } 13414 if (element.hasReasonCode()) { 13415 for (CodeableConcept e : element.getReasonCode()) 13416 composeCodeableConcept("reasonCode", e); 13417 } 13418 if (element.hasReasonReference()) { 13419 for (Reference e : element.getReasonReference()) 13420 composeReference("reasonReference", e); 13421 } 13422 if (element.hasGoal()) { 13423 for (Reference e : element.getGoal()) 13424 composeReference("goal", e); 13425 } 13426 if (element.hasStatusElement()) 13427 composeEnumeration("status", element.getStatusElement(), new CarePlan.CarePlanActivityStatusEnumFactory()); 13428 if (element.hasStatusReason()) { 13429 composeCodeableConcept("statusReason", element.getStatusReason()); 13430 } 13431 if (element.hasProhibitedElement()) { 13432 composeBoolean("prohibited", element.getProhibitedElement()); 13433 } 13434 if (element.hasScheduled()) { 13435 composeType("scheduled", element.getScheduled()); 13436 } 13437 if (element.hasLocation()) { 13438 composeReference("location", element.getLocation()); 13439 } 13440 if (element.hasPerformer()) { 13441 for (Reference e : element.getPerformer()) 13442 composeReference("performer", e); 13443 } 13444 if (element.hasProduct()) { 13445 composeType("product", element.getProduct()); 13446 } 13447 if (element.hasDailyAmount()) { 13448 composeSimpleQuantity("dailyAmount", element.getDailyAmount()); 13449 } 13450 if (element.hasQuantity()) { 13451 composeSimpleQuantity("quantity", element.getQuantity()); 13452 } 13453 if (element.hasDescriptionElement()) { 13454 composeString("description", element.getDescriptionElement()); 13455 } 13456 composeElementClose(element); 13457 xml.exit(FHIR_NS, name); 13458 } 13459 } 13460 13461 protected void composeClaim(String name, Claim element) throws IOException { 13462 if (element != null) { 13463 composeDomainResourceAttributes(element); 13464 xml.enter(FHIR_NS, name); 13465 composeDomainResourceElements(element); 13466 if (element.hasTypeElement()) 13467 composeEnumeration("type", element.getTypeElement(), new Claim.ClaimTypeEnumFactory()); 13468 if (element.hasIdentifier()) { 13469 for (Identifier e : element.getIdentifier()) 13470 composeIdentifier("identifier", e); 13471 } 13472 if (element.hasRuleset()) { 13473 composeCoding("ruleset", element.getRuleset()); 13474 } 13475 if (element.hasOriginalRuleset()) { 13476 composeCoding("originalRuleset", element.getOriginalRuleset()); 13477 } 13478 if (element.hasCreatedElement()) { 13479 composeDateTime("created", element.getCreatedElement()); 13480 } 13481 if (element.hasTarget()) { 13482 composeReference("target", element.getTarget()); 13483 } 13484 if (element.hasProvider()) { 13485 composeReference("provider", element.getProvider()); 13486 } 13487 if (element.hasOrganization()) { 13488 composeReference("organization", element.getOrganization()); 13489 } 13490 if (element.hasUseElement()) 13491 composeEnumeration("use", element.getUseElement(), new Claim.UseEnumFactory()); 13492 if (element.hasPriority()) { 13493 composeCoding("priority", element.getPriority()); 13494 } 13495 if (element.hasFundsReserve()) { 13496 composeCoding("fundsReserve", element.getFundsReserve()); 13497 } 13498 if (element.hasEnterer()) { 13499 composeReference("enterer", element.getEnterer()); 13500 } 13501 if (element.hasFacility()) { 13502 composeReference("facility", element.getFacility()); 13503 } 13504 if (element.hasPrescription()) { 13505 composeReference("prescription", element.getPrescription()); 13506 } 13507 if (element.hasOriginalPrescription()) { 13508 composeReference("originalPrescription", element.getOriginalPrescription()); 13509 } 13510 if (element.hasPayee()) { 13511 composeClaimPayeeComponent("payee", element.getPayee()); 13512 } 13513 if (element.hasReferral()) { 13514 composeReference("referral", element.getReferral()); 13515 } 13516 if (element.hasDiagnosis()) { 13517 for (Claim.DiagnosisComponent e : element.getDiagnosis()) 13518 composeClaimDiagnosisComponent("diagnosis", e); 13519 } 13520 if (element.hasCondition()) { 13521 for (Coding e : element.getCondition()) 13522 composeCoding("condition", e); 13523 } 13524 if (element.hasPatient()) { 13525 composeReference("patient", element.getPatient()); 13526 } 13527 if (element.hasCoverage()) { 13528 for (Claim.CoverageComponent e : element.getCoverage()) 13529 composeClaimCoverageComponent("coverage", e); 13530 } 13531 if (element.hasException()) { 13532 for (Coding e : element.getException()) 13533 composeCoding("exception", e); 13534 } 13535 if (element.hasSchoolElement()) { 13536 composeString("school", element.getSchoolElement()); 13537 } 13538 if (element.hasAccidentElement()) { 13539 composeDate("accident", element.getAccidentElement()); 13540 } 13541 if (element.hasAccidentType()) { 13542 composeCoding("accidentType", element.getAccidentType()); 13543 } 13544 if (element.hasInterventionException()) { 13545 for (Coding e : element.getInterventionException()) 13546 composeCoding("interventionException", e); 13547 } 13548 if (element.hasItem()) { 13549 for (Claim.ItemsComponent e : element.getItem()) 13550 composeClaimItemsComponent("item", e); 13551 } 13552 if (element.hasAdditionalMaterials()) { 13553 for (Coding e : element.getAdditionalMaterials()) 13554 composeCoding("additionalMaterials", e); 13555 } 13556 if (element.hasMissingTeeth()) { 13557 for (Claim.MissingTeethComponent e : element.getMissingTeeth()) 13558 composeClaimMissingTeethComponent("missingTeeth", e); 13559 } 13560 composeElementClose(element); 13561 xml.exit(FHIR_NS, name); 13562 } 13563 } 13564 13565 protected void composeClaimPayeeComponent(String name, Claim.PayeeComponent element) throws IOException { 13566 if (element != null) { 13567 composeElementAttributes(element); 13568 xml.enter(FHIR_NS, name); 13569 composeBackboneElements(element); 13570 if (element.hasType()) { 13571 composeCoding("type", element.getType()); 13572 } 13573 if (element.hasProvider()) { 13574 composeReference("provider", element.getProvider()); 13575 } 13576 if (element.hasOrganization()) { 13577 composeReference("organization", element.getOrganization()); 13578 } 13579 if (element.hasPerson()) { 13580 composeReference("person", element.getPerson()); 13581 } 13582 composeElementClose(element); 13583 xml.exit(FHIR_NS, name); 13584 } 13585 } 13586 13587 protected void composeClaimDiagnosisComponent(String name, Claim.DiagnosisComponent element) throws IOException { 13588 if (element != null) { 13589 composeElementAttributes(element); 13590 xml.enter(FHIR_NS, name); 13591 composeBackboneElements(element); 13592 if (element.hasSequenceElement()) { 13593 composePositiveInt("sequence", element.getSequenceElement()); 13594 } 13595 if (element.hasDiagnosis()) { 13596 composeCoding("diagnosis", element.getDiagnosis()); 13597 } 13598 composeElementClose(element); 13599 xml.exit(FHIR_NS, name); 13600 } 13601 } 13602 13603 protected void composeClaimCoverageComponent(String name, Claim.CoverageComponent element) throws IOException { 13604 if (element != null) { 13605 composeElementAttributes(element); 13606 xml.enter(FHIR_NS, name); 13607 composeBackboneElements(element); 13608 if (element.hasSequenceElement()) { 13609 composePositiveInt("sequence", element.getSequenceElement()); 13610 } 13611 if (element.hasFocalElement()) { 13612 composeBoolean("focal", element.getFocalElement()); 13613 } 13614 if (element.hasCoverage()) { 13615 composeReference("coverage", element.getCoverage()); 13616 } 13617 if (element.hasBusinessArrangementElement()) { 13618 composeString("businessArrangement", element.getBusinessArrangementElement()); 13619 } 13620 if (element.hasRelationship()) { 13621 composeCoding("relationship", element.getRelationship()); 13622 } 13623 if (element.hasPreAuthRef()) { 13624 for (StringType e : element.getPreAuthRef()) 13625 composeString("preAuthRef", e); 13626 } 13627 if (element.hasClaimResponse()) { 13628 composeReference("claimResponse", element.getClaimResponse()); 13629 } 13630 if (element.hasOriginalRuleset()) { 13631 composeCoding("originalRuleset", element.getOriginalRuleset()); 13632 } 13633 composeElementClose(element); 13634 xml.exit(FHIR_NS, name); 13635 } 13636 } 13637 13638 protected void composeClaimItemsComponent(String name, Claim.ItemsComponent element) throws IOException { 13639 if (element != null) { 13640 composeElementAttributes(element); 13641 xml.enter(FHIR_NS, name); 13642 composeBackboneElements(element); 13643 if (element.hasSequenceElement()) { 13644 composePositiveInt("sequence", element.getSequenceElement()); 13645 } 13646 if (element.hasType()) { 13647 composeCoding("type", element.getType()); 13648 } 13649 if (element.hasProvider()) { 13650 composeReference("provider", element.getProvider()); 13651 } 13652 if (element.hasDiagnosisLinkId()) { 13653 for (PositiveIntType e : element.getDiagnosisLinkId()) 13654 composePositiveInt("diagnosisLinkId", e); 13655 } 13656 if (element.hasService()) { 13657 composeCoding("service", element.getService()); 13658 } 13659 if (element.hasServiceDateElement()) { 13660 composeDate("serviceDate", element.getServiceDateElement()); 13661 } 13662 if (element.hasQuantity()) { 13663 composeSimpleQuantity("quantity", element.getQuantity()); 13664 } 13665 if (element.hasUnitPrice()) { 13666 composeMoney("unitPrice", element.getUnitPrice()); 13667 } 13668 if (element.hasFactorElement()) { 13669 composeDecimal("factor", element.getFactorElement()); 13670 } 13671 if (element.hasPointsElement()) { 13672 composeDecimal("points", element.getPointsElement()); 13673 } 13674 if (element.hasNet()) { 13675 composeMoney("net", element.getNet()); 13676 } 13677 if (element.hasUdi()) { 13678 composeCoding("udi", element.getUdi()); 13679 } 13680 if (element.hasBodySite()) { 13681 composeCoding("bodySite", element.getBodySite()); 13682 } 13683 if (element.hasSubSite()) { 13684 for (Coding e : element.getSubSite()) 13685 composeCoding("subSite", e); 13686 } 13687 if (element.hasModifier()) { 13688 for (Coding e : element.getModifier()) 13689 composeCoding("modifier", e); 13690 } 13691 if (element.hasDetail()) { 13692 for (Claim.DetailComponent e : element.getDetail()) 13693 composeClaimDetailComponent("detail", e); 13694 } 13695 if (element.hasProsthesis()) { 13696 composeClaimProsthesisComponent("prosthesis", element.getProsthesis()); 13697 } 13698 composeElementClose(element); 13699 xml.exit(FHIR_NS, name); 13700 } 13701 } 13702 13703 protected void composeClaimDetailComponent(String name, Claim.DetailComponent element) throws IOException { 13704 if (element != null) { 13705 composeElementAttributes(element); 13706 xml.enter(FHIR_NS, name); 13707 composeBackboneElements(element); 13708 if (element.hasSequenceElement()) { 13709 composePositiveInt("sequence", element.getSequenceElement()); 13710 } 13711 if (element.hasType()) { 13712 composeCoding("type", element.getType()); 13713 } 13714 if (element.hasService()) { 13715 composeCoding("service", element.getService()); 13716 } 13717 if (element.hasQuantity()) { 13718 composeSimpleQuantity("quantity", element.getQuantity()); 13719 } 13720 if (element.hasUnitPrice()) { 13721 composeMoney("unitPrice", element.getUnitPrice()); 13722 } 13723 if (element.hasFactorElement()) { 13724 composeDecimal("factor", element.getFactorElement()); 13725 } 13726 if (element.hasPointsElement()) { 13727 composeDecimal("points", element.getPointsElement()); 13728 } 13729 if (element.hasNet()) { 13730 composeMoney("net", element.getNet()); 13731 } 13732 if (element.hasUdi()) { 13733 composeCoding("udi", element.getUdi()); 13734 } 13735 if (element.hasSubDetail()) { 13736 for (Claim.SubDetailComponent e : element.getSubDetail()) 13737 composeClaimSubDetailComponent("subDetail", e); 13738 } 13739 composeElementClose(element); 13740 xml.exit(FHIR_NS, name); 13741 } 13742 } 13743 13744 protected void composeClaimSubDetailComponent(String name, Claim.SubDetailComponent element) throws IOException { 13745 if (element != null) { 13746 composeElementAttributes(element); 13747 xml.enter(FHIR_NS, name); 13748 composeBackboneElements(element); 13749 if (element.hasSequenceElement()) { 13750 composePositiveInt("sequence", element.getSequenceElement()); 13751 } 13752 if (element.hasType()) { 13753 composeCoding("type", element.getType()); 13754 } 13755 if (element.hasService()) { 13756 composeCoding("service", element.getService()); 13757 } 13758 if (element.hasQuantity()) { 13759 composeSimpleQuantity("quantity", element.getQuantity()); 13760 } 13761 if (element.hasUnitPrice()) { 13762 composeMoney("unitPrice", element.getUnitPrice()); 13763 } 13764 if (element.hasFactorElement()) { 13765 composeDecimal("factor", element.getFactorElement()); 13766 } 13767 if (element.hasPointsElement()) { 13768 composeDecimal("points", element.getPointsElement()); 13769 } 13770 if (element.hasNet()) { 13771 composeMoney("net", element.getNet()); 13772 } 13773 if (element.hasUdi()) { 13774 composeCoding("udi", element.getUdi()); 13775 } 13776 composeElementClose(element); 13777 xml.exit(FHIR_NS, name); 13778 } 13779 } 13780 13781 protected void composeClaimProsthesisComponent(String name, Claim.ProsthesisComponent element) throws IOException { 13782 if (element != null) { 13783 composeElementAttributes(element); 13784 xml.enter(FHIR_NS, name); 13785 composeBackboneElements(element); 13786 if (element.hasInitialElement()) { 13787 composeBoolean("initial", element.getInitialElement()); 13788 } 13789 if (element.hasPriorDateElement()) { 13790 composeDate("priorDate", element.getPriorDateElement()); 13791 } 13792 if (element.hasPriorMaterial()) { 13793 composeCoding("priorMaterial", element.getPriorMaterial()); 13794 } 13795 composeElementClose(element); 13796 xml.exit(FHIR_NS, name); 13797 } 13798 } 13799 13800 protected void composeClaimMissingTeethComponent(String name, Claim.MissingTeethComponent element) 13801 throws IOException { 13802 if (element != null) { 13803 composeElementAttributes(element); 13804 xml.enter(FHIR_NS, name); 13805 composeBackboneElements(element); 13806 if (element.hasTooth()) { 13807 composeCoding("tooth", element.getTooth()); 13808 } 13809 if (element.hasReason()) { 13810 composeCoding("reason", element.getReason()); 13811 } 13812 if (element.hasExtractionDateElement()) { 13813 composeDate("extractionDate", element.getExtractionDateElement()); 13814 } 13815 composeElementClose(element); 13816 xml.exit(FHIR_NS, name); 13817 } 13818 } 13819 13820 protected void composeClaimResponse(String name, ClaimResponse element) throws IOException { 13821 if (element != null) { 13822 composeDomainResourceAttributes(element); 13823 xml.enter(FHIR_NS, name); 13824 composeDomainResourceElements(element); 13825 if (element.hasIdentifier()) { 13826 for (Identifier e : element.getIdentifier()) 13827 composeIdentifier("identifier", e); 13828 } 13829 if (element.hasRequest()) { 13830 composeReference("request", element.getRequest()); 13831 } 13832 if (element.hasRuleset()) { 13833 composeCoding("ruleset", element.getRuleset()); 13834 } 13835 if (element.hasOriginalRuleset()) { 13836 composeCoding("originalRuleset", element.getOriginalRuleset()); 13837 } 13838 if (element.hasCreatedElement()) { 13839 composeDateTime("created", element.getCreatedElement()); 13840 } 13841 if (element.hasOrganization()) { 13842 composeReference("organization", element.getOrganization()); 13843 } 13844 if (element.hasRequestProvider()) { 13845 composeReference("requestProvider", element.getRequestProvider()); 13846 } 13847 if (element.hasRequestOrganization()) { 13848 composeReference("requestOrganization", element.getRequestOrganization()); 13849 } 13850 if (element.hasOutcomeElement()) 13851 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 13852 if (element.hasDispositionElement()) { 13853 composeString("disposition", element.getDispositionElement()); 13854 } 13855 if (element.hasPayeeType()) { 13856 composeCoding("payeeType", element.getPayeeType()); 13857 } 13858 if (element.hasItem()) { 13859 for (ClaimResponse.ItemsComponent e : element.getItem()) 13860 composeClaimResponseItemsComponent("item", e); 13861 } 13862 if (element.hasAddItem()) { 13863 for (ClaimResponse.AddedItemComponent e : element.getAddItem()) 13864 composeClaimResponseAddedItemComponent("addItem", e); 13865 } 13866 if (element.hasError()) { 13867 for (ClaimResponse.ErrorsComponent e : element.getError()) 13868 composeClaimResponseErrorsComponent("error", e); 13869 } 13870 if (element.hasTotalCost()) { 13871 composeMoney("totalCost", element.getTotalCost()); 13872 } 13873 if (element.hasUnallocDeductable()) { 13874 composeMoney("unallocDeductable", element.getUnallocDeductable()); 13875 } 13876 if (element.hasTotalBenefit()) { 13877 composeMoney("totalBenefit", element.getTotalBenefit()); 13878 } 13879 if (element.hasPaymentAdjustment()) { 13880 composeMoney("paymentAdjustment", element.getPaymentAdjustment()); 13881 } 13882 if (element.hasPaymentAdjustmentReason()) { 13883 composeCoding("paymentAdjustmentReason", element.getPaymentAdjustmentReason()); 13884 } 13885 if (element.hasPaymentDateElement()) { 13886 composeDate("paymentDate", element.getPaymentDateElement()); 13887 } 13888 if (element.hasPaymentAmount()) { 13889 composeMoney("paymentAmount", element.getPaymentAmount()); 13890 } 13891 if (element.hasPaymentRef()) { 13892 composeIdentifier("paymentRef", element.getPaymentRef()); 13893 } 13894 if (element.hasReserved()) { 13895 composeCoding("reserved", element.getReserved()); 13896 } 13897 if (element.hasForm()) { 13898 composeCoding("form", element.getForm()); 13899 } 13900 if (element.hasNote()) { 13901 for (ClaimResponse.NotesComponent e : element.getNote()) 13902 composeClaimResponseNotesComponent("note", e); 13903 } 13904 if (element.hasCoverage()) { 13905 for (ClaimResponse.CoverageComponent e : element.getCoverage()) 13906 composeClaimResponseCoverageComponent("coverage", e); 13907 } 13908 composeElementClose(element); 13909 xml.exit(FHIR_NS, name); 13910 } 13911 } 13912 13913 protected void composeClaimResponseItemsComponent(String name, ClaimResponse.ItemsComponent element) 13914 throws IOException { 13915 if (element != null) { 13916 composeElementAttributes(element); 13917 xml.enter(FHIR_NS, name); 13918 composeBackboneElements(element); 13919 if (element.hasSequenceLinkIdElement()) { 13920 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 13921 } 13922 if (element.hasNoteNumber()) { 13923 for (PositiveIntType e : element.getNoteNumber()) 13924 composePositiveInt("noteNumber", e); 13925 } 13926 if (element.hasAdjudication()) { 13927 for (ClaimResponse.ItemAdjudicationComponent e : element.getAdjudication()) 13928 composeClaimResponseItemAdjudicationComponent("adjudication", e); 13929 } 13930 if (element.hasDetail()) { 13931 for (ClaimResponse.ItemDetailComponent e : element.getDetail()) 13932 composeClaimResponseItemDetailComponent("detail", e); 13933 } 13934 composeElementClose(element); 13935 xml.exit(FHIR_NS, name); 13936 } 13937 } 13938 13939 protected void composeClaimResponseItemAdjudicationComponent(String name, 13940 ClaimResponse.ItemAdjudicationComponent element) throws IOException { 13941 if (element != null) { 13942 composeElementAttributes(element); 13943 xml.enter(FHIR_NS, name); 13944 composeBackboneElements(element); 13945 if (element.hasCode()) { 13946 composeCoding("code", element.getCode()); 13947 } 13948 if (element.hasAmount()) { 13949 composeMoney("amount", element.getAmount()); 13950 } 13951 if (element.hasValueElement()) { 13952 composeDecimal("value", element.getValueElement()); 13953 } 13954 composeElementClose(element); 13955 xml.exit(FHIR_NS, name); 13956 } 13957 } 13958 13959 protected void composeClaimResponseItemDetailComponent(String name, ClaimResponse.ItemDetailComponent element) 13960 throws IOException { 13961 if (element != null) { 13962 composeElementAttributes(element); 13963 xml.enter(FHIR_NS, name); 13964 composeBackboneElements(element); 13965 if (element.hasSequenceLinkIdElement()) { 13966 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 13967 } 13968 if (element.hasAdjudication()) { 13969 for (ClaimResponse.DetailAdjudicationComponent e : element.getAdjudication()) 13970 composeClaimResponseDetailAdjudicationComponent("adjudication", e); 13971 } 13972 if (element.hasSubDetail()) { 13973 for (ClaimResponse.SubDetailComponent e : element.getSubDetail()) 13974 composeClaimResponseSubDetailComponent("subDetail", e); 13975 } 13976 composeElementClose(element); 13977 xml.exit(FHIR_NS, name); 13978 } 13979 } 13980 13981 protected void composeClaimResponseDetailAdjudicationComponent(String name, 13982 ClaimResponse.DetailAdjudicationComponent element) throws IOException { 13983 if (element != null) { 13984 composeElementAttributes(element); 13985 xml.enter(FHIR_NS, name); 13986 composeBackboneElements(element); 13987 if (element.hasCode()) { 13988 composeCoding("code", element.getCode()); 13989 } 13990 if (element.hasAmount()) { 13991 composeMoney("amount", element.getAmount()); 13992 } 13993 if (element.hasValueElement()) { 13994 composeDecimal("value", element.getValueElement()); 13995 } 13996 composeElementClose(element); 13997 xml.exit(FHIR_NS, name); 13998 } 13999 } 14000 14001 protected void composeClaimResponseSubDetailComponent(String name, ClaimResponse.SubDetailComponent element) 14002 throws IOException { 14003 if (element != null) { 14004 composeElementAttributes(element); 14005 xml.enter(FHIR_NS, name); 14006 composeBackboneElements(element); 14007 if (element.hasSequenceLinkIdElement()) { 14008 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 14009 } 14010 if (element.hasAdjudication()) { 14011 for (ClaimResponse.SubdetailAdjudicationComponent e : element.getAdjudication()) 14012 composeClaimResponseSubdetailAdjudicationComponent("adjudication", e); 14013 } 14014 composeElementClose(element); 14015 xml.exit(FHIR_NS, name); 14016 } 14017 } 14018 14019 protected void composeClaimResponseSubdetailAdjudicationComponent(String name, 14020 ClaimResponse.SubdetailAdjudicationComponent element) throws IOException { 14021 if (element != null) { 14022 composeElementAttributes(element); 14023 xml.enter(FHIR_NS, name); 14024 composeBackboneElements(element); 14025 if (element.hasCode()) { 14026 composeCoding("code", element.getCode()); 14027 } 14028 if (element.hasAmount()) { 14029 composeMoney("amount", element.getAmount()); 14030 } 14031 if (element.hasValueElement()) { 14032 composeDecimal("value", element.getValueElement()); 14033 } 14034 composeElementClose(element); 14035 xml.exit(FHIR_NS, name); 14036 } 14037 } 14038 14039 protected void composeClaimResponseAddedItemComponent(String name, ClaimResponse.AddedItemComponent element) 14040 throws IOException { 14041 if (element != null) { 14042 composeElementAttributes(element); 14043 xml.enter(FHIR_NS, name); 14044 composeBackboneElements(element); 14045 if (element.hasSequenceLinkId()) { 14046 for (PositiveIntType e : element.getSequenceLinkId()) 14047 composePositiveInt("sequenceLinkId", e); 14048 } 14049 if (element.hasService()) { 14050 composeCoding("service", element.getService()); 14051 } 14052 if (element.hasFee()) { 14053 composeMoney("fee", element.getFee()); 14054 } 14055 if (element.hasNoteNumberLinkId()) { 14056 for (PositiveIntType e : element.getNoteNumberLinkId()) 14057 composePositiveInt("noteNumberLinkId", e); 14058 } 14059 if (element.hasAdjudication()) { 14060 for (ClaimResponse.AddedItemAdjudicationComponent e : element.getAdjudication()) 14061 composeClaimResponseAddedItemAdjudicationComponent("adjudication", e); 14062 } 14063 if (element.hasDetail()) { 14064 for (ClaimResponse.AddedItemsDetailComponent e : element.getDetail()) 14065 composeClaimResponseAddedItemsDetailComponent("detail", e); 14066 } 14067 composeElementClose(element); 14068 xml.exit(FHIR_NS, name); 14069 } 14070 } 14071 14072 protected void composeClaimResponseAddedItemAdjudicationComponent(String name, 14073 ClaimResponse.AddedItemAdjudicationComponent element) throws IOException { 14074 if (element != null) { 14075 composeElementAttributes(element); 14076 xml.enter(FHIR_NS, name); 14077 composeBackboneElements(element); 14078 if (element.hasCode()) { 14079 composeCoding("code", element.getCode()); 14080 } 14081 if (element.hasAmount()) { 14082 composeMoney("amount", element.getAmount()); 14083 } 14084 if (element.hasValueElement()) { 14085 composeDecimal("value", element.getValueElement()); 14086 } 14087 composeElementClose(element); 14088 xml.exit(FHIR_NS, name); 14089 } 14090 } 14091 14092 protected void composeClaimResponseAddedItemsDetailComponent(String name, 14093 ClaimResponse.AddedItemsDetailComponent element) throws IOException { 14094 if (element != null) { 14095 composeElementAttributes(element); 14096 xml.enter(FHIR_NS, name); 14097 composeBackboneElements(element); 14098 if (element.hasService()) { 14099 composeCoding("service", element.getService()); 14100 } 14101 if (element.hasFee()) { 14102 composeMoney("fee", element.getFee()); 14103 } 14104 if (element.hasAdjudication()) { 14105 for (ClaimResponse.AddedItemDetailAdjudicationComponent e : element.getAdjudication()) 14106 composeClaimResponseAddedItemDetailAdjudicationComponent("adjudication", e); 14107 } 14108 composeElementClose(element); 14109 xml.exit(FHIR_NS, name); 14110 } 14111 } 14112 14113 protected void composeClaimResponseAddedItemDetailAdjudicationComponent(String name, 14114 ClaimResponse.AddedItemDetailAdjudicationComponent element) throws IOException { 14115 if (element != null) { 14116 composeElementAttributes(element); 14117 xml.enter(FHIR_NS, name); 14118 composeBackboneElements(element); 14119 if (element.hasCode()) { 14120 composeCoding("code", element.getCode()); 14121 } 14122 if (element.hasAmount()) { 14123 composeMoney("amount", element.getAmount()); 14124 } 14125 if (element.hasValueElement()) { 14126 composeDecimal("value", element.getValueElement()); 14127 } 14128 composeElementClose(element); 14129 xml.exit(FHIR_NS, name); 14130 } 14131 } 14132 14133 protected void composeClaimResponseErrorsComponent(String name, ClaimResponse.ErrorsComponent element) 14134 throws IOException { 14135 if (element != null) { 14136 composeElementAttributes(element); 14137 xml.enter(FHIR_NS, name); 14138 composeBackboneElements(element); 14139 if (element.hasSequenceLinkIdElement()) { 14140 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 14141 } 14142 if (element.hasDetailSequenceLinkIdElement()) { 14143 composePositiveInt("detailSequenceLinkId", element.getDetailSequenceLinkIdElement()); 14144 } 14145 if (element.hasSubdetailSequenceLinkIdElement()) { 14146 composePositiveInt("subdetailSequenceLinkId", element.getSubdetailSequenceLinkIdElement()); 14147 } 14148 if (element.hasCode()) { 14149 composeCoding("code", element.getCode()); 14150 } 14151 composeElementClose(element); 14152 xml.exit(FHIR_NS, name); 14153 } 14154 } 14155 14156 protected void composeClaimResponseNotesComponent(String name, ClaimResponse.NotesComponent element) 14157 throws IOException { 14158 if (element != null) { 14159 composeElementAttributes(element); 14160 xml.enter(FHIR_NS, name); 14161 composeBackboneElements(element); 14162 if (element.hasNumberElement()) { 14163 composePositiveInt("number", element.getNumberElement()); 14164 } 14165 if (element.hasType()) { 14166 composeCoding("type", element.getType()); 14167 } 14168 if (element.hasTextElement()) { 14169 composeString("text", element.getTextElement()); 14170 } 14171 composeElementClose(element); 14172 xml.exit(FHIR_NS, name); 14173 } 14174 } 14175 14176 protected void composeClaimResponseCoverageComponent(String name, ClaimResponse.CoverageComponent element) 14177 throws IOException { 14178 if (element != null) { 14179 composeElementAttributes(element); 14180 xml.enter(FHIR_NS, name); 14181 composeBackboneElements(element); 14182 if (element.hasSequenceElement()) { 14183 composePositiveInt("sequence", element.getSequenceElement()); 14184 } 14185 if (element.hasFocalElement()) { 14186 composeBoolean("focal", element.getFocalElement()); 14187 } 14188 if (element.hasCoverage()) { 14189 composeReference("coverage", element.getCoverage()); 14190 } 14191 if (element.hasBusinessArrangementElement()) { 14192 composeString("businessArrangement", element.getBusinessArrangementElement()); 14193 } 14194 if (element.hasRelationship()) { 14195 composeCoding("relationship", element.getRelationship()); 14196 } 14197 if (element.hasPreAuthRef()) { 14198 for (StringType e : element.getPreAuthRef()) 14199 composeString("preAuthRef", e); 14200 } 14201 if (element.hasClaimResponse()) { 14202 composeReference("claimResponse", element.getClaimResponse()); 14203 } 14204 if (element.hasOriginalRuleset()) { 14205 composeCoding("originalRuleset", element.getOriginalRuleset()); 14206 } 14207 composeElementClose(element); 14208 xml.exit(FHIR_NS, name); 14209 } 14210 } 14211 14212 protected void composeClinicalImpression(String name, ClinicalImpression element) throws IOException { 14213 if (element != null) { 14214 composeDomainResourceAttributes(element); 14215 xml.enter(FHIR_NS, name); 14216 composeDomainResourceElements(element); 14217 if (element.hasPatient()) { 14218 composeReference("patient", element.getPatient()); 14219 } 14220 if (element.hasAssessor()) { 14221 composeReference("assessor", element.getAssessor()); 14222 } 14223 if (element.hasStatusElement()) 14224 composeEnumeration("status", element.getStatusElement(), 14225 new ClinicalImpression.ClinicalImpressionStatusEnumFactory()); 14226 if (element.hasDateElement()) { 14227 composeDateTime("date", element.getDateElement()); 14228 } 14229 if (element.hasDescriptionElement()) { 14230 composeString("description", element.getDescriptionElement()); 14231 } 14232 if (element.hasPrevious()) { 14233 composeReference("previous", element.getPrevious()); 14234 } 14235 if (element.hasProblem()) { 14236 for (Reference e : element.getProblem()) 14237 composeReference("problem", e); 14238 } 14239 if (element.hasTrigger()) { 14240 composeType("trigger", element.getTrigger()); 14241 } 14242 if (element.hasInvestigations()) { 14243 for (ClinicalImpression.ClinicalImpressionInvestigationsComponent e : element.getInvestigations()) 14244 composeClinicalImpressionClinicalImpressionInvestigationsComponent("investigations", e); 14245 } 14246 if (element.hasProtocolElement()) { 14247 composeUri("protocol", element.getProtocolElement()); 14248 } 14249 if (element.hasSummaryElement()) { 14250 composeString("summary", element.getSummaryElement()); 14251 } 14252 if (element.hasFinding()) { 14253 for (ClinicalImpression.ClinicalImpressionFindingComponent e : element.getFinding()) 14254 composeClinicalImpressionClinicalImpressionFindingComponent("finding", e); 14255 } 14256 if (element.hasResolved()) { 14257 for (CodeableConcept e : element.getResolved()) 14258 composeCodeableConcept("resolved", e); 14259 } 14260 if (element.hasRuledOut()) { 14261 for (ClinicalImpression.ClinicalImpressionRuledOutComponent e : element.getRuledOut()) 14262 composeClinicalImpressionClinicalImpressionRuledOutComponent("ruledOut", e); 14263 } 14264 if (element.hasPrognosisElement()) { 14265 composeString("prognosis", element.getPrognosisElement()); 14266 } 14267 if (element.hasPlan()) { 14268 for (Reference e : element.getPlan()) 14269 composeReference("plan", e); 14270 } 14271 if (element.hasAction()) { 14272 for (Reference e : element.getAction()) 14273 composeReference("action", e); 14274 } 14275 composeElementClose(element); 14276 xml.exit(FHIR_NS, name); 14277 } 14278 } 14279 14280 protected void composeClinicalImpressionClinicalImpressionInvestigationsComponent(String name, 14281 ClinicalImpression.ClinicalImpressionInvestigationsComponent element) throws IOException { 14282 if (element != null) { 14283 composeElementAttributes(element); 14284 xml.enter(FHIR_NS, name); 14285 composeBackboneElements(element); 14286 if (element.hasCode()) { 14287 composeCodeableConcept("code", element.getCode()); 14288 } 14289 if (element.hasItem()) { 14290 for (Reference e : element.getItem()) 14291 composeReference("item", e); 14292 } 14293 composeElementClose(element); 14294 xml.exit(FHIR_NS, name); 14295 } 14296 } 14297 14298 protected void composeClinicalImpressionClinicalImpressionFindingComponent(String name, 14299 ClinicalImpression.ClinicalImpressionFindingComponent element) throws IOException { 14300 if (element != null) { 14301 composeElementAttributes(element); 14302 xml.enter(FHIR_NS, name); 14303 composeBackboneElements(element); 14304 if (element.hasItem()) { 14305 composeCodeableConcept("item", element.getItem()); 14306 } 14307 if (element.hasCauseElement()) { 14308 composeString("cause", element.getCauseElement()); 14309 } 14310 composeElementClose(element); 14311 xml.exit(FHIR_NS, name); 14312 } 14313 } 14314 14315 protected void composeClinicalImpressionClinicalImpressionRuledOutComponent(String name, 14316 ClinicalImpression.ClinicalImpressionRuledOutComponent element) throws IOException { 14317 if (element != null) { 14318 composeElementAttributes(element); 14319 xml.enter(FHIR_NS, name); 14320 composeBackboneElements(element); 14321 if (element.hasItem()) { 14322 composeCodeableConcept("item", element.getItem()); 14323 } 14324 if (element.hasReasonElement()) { 14325 composeString("reason", element.getReasonElement()); 14326 } 14327 composeElementClose(element); 14328 xml.exit(FHIR_NS, name); 14329 } 14330 } 14331 14332 protected void composeCommunication(String name, Communication element) throws IOException { 14333 if (element != null) { 14334 composeDomainResourceAttributes(element); 14335 xml.enter(FHIR_NS, name); 14336 composeDomainResourceElements(element); 14337 if (element.hasIdentifier()) { 14338 for (Identifier e : element.getIdentifier()) 14339 composeIdentifier("identifier", e); 14340 } 14341 if (element.hasCategory()) { 14342 composeCodeableConcept("category", element.getCategory()); 14343 } 14344 if (element.hasSender()) { 14345 composeReference("sender", element.getSender()); 14346 } 14347 if (element.hasRecipient()) { 14348 for (Reference e : element.getRecipient()) 14349 composeReference("recipient", e); 14350 } 14351 if (element.hasPayload()) { 14352 for (Communication.CommunicationPayloadComponent e : element.getPayload()) 14353 composeCommunicationCommunicationPayloadComponent("payload", e); 14354 } 14355 if (element.hasMedium()) { 14356 for (CodeableConcept e : element.getMedium()) 14357 composeCodeableConcept("medium", e); 14358 } 14359 if (element.hasStatusElement()) 14360 composeEnumeration("status", element.getStatusElement(), new Communication.CommunicationStatusEnumFactory()); 14361 if (element.hasEncounter()) { 14362 composeReference("encounter", element.getEncounter()); 14363 } 14364 if (element.hasSentElement()) { 14365 composeDateTime("sent", element.getSentElement()); 14366 } 14367 if (element.hasReceivedElement()) { 14368 composeDateTime("received", element.getReceivedElement()); 14369 } 14370 if (element.hasReason()) { 14371 for (CodeableConcept e : element.getReason()) 14372 composeCodeableConcept("reason", e); 14373 } 14374 if (element.hasSubject()) { 14375 composeReference("subject", element.getSubject()); 14376 } 14377 if (element.hasRequestDetail()) { 14378 composeReference("requestDetail", element.getRequestDetail()); 14379 } 14380 composeElementClose(element); 14381 xml.exit(FHIR_NS, name); 14382 } 14383 } 14384 14385 protected void composeCommunicationCommunicationPayloadComponent(String name, 14386 Communication.CommunicationPayloadComponent element) throws IOException { 14387 if (element != null) { 14388 composeElementAttributes(element); 14389 xml.enter(FHIR_NS, name); 14390 composeBackboneElements(element); 14391 if (element.hasContent()) { 14392 composeType("content", element.getContent()); 14393 } 14394 composeElementClose(element); 14395 xml.exit(FHIR_NS, name); 14396 } 14397 } 14398 14399 protected void composeCommunicationRequest(String name, CommunicationRequest element) throws IOException { 14400 if (element != null) { 14401 composeDomainResourceAttributes(element); 14402 xml.enter(FHIR_NS, name); 14403 composeDomainResourceElements(element); 14404 if (element.hasIdentifier()) { 14405 for (Identifier e : element.getIdentifier()) 14406 composeIdentifier("identifier", e); 14407 } 14408 if (element.hasCategory()) { 14409 composeCodeableConcept("category", element.getCategory()); 14410 } 14411 if (element.hasSender()) { 14412 composeReference("sender", element.getSender()); 14413 } 14414 if (element.hasRecipient()) { 14415 for (Reference e : element.getRecipient()) 14416 composeReference("recipient", e); 14417 } 14418 if (element.hasPayload()) { 14419 for (CommunicationRequest.CommunicationRequestPayloadComponent e : element.getPayload()) 14420 composeCommunicationRequestCommunicationRequestPayloadComponent("payload", e); 14421 } 14422 if (element.hasMedium()) { 14423 for (CodeableConcept e : element.getMedium()) 14424 composeCodeableConcept("medium", e); 14425 } 14426 if (element.hasRequester()) { 14427 composeReference("requester", element.getRequester()); 14428 } 14429 if (element.hasStatusElement()) 14430 composeEnumeration("status", element.getStatusElement(), 14431 new CommunicationRequest.CommunicationRequestStatusEnumFactory()); 14432 if (element.hasEncounter()) { 14433 composeReference("encounter", element.getEncounter()); 14434 } 14435 if (element.hasScheduled()) { 14436 composeType("scheduled", element.getScheduled()); 14437 } 14438 if (element.hasReason()) { 14439 for (CodeableConcept e : element.getReason()) 14440 composeCodeableConcept("reason", e); 14441 } 14442 if (element.hasRequestedOnElement()) { 14443 composeDateTime("requestedOn", element.getRequestedOnElement()); 14444 } 14445 if (element.hasSubject()) { 14446 composeReference("subject", element.getSubject()); 14447 } 14448 if (element.hasPriority()) { 14449 composeCodeableConcept("priority", element.getPriority()); 14450 } 14451 composeElementClose(element); 14452 xml.exit(FHIR_NS, name); 14453 } 14454 } 14455 14456 protected void composeCommunicationRequestCommunicationRequestPayloadComponent(String name, 14457 CommunicationRequest.CommunicationRequestPayloadComponent element) throws IOException { 14458 if (element != null) { 14459 composeElementAttributes(element); 14460 xml.enter(FHIR_NS, name); 14461 composeBackboneElements(element); 14462 if (element.hasContent()) { 14463 composeType("content", element.getContent()); 14464 } 14465 composeElementClose(element); 14466 xml.exit(FHIR_NS, name); 14467 } 14468 } 14469 14470 protected void composeComposition(String name, Composition element) throws IOException { 14471 if (element != null) { 14472 composeDomainResourceAttributes(element); 14473 xml.enter(FHIR_NS, name); 14474 composeDomainResourceElements(element); 14475 if (element.hasIdentifier()) { 14476 composeIdentifier("identifier", element.getIdentifier()); 14477 } 14478 if (element.hasDateElement()) { 14479 composeDateTime("date", element.getDateElement()); 14480 } 14481 if (element.hasType()) { 14482 composeCodeableConcept("type", element.getType()); 14483 } 14484 if (element.hasClass_()) { 14485 composeCodeableConcept("class", element.getClass_()); 14486 } 14487 if (element.hasTitleElement()) { 14488 composeString("title", element.getTitleElement()); 14489 } 14490 if (element.hasStatusElement()) 14491 composeEnumeration("status", element.getStatusElement(), new Composition.CompositionStatusEnumFactory()); 14492 if (element.hasConfidentialityElement()) { 14493 composeCode("confidentiality", element.getConfidentialityElement()); 14494 } 14495 if (element.hasSubject()) { 14496 composeReference("subject", element.getSubject()); 14497 } 14498 if (element.hasAuthor()) { 14499 for (Reference e : element.getAuthor()) 14500 composeReference("author", e); 14501 } 14502 if (element.hasAttester()) { 14503 for (Composition.CompositionAttesterComponent e : element.getAttester()) 14504 composeCompositionCompositionAttesterComponent("attester", e); 14505 } 14506 if (element.hasCustodian()) { 14507 composeReference("custodian", element.getCustodian()); 14508 } 14509 if (element.hasEvent()) { 14510 for (Composition.CompositionEventComponent e : element.getEvent()) 14511 composeCompositionCompositionEventComponent("event", e); 14512 } 14513 if (element.hasEncounter()) { 14514 composeReference("encounter", element.getEncounter()); 14515 } 14516 if (element.hasSection()) { 14517 for (Composition.SectionComponent e : element.getSection()) 14518 composeCompositionSectionComponent("section", e); 14519 } 14520 composeElementClose(element); 14521 xml.exit(FHIR_NS, name); 14522 } 14523 } 14524 14525 protected void composeCompositionCompositionAttesterComponent(String name, 14526 Composition.CompositionAttesterComponent element) throws IOException { 14527 if (element != null) { 14528 composeElementAttributes(element); 14529 xml.enter(FHIR_NS, name); 14530 composeBackboneElements(element); 14531 if (element.hasMode()) 14532 for (Enumeration<Composition.CompositionAttestationMode> e : element.getMode()) 14533 composeEnumeration("mode", e, new Composition.CompositionAttestationModeEnumFactory()); 14534 if (element.hasTimeElement()) { 14535 composeDateTime("time", element.getTimeElement()); 14536 } 14537 if (element.hasParty()) { 14538 composeReference("party", element.getParty()); 14539 } 14540 composeElementClose(element); 14541 xml.exit(FHIR_NS, name); 14542 } 14543 } 14544 14545 protected void composeCompositionCompositionEventComponent(String name, Composition.CompositionEventComponent element) 14546 throws IOException { 14547 if (element != null) { 14548 composeElementAttributes(element); 14549 xml.enter(FHIR_NS, name); 14550 composeBackboneElements(element); 14551 if (element.hasCode()) { 14552 for (CodeableConcept e : element.getCode()) 14553 composeCodeableConcept("code", e); 14554 } 14555 if (element.hasPeriod()) { 14556 composePeriod("period", element.getPeriod()); 14557 } 14558 if (element.hasDetail()) { 14559 for (Reference e : element.getDetail()) 14560 composeReference("detail", e); 14561 } 14562 composeElementClose(element); 14563 xml.exit(FHIR_NS, name); 14564 } 14565 } 14566 14567 protected void composeCompositionSectionComponent(String name, Composition.SectionComponent element) 14568 throws IOException { 14569 if (element != null) { 14570 composeElementAttributes(element); 14571 xml.enter(FHIR_NS, name); 14572 composeBackboneElements(element); 14573 if (element.hasTitleElement()) { 14574 composeString("title", element.getTitleElement()); 14575 } 14576 if (element.hasCode()) { 14577 composeCodeableConcept("code", element.getCode()); 14578 } 14579 if (element.hasText()) { 14580 composeNarrative("text", element.getText()); 14581 } 14582 if (element.hasModeElement()) { 14583 composeCode("mode", element.getModeElement()); 14584 } 14585 if (element.hasOrderedBy()) { 14586 composeCodeableConcept("orderedBy", element.getOrderedBy()); 14587 } 14588 if (element.hasEntry()) { 14589 for (Reference e : element.getEntry()) 14590 composeReference("entry", e); 14591 } 14592 if (element.hasEmptyReason()) { 14593 composeCodeableConcept("emptyReason", element.getEmptyReason()); 14594 } 14595 if (element.hasSection()) { 14596 for (Composition.SectionComponent e : element.getSection()) 14597 composeCompositionSectionComponent("section", e); 14598 } 14599 composeElementClose(element); 14600 xml.exit(FHIR_NS, name); 14601 } 14602 } 14603 14604 protected void composeConceptMap(String name, ConceptMap element) throws IOException { 14605 if (element != null) { 14606 composeDomainResourceAttributes(element); 14607 xml.enter(FHIR_NS, name); 14608 composeDomainResourceElements(element); 14609 if (element.hasUrlElement()) { 14610 composeUri("url", element.getUrlElement()); 14611 } 14612 if (element.hasIdentifier()) { 14613 composeIdentifier("identifier", element.getIdentifier()); 14614 } 14615 if (element.hasVersionElement()) { 14616 composeString("version", element.getVersionElement()); 14617 } 14618 if (element.hasNameElement()) { 14619 composeString("name", element.getNameElement()); 14620 } 14621 if (element.hasStatusElement()) 14622 composeEnumeration("status", element.getStatusElement(), 14623 new Enumerations.ConformanceResourceStatusEnumFactory()); 14624 if (element.hasExperimentalElement()) { 14625 composeBoolean("experimental", element.getExperimentalElement()); 14626 } 14627 if (element.hasPublisherElement()) { 14628 composeString("publisher", element.getPublisherElement()); 14629 } 14630 if (element.hasContact()) { 14631 for (ConceptMap.ConceptMapContactComponent e : element.getContact()) 14632 composeConceptMapConceptMapContactComponent("contact", e); 14633 } 14634 if (element.hasDateElement()) { 14635 composeDateTime("date", element.getDateElement()); 14636 } 14637 if (element.hasDescriptionElement()) { 14638 composeString("description", element.getDescriptionElement()); 14639 } 14640 if (element.hasUseContext()) { 14641 for (CodeableConcept e : element.getUseContext()) 14642 composeCodeableConcept("useContext", e); 14643 } 14644 if (element.hasRequirementsElement()) { 14645 composeString("requirements", element.getRequirementsElement()); 14646 } 14647 if (element.hasCopyrightElement()) { 14648 composeString("copyright", element.getCopyrightElement()); 14649 } 14650 if (element.hasSource()) { 14651 composeType("source", element.getSource()); 14652 } 14653 if (element.hasTarget()) { 14654 composeType("target", element.getTarget()); 14655 } 14656 if (element.hasElement()) { 14657 for (ConceptMap.SourceElementComponent e : element.getElement()) 14658 composeConceptMapSourceElementComponent("element", e); 14659 } 14660 composeElementClose(element); 14661 xml.exit(FHIR_NS, name); 14662 } 14663 } 14664 14665 protected void composeConceptMapConceptMapContactComponent(String name, ConceptMap.ConceptMapContactComponent element) 14666 throws IOException { 14667 if (element != null) { 14668 composeElementAttributes(element); 14669 xml.enter(FHIR_NS, name); 14670 composeBackboneElements(element); 14671 if (element.hasNameElement()) { 14672 composeString("name", element.getNameElement()); 14673 } 14674 if (element.hasTelecom()) { 14675 for (ContactPoint e : element.getTelecom()) 14676 composeContactPoint("telecom", e); 14677 } 14678 composeElementClose(element); 14679 xml.exit(FHIR_NS, name); 14680 } 14681 } 14682 14683 protected void composeConceptMapSourceElementComponent(String name, ConceptMap.SourceElementComponent element) 14684 throws IOException { 14685 if (element != null) { 14686 composeElementAttributes(element); 14687 xml.enter(FHIR_NS, name); 14688 composeBackboneElements(element); 14689 if (element.hasCodeSystemElement()) { 14690 composeUri("codeSystem", element.getCodeSystemElement()); 14691 } 14692 if (element.hasCodeElement()) { 14693 composeCode("code", element.getCodeElement()); 14694 } 14695 if (element.hasTarget()) { 14696 for (ConceptMap.TargetElementComponent e : element.getTarget()) 14697 composeConceptMapTargetElementComponent("target", e); 14698 } 14699 composeElementClose(element); 14700 xml.exit(FHIR_NS, name); 14701 } 14702 } 14703 14704 protected void composeConceptMapTargetElementComponent(String name, ConceptMap.TargetElementComponent element) 14705 throws IOException { 14706 if (element != null) { 14707 composeElementAttributes(element); 14708 xml.enter(FHIR_NS, name); 14709 composeBackboneElements(element); 14710 if (element.hasCodeSystemElement()) { 14711 composeUri("codeSystem", element.getCodeSystemElement()); 14712 } 14713 if (element.hasCodeElement()) { 14714 composeCode("code", element.getCodeElement()); 14715 } 14716 if (element.hasEquivalenceElement()) 14717 composeEnumeration("equivalence", element.getEquivalenceElement(), 14718 new Enumerations.ConceptMapEquivalenceEnumFactory()); 14719 if (element.hasCommentsElement()) { 14720 composeString("comments", element.getCommentsElement()); 14721 } 14722 if (element.hasDependsOn()) { 14723 for (ConceptMap.OtherElementComponent e : element.getDependsOn()) 14724 composeConceptMapOtherElementComponent("dependsOn", e); 14725 } 14726 if (element.hasProduct()) { 14727 for (ConceptMap.OtherElementComponent e : element.getProduct()) 14728 composeConceptMapOtherElementComponent("product", e); 14729 } 14730 composeElementClose(element); 14731 xml.exit(FHIR_NS, name); 14732 } 14733 } 14734 14735 protected void composeConceptMapOtherElementComponent(String name, ConceptMap.OtherElementComponent element) 14736 throws IOException { 14737 if (element != null) { 14738 composeElementAttributes(element); 14739 xml.enter(FHIR_NS, name); 14740 composeBackboneElements(element); 14741 if (element.hasElementElement()) { 14742 composeUri("element", element.getElementElement()); 14743 } 14744 if (element.hasCodeSystemElement()) { 14745 composeUri("codeSystem", element.getCodeSystemElement()); 14746 } 14747 if (element.hasCodeElement()) { 14748 composeString("code", element.getCodeElement()); 14749 } 14750 composeElementClose(element); 14751 xml.exit(FHIR_NS, name); 14752 } 14753 } 14754 14755 protected void composeCondition(String name, Condition element) throws IOException { 14756 if (element != null) { 14757 composeDomainResourceAttributes(element); 14758 xml.enter(FHIR_NS, name); 14759 composeDomainResourceElements(element); 14760 if (element.hasIdentifier()) { 14761 for (Identifier e : element.getIdentifier()) 14762 composeIdentifier("identifier", e); 14763 } 14764 if (element.hasPatient()) { 14765 composeReference("patient", element.getPatient()); 14766 } 14767 if (element.hasEncounter()) { 14768 composeReference("encounter", element.getEncounter()); 14769 } 14770 if (element.hasAsserter()) { 14771 composeReference("asserter", element.getAsserter()); 14772 } 14773 if (element.hasDateRecordedElement()) { 14774 composeDate("dateRecorded", element.getDateRecordedElement()); 14775 } 14776 if (element.hasCode()) { 14777 composeCodeableConcept("code", element.getCode()); 14778 } 14779 if (element.hasCategory()) { 14780 composeCodeableConcept("category", element.getCategory()); 14781 } 14782 if (element.hasClinicalStatusElement()) { 14783 composeCode("clinicalStatus", element.getClinicalStatusElement()); 14784 } 14785 if (element.hasVerificationStatusElement()) 14786 composeEnumeration("verificationStatus", element.getVerificationStatusElement(), 14787 new Condition.ConditionVerificationStatusEnumFactory()); 14788 if (element.hasSeverity()) { 14789 composeCodeableConcept("severity", element.getSeverity()); 14790 } 14791 if (element.hasOnset()) { 14792 composeType("onset", element.getOnset()); 14793 } 14794 if (element.hasAbatement()) { 14795 composeType("abatement", element.getAbatement()); 14796 } 14797 if (element.hasStage()) { 14798 composeConditionConditionStageComponent("stage", element.getStage()); 14799 } 14800 if (element.hasEvidence()) { 14801 for (Condition.ConditionEvidenceComponent e : element.getEvidence()) 14802 composeConditionConditionEvidenceComponent("evidence", e); 14803 } 14804 if (element.hasBodySite()) { 14805 for (CodeableConcept e : element.getBodySite()) 14806 composeCodeableConcept("bodySite", e); 14807 } 14808 if (element.hasNotesElement()) { 14809 composeString("notes", element.getNotesElement()); 14810 } 14811 composeElementClose(element); 14812 xml.exit(FHIR_NS, name); 14813 } 14814 } 14815 14816 protected void composeConditionConditionStageComponent(String name, Condition.ConditionStageComponent element) 14817 throws IOException { 14818 if (element != null) { 14819 composeElementAttributes(element); 14820 xml.enter(FHIR_NS, name); 14821 composeBackboneElements(element); 14822 if (element.hasSummary()) { 14823 composeCodeableConcept("summary", element.getSummary()); 14824 } 14825 if (element.hasAssessment()) { 14826 for (Reference e : element.getAssessment()) 14827 composeReference("assessment", e); 14828 } 14829 composeElementClose(element); 14830 xml.exit(FHIR_NS, name); 14831 } 14832 } 14833 14834 protected void composeConditionConditionEvidenceComponent(String name, Condition.ConditionEvidenceComponent element) 14835 throws IOException { 14836 if (element != null) { 14837 composeElementAttributes(element); 14838 xml.enter(FHIR_NS, name); 14839 composeBackboneElements(element); 14840 if (element.hasCode()) { 14841 composeCodeableConcept("code", element.getCode()); 14842 } 14843 if (element.hasDetail()) { 14844 for (Reference e : element.getDetail()) 14845 composeReference("detail", e); 14846 } 14847 composeElementClose(element); 14848 xml.exit(FHIR_NS, name); 14849 } 14850 } 14851 14852 protected void composeConformance(String name, Conformance element) throws IOException { 14853 if (element != null) { 14854 composeDomainResourceAttributes(element); 14855 xml.enter(FHIR_NS, name); 14856 composeDomainResourceElements(element); 14857 if (element.hasUrlElement()) { 14858 composeUri("url", element.getUrlElement()); 14859 } 14860 if (element.hasVersionElement()) { 14861 composeString("version", element.getVersionElement()); 14862 } 14863 if (element.hasNameElement()) { 14864 composeString("name", element.getNameElement()); 14865 } 14866 if (element.hasStatusElement()) 14867 composeEnumeration("status", element.getStatusElement(), 14868 new Enumerations.ConformanceResourceStatusEnumFactory()); 14869 if (element.hasExperimentalElement()) { 14870 composeBoolean("experimental", element.getExperimentalElement()); 14871 } 14872 if (element.hasPublisherElement()) { 14873 composeString("publisher", element.getPublisherElement()); 14874 } 14875 if (element.hasContact()) { 14876 for (Conformance.ConformanceContactComponent e : element.getContact()) 14877 composeConformanceConformanceContactComponent("contact", e); 14878 } 14879 if (element.hasDateElement()) { 14880 composeDateTime("date", element.getDateElement()); 14881 } 14882 if (element.hasDescriptionElement()) { 14883 composeString("description", element.getDescriptionElement()); 14884 } 14885 if (element.hasRequirementsElement()) { 14886 composeString("requirements", element.getRequirementsElement()); 14887 } 14888 if (element.hasCopyrightElement()) { 14889 composeString("copyright", element.getCopyrightElement()); 14890 } 14891 if (element.hasKindElement()) 14892 composeEnumeration("kind", element.getKindElement(), new Conformance.ConformanceStatementKindEnumFactory()); 14893 if (element.hasSoftware()) { 14894 composeConformanceConformanceSoftwareComponent("software", element.getSoftware()); 14895 } 14896 if (element.hasImplementation()) { 14897 composeConformanceConformanceImplementationComponent("implementation", element.getImplementation()); 14898 } 14899 if (element.hasFhirVersionElement()) { 14900 composeId("fhirVersion", element.getFhirVersionElement()); 14901 } 14902 if (element.hasAcceptUnknownElement()) 14903 composeEnumeration("acceptUnknown", element.getAcceptUnknownElement(), 14904 new Conformance.UnknownContentCodeEnumFactory()); 14905 if (element.hasFormat()) { 14906 for (CodeType e : element.getFormat()) 14907 composeCode("format", e); 14908 } 14909 if (element.hasProfile()) { 14910 for (Reference e : element.getProfile()) 14911 composeReference("profile", e); 14912 } 14913 if (element.hasRest()) { 14914 for (Conformance.ConformanceRestComponent e : element.getRest()) 14915 composeConformanceConformanceRestComponent("rest", e); 14916 } 14917 if (element.hasMessaging()) { 14918 for (Conformance.ConformanceMessagingComponent e : element.getMessaging()) 14919 composeConformanceConformanceMessagingComponent("messaging", e); 14920 } 14921 if (element.hasDocument()) { 14922 for (Conformance.ConformanceDocumentComponent e : element.getDocument()) 14923 composeConformanceConformanceDocumentComponent("document", e); 14924 } 14925 composeElementClose(element); 14926 xml.exit(FHIR_NS, name); 14927 } 14928 } 14929 14930 protected void composeConformanceConformanceContactComponent(String name, 14931 Conformance.ConformanceContactComponent element) throws IOException { 14932 if (element != null) { 14933 composeElementAttributes(element); 14934 xml.enter(FHIR_NS, name); 14935 composeBackboneElements(element); 14936 if (element.hasNameElement()) { 14937 composeString("name", element.getNameElement()); 14938 } 14939 if (element.hasTelecom()) { 14940 for (ContactPoint e : element.getTelecom()) 14941 composeContactPoint("telecom", e); 14942 } 14943 composeElementClose(element); 14944 xml.exit(FHIR_NS, name); 14945 } 14946 } 14947 14948 protected void composeConformanceConformanceSoftwareComponent(String name, 14949 Conformance.ConformanceSoftwareComponent element) throws IOException { 14950 if (element != null) { 14951 composeElementAttributes(element); 14952 xml.enter(FHIR_NS, name); 14953 composeBackboneElements(element); 14954 if (element.hasNameElement()) { 14955 composeString("name", element.getNameElement()); 14956 } 14957 if (element.hasVersionElement()) { 14958 composeString("version", element.getVersionElement()); 14959 } 14960 if (element.hasReleaseDateElement()) { 14961 composeDateTime("releaseDate", element.getReleaseDateElement()); 14962 } 14963 composeElementClose(element); 14964 xml.exit(FHIR_NS, name); 14965 } 14966 } 14967 14968 protected void composeConformanceConformanceImplementationComponent(String name, 14969 Conformance.ConformanceImplementationComponent element) throws IOException { 14970 if (element != null) { 14971 composeElementAttributes(element); 14972 xml.enter(FHIR_NS, name); 14973 composeBackboneElements(element); 14974 if (element.hasDescriptionElement()) { 14975 composeString("description", element.getDescriptionElement()); 14976 } 14977 if (element.hasUrlElement()) { 14978 composeUri("url", element.getUrlElement()); 14979 } 14980 composeElementClose(element); 14981 xml.exit(FHIR_NS, name); 14982 } 14983 } 14984 14985 protected void composeConformanceConformanceRestComponent(String name, Conformance.ConformanceRestComponent element) 14986 throws IOException { 14987 if (element != null) { 14988 composeElementAttributes(element); 14989 xml.enter(FHIR_NS, name); 14990 composeBackboneElements(element); 14991 if (element.hasModeElement()) 14992 composeEnumeration("mode", element.getModeElement(), new Conformance.RestfulConformanceModeEnumFactory()); 14993 if (element.hasDocumentationElement()) { 14994 composeString("documentation", element.getDocumentationElement()); 14995 } 14996 if (element.hasSecurity()) { 14997 composeConformanceConformanceRestSecurityComponent("security", element.getSecurity()); 14998 } 14999 if (element.hasResource()) { 15000 for (Conformance.ConformanceRestResourceComponent e : element.getResource()) 15001 composeConformanceConformanceRestResourceComponent("resource", e); 15002 } 15003 if (element.hasInteraction()) { 15004 for (Conformance.SystemInteractionComponent e : element.getInteraction()) 15005 composeConformanceSystemInteractionComponent("interaction", e); 15006 } 15007 if (element.hasTransactionModeElement()) 15008 composeEnumeration("transactionMode", element.getTransactionModeElement(), 15009 new Conformance.TransactionModeEnumFactory()); 15010 if (element.hasSearchParam()) { 15011 for (Conformance.ConformanceRestResourceSearchParamComponent e : element.getSearchParam()) 15012 composeConformanceConformanceRestResourceSearchParamComponent("searchParam", e); 15013 } 15014 if (element.hasOperation()) { 15015 for (Conformance.ConformanceRestOperationComponent e : element.getOperation()) 15016 composeConformanceConformanceRestOperationComponent("operation", e); 15017 } 15018 if (element.hasCompartment()) { 15019 for (UriType e : element.getCompartment()) 15020 composeUri("compartment", e); 15021 } 15022 composeElementClose(element); 15023 xml.exit(FHIR_NS, name); 15024 } 15025 } 15026 15027 protected void composeConformanceConformanceRestSecurityComponent(String name, 15028 Conformance.ConformanceRestSecurityComponent element) throws IOException { 15029 if (element != null) { 15030 composeElementAttributes(element); 15031 xml.enter(FHIR_NS, name); 15032 composeBackboneElements(element); 15033 if (element.hasCorsElement()) { 15034 composeBoolean("cors", element.getCorsElement()); 15035 } 15036 if (element.hasService()) { 15037 for (CodeableConcept e : element.getService()) 15038 composeCodeableConcept("service", e); 15039 } 15040 if (element.hasDescriptionElement()) { 15041 composeString("description", element.getDescriptionElement()); 15042 } 15043 if (element.hasCertificate()) { 15044 for (Conformance.ConformanceRestSecurityCertificateComponent e : element.getCertificate()) 15045 composeConformanceConformanceRestSecurityCertificateComponent("certificate", e); 15046 } 15047 composeElementClose(element); 15048 xml.exit(FHIR_NS, name); 15049 } 15050 } 15051 15052 protected void composeConformanceConformanceRestSecurityCertificateComponent(String name, 15053 Conformance.ConformanceRestSecurityCertificateComponent element) throws IOException { 15054 if (element != null) { 15055 composeElementAttributes(element); 15056 xml.enter(FHIR_NS, name); 15057 composeBackboneElements(element); 15058 if (element.hasTypeElement()) { 15059 composeCode("type", element.getTypeElement()); 15060 } 15061 if (element.hasBlobElement()) { 15062 composeBase64Binary("blob", element.getBlobElement()); 15063 } 15064 composeElementClose(element); 15065 xml.exit(FHIR_NS, name); 15066 } 15067 } 15068 15069 protected void composeConformanceConformanceRestResourceComponent(String name, 15070 Conformance.ConformanceRestResourceComponent element) throws IOException { 15071 if (element != null) { 15072 composeElementAttributes(element); 15073 xml.enter(FHIR_NS, name); 15074 composeBackboneElements(element); 15075 if (element.hasTypeElement()) { 15076 composeCode("type", element.getTypeElement()); 15077 } 15078 if (element.hasProfile()) { 15079 composeReference("profile", element.getProfile()); 15080 } 15081 if (element.hasInteraction()) { 15082 for (Conformance.ResourceInteractionComponent e : element.getInteraction()) 15083 composeConformanceResourceInteractionComponent("interaction", e); 15084 } 15085 if (element.hasVersioningElement()) 15086 composeEnumeration("versioning", element.getVersioningElement(), 15087 new Conformance.ResourceVersionPolicyEnumFactory()); 15088 if (element.hasReadHistoryElement()) { 15089 composeBoolean("readHistory", element.getReadHistoryElement()); 15090 } 15091 if (element.hasUpdateCreateElement()) { 15092 composeBoolean("updateCreate", element.getUpdateCreateElement()); 15093 } 15094 if (element.hasConditionalCreateElement()) { 15095 composeBoolean("conditionalCreate", element.getConditionalCreateElement()); 15096 } 15097 if (element.hasConditionalUpdateElement()) { 15098 composeBoolean("conditionalUpdate", element.getConditionalUpdateElement()); 15099 } 15100 if (element.hasConditionalDeleteElement()) 15101 composeEnumeration("conditionalDelete", element.getConditionalDeleteElement(), 15102 new Conformance.ConditionalDeleteStatusEnumFactory()); 15103 if (element.hasSearchInclude()) { 15104 for (StringType e : element.getSearchInclude()) 15105 composeString("searchInclude", e); 15106 } 15107 if (element.hasSearchRevInclude()) { 15108 for (StringType e : element.getSearchRevInclude()) 15109 composeString("searchRevInclude", e); 15110 } 15111 if (element.hasSearchParam()) { 15112 for (Conformance.ConformanceRestResourceSearchParamComponent e : element.getSearchParam()) 15113 composeConformanceConformanceRestResourceSearchParamComponent("searchParam", e); 15114 } 15115 composeElementClose(element); 15116 xml.exit(FHIR_NS, name); 15117 } 15118 } 15119 15120 protected void composeConformanceResourceInteractionComponent(String name, 15121 Conformance.ResourceInteractionComponent element) throws IOException { 15122 if (element != null) { 15123 composeElementAttributes(element); 15124 xml.enter(FHIR_NS, name); 15125 composeBackboneElements(element); 15126 if (element.hasCodeElement()) 15127 composeEnumeration("code", element.getCodeElement(), new Conformance.TypeRestfulInteractionEnumFactory()); 15128 if (element.hasDocumentationElement()) { 15129 composeString("documentation", element.getDocumentationElement()); 15130 } 15131 composeElementClose(element); 15132 xml.exit(FHIR_NS, name); 15133 } 15134 } 15135 15136 protected void composeConformanceConformanceRestResourceSearchParamComponent(String name, 15137 Conformance.ConformanceRestResourceSearchParamComponent element) throws IOException { 15138 if (element != null) { 15139 composeElementAttributes(element); 15140 xml.enter(FHIR_NS, name); 15141 composeBackboneElements(element); 15142 if (element.hasNameElement()) { 15143 composeString("name", element.getNameElement()); 15144 } 15145 if (element.hasDefinitionElement()) { 15146 composeUri("definition", element.getDefinitionElement()); 15147 } 15148 if (element.hasTypeElement()) 15149 composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); 15150 if (element.hasDocumentationElement()) { 15151 composeString("documentation", element.getDocumentationElement()); 15152 } 15153 if (element.hasTarget()) { 15154 for (CodeType e : element.getTarget()) 15155 composeCode("target", e); 15156 } 15157 if (element.hasModifier()) 15158 for (Enumeration<Conformance.SearchModifierCode> e : element.getModifier()) 15159 composeEnumeration("modifier", e, new Conformance.SearchModifierCodeEnumFactory()); 15160 if (element.hasChain()) { 15161 for (StringType e : element.getChain()) 15162 composeString("chain", e); 15163 } 15164 composeElementClose(element); 15165 xml.exit(FHIR_NS, name); 15166 } 15167 } 15168 15169 protected void composeConformanceSystemInteractionComponent(String name, 15170 Conformance.SystemInteractionComponent element) throws IOException { 15171 if (element != null) { 15172 composeElementAttributes(element); 15173 xml.enter(FHIR_NS, name); 15174 composeBackboneElements(element); 15175 if (element.hasCodeElement()) 15176 composeEnumeration("code", element.getCodeElement(), new Conformance.SystemRestfulInteractionEnumFactory()); 15177 if (element.hasDocumentationElement()) { 15178 composeString("documentation", element.getDocumentationElement()); 15179 } 15180 composeElementClose(element); 15181 xml.exit(FHIR_NS, name); 15182 } 15183 } 15184 15185 protected void composeConformanceConformanceRestOperationComponent(String name, 15186 Conformance.ConformanceRestOperationComponent element) throws IOException { 15187 if (element != null) { 15188 composeElementAttributes(element); 15189 xml.enter(FHIR_NS, name); 15190 composeBackboneElements(element); 15191 if (element.hasNameElement()) { 15192 composeString("name", element.getNameElement()); 15193 } 15194 if (element.hasDefinition()) { 15195 composeReference("definition", element.getDefinition()); 15196 } 15197 composeElementClose(element); 15198 xml.exit(FHIR_NS, name); 15199 } 15200 } 15201 15202 protected void composeConformanceConformanceMessagingComponent(String name, 15203 Conformance.ConformanceMessagingComponent element) throws IOException { 15204 if (element != null) { 15205 composeElementAttributes(element); 15206 xml.enter(FHIR_NS, name); 15207 composeBackboneElements(element); 15208 if (element.hasEndpoint()) { 15209 for (Conformance.ConformanceMessagingEndpointComponent e : element.getEndpoint()) 15210 composeConformanceConformanceMessagingEndpointComponent("endpoint", e); 15211 } 15212 if (element.hasReliableCacheElement()) { 15213 composeUnsignedInt("reliableCache", element.getReliableCacheElement()); 15214 } 15215 if (element.hasDocumentationElement()) { 15216 composeString("documentation", element.getDocumentationElement()); 15217 } 15218 if (element.hasEvent()) { 15219 for (Conformance.ConformanceMessagingEventComponent e : element.getEvent()) 15220 composeConformanceConformanceMessagingEventComponent("event", e); 15221 } 15222 composeElementClose(element); 15223 xml.exit(FHIR_NS, name); 15224 } 15225 } 15226 15227 protected void composeConformanceConformanceMessagingEndpointComponent(String name, 15228 Conformance.ConformanceMessagingEndpointComponent element) throws IOException { 15229 if (element != null) { 15230 composeElementAttributes(element); 15231 xml.enter(FHIR_NS, name); 15232 composeBackboneElements(element); 15233 if (element.hasProtocol()) { 15234 composeCoding("protocol", element.getProtocol()); 15235 } 15236 if (element.hasAddressElement()) { 15237 composeUri("address", element.getAddressElement()); 15238 } 15239 composeElementClose(element); 15240 xml.exit(FHIR_NS, name); 15241 } 15242 } 15243 15244 protected void composeConformanceConformanceMessagingEventComponent(String name, 15245 Conformance.ConformanceMessagingEventComponent element) throws IOException { 15246 if (element != null) { 15247 composeElementAttributes(element); 15248 xml.enter(FHIR_NS, name); 15249 composeBackboneElements(element); 15250 if (element.hasCode()) { 15251 composeCoding("code", element.getCode()); 15252 } 15253 if (element.hasCategoryElement()) 15254 composeEnumeration("category", element.getCategoryElement(), 15255 new Conformance.MessageSignificanceCategoryEnumFactory()); 15256 if (element.hasModeElement()) 15257 composeEnumeration("mode", element.getModeElement(), new Conformance.ConformanceEventModeEnumFactory()); 15258 if (element.hasFocusElement()) { 15259 composeCode("focus", element.getFocusElement()); 15260 } 15261 if (element.hasRequest()) { 15262 composeReference("request", element.getRequest()); 15263 } 15264 if (element.hasResponse()) { 15265 composeReference("response", element.getResponse()); 15266 } 15267 if (element.hasDocumentationElement()) { 15268 composeString("documentation", element.getDocumentationElement()); 15269 } 15270 composeElementClose(element); 15271 xml.exit(FHIR_NS, name); 15272 } 15273 } 15274 15275 protected void composeConformanceConformanceDocumentComponent(String name, 15276 Conformance.ConformanceDocumentComponent element) throws IOException { 15277 if (element != null) { 15278 composeElementAttributes(element); 15279 xml.enter(FHIR_NS, name); 15280 composeBackboneElements(element); 15281 if (element.hasModeElement()) 15282 composeEnumeration("mode", element.getModeElement(), new Conformance.DocumentModeEnumFactory()); 15283 if (element.hasDocumentationElement()) { 15284 composeString("documentation", element.getDocumentationElement()); 15285 } 15286 if (element.hasProfile()) { 15287 composeReference("profile", element.getProfile()); 15288 } 15289 composeElementClose(element); 15290 xml.exit(FHIR_NS, name); 15291 } 15292 } 15293 15294 protected void composeContract(String name, Contract element) throws IOException { 15295 if (element != null) { 15296 composeDomainResourceAttributes(element); 15297 xml.enter(FHIR_NS, name); 15298 composeDomainResourceElements(element); 15299 if (element.hasIdentifier()) { 15300 composeIdentifier("identifier", element.getIdentifier()); 15301 } 15302 if (element.hasIssuedElement()) { 15303 composeDateTime("issued", element.getIssuedElement()); 15304 } 15305 if (element.hasApplies()) { 15306 composePeriod("applies", element.getApplies()); 15307 } 15308 if (element.hasSubject()) { 15309 for (Reference e : element.getSubject()) 15310 composeReference("subject", e); 15311 } 15312 if (element.hasAuthority()) { 15313 for (Reference e : element.getAuthority()) 15314 composeReference("authority", e); 15315 } 15316 if (element.hasDomain()) { 15317 for (Reference e : element.getDomain()) 15318 composeReference("domain", e); 15319 } 15320 if (element.hasType()) { 15321 composeCodeableConcept("type", element.getType()); 15322 } 15323 if (element.hasSubType()) { 15324 for (CodeableConcept e : element.getSubType()) 15325 composeCodeableConcept("subType", e); 15326 } 15327 if (element.hasAction()) { 15328 for (CodeableConcept e : element.getAction()) 15329 composeCodeableConcept("action", e); 15330 } 15331 if (element.hasActionReason()) { 15332 for (CodeableConcept e : element.getActionReason()) 15333 composeCodeableConcept("actionReason", e); 15334 } 15335 if (element.hasActor()) { 15336 for (Contract.ActorComponent e : element.getActor()) 15337 composeContractActorComponent("actor", e); 15338 } 15339 if (element.hasValuedItem()) { 15340 for (Contract.ValuedItemComponent e : element.getValuedItem()) 15341 composeContractValuedItemComponent("valuedItem", e); 15342 } 15343 if (element.hasSigner()) { 15344 for (Contract.SignatoryComponent e : element.getSigner()) 15345 composeContractSignatoryComponent("signer", e); 15346 } 15347 if (element.hasTerm()) { 15348 for (Contract.TermComponent e : element.getTerm()) 15349 composeContractTermComponent("term", e); 15350 } 15351 if (element.hasBinding()) { 15352 composeType("binding", element.getBinding()); 15353 } 15354 if (element.hasFriendly()) { 15355 for (Contract.FriendlyLanguageComponent e : element.getFriendly()) 15356 composeContractFriendlyLanguageComponent("friendly", e); 15357 } 15358 if (element.hasLegal()) { 15359 for (Contract.LegalLanguageComponent e : element.getLegal()) 15360 composeContractLegalLanguageComponent("legal", e); 15361 } 15362 if (element.hasRule()) { 15363 for (Contract.ComputableLanguageComponent e : element.getRule()) 15364 composeContractComputableLanguageComponent("rule", e); 15365 } 15366 composeElementClose(element); 15367 xml.exit(FHIR_NS, name); 15368 } 15369 } 15370 15371 protected void composeContractActorComponent(String name, Contract.ActorComponent element) throws IOException { 15372 if (element != null) { 15373 composeElementAttributes(element); 15374 xml.enter(FHIR_NS, name); 15375 composeBackboneElements(element); 15376 if (element.hasEntity()) { 15377 composeReference("entity", element.getEntity()); 15378 } 15379 if (element.hasRole()) { 15380 for (CodeableConcept e : element.getRole()) 15381 composeCodeableConcept("role", e); 15382 } 15383 composeElementClose(element); 15384 xml.exit(FHIR_NS, name); 15385 } 15386 } 15387 15388 protected void composeContractValuedItemComponent(String name, Contract.ValuedItemComponent element) 15389 throws IOException { 15390 if (element != null) { 15391 composeElementAttributes(element); 15392 xml.enter(FHIR_NS, name); 15393 composeBackboneElements(element); 15394 if (element.hasEntity()) { 15395 composeType("entity", element.getEntity()); 15396 } 15397 if (element.hasIdentifier()) { 15398 composeIdentifier("identifier", element.getIdentifier()); 15399 } 15400 if (element.hasEffectiveTimeElement()) { 15401 composeDateTime("effectiveTime", element.getEffectiveTimeElement()); 15402 } 15403 if (element.hasQuantity()) { 15404 composeSimpleQuantity("quantity", element.getQuantity()); 15405 } 15406 if (element.hasUnitPrice()) { 15407 composeMoney("unitPrice", element.getUnitPrice()); 15408 } 15409 if (element.hasFactorElement()) { 15410 composeDecimal("factor", element.getFactorElement()); 15411 } 15412 if (element.hasPointsElement()) { 15413 composeDecimal("points", element.getPointsElement()); 15414 } 15415 if (element.hasNet()) { 15416 composeMoney("net", element.getNet()); 15417 } 15418 composeElementClose(element); 15419 xml.exit(FHIR_NS, name); 15420 } 15421 } 15422 15423 protected void composeContractSignatoryComponent(String name, Contract.SignatoryComponent element) 15424 throws IOException { 15425 if (element != null) { 15426 composeElementAttributes(element); 15427 xml.enter(FHIR_NS, name); 15428 composeBackboneElements(element); 15429 if (element.hasType()) { 15430 composeCoding("type", element.getType()); 15431 } 15432 if (element.hasParty()) { 15433 composeReference("party", element.getParty()); 15434 } 15435 if (element.hasSignatureElement()) { 15436 composeString("signature", element.getSignatureElement()); 15437 } 15438 composeElementClose(element); 15439 xml.exit(FHIR_NS, name); 15440 } 15441 } 15442 15443 protected void composeContractTermComponent(String name, Contract.TermComponent element) throws IOException { 15444 if (element != null) { 15445 composeElementAttributes(element); 15446 xml.enter(FHIR_NS, name); 15447 composeBackboneElements(element); 15448 if (element.hasIdentifier()) { 15449 composeIdentifier("identifier", element.getIdentifier()); 15450 } 15451 if (element.hasIssuedElement()) { 15452 composeDateTime("issued", element.getIssuedElement()); 15453 } 15454 if (element.hasApplies()) { 15455 composePeriod("applies", element.getApplies()); 15456 } 15457 if (element.hasType()) { 15458 composeCodeableConcept("type", element.getType()); 15459 } 15460 if (element.hasSubType()) { 15461 composeCodeableConcept("subType", element.getSubType()); 15462 } 15463 if (element.hasSubject()) { 15464 composeReference("subject", element.getSubject()); 15465 } 15466 if (element.hasAction()) { 15467 for (CodeableConcept e : element.getAction()) 15468 composeCodeableConcept("action", e); 15469 } 15470 if (element.hasActionReason()) { 15471 for (CodeableConcept e : element.getActionReason()) 15472 composeCodeableConcept("actionReason", e); 15473 } 15474 if (element.hasActor()) { 15475 for (Contract.TermActorComponent e : element.getActor()) 15476 composeContractTermActorComponent("actor", e); 15477 } 15478 if (element.hasTextElement()) { 15479 composeString("text", element.getTextElement()); 15480 } 15481 if (element.hasValuedItem()) { 15482 for (Contract.TermValuedItemComponent e : element.getValuedItem()) 15483 composeContractTermValuedItemComponent("valuedItem", e); 15484 } 15485 if (element.hasGroup()) { 15486 for (Contract.TermComponent e : element.getGroup()) 15487 composeContractTermComponent("group", e); 15488 } 15489 composeElementClose(element); 15490 xml.exit(FHIR_NS, name); 15491 } 15492 } 15493 15494 protected void composeContractTermActorComponent(String name, Contract.TermActorComponent element) 15495 throws IOException { 15496 if (element != null) { 15497 composeElementAttributes(element); 15498 xml.enter(FHIR_NS, name); 15499 composeBackboneElements(element); 15500 if (element.hasEntity()) { 15501 composeReference("entity", element.getEntity()); 15502 } 15503 if (element.hasRole()) { 15504 for (CodeableConcept e : element.getRole()) 15505 composeCodeableConcept("role", e); 15506 } 15507 composeElementClose(element); 15508 xml.exit(FHIR_NS, name); 15509 } 15510 } 15511 15512 protected void composeContractTermValuedItemComponent(String name, Contract.TermValuedItemComponent element) 15513 throws IOException { 15514 if (element != null) { 15515 composeElementAttributes(element); 15516 xml.enter(FHIR_NS, name); 15517 composeBackboneElements(element); 15518 if (element.hasEntity()) { 15519 composeType("entity", element.getEntity()); 15520 } 15521 if (element.hasIdentifier()) { 15522 composeIdentifier("identifier", element.getIdentifier()); 15523 } 15524 if (element.hasEffectiveTimeElement()) { 15525 composeDateTime("effectiveTime", element.getEffectiveTimeElement()); 15526 } 15527 if (element.hasQuantity()) { 15528 composeSimpleQuantity("quantity", element.getQuantity()); 15529 } 15530 if (element.hasUnitPrice()) { 15531 composeMoney("unitPrice", element.getUnitPrice()); 15532 } 15533 if (element.hasFactorElement()) { 15534 composeDecimal("factor", element.getFactorElement()); 15535 } 15536 if (element.hasPointsElement()) { 15537 composeDecimal("points", element.getPointsElement()); 15538 } 15539 if (element.hasNet()) { 15540 composeMoney("net", element.getNet()); 15541 } 15542 composeElementClose(element); 15543 xml.exit(FHIR_NS, name); 15544 } 15545 } 15546 15547 protected void composeContractFriendlyLanguageComponent(String name, Contract.FriendlyLanguageComponent element) 15548 throws IOException { 15549 if (element != null) { 15550 composeElementAttributes(element); 15551 xml.enter(FHIR_NS, name); 15552 composeBackboneElements(element); 15553 if (element.hasContent()) { 15554 composeType("content", element.getContent()); 15555 } 15556 composeElementClose(element); 15557 xml.exit(FHIR_NS, name); 15558 } 15559 } 15560 15561 protected void composeContractLegalLanguageComponent(String name, Contract.LegalLanguageComponent element) 15562 throws IOException { 15563 if (element != null) { 15564 composeElementAttributes(element); 15565 xml.enter(FHIR_NS, name); 15566 composeBackboneElements(element); 15567 if (element.hasContent()) { 15568 composeType("content", element.getContent()); 15569 } 15570 composeElementClose(element); 15571 xml.exit(FHIR_NS, name); 15572 } 15573 } 15574 15575 protected void composeContractComputableLanguageComponent(String name, Contract.ComputableLanguageComponent element) 15576 throws IOException { 15577 if (element != null) { 15578 composeElementAttributes(element); 15579 xml.enter(FHIR_NS, name); 15580 composeBackboneElements(element); 15581 if (element.hasContent()) { 15582 composeType("content", element.getContent()); 15583 } 15584 composeElementClose(element); 15585 xml.exit(FHIR_NS, name); 15586 } 15587 } 15588 15589 protected void composeCoverage(String name, Coverage element) throws IOException { 15590 if (element != null) { 15591 composeDomainResourceAttributes(element); 15592 xml.enter(FHIR_NS, name); 15593 composeDomainResourceElements(element); 15594 if (element.hasIssuer()) { 15595 composeReference("issuer", element.getIssuer()); 15596 } 15597 if (element.hasBin()) { 15598 composeIdentifier("bin", element.getBin()); 15599 } 15600 if (element.hasPeriod()) { 15601 composePeriod("period", element.getPeriod()); 15602 } 15603 if (element.hasType()) { 15604 composeCoding("type", element.getType()); 15605 } 15606 if (element.hasSubscriberId()) { 15607 composeIdentifier("subscriberId", element.getSubscriberId()); 15608 } 15609 if (element.hasIdentifier()) { 15610 for (Identifier e : element.getIdentifier()) 15611 composeIdentifier("identifier", e); 15612 } 15613 if (element.hasGroupElement()) { 15614 composeString("group", element.getGroupElement()); 15615 } 15616 if (element.hasPlanElement()) { 15617 composeString("plan", element.getPlanElement()); 15618 } 15619 if (element.hasSubPlanElement()) { 15620 composeString("subPlan", element.getSubPlanElement()); 15621 } 15622 if (element.hasDependentElement()) { 15623 composePositiveInt("dependent", element.getDependentElement()); 15624 } 15625 if (element.hasSequenceElement()) { 15626 composePositiveInt("sequence", element.getSequenceElement()); 15627 } 15628 if (element.hasSubscriber()) { 15629 composeReference("subscriber", element.getSubscriber()); 15630 } 15631 if (element.hasNetwork()) { 15632 composeIdentifier("network", element.getNetwork()); 15633 } 15634 if (element.hasContract()) { 15635 for (Reference e : element.getContract()) 15636 composeReference("contract", e); 15637 } 15638 composeElementClose(element); 15639 xml.exit(FHIR_NS, name); 15640 } 15641 } 15642 15643 protected void composeDataElement(String name, DataElement element) throws IOException { 15644 if (element != null) { 15645 composeDomainResourceAttributes(element); 15646 xml.enter(FHIR_NS, name); 15647 composeDomainResourceElements(element); 15648 if (element.hasUrlElement()) { 15649 composeUri("url", element.getUrlElement()); 15650 } 15651 if (element.hasIdentifier()) { 15652 for (Identifier e : element.getIdentifier()) 15653 composeIdentifier("identifier", e); 15654 } 15655 if (element.hasVersionElement()) { 15656 composeString("version", element.getVersionElement()); 15657 } 15658 if (element.hasNameElement()) { 15659 composeString("name", element.getNameElement()); 15660 } 15661 if (element.hasStatusElement()) 15662 composeEnumeration("status", element.getStatusElement(), 15663 new Enumerations.ConformanceResourceStatusEnumFactory()); 15664 if (element.hasExperimentalElement()) { 15665 composeBoolean("experimental", element.getExperimentalElement()); 15666 } 15667 if (element.hasPublisherElement()) { 15668 composeString("publisher", element.getPublisherElement()); 15669 } 15670 if (element.hasContact()) { 15671 for (DataElement.DataElementContactComponent e : element.getContact()) 15672 composeDataElementDataElementContactComponent("contact", e); 15673 } 15674 if (element.hasDateElement()) { 15675 composeDateTime("date", element.getDateElement()); 15676 } 15677 if (element.hasUseContext()) { 15678 for (CodeableConcept e : element.getUseContext()) 15679 composeCodeableConcept("useContext", e); 15680 } 15681 if (element.hasCopyrightElement()) { 15682 composeString("copyright", element.getCopyrightElement()); 15683 } 15684 if (element.hasStringencyElement()) 15685 composeEnumeration("stringency", element.getStringencyElement(), 15686 new DataElement.DataElementStringencyEnumFactory()); 15687 if (element.hasMapping()) { 15688 for (DataElement.DataElementMappingComponent e : element.getMapping()) 15689 composeDataElementDataElementMappingComponent("mapping", e); 15690 } 15691 if (element.hasElement()) { 15692 for (ElementDefinition e : element.getElement()) 15693 composeElementDefinition("element", e); 15694 } 15695 composeElementClose(element); 15696 xml.exit(FHIR_NS, name); 15697 } 15698 } 15699 15700 protected void composeDataElementDataElementContactComponent(String name, 15701 DataElement.DataElementContactComponent element) throws IOException { 15702 if (element != null) { 15703 composeElementAttributes(element); 15704 xml.enter(FHIR_NS, name); 15705 composeBackboneElements(element); 15706 if (element.hasNameElement()) { 15707 composeString("name", element.getNameElement()); 15708 } 15709 if (element.hasTelecom()) { 15710 for (ContactPoint e : element.getTelecom()) 15711 composeContactPoint("telecom", e); 15712 } 15713 composeElementClose(element); 15714 xml.exit(FHIR_NS, name); 15715 } 15716 } 15717 15718 protected void composeDataElementDataElementMappingComponent(String name, 15719 DataElement.DataElementMappingComponent element) throws IOException { 15720 if (element != null) { 15721 composeElementAttributes(element); 15722 xml.enter(FHIR_NS, name); 15723 composeBackboneElements(element); 15724 if (element.hasIdentityElement()) { 15725 composeId("identity", element.getIdentityElement()); 15726 } 15727 if (element.hasUriElement()) { 15728 composeUri("uri", element.getUriElement()); 15729 } 15730 if (element.hasNameElement()) { 15731 composeString("name", element.getNameElement()); 15732 } 15733 if (element.hasCommentsElement()) { 15734 composeString("comments", element.getCommentsElement()); 15735 } 15736 composeElementClose(element); 15737 xml.exit(FHIR_NS, name); 15738 } 15739 } 15740 15741 protected void composeDetectedIssue(String name, DetectedIssue element) throws IOException { 15742 if (element != null) { 15743 composeDomainResourceAttributes(element); 15744 xml.enter(FHIR_NS, name); 15745 composeDomainResourceElements(element); 15746 if (element.hasPatient()) { 15747 composeReference("patient", element.getPatient()); 15748 } 15749 if (element.hasCategory()) { 15750 composeCodeableConcept("category", element.getCategory()); 15751 } 15752 if (element.hasSeverityElement()) 15753 composeEnumeration("severity", element.getSeverityElement(), 15754 new DetectedIssue.DetectedIssueSeverityEnumFactory()); 15755 if (element.hasImplicated()) { 15756 for (Reference e : element.getImplicated()) 15757 composeReference("implicated", e); 15758 } 15759 if (element.hasDetailElement()) { 15760 composeString("detail", element.getDetailElement()); 15761 } 15762 if (element.hasDateElement()) { 15763 composeDateTime("date", element.getDateElement()); 15764 } 15765 if (element.hasAuthor()) { 15766 composeReference("author", element.getAuthor()); 15767 } 15768 if (element.hasIdentifier()) { 15769 composeIdentifier("identifier", element.getIdentifier()); 15770 } 15771 if (element.hasReferenceElement()) { 15772 composeUri("reference", element.getReferenceElement()); 15773 } 15774 if (element.hasMitigation()) { 15775 for (DetectedIssue.DetectedIssueMitigationComponent e : element.getMitigation()) 15776 composeDetectedIssueDetectedIssueMitigationComponent("mitigation", e); 15777 } 15778 composeElementClose(element); 15779 xml.exit(FHIR_NS, name); 15780 } 15781 } 15782 15783 protected void composeDetectedIssueDetectedIssueMitigationComponent(String name, 15784 DetectedIssue.DetectedIssueMitigationComponent element) throws IOException { 15785 if (element != null) { 15786 composeElementAttributes(element); 15787 xml.enter(FHIR_NS, name); 15788 composeBackboneElements(element); 15789 if (element.hasAction()) { 15790 composeCodeableConcept("action", element.getAction()); 15791 } 15792 if (element.hasDateElement()) { 15793 composeDateTime("date", element.getDateElement()); 15794 } 15795 if (element.hasAuthor()) { 15796 composeReference("author", element.getAuthor()); 15797 } 15798 composeElementClose(element); 15799 xml.exit(FHIR_NS, name); 15800 } 15801 } 15802 15803 protected void composeDevice(String name, Device element) throws IOException { 15804 if (element != null) { 15805 composeDomainResourceAttributes(element); 15806 xml.enter(FHIR_NS, name); 15807 composeDomainResourceElements(element); 15808 if (element.hasIdentifier()) { 15809 for (Identifier e : element.getIdentifier()) 15810 composeIdentifier("identifier", e); 15811 } 15812 if (element.hasType()) { 15813 composeCodeableConcept("type", element.getType()); 15814 } 15815 if (element.hasNote()) { 15816 for (Annotation e : element.getNote()) 15817 composeAnnotation("note", e); 15818 } 15819 if (element.hasStatusElement()) 15820 composeEnumeration("status", element.getStatusElement(), new Device.DeviceStatusEnumFactory()); 15821 if (element.hasManufacturerElement()) { 15822 composeString("manufacturer", element.getManufacturerElement()); 15823 } 15824 if (element.hasModelElement()) { 15825 composeString("model", element.getModelElement()); 15826 } 15827 if (element.hasVersionElement()) { 15828 composeString("version", element.getVersionElement()); 15829 } 15830 if (element.hasManufactureDateElement()) { 15831 composeDateTime("manufactureDate", element.getManufactureDateElement()); 15832 } 15833 if (element.hasExpiryElement()) { 15834 composeDateTime("expiry", element.getExpiryElement()); 15835 } 15836 if (element.hasUdiElement()) { 15837 composeString("udi", element.getUdiElement()); 15838 } 15839 if (element.hasLotNumberElement()) { 15840 composeString("lotNumber", element.getLotNumberElement()); 15841 } 15842 if (element.hasOwner()) { 15843 composeReference("owner", element.getOwner()); 15844 } 15845 if (element.hasLocation()) { 15846 composeReference("location", element.getLocation()); 15847 } 15848 if (element.hasPatient()) { 15849 composeReference("patient", element.getPatient()); 15850 } 15851 if (element.hasContact()) { 15852 for (ContactPoint e : element.getContact()) 15853 composeContactPoint("contact", e); 15854 } 15855 if (element.hasUrlElement()) { 15856 composeUri("url", element.getUrlElement()); 15857 } 15858 composeElementClose(element); 15859 xml.exit(FHIR_NS, name); 15860 } 15861 } 15862 15863 protected void composeDeviceComponent(String name, DeviceComponent element) throws IOException { 15864 if (element != null) { 15865 composeDomainResourceAttributes(element); 15866 xml.enter(FHIR_NS, name); 15867 composeDomainResourceElements(element); 15868 if (element.hasType()) { 15869 composeCodeableConcept("type", element.getType()); 15870 } 15871 if (element.hasIdentifier()) { 15872 composeIdentifier("identifier", element.getIdentifier()); 15873 } 15874 if (element.hasLastSystemChangeElement()) { 15875 composeInstant("lastSystemChange", element.getLastSystemChangeElement()); 15876 } 15877 if (element.hasSource()) { 15878 composeReference("source", element.getSource()); 15879 } 15880 if (element.hasParent()) { 15881 composeReference("parent", element.getParent()); 15882 } 15883 if (element.hasOperationalStatus()) { 15884 for (CodeableConcept e : element.getOperationalStatus()) 15885 composeCodeableConcept("operationalStatus", e); 15886 } 15887 if (element.hasParameterGroup()) { 15888 composeCodeableConcept("parameterGroup", element.getParameterGroup()); 15889 } 15890 if (element.hasMeasurementPrincipleElement()) 15891 composeEnumeration("measurementPrinciple", element.getMeasurementPrincipleElement(), 15892 new DeviceComponent.MeasmntPrincipleEnumFactory()); 15893 if (element.hasProductionSpecification()) { 15894 for (DeviceComponent.DeviceComponentProductionSpecificationComponent e : element.getProductionSpecification()) 15895 composeDeviceComponentDeviceComponentProductionSpecificationComponent("productionSpecification", e); 15896 } 15897 if (element.hasLanguageCode()) { 15898 composeCodeableConcept("languageCode", element.getLanguageCode()); 15899 } 15900 composeElementClose(element); 15901 xml.exit(FHIR_NS, name); 15902 } 15903 } 15904 15905 protected void composeDeviceComponentDeviceComponentProductionSpecificationComponent(String name, 15906 DeviceComponent.DeviceComponentProductionSpecificationComponent element) throws IOException { 15907 if (element != null) { 15908 composeElementAttributes(element); 15909 xml.enter(FHIR_NS, name); 15910 composeBackboneElements(element); 15911 if (element.hasSpecType()) { 15912 composeCodeableConcept("specType", element.getSpecType()); 15913 } 15914 if (element.hasComponentId()) { 15915 composeIdentifier("componentId", element.getComponentId()); 15916 } 15917 if (element.hasProductionSpecElement()) { 15918 composeString("productionSpec", element.getProductionSpecElement()); 15919 } 15920 composeElementClose(element); 15921 xml.exit(FHIR_NS, name); 15922 } 15923 } 15924 15925 protected void composeDeviceMetric(String name, DeviceMetric element) throws IOException { 15926 if (element != null) { 15927 composeDomainResourceAttributes(element); 15928 xml.enter(FHIR_NS, name); 15929 composeDomainResourceElements(element); 15930 if (element.hasType()) { 15931 composeCodeableConcept("type", element.getType()); 15932 } 15933 if (element.hasIdentifier()) { 15934 composeIdentifier("identifier", element.getIdentifier()); 15935 } 15936 if (element.hasUnit()) { 15937 composeCodeableConcept("unit", element.getUnit()); 15938 } 15939 if (element.hasSource()) { 15940 composeReference("source", element.getSource()); 15941 } 15942 if (element.hasParent()) { 15943 composeReference("parent", element.getParent()); 15944 } 15945 if (element.hasOperationalStatusElement()) 15946 composeEnumeration("operationalStatus", element.getOperationalStatusElement(), 15947 new DeviceMetric.DeviceMetricOperationalStatusEnumFactory()); 15948 if (element.hasColorElement()) 15949 composeEnumeration("color", element.getColorElement(), new DeviceMetric.DeviceMetricColorEnumFactory()); 15950 if (element.hasCategoryElement()) 15951 composeEnumeration("category", element.getCategoryElement(), 15952 new DeviceMetric.DeviceMetricCategoryEnumFactory()); 15953 if (element.hasMeasurementPeriod()) { 15954 composeTiming("measurementPeriod", element.getMeasurementPeriod()); 15955 } 15956 if (element.hasCalibration()) { 15957 for (DeviceMetric.DeviceMetricCalibrationComponent e : element.getCalibration()) 15958 composeDeviceMetricDeviceMetricCalibrationComponent("calibration", e); 15959 } 15960 composeElementClose(element); 15961 xml.exit(FHIR_NS, name); 15962 } 15963 } 15964 15965 protected void composeDeviceMetricDeviceMetricCalibrationComponent(String name, 15966 DeviceMetric.DeviceMetricCalibrationComponent element) throws IOException { 15967 if (element != null) { 15968 composeElementAttributes(element); 15969 xml.enter(FHIR_NS, name); 15970 composeBackboneElements(element); 15971 if (element.hasTypeElement()) 15972 composeEnumeration("type", element.getTypeElement(), new DeviceMetric.DeviceMetricCalibrationTypeEnumFactory()); 15973 if (element.hasStateElement()) 15974 composeEnumeration("state", element.getStateElement(), 15975 new DeviceMetric.DeviceMetricCalibrationStateEnumFactory()); 15976 if (element.hasTimeElement()) { 15977 composeInstant("time", element.getTimeElement()); 15978 } 15979 composeElementClose(element); 15980 xml.exit(FHIR_NS, name); 15981 } 15982 } 15983 15984 protected void composeDeviceUseRequest(String name, DeviceUseRequest element) throws IOException { 15985 if (element != null) { 15986 composeDomainResourceAttributes(element); 15987 xml.enter(FHIR_NS, name); 15988 composeDomainResourceElements(element); 15989 if (element.hasBodySite()) { 15990 composeType("bodySite", element.getBodySite()); 15991 } 15992 if (element.hasStatusElement()) 15993 composeEnumeration("status", element.getStatusElement(), 15994 new DeviceUseRequest.DeviceUseRequestStatusEnumFactory()); 15995 if (element.hasDevice()) { 15996 composeReference("device", element.getDevice()); 15997 } 15998 if (element.hasEncounter()) { 15999 composeReference("encounter", element.getEncounter()); 16000 } 16001 if (element.hasIdentifier()) { 16002 for (Identifier e : element.getIdentifier()) 16003 composeIdentifier("identifier", e); 16004 } 16005 if (element.hasIndication()) { 16006 for (CodeableConcept e : element.getIndication()) 16007 composeCodeableConcept("indication", e); 16008 } 16009 if (element.hasNotes()) { 16010 for (StringType e : element.getNotes()) 16011 composeString("notes", e); 16012 } 16013 if (element.hasPrnReason()) { 16014 for (CodeableConcept e : element.getPrnReason()) 16015 composeCodeableConcept("prnReason", e); 16016 } 16017 if (element.hasOrderedOnElement()) { 16018 composeDateTime("orderedOn", element.getOrderedOnElement()); 16019 } 16020 if (element.hasRecordedOnElement()) { 16021 composeDateTime("recordedOn", element.getRecordedOnElement()); 16022 } 16023 if (element.hasSubject()) { 16024 composeReference("subject", element.getSubject()); 16025 } 16026 if (element.hasTiming()) { 16027 composeType("timing", element.getTiming()); 16028 } 16029 if (element.hasPriorityElement()) 16030 composeEnumeration("priority", element.getPriorityElement(), 16031 new DeviceUseRequest.DeviceUseRequestPriorityEnumFactory()); 16032 composeElementClose(element); 16033 xml.exit(FHIR_NS, name); 16034 } 16035 } 16036 16037 protected void composeDeviceUseStatement(String name, DeviceUseStatement element) throws IOException { 16038 if (element != null) { 16039 composeDomainResourceAttributes(element); 16040 xml.enter(FHIR_NS, name); 16041 composeDomainResourceElements(element); 16042 if (element.hasBodySite()) { 16043 composeType("bodySite", element.getBodySite()); 16044 } 16045 if (element.hasWhenUsed()) { 16046 composePeriod("whenUsed", element.getWhenUsed()); 16047 } 16048 if (element.hasDevice()) { 16049 composeReference("device", element.getDevice()); 16050 } 16051 if (element.hasIdentifier()) { 16052 for (Identifier e : element.getIdentifier()) 16053 composeIdentifier("identifier", e); 16054 } 16055 if (element.hasIndication()) { 16056 for (CodeableConcept e : element.getIndication()) 16057 composeCodeableConcept("indication", e); 16058 } 16059 if (element.hasNotes()) { 16060 for (StringType e : element.getNotes()) 16061 composeString("notes", e); 16062 } 16063 if (element.hasRecordedOnElement()) { 16064 composeDateTime("recordedOn", element.getRecordedOnElement()); 16065 } 16066 if (element.hasSubject()) { 16067 composeReference("subject", element.getSubject()); 16068 } 16069 if (element.hasTiming()) { 16070 composeType("timing", element.getTiming()); 16071 } 16072 composeElementClose(element); 16073 xml.exit(FHIR_NS, name); 16074 } 16075 } 16076 16077 protected void composeDiagnosticOrder(String name, DiagnosticOrder element) throws IOException { 16078 if (element != null) { 16079 composeDomainResourceAttributes(element); 16080 xml.enter(FHIR_NS, name); 16081 composeDomainResourceElements(element); 16082 if (element.hasSubject()) { 16083 composeReference("subject", element.getSubject()); 16084 } 16085 if (element.hasOrderer()) { 16086 composeReference("orderer", element.getOrderer()); 16087 } 16088 if (element.hasIdentifier()) { 16089 for (Identifier e : element.getIdentifier()) 16090 composeIdentifier("identifier", e); 16091 } 16092 if (element.hasEncounter()) { 16093 composeReference("encounter", element.getEncounter()); 16094 } 16095 if (element.hasReason()) { 16096 for (CodeableConcept e : element.getReason()) 16097 composeCodeableConcept("reason", e); 16098 } 16099 if (element.hasSupportingInformation()) { 16100 for (Reference e : element.getSupportingInformation()) 16101 composeReference("supportingInformation", e); 16102 } 16103 if (element.hasSpecimen()) { 16104 for (Reference e : element.getSpecimen()) 16105 composeReference("specimen", e); 16106 } 16107 if (element.hasStatusElement()) 16108 composeEnumeration("status", element.getStatusElement(), 16109 new DiagnosticOrder.DiagnosticOrderStatusEnumFactory()); 16110 if (element.hasPriorityElement()) 16111 composeEnumeration("priority", element.getPriorityElement(), 16112 new DiagnosticOrder.DiagnosticOrderPriorityEnumFactory()); 16113 if (element.hasEvent()) { 16114 for (DiagnosticOrder.DiagnosticOrderEventComponent e : element.getEvent()) 16115 composeDiagnosticOrderDiagnosticOrderEventComponent("event", e); 16116 } 16117 if (element.hasItem()) { 16118 for (DiagnosticOrder.DiagnosticOrderItemComponent e : element.getItem()) 16119 composeDiagnosticOrderDiagnosticOrderItemComponent("item", e); 16120 } 16121 if (element.hasNote()) { 16122 for (Annotation e : element.getNote()) 16123 composeAnnotation("note", e); 16124 } 16125 composeElementClose(element); 16126 xml.exit(FHIR_NS, name); 16127 } 16128 } 16129 16130 protected void composeDiagnosticOrderDiagnosticOrderEventComponent(String name, 16131 DiagnosticOrder.DiagnosticOrderEventComponent element) throws IOException { 16132 if (element != null) { 16133 composeElementAttributes(element); 16134 xml.enter(FHIR_NS, name); 16135 composeBackboneElements(element); 16136 if (element.hasStatusElement()) 16137 composeEnumeration("status", element.getStatusElement(), 16138 new DiagnosticOrder.DiagnosticOrderStatusEnumFactory()); 16139 if (element.hasDescription()) { 16140 composeCodeableConcept("description", element.getDescription()); 16141 } 16142 if (element.hasDateTimeElement()) { 16143 composeDateTime("dateTime", element.getDateTimeElement()); 16144 } 16145 if (element.hasActor()) { 16146 composeReference("actor", element.getActor()); 16147 } 16148 composeElementClose(element); 16149 xml.exit(FHIR_NS, name); 16150 } 16151 } 16152 16153 protected void composeDiagnosticOrderDiagnosticOrderItemComponent(String name, 16154 DiagnosticOrder.DiagnosticOrderItemComponent element) throws IOException { 16155 if (element != null) { 16156 composeElementAttributes(element); 16157 xml.enter(FHIR_NS, name); 16158 composeBackboneElements(element); 16159 if (element.hasCode()) { 16160 composeCodeableConcept("code", element.getCode()); 16161 } 16162 if (element.hasSpecimen()) { 16163 for (Reference e : element.getSpecimen()) 16164 composeReference("specimen", e); 16165 } 16166 if (element.hasBodySite()) { 16167 composeCodeableConcept("bodySite", element.getBodySite()); 16168 } 16169 if (element.hasStatusElement()) 16170 composeEnumeration("status", element.getStatusElement(), 16171 new DiagnosticOrder.DiagnosticOrderStatusEnumFactory()); 16172 if (element.hasEvent()) { 16173 for (DiagnosticOrder.DiagnosticOrderEventComponent e : element.getEvent()) 16174 composeDiagnosticOrderDiagnosticOrderEventComponent("event", e); 16175 } 16176 composeElementClose(element); 16177 xml.exit(FHIR_NS, name); 16178 } 16179 } 16180 16181 protected void composeDiagnosticReport(String name, DiagnosticReport element) throws IOException { 16182 if (element != null) { 16183 composeDomainResourceAttributes(element); 16184 xml.enter(FHIR_NS, name); 16185 composeDomainResourceElements(element); 16186 if (element.hasIdentifier()) { 16187 for (Identifier e : element.getIdentifier()) 16188 composeIdentifier("identifier", e); 16189 } 16190 if (element.hasStatusElement()) 16191 composeEnumeration("status", element.getStatusElement(), 16192 new DiagnosticReport.DiagnosticReportStatusEnumFactory()); 16193 if (element.hasCategory()) { 16194 composeCodeableConcept("category", element.getCategory()); 16195 } 16196 if (element.hasCode()) { 16197 composeCodeableConcept("code", element.getCode()); 16198 } 16199 if (element.hasSubject()) { 16200 composeReference("subject", element.getSubject()); 16201 } 16202 if (element.hasEncounter()) { 16203 composeReference("encounter", element.getEncounter()); 16204 } 16205 if (element.hasEffective()) { 16206 composeType("effective", element.getEffective()); 16207 } 16208 if (element.hasIssuedElement()) { 16209 composeInstant("issued", element.getIssuedElement()); 16210 } 16211 if (element.hasPerformer()) { 16212 composeReference("performer", element.getPerformer()); 16213 } 16214 if (element.hasRequest()) { 16215 for (Reference e : element.getRequest()) 16216 composeReference("request", e); 16217 } 16218 if (element.hasSpecimen()) { 16219 for (Reference e : element.getSpecimen()) 16220 composeReference("specimen", e); 16221 } 16222 if (element.hasResult()) { 16223 for (Reference e : element.getResult()) 16224 composeReference("result", e); 16225 } 16226 if (element.hasImagingStudy()) { 16227 for (Reference e : element.getImagingStudy()) 16228 composeReference("imagingStudy", e); 16229 } 16230 if (element.hasImage()) { 16231 for (DiagnosticReport.DiagnosticReportImageComponent e : element.getImage()) 16232 composeDiagnosticReportDiagnosticReportImageComponent("image", e); 16233 } 16234 if (element.hasConclusionElement()) { 16235 composeString("conclusion", element.getConclusionElement()); 16236 } 16237 if (element.hasCodedDiagnosis()) { 16238 for (CodeableConcept e : element.getCodedDiagnosis()) 16239 composeCodeableConcept("codedDiagnosis", e); 16240 } 16241 if (element.hasPresentedForm()) { 16242 for (Attachment e : element.getPresentedForm()) 16243 composeAttachment("presentedForm", e); 16244 } 16245 composeElementClose(element); 16246 xml.exit(FHIR_NS, name); 16247 } 16248 } 16249 16250 protected void composeDiagnosticReportDiagnosticReportImageComponent(String name, 16251 DiagnosticReport.DiagnosticReportImageComponent element) throws IOException { 16252 if (element != null) { 16253 composeElementAttributes(element); 16254 xml.enter(FHIR_NS, name); 16255 composeBackboneElements(element); 16256 if (element.hasCommentElement()) { 16257 composeString("comment", element.getCommentElement()); 16258 } 16259 if (element.hasLink()) { 16260 composeReference("link", element.getLink()); 16261 } 16262 composeElementClose(element); 16263 xml.exit(FHIR_NS, name); 16264 } 16265 } 16266 16267 protected void composeDocumentManifest(String name, DocumentManifest element) throws IOException { 16268 if (element != null) { 16269 composeDomainResourceAttributes(element); 16270 xml.enter(FHIR_NS, name); 16271 composeDomainResourceElements(element); 16272 if (element.hasMasterIdentifier()) { 16273 composeIdentifier("masterIdentifier", element.getMasterIdentifier()); 16274 } 16275 if (element.hasIdentifier()) { 16276 for (Identifier e : element.getIdentifier()) 16277 composeIdentifier("identifier", e); 16278 } 16279 if (element.hasSubject()) { 16280 composeReference("subject", element.getSubject()); 16281 } 16282 if (element.hasRecipient()) { 16283 for (Reference e : element.getRecipient()) 16284 composeReference("recipient", e); 16285 } 16286 if (element.hasType()) { 16287 composeCodeableConcept("type", element.getType()); 16288 } 16289 if (element.hasAuthor()) { 16290 for (Reference e : element.getAuthor()) 16291 composeReference("author", e); 16292 } 16293 if (element.hasCreatedElement()) { 16294 composeDateTime("created", element.getCreatedElement()); 16295 } 16296 if (element.hasSourceElement()) { 16297 composeUri("source", element.getSourceElement()); 16298 } 16299 if (element.hasStatusElement()) 16300 composeEnumeration("status", element.getStatusElement(), new Enumerations.DocumentReferenceStatusEnumFactory()); 16301 if (element.hasDescriptionElement()) { 16302 composeString("description", element.getDescriptionElement()); 16303 } 16304 if (element.hasContent()) { 16305 for (DocumentManifest.DocumentManifestContentComponent e : element.getContent()) 16306 composeDocumentManifestDocumentManifestContentComponent("content", e); 16307 } 16308 if (element.hasRelated()) { 16309 for (DocumentManifest.DocumentManifestRelatedComponent e : element.getRelated()) 16310 composeDocumentManifestDocumentManifestRelatedComponent("related", e); 16311 } 16312 composeElementClose(element); 16313 xml.exit(FHIR_NS, name); 16314 } 16315 } 16316 16317 protected void composeDocumentManifestDocumentManifestContentComponent(String name, 16318 DocumentManifest.DocumentManifestContentComponent element) throws IOException { 16319 if (element != null) { 16320 composeElementAttributes(element); 16321 xml.enter(FHIR_NS, name); 16322 composeBackboneElements(element); 16323 if (element.hasP()) { 16324 composeType("p", element.getP()); 16325 } 16326 composeElementClose(element); 16327 xml.exit(FHIR_NS, name); 16328 } 16329 } 16330 16331 protected void composeDocumentManifestDocumentManifestRelatedComponent(String name, 16332 DocumentManifest.DocumentManifestRelatedComponent element) throws IOException { 16333 if (element != null) { 16334 composeElementAttributes(element); 16335 xml.enter(FHIR_NS, name); 16336 composeBackboneElements(element); 16337 if (element.hasIdentifier()) { 16338 composeIdentifier("identifier", element.getIdentifier()); 16339 } 16340 if (element.hasRef()) { 16341 composeReference("ref", element.getRef()); 16342 } 16343 composeElementClose(element); 16344 xml.exit(FHIR_NS, name); 16345 } 16346 } 16347 16348 protected void composeDocumentReference(String name, DocumentReference element) throws IOException { 16349 if (element != null) { 16350 composeDomainResourceAttributes(element); 16351 xml.enter(FHIR_NS, name); 16352 composeDomainResourceElements(element); 16353 if (element.hasMasterIdentifier()) { 16354 composeIdentifier("masterIdentifier", element.getMasterIdentifier()); 16355 } 16356 if (element.hasIdentifier()) { 16357 for (Identifier e : element.getIdentifier()) 16358 composeIdentifier("identifier", e); 16359 } 16360 if (element.hasSubject()) { 16361 composeReference("subject", element.getSubject()); 16362 } 16363 if (element.hasType()) { 16364 composeCodeableConcept("type", element.getType()); 16365 } 16366 if (element.hasClass_()) { 16367 composeCodeableConcept("class", element.getClass_()); 16368 } 16369 if (element.hasAuthor()) { 16370 for (Reference e : element.getAuthor()) 16371 composeReference("author", e); 16372 } 16373 if (element.hasCustodian()) { 16374 composeReference("custodian", element.getCustodian()); 16375 } 16376 if (element.hasAuthenticator()) { 16377 composeReference("authenticator", element.getAuthenticator()); 16378 } 16379 if (element.hasCreatedElement()) { 16380 composeDateTime("created", element.getCreatedElement()); 16381 } 16382 if (element.hasIndexedElement()) { 16383 composeInstant("indexed", element.getIndexedElement()); 16384 } 16385 if (element.hasStatusElement()) 16386 composeEnumeration("status", element.getStatusElement(), new Enumerations.DocumentReferenceStatusEnumFactory()); 16387 if (element.hasDocStatus()) { 16388 composeCodeableConcept("docStatus", element.getDocStatus()); 16389 } 16390 if (element.hasRelatesTo()) { 16391 for (DocumentReference.DocumentReferenceRelatesToComponent e : element.getRelatesTo()) 16392 composeDocumentReferenceDocumentReferenceRelatesToComponent("relatesTo", e); 16393 } 16394 if (element.hasDescriptionElement()) { 16395 composeString("description", element.getDescriptionElement()); 16396 } 16397 if (element.hasSecurityLabel()) { 16398 for (CodeableConcept e : element.getSecurityLabel()) 16399 composeCodeableConcept("securityLabel", e); 16400 } 16401 if (element.hasContent()) { 16402 for (DocumentReference.DocumentReferenceContentComponent e : element.getContent()) 16403 composeDocumentReferenceDocumentReferenceContentComponent("content", e); 16404 } 16405 if (element.hasContext()) { 16406 composeDocumentReferenceDocumentReferenceContextComponent("context", element.getContext()); 16407 } 16408 composeElementClose(element); 16409 xml.exit(FHIR_NS, name); 16410 } 16411 } 16412 16413 protected void composeDocumentReferenceDocumentReferenceRelatesToComponent(String name, 16414 DocumentReference.DocumentReferenceRelatesToComponent element) throws IOException { 16415 if (element != null) { 16416 composeElementAttributes(element); 16417 xml.enter(FHIR_NS, name); 16418 composeBackboneElements(element); 16419 if (element.hasCodeElement()) 16420 composeEnumeration("code", element.getCodeElement(), 16421 new DocumentReference.DocumentRelationshipTypeEnumFactory()); 16422 if (element.hasTarget()) { 16423 composeReference("target", element.getTarget()); 16424 } 16425 composeElementClose(element); 16426 xml.exit(FHIR_NS, name); 16427 } 16428 } 16429 16430 protected void composeDocumentReferenceDocumentReferenceContentComponent(String name, 16431 DocumentReference.DocumentReferenceContentComponent element) throws IOException { 16432 if (element != null) { 16433 composeElementAttributes(element); 16434 xml.enter(FHIR_NS, name); 16435 composeBackboneElements(element); 16436 if (element.hasAttachment()) { 16437 composeAttachment("attachment", element.getAttachment()); 16438 } 16439 if (element.hasFormat()) { 16440 for (Coding e : element.getFormat()) 16441 composeCoding("format", e); 16442 } 16443 composeElementClose(element); 16444 xml.exit(FHIR_NS, name); 16445 } 16446 } 16447 16448 protected void composeDocumentReferenceDocumentReferenceContextComponent(String name, 16449 DocumentReference.DocumentReferenceContextComponent element) throws IOException { 16450 if (element != null) { 16451 composeElementAttributes(element); 16452 xml.enter(FHIR_NS, name); 16453 composeBackboneElements(element); 16454 if (element.hasEncounter()) { 16455 composeReference("encounter", element.getEncounter()); 16456 } 16457 if (element.hasEvent()) { 16458 for (CodeableConcept e : element.getEvent()) 16459 composeCodeableConcept("event", e); 16460 } 16461 if (element.hasPeriod()) { 16462 composePeriod("period", element.getPeriod()); 16463 } 16464 if (element.hasFacilityType()) { 16465 composeCodeableConcept("facilityType", element.getFacilityType()); 16466 } 16467 if (element.hasPracticeSetting()) { 16468 composeCodeableConcept("practiceSetting", element.getPracticeSetting()); 16469 } 16470 if (element.hasSourcePatientInfo()) { 16471 composeReference("sourcePatientInfo", element.getSourcePatientInfo()); 16472 } 16473 if (element.hasRelated()) { 16474 for (DocumentReference.DocumentReferenceContextRelatedComponent e : element.getRelated()) 16475 composeDocumentReferenceDocumentReferenceContextRelatedComponent("related", e); 16476 } 16477 composeElementClose(element); 16478 xml.exit(FHIR_NS, name); 16479 } 16480 } 16481 16482 protected void composeDocumentReferenceDocumentReferenceContextRelatedComponent(String name, 16483 DocumentReference.DocumentReferenceContextRelatedComponent element) throws IOException { 16484 if (element != null) { 16485 composeElementAttributes(element); 16486 xml.enter(FHIR_NS, name); 16487 composeBackboneElements(element); 16488 if (element.hasIdentifier()) { 16489 composeIdentifier("identifier", element.getIdentifier()); 16490 } 16491 if (element.hasRef()) { 16492 composeReference("ref", element.getRef()); 16493 } 16494 composeElementClose(element); 16495 xml.exit(FHIR_NS, name); 16496 } 16497 } 16498 16499 protected void composeEligibilityRequest(String name, EligibilityRequest element) throws IOException { 16500 if (element != null) { 16501 composeDomainResourceAttributes(element); 16502 xml.enter(FHIR_NS, name); 16503 composeDomainResourceElements(element); 16504 if (element.hasIdentifier()) { 16505 for (Identifier e : element.getIdentifier()) 16506 composeIdentifier("identifier", e); 16507 } 16508 if (element.hasRuleset()) { 16509 composeCoding("ruleset", element.getRuleset()); 16510 } 16511 if (element.hasOriginalRuleset()) { 16512 composeCoding("originalRuleset", element.getOriginalRuleset()); 16513 } 16514 if (element.hasCreatedElement()) { 16515 composeDateTime("created", element.getCreatedElement()); 16516 } 16517 if (element.hasTarget()) { 16518 composeReference("target", element.getTarget()); 16519 } 16520 if (element.hasProvider()) { 16521 composeReference("provider", element.getProvider()); 16522 } 16523 if (element.hasOrganization()) { 16524 composeReference("organization", element.getOrganization()); 16525 } 16526 composeElementClose(element); 16527 xml.exit(FHIR_NS, name); 16528 } 16529 } 16530 16531 protected void composeEligibilityResponse(String name, EligibilityResponse element) throws IOException { 16532 if (element != null) { 16533 composeDomainResourceAttributes(element); 16534 xml.enter(FHIR_NS, name); 16535 composeDomainResourceElements(element); 16536 if (element.hasIdentifier()) { 16537 for (Identifier e : element.getIdentifier()) 16538 composeIdentifier("identifier", e); 16539 } 16540 if (element.hasRequest()) { 16541 composeReference("request", element.getRequest()); 16542 } 16543 if (element.hasOutcomeElement()) 16544 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 16545 if (element.hasDispositionElement()) { 16546 composeString("disposition", element.getDispositionElement()); 16547 } 16548 if (element.hasRuleset()) { 16549 composeCoding("ruleset", element.getRuleset()); 16550 } 16551 if (element.hasOriginalRuleset()) { 16552 composeCoding("originalRuleset", element.getOriginalRuleset()); 16553 } 16554 if (element.hasCreatedElement()) { 16555 composeDateTime("created", element.getCreatedElement()); 16556 } 16557 if (element.hasOrganization()) { 16558 composeReference("organization", element.getOrganization()); 16559 } 16560 if (element.hasRequestProvider()) { 16561 composeReference("requestProvider", element.getRequestProvider()); 16562 } 16563 if (element.hasRequestOrganization()) { 16564 composeReference("requestOrganization", element.getRequestOrganization()); 16565 } 16566 composeElementClose(element); 16567 xml.exit(FHIR_NS, name); 16568 } 16569 } 16570 16571 protected void composeEncounter(String name, Encounter element) throws IOException { 16572 if (element != null) { 16573 composeDomainResourceAttributes(element); 16574 xml.enter(FHIR_NS, name); 16575 composeDomainResourceElements(element); 16576 if (element.hasIdentifier()) { 16577 for (Identifier e : element.getIdentifier()) 16578 composeIdentifier("identifier", e); 16579 } 16580 if (element.hasStatusElement()) 16581 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterStateEnumFactory()); 16582 if (element.hasStatusHistory()) { 16583 for (Encounter.EncounterStatusHistoryComponent e : element.getStatusHistory()) 16584 composeEncounterEncounterStatusHistoryComponent("statusHistory", e); 16585 } 16586 if (element.hasClass_Element()) 16587 composeEnumeration("class", element.getClass_Element(), new Encounter.EncounterClassEnumFactory()); 16588 if (element.hasType()) { 16589 for (CodeableConcept e : element.getType()) 16590 composeCodeableConcept("type", e); 16591 } 16592 if (element.hasPriority()) { 16593 composeCodeableConcept("priority", element.getPriority()); 16594 } 16595 if (element.hasPatient()) { 16596 composeReference("patient", element.getPatient()); 16597 } 16598 if (element.hasEpisodeOfCare()) { 16599 for (Reference e : element.getEpisodeOfCare()) 16600 composeReference("episodeOfCare", e); 16601 } 16602 if (element.hasIncomingReferral()) { 16603 for (Reference e : element.getIncomingReferral()) 16604 composeReference("incomingReferral", e); 16605 } 16606 if (element.hasParticipant()) { 16607 for (Encounter.EncounterParticipantComponent e : element.getParticipant()) 16608 composeEncounterEncounterParticipantComponent("participant", e); 16609 } 16610 if (element.hasAppointment()) { 16611 composeReference("appointment", element.getAppointment()); 16612 } 16613 if (element.hasPeriod()) { 16614 composePeriod("period", element.getPeriod()); 16615 } 16616 if (element.hasLength()) { 16617 composeDuration("length", element.getLength()); 16618 } 16619 if (element.hasReason()) { 16620 for (CodeableConcept e : element.getReason()) 16621 composeCodeableConcept("reason", e); 16622 } 16623 if (element.hasIndication()) { 16624 for (Reference e : element.getIndication()) 16625 composeReference("indication", e); 16626 } 16627 if (element.hasHospitalization()) { 16628 composeEncounterEncounterHospitalizationComponent("hospitalization", element.getHospitalization()); 16629 } 16630 if (element.hasLocation()) { 16631 for (Encounter.EncounterLocationComponent e : element.getLocation()) 16632 composeEncounterEncounterLocationComponent("location", e); 16633 } 16634 if (element.hasServiceProvider()) { 16635 composeReference("serviceProvider", element.getServiceProvider()); 16636 } 16637 if (element.hasPartOf()) { 16638 composeReference("partOf", element.getPartOf()); 16639 } 16640 composeElementClose(element); 16641 xml.exit(FHIR_NS, name); 16642 } 16643 } 16644 16645 protected void composeEncounterEncounterStatusHistoryComponent(String name, 16646 Encounter.EncounterStatusHistoryComponent element) throws IOException { 16647 if (element != null) { 16648 composeElementAttributes(element); 16649 xml.enter(FHIR_NS, name); 16650 composeBackboneElements(element); 16651 if (element.hasStatusElement()) 16652 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterStateEnumFactory()); 16653 if (element.hasPeriod()) { 16654 composePeriod("period", element.getPeriod()); 16655 } 16656 composeElementClose(element); 16657 xml.exit(FHIR_NS, name); 16658 } 16659 } 16660 16661 protected void composeEncounterEncounterParticipantComponent(String name, 16662 Encounter.EncounterParticipantComponent element) throws IOException { 16663 if (element != null) { 16664 composeElementAttributes(element); 16665 xml.enter(FHIR_NS, name); 16666 composeBackboneElements(element); 16667 if (element.hasType()) { 16668 for (CodeableConcept e : element.getType()) 16669 composeCodeableConcept("type", e); 16670 } 16671 if (element.hasPeriod()) { 16672 composePeriod("period", element.getPeriod()); 16673 } 16674 if (element.hasIndividual()) { 16675 composeReference("individual", element.getIndividual()); 16676 } 16677 composeElementClose(element); 16678 xml.exit(FHIR_NS, name); 16679 } 16680 } 16681 16682 protected void composeEncounterEncounterHospitalizationComponent(String name, 16683 Encounter.EncounterHospitalizationComponent element) throws IOException { 16684 if (element != null) { 16685 composeElementAttributes(element); 16686 xml.enter(FHIR_NS, name); 16687 composeBackboneElements(element); 16688 if (element.hasPreAdmissionIdentifier()) { 16689 composeIdentifier("preAdmissionIdentifier", element.getPreAdmissionIdentifier()); 16690 } 16691 if (element.hasOrigin()) { 16692 composeReference("origin", element.getOrigin()); 16693 } 16694 if (element.hasAdmitSource()) { 16695 composeCodeableConcept("admitSource", element.getAdmitSource()); 16696 } 16697 if (element.hasAdmittingDiagnosis()) { 16698 for (Reference e : element.getAdmittingDiagnosis()) 16699 composeReference("admittingDiagnosis", e); 16700 } 16701 if (element.hasReAdmission()) { 16702 composeCodeableConcept("reAdmission", element.getReAdmission()); 16703 } 16704 if (element.hasDietPreference()) { 16705 for (CodeableConcept e : element.getDietPreference()) 16706 composeCodeableConcept("dietPreference", e); 16707 } 16708 if (element.hasSpecialCourtesy()) { 16709 for (CodeableConcept e : element.getSpecialCourtesy()) 16710 composeCodeableConcept("specialCourtesy", e); 16711 } 16712 if (element.hasSpecialArrangement()) { 16713 for (CodeableConcept e : element.getSpecialArrangement()) 16714 composeCodeableConcept("specialArrangement", e); 16715 } 16716 if (element.hasDestination()) { 16717 composeReference("destination", element.getDestination()); 16718 } 16719 if (element.hasDischargeDisposition()) { 16720 composeCodeableConcept("dischargeDisposition", element.getDischargeDisposition()); 16721 } 16722 if (element.hasDischargeDiagnosis()) { 16723 for (Reference e : element.getDischargeDiagnosis()) 16724 composeReference("dischargeDiagnosis", e); 16725 } 16726 composeElementClose(element); 16727 xml.exit(FHIR_NS, name); 16728 } 16729 } 16730 16731 protected void composeEncounterEncounterLocationComponent(String name, Encounter.EncounterLocationComponent element) 16732 throws IOException { 16733 if (element != null) { 16734 composeElementAttributes(element); 16735 xml.enter(FHIR_NS, name); 16736 composeBackboneElements(element); 16737 if (element.hasLocation()) { 16738 composeReference("location", element.getLocation()); 16739 } 16740 if (element.hasStatusElement()) 16741 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterLocationStatusEnumFactory()); 16742 if (element.hasPeriod()) { 16743 composePeriod("period", element.getPeriod()); 16744 } 16745 composeElementClose(element); 16746 xml.exit(FHIR_NS, name); 16747 } 16748 } 16749 16750 protected void composeEnrollmentRequest(String name, EnrollmentRequest element) throws IOException { 16751 if (element != null) { 16752 composeDomainResourceAttributes(element); 16753 xml.enter(FHIR_NS, name); 16754 composeDomainResourceElements(element); 16755 if (element.hasIdentifier()) { 16756 for (Identifier e : element.getIdentifier()) 16757 composeIdentifier("identifier", e); 16758 } 16759 if (element.hasRuleset()) { 16760 composeCoding("ruleset", element.getRuleset()); 16761 } 16762 if (element.hasOriginalRuleset()) { 16763 composeCoding("originalRuleset", element.getOriginalRuleset()); 16764 } 16765 if (element.hasCreatedElement()) { 16766 composeDateTime("created", element.getCreatedElement()); 16767 } 16768 if (element.hasTarget()) { 16769 composeReference("target", element.getTarget()); 16770 } 16771 if (element.hasProvider()) { 16772 composeReference("provider", element.getProvider()); 16773 } 16774 if (element.hasOrganization()) { 16775 composeReference("organization", element.getOrganization()); 16776 } 16777 if (element.hasSubject()) { 16778 composeReference("subject", element.getSubject()); 16779 } 16780 if (element.hasCoverage()) { 16781 composeReference("coverage", element.getCoverage()); 16782 } 16783 if (element.hasRelationship()) { 16784 composeCoding("relationship", element.getRelationship()); 16785 } 16786 composeElementClose(element); 16787 xml.exit(FHIR_NS, name); 16788 } 16789 } 16790 16791 protected void composeEnrollmentResponse(String name, EnrollmentResponse element) throws IOException { 16792 if (element != null) { 16793 composeDomainResourceAttributes(element); 16794 xml.enter(FHIR_NS, name); 16795 composeDomainResourceElements(element); 16796 if (element.hasIdentifier()) { 16797 for (Identifier e : element.getIdentifier()) 16798 composeIdentifier("identifier", e); 16799 } 16800 if (element.hasRequest()) { 16801 composeReference("request", element.getRequest()); 16802 } 16803 if (element.hasOutcomeElement()) 16804 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 16805 if (element.hasDispositionElement()) { 16806 composeString("disposition", element.getDispositionElement()); 16807 } 16808 if (element.hasRuleset()) { 16809 composeCoding("ruleset", element.getRuleset()); 16810 } 16811 if (element.hasOriginalRuleset()) { 16812 composeCoding("originalRuleset", element.getOriginalRuleset()); 16813 } 16814 if (element.hasCreatedElement()) { 16815 composeDateTime("created", element.getCreatedElement()); 16816 } 16817 if (element.hasOrganization()) { 16818 composeReference("organization", element.getOrganization()); 16819 } 16820 if (element.hasRequestProvider()) { 16821 composeReference("requestProvider", element.getRequestProvider()); 16822 } 16823 if (element.hasRequestOrganization()) { 16824 composeReference("requestOrganization", element.getRequestOrganization()); 16825 } 16826 composeElementClose(element); 16827 xml.exit(FHIR_NS, name); 16828 } 16829 } 16830 16831 protected void composeEpisodeOfCare(String name, EpisodeOfCare element) throws IOException { 16832 if (element != null) { 16833 composeDomainResourceAttributes(element); 16834 xml.enter(FHIR_NS, name); 16835 composeDomainResourceElements(element); 16836 if (element.hasIdentifier()) { 16837 for (Identifier e : element.getIdentifier()) 16838 composeIdentifier("identifier", e); 16839 } 16840 if (element.hasStatusElement()) 16841 composeEnumeration("status", element.getStatusElement(), new EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 16842 if (element.hasStatusHistory()) { 16843 for (EpisodeOfCare.EpisodeOfCareStatusHistoryComponent e : element.getStatusHistory()) 16844 composeEpisodeOfCareEpisodeOfCareStatusHistoryComponent("statusHistory", e); 16845 } 16846 if (element.hasType()) { 16847 for (CodeableConcept e : element.getType()) 16848 composeCodeableConcept("type", e); 16849 } 16850 if (element.hasCondition()) { 16851 for (Reference e : element.getCondition()) 16852 composeReference("condition", e); 16853 } 16854 if (element.hasPatient()) { 16855 composeReference("patient", element.getPatient()); 16856 } 16857 if (element.hasManagingOrganization()) { 16858 composeReference("managingOrganization", element.getManagingOrganization()); 16859 } 16860 if (element.hasPeriod()) { 16861 composePeriod("period", element.getPeriod()); 16862 } 16863 if (element.hasReferralRequest()) { 16864 for (Reference e : element.getReferralRequest()) 16865 composeReference("referralRequest", e); 16866 } 16867 if (element.hasCareManager()) { 16868 composeReference("careManager", element.getCareManager()); 16869 } 16870 if (element.hasCareTeam()) { 16871 for (EpisodeOfCare.EpisodeOfCareCareTeamComponent e : element.getCareTeam()) 16872 composeEpisodeOfCareEpisodeOfCareCareTeamComponent("careTeam", e); 16873 } 16874 composeElementClose(element); 16875 xml.exit(FHIR_NS, name); 16876 } 16877 } 16878 16879 protected void composeEpisodeOfCareEpisodeOfCareStatusHistoryComponent(String name, 16880 EpisodeOfCare.EpisodeOfCareStatusHistoryComponent element) throws IOException { 16881 if (element != null) { 16882 composeElementAttributes(element); 16883 xml.enter(FHIR_NS, name); 16884 composeBackboneElements(element); 16885 if (element.hasStatusElement()) 16886 composeEnumeration("status", element.getStatusElement(), new EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 16887 if (element.hasPeriod()) { 16888 composePeriod("period", element.getPeriod()); 16889 } 16890 composeElementClose(element); 16891 xml.exit(FHIR_NS, name); 16892 } 16893 } 16894 16895 protected void composeEpisodeOfCareEpisodeOfCareCareTeamComponent(String name, 16896 EpisodeOfCare.EpisodeOfCareCareTeamComponent element) throws IOException { 16897 if (element != null) { 16898 composeElementAttributes(element); 16899 xml.enter(FHIR_NS, name); 16900 composeBackboneElements(element); 16901 if (element.hasRole()) { 16902 for (CodeableConcept e : element.getRole()) 16903 composeCodeableConcept("role", e); 16904 } 16905 if (element.hasPeriod()) { 16906 composePeriod("period", element.getPeriod()); 16907 } 16908 if (element.hasMember()) { 16909 composeReference("member", element.getMember()); 16910 } 16911 composeElementClose(element); 16912 xml.exit(FHIR_NS, name); 16913 } 16914 } 16915 16916 protected void composeExplanationOfBenefit(String name, ExplanationOfBenefit element) throws IOException { 16917 if (element != null) { 16918 composeDomainResourceAttributes(element); 16919 xml.enter(FHIR_NS, name); 16920 composeDomainResourceElements(element); 16921 if (element.hasIdentifier()) { 16922 for (Identifier e : element.getIdentifier()) 16923 composeIdentifier("identifier", e); 16924 } 16925 if (element.hasRequest()) { 16926 composeReference("request", element.getRequest()); 16927 } 16928 if (element.hasOutcomeElement()) 16929 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 16930 if (element.hasDispositionElement()) { 16931 composeString("disposition", element.getDispositionElement()); 16932 } 16933 if (element.hasRuleset()) { 16934 composeCoding("ruleset", element.getRuleset()); 16935 } 16936 if (element.hasOriginalRuleset()) { 16937 composeCoding("originalRuleset", element.getOriginalRuleset()); 16938 } 16939 if (element.hasCreatedElement()) { 16940 composeDateTime("created", element.getCreatedElement()); 16941 } 16942 if (element.hasOrganization()) { 16943 composeReference("organization", element.getOrganization()); 16944 } 16945 if (element.hasRequestProvider()) { 16946 composeReference("requestProvider", element.getRequestProvider()); 16947 } 16948 if (element.hasRequestOrganization()) { 16949 composeReference("requestOrganization", element.getRequestOrganization()); 16950 } 16951 composeElementClose(element); 16952 xml.exit(FHIR_NS, name); 16953 } 16954 } 16955 16956 protected void composeFamilyMemberHistory(String name, FamilyMemberHistory element) throws IOException { 16957 if (element != null) { 16958 composeDomainResourceAttributes(element); 16959 xml.enter(FHIR_NS, name); 16960 composeDomainResourceElements(element); 16961 if (element.hasIdentifier()) { 16962 for (Identifier e : element.getIdentifier()) 16963 composeIdentifier("identifier", e); 16964 } 16965 if (element.hasPatient()) { 16966 composeReference("patient", element.getPatient()); 16967 } 16968 if (element.hasDateElement()) { 16969 composeDateTime("date", element.getDateElement()); 16970 } 16971 if (element.hasStatusElement()) 16972 composeEnumeration("status", element.getStatusElement(), 16973 new FamilyMemberHistory.FamilyHistoryStatusEnumFactory()); 16974 if (element.hasNameElement()) { 16975 composeString("name", element.getNameElement()); 16976 } 16977 if (element.hasRelationship()) { 16978 composeCodeableConcept("relationship", element.getRelationship()); 16979 } 16980 if (element.hasGenderElement()) 16981 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 16982 if (element.hasBorn()) { 16983 composeType("born", element.getBorn()); 16984 } 16985 if (element.hasAge()) { 16986 composeType("age", element.getAge()); 16987 } 16988 if (element.hasDeceased()) { 16989 composeType("deceased", element.getDeceased()); 16990 } 16991 if (element.hasNote()) { 16992 composeAnnotation("note", element.getNote()); 16993 } 16994 if (element.hasCondition()) { 16995 for (FamilyMemberHistory.FamilyMemberHistoryConditionComponent e : element.getCondition()) 16996 composeFamilyMemberHistoryFamilyMemberHistoryConditionComponent("condition", e); 16997 } 16998 composeElementClose(element); 16999 xml.exit(FHIR_NS, name); 17000 } 17001 } 17002 17003 protected void composeFamilyMemberHistoryFamilyMemberHistoryConditionComponent(String name, 17004 FamilyMemberHistory.FamilyMemberHistoryConditionComponent element) throws IOException { 17005 if (element != null) { 17006 composeElementAttributes(element); 17007 xml.enter(FHIR_NS, name); 17008 composeBackboneElements(element); 17009 if (element.hasCode()) { 17010 composeCodeableConcept("code", element.getCode()); 17011 } 17012 if (element.hasOutcome()) { 17013 composeCodeableConcept("outcome", element.getOutcome()); 17014 } 17015 if (element.hasOnset()) { 17016 composeType("onset", element.getOnset()); 17017 } 17018 if (element.hasNote()) { 17019 composeAnnotation("note", element.getNote()); 17020 } 17021 composeElementClose(element); 17022 xml.exit(FHIR_NS, name); 17023 } 17024 } 17025 17026 protected void composeFlag(String name, Flag element) throws IOException { 17027 if (element != null) { 17028 composeDomainResourceAttributes(element); 17029 xml.enter(FHIR_NS, name); 17030 composeDomainResourceElements(element); 17031 if (element.hasIdentifier()) { 17032 for (Identifier e : element.getIdentifier()) 17033 composeIdentifier("identifier", e); 17034 } 17035 if (element.hasCategory()) { 17036 composeCodeableConcept("category", element.getCategory()); 17037 } 17038 if (element.hasStatusElement()) 17039 composeEnumeration("status", element.getStatusElement(), new Flag.FlagStatusEnumFactory()); 17040 if (element.hasPeriod()) { 17041 composePeriod("period", element.getPeriod()); 17042 } 17043 if (element.hasSubject()) { 17044 composeReference("subject", element.getSubject()); 17045 } 17046 if (element.hasEncounter()) { 17047 composeReference("encounter", element.getEncounter()); 17048 } 17049 if (element.hasAuthor()) { 17050 composeReference("author", element.getAuthor()); 17051 } 17052 if (element.hasCode()) { 17053 composeCodeableConcept("code", element.getCode()); 17054 } 17055 composeElementClose(element); 17056 xml.exit(FHIR_NS, name); 17057 } 17058 } 17059 17060 protected void composeGoal(String name, Goal element) throws IOException { 17061 if (element != null) { 17062 composeDomainResourceAttributes(element); 17063 xml.enter(FHIR_NS, name); 17064 composeDomainResourceElements(element); 17065 if (element.hasIdentifier()) { 17066 for (Identifier e : element.getIdentifier()) 17067 composeIdentifier("identifier", e); 17068 } 17069 if (element.hasSubject()) { 17070 composeReference("subject", element.getSubject()); 17071 } 17072 if (element.hasStart()) { 17073 composeType("start", element.getStart()); 17074 } 17075 if (element.hasTarget()) { 17076 composeType("target", element.getTarget()); 17077 } 17078 if (element.hasCategory()) { 17079 for (CodeableConcept e : element.getCategory()) 17080 composeCodeableConcept("category", e); 17081 } 17082 if (element.hasDescriptionElement()) { 17083 composeString("description", element.getDescriptionElement()); 17084 } 17085 if (element.hasStatusElement()) 17086 composeEnumeration("status", element.getStatusElement(), new Goal.GoalStatusEnumFactory()); 17087 if (element.hasStatusDateElement()) { 17088 composeDate("statusDate", element.getStatusDateElement()); 17089 } 17090 if (element.hasStatusReason()) { 17091 composeCodeableConcept("statusReason", element.getStatusReason()); 17092 } 17093 if (element.hasAuthor()) { 17094 composeReference("author", element.getAuthor()); 17095 } 17096 if (element.hasPriority()) { 17097 composeCodeableConcept("priority", element.getPriority()); 17098 } 17099 if (element.hasAddresses()) { 17100 for (Reference e : element.getAddresses()) 17101 composeReference("addresses", e); 17102 } 17103 if (element.hasNote()) { 17104 for (Annotation e : element.getNote()) 17105 composeAnnotation("note", e); 17106 } 17107 if (element.hasOutcome()) { 17108 for (Goal.GoalOutcomeComponent e : element.getOutcome()) 17109 composeGoalGoalOutcomeComponent("outcome", e); 17110 } 17111 composeElementClose(element); 17112 xml.exit(FHIR_NS, name); 17113 } 17114 } 17115 17116 protected void composeGoalGoalOutcomeComponent(String name, Goal.GoalOutcomeComponent element) throws IOException { 17117 if (element != null) { 17118 composeElementAttributes(element); 17119 xml.enter(FHIR_NS, name); 17120 composeBackboneElements(element); 17121 if (element.hasResult()) { 17122 composeType("result", element.getResult()); 17123 } 17124 composeElementClose(element); 17125 xml.exit(FHIR_NS, name); 17126 } 17127 } 17128 17129 protected void composeGroup(String name, Group element) throws IOException { 17130 if (element != null) { 17131 composeDomainResourceAttributes(element); 17132 xml.enter(FHIR_NS, name); 17133 composeDomainResourceElements(element); 17134 if (element.hasIdentifier()) { 17135 for (Identifier e : element.getIdentifier()) 17136 composeIdentifier("identifier", e); 17137 } 17138 if (element.hasTypeElement()) 17139 composeEnumeration("type", element.getTypeElement(), new Group.GroupTypeEnumFactory()); 17140 if (element.hasActualElement()) { 17141 composeBoolean("actual", element.getActualElement()); 17142 } 17143 if (element.hasCode()) { 17144 composeCodeableConcept("code", element.getCode()); 17145 } 17146 if (element.hasNameElement()) { 17147 composeString("name", element.getNameElement()); 17148 } 17149 if (element.hasQuantityElement()) { 17150 composeUnsignedInt("quantity", element.getQuantityElement()); 17151 } 17152 if (element.hasCharacteristic()) { 17153 for (Group.GroupCharacteristicComponent e : element.getCharacteristic()) 17154 composeGroupGroupCharacteristicComponent("characteristic", e); 17155 } 17156 if (element.hasMember()) { 17157 for (Group.GroupMemberComponent e : element.getMember()) 17158 composeGroupGroupMemberComponent("member", e); 17159 } 17160 composeElementClose(element); 17161 xml.exit(FHIR_NS, name); 17162 } 17163 } 17164 17165 protected void composeGroupGroupCharacteristicComponent(String name, Group.GroupCharacteristicComponent element) 17166 throws IOException { 17167 if (element != null) { 17168 composeElementAttributes(element); 17169 xml.enter(FHIR_NS, name); 17170 composeBackboneElements(element); 17171 if (element.hasCode()) { 17172 composeCodeableConcept("code", element.getCode()); 17173 } 17174 if (element.hasValue()) { 17175 composeType("value", element.getValue()); 17176 } 17177 if (element.hasExcludeElement()) { 17178 composeBoolean("exclude", element.getExcludeElement()); 17179 } 17180 if (element.hasPeriod()) { 17181 composePeriod("period", element.getPeriod()); 17182 } 17183 composeElementClose(element); 17184 xml.exit(FHIR_NS, name); 17185 } 17186 } 17187 17188 protected void composeGroupGroupMemberComponent(String name, Group.GroupMemberComponent element) throws IOException { 17189 if (element != null) { 17190 composeElementAttributes(element); 17191 xml.enter(FHIR_NS, name); 17192 composeBackboneElements(element); 17193 if (element.hasEntity()) { 17194 composeReference("entity", element.getEntity()); 17195 } 17196 if (element.hasPeriod()) { 17197 composePeriod("period", element.getPeriod()); 17198 } 17199 if (element.hasInactiveElement()) { 17200 composeBoolean("inactive", element.getInactiveElement()); 17201 } 17202 composeElementClose(element); 17203 xml.exit(FHIR_NS, name); 17204 } 17205 } 17206 17207 protected void composeHealthcareService(String name, HealthcareService element) throws IOException { 17208 if (element != null) { 17209 composeDomainResourceAttributes(element); 17210 xml.enter(FHIR_NS, name); 17211 composeDomainResourceElements(element); 17212 if (element.hasIdentifier()) { 17213 for (Identifier e : element.getIdentifier()) 17214 composeIdentifier("identifier", e); 17215 } 17216 if (element.hasProvidedBy()) { 17217 composeReference("providedBy", element.getProvidedBy()); 17218 } 17219 if (element.hasServiceCategory()) { 17220 composeCodeableConcept("serviceCategory", element.getServiceCategory()); 17221 } 17222 if (element.hasServiceType()) { 17223 for (HealthcareService.ServiceTypeComponent e : element.getServiceType()) 17224 composeHealthcareServiceServiceTypeComponent("serviceType", e); 17225 } 17226 if (element.hasLocation()) { 17227 composeReference("location", element.getLocation()); 17228 } 17229 if (element.hasServiceNameElement()) { 17230 composeString("serviceName", element.getServiceNameElement()); 17231 } 17232 if (element.hasCommentElement()) { 17233 composeString("comment", element.getCommentElement()); 17234 } 17235 if (element.hasExtraDetailsElement()) { 17236 composeString("extraDetails", element.getExtraDetailsElement()); 17237 } 17238 if (element.hasPhoto()) { 17239 composeAttachment("photo", element.getPhoto()); 17240 } 17241 if (element.hasTelecom()) { 17242 for (ContactPoint e : element.getTelecom()) 17243 composeContactPoint("telecom", e); 17244 } 17245 if (element.hasCoverageArea()) { 17246 for (Reference e : element.getCoverageArea()) 17247 composeReference("coverageArea", e); 17248 } 17249 if (element.hasServiceProvisionCode()) { 17250 for (CodeableConcept e : element.getServiceProvisionCode()) 17251 composeCodeableConcept("serviceProvisionCode", e); 17252 } 17253 if (element.hasEligibility()) { 17254 composeCodeableConcept("eligibility", element.getEligibility()); 17255 } 17256 if (element.hasEligibilityNoteElement()) { 17257 composeString("eligibilityNote", element.getEligibilityNoteElement()); 17258 } 17259 if (element.hasProgramName()) { 17260 for (StringType e : element.getProgramName()) 17261 composeString("programName", e); 17262 } 17263 if (element.hasCharacteristic()) { 17264 for (CodeableConcept e : element.getCharacteristic()) 17265 composeCodeableConcept("characteristic", e); 17266 } 17267 if (element.hasReferralMethod()) { 17268 for (CodeableConcept e : element.getReferralMethod()) 17269 composeCodeableConcept("referralMethod", e); 17270 } 17271 if (element.hasPublicKeyElement()) { 17272 composeString("publicKey", element.getPublicKeyElement()); 17273 } 17274 if (element.hasAppointmentRequiredElement()) { 17275 composeBoolean("appointmentRequired", element.getAppointmentRequiredElement()); 17276 } 17277 if (element.hasAvailableTime()) { 17278 for (HealthcareService.HealthcareServiceAvailableTimeComponent e : element.getAvailableTime()) 17279 composeHealthcareServiceHealthcareServiceAvailableTimeComponent("availableTime", e); 17280 } 17281 if (element.hasNotAvailable()) { 17282 for (HealthcareService.HealthcareServiceNotAvailableComponent e : element.getNotAvailable()) 17283 composeHealthcareServiceHealthcareServiceNotAvailableComponent("notAvailable", e); 17284 } 17285 if (element.hasAvailabilityExceptionsElement()) { 17286 composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); 17287 } 17288 composeElementClose(element); 17289 xml.exit(FHIR_NS, name); 17290 } 17291 } 17292 17293 protected void composeHealthcareServiceServiceTypeComponent(String name, 17294 HealthcareService.ServiceTypeComponent element) throws IOException { 17295 if (element != null) { 17296 composeElementAttributes(element); 17297 xml.enter(FHIR_NS, name); 17298 composeBackboneElements(element); 17299 if (element.hasType()) { 17300 composeCodeableConcept("type", element.getType()); 17301 } 17302 if (element.hasSpecialty()) { 17303 for (CodeableConcept e : element.getSpecialty()) 17304 composeCodeableConcept("specialty", e); 17305 } 17306 composeElementClose(element); 17307 xml.exit(FHIR_NS, name); 17308 } 17309 } 17310 17311 protected void composeHealthcareServiceHealthcareServiceAvailableTimeComponent(String name, 17312 HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { 17313 if (element != null) { 17314 composeElementAttributes(element); 17315 xml.enter(FHIR_NS, name); 17316 composeBackboneElements(element); 17317 if (element.hasDaysOfWeek()) 17318 for (Enumeration<HealthcareService.DaysOfWeek> e : element.getDaysOfWeek()) 17319 composeEnumeration("daysOfWeek", e, new HealthcareService.DaysOfWeekEnumFactory()); 17320 if (element.hasAllDayElement()) { 17321 composeBoolean("allDay", element.getAllDayElement()); 17322 } 17323 if (element.hasAvailableStartTimeElement()) { 17324 composeTime("availableStartTime", element.getAvailableStartTimeElement()); 17325 } 17326 if (element.hasAvailableEndTimeElement()) { 17327 composeTime("availableEndTime", element.getAvailableEndTimeElement()); 17328 } 17329 composeElementClose(element); 17330 xml.exit(FHIR_NS, name); 17331 } 17332 } 17333 17334 protected void composeHealthcareServiceHealthcareServiceNotAvailableComponent(String name, 17335 HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { 17336 if (element != null) { 17337 composeElementAttributes(element); 17338 xml.enter(FHIR_NS, name); 17339 composeBackboneElements(element); 17340 if (element.hasDescriptionElement()) { 17341 composeString("description", element.getDescriptionElement()); 17342 } 17343 if (element.hasDuring()) { 17344 composePeriod("during", element.getDuring()); 17345 } 17346 composeElementClose(element); 17347 xml.exit(FHIR_NS, name); 17348 } 17349 } 17350 17351 protected void composeImagingObjectSelection(String name, ImagingObjectSelection element) throws IOException { 17352 if (element != null) { 17353 composeDomainResourceAttributes(element); 17354 xml.enter(FHIR_NS, name); 17355 composeDomainResourceElements(element); 17356 if (element.hasUidElement()) { 17357 composeOid("uid", element.getUidElement()); 17358 } 17359 if (element.hasPatient()) { 17360 composeReference("patient", element.getPatient()); 17361 } 17362 if (element.hasTitle()) { 17363 composeCodeableConcept("title", element.getTitle()); 17364 } 17365 if (element.hasDescriptionElement()) { 17366 composeString("description", element.getDescriptionElement()); 17367 } 17368 if (element.hasAuthor()) { 17369 composeReference("author", element.getAuthor()); 17370 } 17371 if (element.hasAuthoringTimeElement()) { 17372 composeDateTime("authoringTime", element.getAuthoringTimeElement()); 17373 } 17374 if (element.hasStudy()) { 17375 for (ImagingObjectSelection.StudyComponent e : element.getStudy()) 17376 composeImagingObjectSelectionStudyComponent("study", e); 17377 } 17378 composeElementClose(element); 17379 xml.exit(FHIR_NS, name); 17380 } 17381 } 17382 17383 protected void composeImagingObjectSelectionStudyComponent(String name, ImagingObjectSelection.StudyComponent element) 17384 throws IOException { 17385 if (element != null) { 17386 composeElementAttributes(element); 17387 xml.enter(FHIR_NS, name); 17388 composeBackboneElements(element); 17389 if (element.hasUidElement()) { 17390 composeOid("uid", element.getUidElement()); 17391 } 17392 if (element.hasUrlElement()) { 17393 composeUri("url", element.getUrlElement()); 17394 } 17395 if (element.hasImagingStudy()) { 17396 composeReference("imagingStudy", element.getImagingStudy()); 17397 } 17398 if (element.hasSeries()) { 17399 for (ImagingObjectSelection.SeriesComponent e : element.getSeries()) 17400 composeImagingObjectSelectionSeriesComponent("series", e); 17401 } 17402 composeElementClose(element); 17403 xml.exit(FHIR_NS, name); 17404 } 17405 } 17406 17407 protected void composeImagingObjectSelectionSeriesComponent(String name, 17408 ImagingObjectSelection.SeriesComponent element) throws IOException { 17409 if (element != null) { 17410 composeElementAttributes(element); 17411 xml.enter(FHIR_NS, name); 17412 composeBackboneElements(element); 17413 if (element.hasUidElement()) { 17414 composeOid("uid", element.getUidElement()); 17415 } 17416 if (element.hasUrlElement()) { 17417 composeUri("url", element.getUrlElement()); 17418 } 17419 if (element.hasInstance()) { 17420 for (ImagingObjectSelection.InstanceComponent e : element.getInstance()) 17421 composeImagingObjectSelectionInstanceComponent("instance", e); 17422 } 17423 composeElementClose(element); 17424 xml.exit(FHIR_NS, name); 17425 } 17426 } 17427 17428 protected void composeImagingObjectSelectionInstanceComponent(String name, 17429 ImagingObjectSelection.InstanceComponent element) throws IOException { 17430 if (element != null) { 17431 composeElementAttributes(element); 17432 xml.enter(FHIR_NS, name); 17433 composeBackboneElements(element); 17434 if (element.hasSopClassElement()) { 17435 composeOid("sopClass", element.getSopClassElement()); 17436 } 17437 if (element.hasUidElement()) { 17438 composeOid("uid", element.getUidElement()); 17439 } 17440 if (element.hasUrlElement()) { 17441 composeUri("url", element.getUrlElement()); 17442 } 17443 if (element.hasFrames()) { 17444 for (ImagingObjectSelection.FramesComponent e : element.getFrames()) 17445 composeImagingObjectSelectionFramesComponent("frames", e); 17446 } 17447 composeElementClose(element); 17448 xml.exit(FHIR_NS, name); 17449 } 17450 } 17451 17452 protected void composeImagingObjectSelectionFramesComponent(String name, 17453 ImagingObjectSelection.FramesComponent element) throws IOException { 17454 if (element != null) { 17455 composeElementAttributes(element); 17456 xml.enter(FHIR_NS, name); 17457 composeBackboneElements(element); 17458 if (element.hasFrameNumbers()) { 17459 for (UnsignedIntType e : element.getFrameNumbers()) 17460 composeUnsignedInt("frameNumbers", e); 17461 } 17462 if (element.hasUrlElement()) { 17463 composeUri("url", element.getUrlElement()); 17464 } 17465 composeElementClose(element); 17466 xml.exit(FHIR_NS, name); 17467 } 17468 } 17469 17470 protected void composeImagingStudy(String name, ImagingStudy element) throws IOException { 17471 if (element != null) { 17472 composeDomainResourceAttributes(element); 17473 xml.enter(FHIR_NS, name); 17474 composeDomainResourceElements(element); 17475 if (element.hasStartedElement()) { 17476 composeDateTime("started", element.getStartedElement()); 17477 } 17478 if (element.hasPatient()) { 17479 composeReference("patient", element.getPatient()); 17480 } 17481 if (element.hasUidElement()) { 17482 composeOid("uid", element.getUidElement()); 17483 } 17484 if (element.hasAccession()) { 17485 composeIdentifier("accession", element.getAccession()); 17486 } 17487 if (element.hasIdentifier()) { 17488 for (Identifier e : element.getIdentifier()) 17489 composeIdentifier("identifier", e); 17490 } 17491 if (element.hasOrder()) { 17492 for (Reference e : element.getOrder()) 17493 composeReference("order", e); 17494 } 17495 if (element.hasModalityList()) { 17496 for (Coding e : element.getModalityList()) 17497 composeCoding("modalityList", e); 17498 } 17499 if (element.hasReferrer()) { 17500 composeReference("referrer", element.getReferrer()); 17501 } 17502 if (element.hasAvailabilityElement()) 17503 composeEnumeration("availability", element.getAvailabilityElement(), 17504 new ImagingStudy.InstanceAvailabilityEnumFactory()); 17505 if (element.hasUrlElement()) { 17506 composeUri("url", element.getUrlElement()); 17507 } 17508 if (element.hasNumberOfSeriesElement()) { 17509 composeUnsignedInt("numberOfSeries", element.getNumberOfSeriesElement()); 17510 } 17511 if (element.hasNumberOfInstancesElement()) { 17512 composeUnsignedInt("numberOfInstances", element.getNumberOfInstancesElement()); 17513 } 17514 if (element.hasProcedure()) { 17515 for (Reference e : element.getProcedure()) 17516 composeReference("procedure", e); 17517 } 17518 if (element.hasInterpreter()) { 17519 composeReference("interpreter", element.getInterpreter()); 17520 } 17521 if (element.hasDescriptionElement()) { 17522 composeString("description", element.getDescriptionElement()); 17523 } 17524 if (element.hasSeries()) { 17525 for (ImagingStudy.ImagingStudySeriesComponent e : element.getSeries()) 17526 composeImagingStudyImagingStudySeriesComponent("series", e); 17527 } 17528 composeElementClose(element); 17529 xml.exit(FHIR_NS, name); 17530 } 17531 } 17532 17533 protected void composeImagingStudyImagingStudySeriesComponent(String name, 17534 ImagingStudy.ImagingStudySeriesComponent element) throws IOException { 17535 if (element != null) { 17536 composeElementAttributes(element); 17537 xml.enter(FHIR_NS, name); 17538 composeBackboneElements(element); 17539 if (element.hasNumberElement()) { 17540 composeUnsignedInt("number", element.getNumberElement()); 17541 } 17542 if (element.hasModality()) { 17543 composeCoding("modality", element.getModality()); 17544 } 17545 if (element.hasUidElement()) { 17546 composeOid("uid", element.getUidElement()); 17547 } 17548 if (element.hasDescriptionElement()) { 17549 composeString("description", element.getDescriptionElement()); 17550 } 17551 if (element.hasNumberOfInstancesElement()) { 17552 composeUnsignedInt("numberOfInstances", element.getNumberOfInstancesElement()); 17553 } 17554 if (element.hasAvailabilityElement()) 17555 composeEnumeration("availability", element.getAvailabilityElement(), 17556 new ImagingStudy.InstanceAvailabilityEnumFactory()); 17557 if (element.hasUrlElement()) { 17558 composeUri("url", element.getUrlElement()); 17559 } 17560 if (element.hasBodySite()) { 17561 composeCoding("bodySite", element.getBodySite()); 17562 } 17563 if (element.hasLaterality()) { 17564 composeCoding("laterality", element.getLaterality()); 17565 } 17566 if (element.hasStartedElement()) { 17567 composeDateTime("started", element.getStartedElement()); 17568 } 17569 if (element.hasInstance()) { 17570 for (ImagingStudy.ImagingStudySeriesInstanceComponent e : element.getInstance()) 17571 composeImagingStudyImagingStudySeriesInstanceComponent("instance", e); 17572 } 17573 composeElementClose(element); 17574 xml.exit(FHIR_NS, name); 17575 } 17576 } 17577 17578 protected void composeImagingStudyImagingStudySeriesInstanceComponent(String name, 17579 ImagingStudy.ImagingStudySeriesInstanceComponent element) throws IOException { 17580 if (element != null) { 17581 composeElementAttributes(element); 17582 xml.enter(FHIR_NS, name); 17583 composeBackboneElements(element); 17584 if (element.hasNumberElement()) { 17585 composeUnsignedInt("number", element.getNumberElement()); 17586 } 17587 if (element.hasUidElement()) { 17588 composeOid("uid", element.getUidElement()); 17589 } 17590 if (element.hasSopClassElement()) { 17591 composeOid("sopClass", element.getSopClassElement()); 17592 } 17593 if (element.hasTypeElement()) { 17594 composeString("type", element.getTypeElement()); 17595 } 17596 if (element.hasTitleElement()) { 17597 composeString("title", element.getTitleElement()); 17598 } 17599 if (element.hasContent()) { 17600 for (Attachment e : element.getContent()) 17601 composeAttachment("content", e); 17602 } 17603 composeElementClose(element); 17604 xml.exit(FHIR_NS, name); 17605 } 17606 } 17607 17608 protected void composeImmunization(String name, Immunization element) throws IOException { 17609 if (element != null) { 17610 composeDomainResourceAttributes(element); 17611 xml.enter(FHIR_NS, name); 17612 composeDomainResourceElements(element); 17613 if (element.hasIdentifier()) { 17614 for (Identifier e : element.getIdentifier()) 17615 composeIdentifier("identifier", e); 17616 } 17617 if (element.hasStatusElement()) { 17618 composeCode("status", element.getStatusElement()); 17619 } 17620 if (element.hasDateElement()) { 17621 composeDateTime("date", element.getDateElement()); 17622 } 17623 if (element.hasVaccineCode()) { 17624 composeCodeableConcept("vaccineCode", element.getVaccineCode()); 17625 } 17626 if (element.hasPatient()) { 17627 composeReference("patient", element.getPatient()); 17628 } 17629 if (element.hasWasNotGivenElement()) { 17630 composeBoolean("wasNotGiven", element.getWasNotGivenElement()); 17631 } 17632 if (element.hasReportedElement()) { 17633 composeBoolean("reported", element.getReportedElement()); 17634 } 17635 if (element.hasPerformer()) { 17636 composeReference("performer", element.getPerformer()); 17637 } 17638 if (element.hasRequester()) { 17639 composeReference("requester", element.getRequester()); 17640 } 17641 if (element.hasEncounter()) { 17642 composeReference("encounter", element.getEncounter()); 17643 } 17644 if (element.hasManufacturer()) { 17645 composeReference("manufacturer", element.getManufacturer()); 17646 } 17647 if (element.hasLocation()) { 17648 composeReference("location", element.getLocation()); 17649 } 17650 if (element.hasLotNumberElement()) { 17651 composeString("lotNumber", element.getLotNumberElement()); 17652 } 17653 if (element.hasExpirationDateElement()) { 17654 composeDate("expirationDate", element.getExpirationDateElement()); 17655 } 17656 if (element.hasSite()) { 17657 composeCodeableConcept("site", element.getSite()); 17658 } 17659 if (element.hasRoute()) { 17660 composeCodeableConcept("route", element.getRoute()); 17661 } 17662 if (element.hasDoseQuantity()) { 17663 composeSimpleQuantity("doseQuantity", element.getDoseQuantity()); 17664 } 17665 if (element.hasNote()) { 17666 for (Annotation e : element.getNote()) 17667 composeAnnotation("note", e); 17668 } 17669 if (element.hasExplanation()) { 17670 composeImmunizationImmunizationExplanationComponent("explanation", element.getExplanation()); 17671 } 17672 if (element.hasReaction()) { 17673 for (Immunization.ImmunizationReactionComponent e : element.getReaction()) 17674 composeImmunizationImmunizationReactionComponent("reaction", e); 17675 } 17676 if (element.hasVaccinationProtocol()) { 17677 for (Immunization.ImmunizationVaccinationProtocolComponent e : element.getVaccinationProtocol()) 17678 composeImmunizationImmunizationVaccinationProtocolComponent("vaccinationProtocol", e); 17679 } 17680 composeElementClose(element); 17681 xml.exit(FHIR_NS, name); 17682 } 17683 } 17684 17685 protected void composeImmunizationImmunizationExplanationComponent(String name, 17686 Immunization.ImmunizationExplanationComponent element) throws IOException { 17687 if (element != null) { 17688 composeElementAttributes(element); 17689 xml.enter(FHIR_NS, name); 17690 composeBackboneElements(element); 17691 if (element.hasReason()) { 17692 for (CodeableConcept e : element.getReason()) 17693 composeCodeableConcept("reason", e); 17694 } 17695 if (element.hasReasonNotGiven()) { 17696 for (CodeableConcept e : element.getReasonNotGiven()) 17697 composeCodeableConcept("reasonNotGiven", e); 17698 } 17699 composeElementClose(element); 17700 xml.exit(FHIR_NS, name); 17701 } 17702 } 17703 17704 protected void composeImmunizationImmunizationReactionComponent(String name, 17705 Immunization.ImmunizationReactionComponent element) throws IOException { 17706 if (element != null) { 17707 composeElementAttributes(element); 17708 xml.enter(FHIR_NS, name); 17709 composeBackboneElements(element); 17710 if (element.hasDateElement()) { 17711 composeDateTime("date", element.getDateElement()); 17712 } 17713 if (element.hasDetail()) { 17714 composeReference("detail", element.getDetail()); 17715 } 17716 if (element.hasReportedElement()) { 17717 composeBoolean("reported", element.getReportedElement()); 17718 } 17719 composeElementClose(element); 17720 xml.exit(FHIR_NS, name); 17721 } 17722 } 17723 17724 protected void composeImmunizationImmunizationVaccinationProtocolComponent(String name, 17725 Immunization.ImmunizationVaccinationProtocolComponent element) throws IOException { 17726 if (element != null) { 17727 composeElementAttributes(element); 17728 xml.enter(FHIR_NS, name); 17729 composeBackboneElements(element); 17730 if (element.hasDoseSequenceElement()) { 17731 composePositiveInt("doseSequence", element.getDoseSequenceElement()); 17732 } 17733 if (element.hasDescriptionElement()) { 17734 composeString("description", element.getDescriptionElement()); 17735 } 17736 if (element.hasAuthority()) { 17737 composeReference("authority", element.getAuthority()); 17738 } 17739 if (element.hasSeriesElement()) { 17740 composeString("series", element.getSeriesElement()); 17741 } 17742 if (element.hasSeriesDosesElement()) { 17743 composePositiveInt("seriesDoses", element.getSeriesDosesElement()); 17744 } 17745 if (element.hasTargetDisease()) { 17746 for (CodeableConcept e : element.getTargetDisease()) 17747 composeCodeableConcept("targetDisease", e); 17748 } 17749 if (element.hasDoseStatus()) { 17750 composeCodeableConcept("doseStatus", element.getDoseStatus()); 17751 } 17752 if (element.hasDoseStatusReason()) { 17753 composeCodeableConcept("doseStatusReason", element.getDoseStatusReason()); 17754 } 17755 composeElementClose(element); 17756 xml.exit(FHIR_NS, name); 17757 } 17758 } 17759 17760 protected void composeImmunizationRecommendation(String name, ImmunizationRecommendation element) throws IOException { 17761 if (element != null) { 17762 composeDomainResourceAttributes(element); 17763 xml.enter(FHIR_NS, name); 17764 composeDomainResourceElements(element); 17765 if (element.hasIdentifier()) { 17766 for (Identifier e : element.getIdentifier()) 17767 composeIdentifier("identifier", e); 17768 } 17769 if (element.hasPatient()) { 17770 composeReference("patient", element.getPatient()); 17771 } 17772 if (element.hasRecommendation()) { 17773 for (ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent e : element 17774 .getRecommendation()) 17775 composeImmunizationRecommendationImmunizationRecommendationRecommendationComponent("recommendation", e); 17776 } 17777 composeElementClose(element); 17778 xml.exit(FHIR_NS, name); 17779 } 17780 } 17781 17782 protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationComponent(String name, 17783 ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element) throws IOException { 17784 if (element != null) { 17785 composeElementAttributes(element); 17786 xml.enter(FHIR_NS, name); 17787 composeBackboneElements(element); 17788 if (element.hasDateElement()) { 17789 composeDateTime("date", element.getDateElement()); 17790 } 17791 if (element.hasVaccineCode()) { 17792 composeCodeableConcept("vaccineCode", element.getVaccineCode()); 17793 } 17794 if (element.hasDoseNumberElement()) { 17795 composePositiveInt("doseNumber", element.getDoseNumberElement()); 17796 } 17797 if (element.hasForecastStatus()) { 17798 composeCodeableConcept("forecastStatus", element.getForecastStatus()); 17799 } 17800 if (element.hasDateCriterion()) { 17801 for (ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent e : element 17802 .getDateCriterion()) 17803 composeImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent( 17804 "dateCriterion", e); 17805 } 17806 if (element.hasProtocol()) { 17807 composeImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent("protocol", 17808 element.getProtocol()); 17809 } 17810 if (element.hasSupportingImmunization()) { 17811 for (Reference e : element.getSupportingImmunization()) 17812 composeReference("supportingImmunization", e); 17813 } 17814 if (element.hasSupportingPatientInformation()) { 17815 for (Reference e : element.getSupportingPatientInformation()) 17816 composeReference("supportingPatientInformation", e); 17817 } 17818 composeElementClose(element); 17819 xml.exit(FHIR_NS, name); 17820 } 17821 } 17822 17823 protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent( 17824 String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent element) 17825 throws IOException { 17826 if (element != null) { 17827 composeElementAttributes(element); 17828 xml.enter(FHIR_NS, name); 17829 composeBackboneElements(element); 17830 if (element.hasCode()) { 17831 composeCodeableConcept("code", element.getCode()); 17832 } 17833 if (element.hasValueElement()) { 17834 composeDateTime("value", element.getValueElement()); 17835 } 17836 composeElementClose(element); 17837 xml.exit(FHIR_NS, name); 17838 } 17839 } 17840 17841 protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent(String name, 17842 ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent element) throws IOException { 17843 if (element != null) { 17844 composeElementAttributes(element); 17845 xml.enter(FHIR_NS, name); 17846 composeBackboneElements(element); 17847 if (element.hasDoseSequenceElement()) { 17848 composeInteger("doseSequence", element.getDoseSequenceElement()); 17849 } 17850 if (element.hasDescriptionElement()) { 17851 composeString("description", element.getDescriptionElement()); 17852 } 17853 if (element.hasAuthority()) { 17854 composeReference("authority", element.getAuthority()); 17855 } 17856 if (element.hasSeriesElement()) { 17857 composeString("series", element.getSeriesElement()); 17858 } 17859 composeElementClose(element); 17860 xml.exit(FHIR_NS, name); 17861 } 17862 } 17863 17864 protected void composeImplementationGuide(String name, ImplementationGuide element) throws IOException { 17865 if (element != null) { 17866 composeDomainResourceAttributes(element); 17867 xml.enter(FHIR_NS, name); 17868 composeDomainResourceElements(element); 17869 if (element.hasUrlElement()) { 17870 composeUri("url", element.getUrlElement()); 17871 } 17872 if (element.hasVersionElement()) { 17873 composeString("version", element.getVersionElement()); 17874 } 17875 if (element.hasNameElement()) { 17876 composeString("name", element.getNameElement()); 17877 } 17878 if (element.hasStatusElement()) 17879 composeEnumeration("status", element.getStatusElement(), 17880 new Enumerations.ConformanceResourceStatusEnumFactory()); 17881 if (element.hasExperimentalElement()) { 17882 composeBoolean("experimental", element.getExperimentalElement()); 17883 } 17884 if (element.hasPublisherElement()) { 17885 composeString("publisher", element.getPublisherElement()); 17886 } 17887 if (element.hasContact()) { 17888 for (ImplementationGuide.ImplementationGuideContactComponent e : element.getContact()) 17889 composeImplementationGuideImplementationGuideContactComponent("contact", e); 17890 } 17891 if (element.hasDateElement()) { 17892 composeDateTime("date", element.getDateElement()); 17893 } 17894 if (element.hasDescriptionElement()) { 17895 composeString("description", element.getDescriptionElement()); 17896 } 17897 if (element.hasUseContext()) { 17898 for (CodeableConcept e : element.getUseContext()) 17899 composeCodeableConcept("useContext", e); 17900 } 17901 if (element.hasCopyrightElement()) { 17902 composeString("copyright", element.getCopyrightElement()); 17903 } 17904 if (element.hasFhirVersionElement()) { 17905 composeId("fhirVersion", element.getFhirVersionElement()); 17906 } 17907 if (element.hasDependency()) { 17908 for (ImplementationGuide.ImplementationGuideDependencyComponent e : element.getDependency()) 17909 composeImplementationGuideImplementationGuideDependencyComponent("dependency", e); 17910 } 17911 if (element.hasPackage()) { 17912 for (ImplementationGuide.ImplementationGuidePackageComponent e : element.getPackage()) 17913 composeImplementationGuideImplementationGuidePackageComponent("package", e); 17914 } 17915 if (element.hasGlobal()) { 17916 for (ImplementationGuide.ImplementationGuideGlobalComponent e : element.getGlobal()) 17917 composeImplementationGuideImplementationGuideGlobalComponent("global", e); 17918 } 17919 if (element.hasBinary()) { 17920 for (UriType e : element.getBinary()) 17921 composeUri("binary", e); 17922 } 17923 if (element.hasPage()) { 17924 composeImplementationGuideImplementationGuidePageComponent("page", element.getPage()); 17925 } 17926 composeElementClose(element); 17927 xml.exit(FHIR_NS, name); 17928 } 17929 } 17930 17931 protected void composeImplementationGuideImplementationGuideContactComponent(String name, 17932 ImplementationGuide.ImplementationGuideContactComponent element) throws IOException { 17933 if (element != null) { 17934 composeElementAttributes(element); 17935 xml.enter(FHIR_NS, name); 17936 composeBackboneElements(element); 17937 if (element.hasNameElement()) { 17938 composeString("name", element.getNameElement()); 17939 } 17940 if (element.hasTelecom()) { 17941 for (ContactPoint e : element.getTelecom()) 17942 composeContactPoint("telecom", e); 17943 } 17944 composeElementClose(element); 17945 xml.exit(FHIR_NS, name); 17946 } 17947 } 17948 17949 protected void composeImplementationGuideImplementationGuideDependencyComponent(String name, 17950 ImplementationGuide.ImplementationGuideDependencyComponent element) throws IOException { 17951 if (element != null) { 17952 composeElementAttributes(element); 17953 xml.enter(FHIR_NS, name); 17954 composeBackboneElements(element); 17955 if (element.hasTypeElement()) 17956 composeEnumeration("type", element.getTypeElement(), new ImplementationGuide.GuideDependencyTypeEnumFactory()); 17957 if (element.hasUriElement()) { 17958 composeUri("uri", element.getUriElement()); 17959 } 17960 composeElementClose(element); 17961 xml.exit(FHIR_NS, name); 17962 } 17963 } 17964 17965 protected void composeImplementationGuideImplementationGuidePackageComponent(String name, 17966 ImplementationGuide.ImplementationGuidePackageComponent element) throws IOException { 17967 if (element != null) { 17968 composeElementAttributes(element); 17969 xml.enter(FHIR_NS, name); 17970 composeBackboneElements(element); 17971 if (element.hasNameElement()) { 17972 composeString("name", element.getNameElement()); 17973 } 17974 if (element.hasDescriptionElement()) { 17975 composeString("description", element.getDescriptionElement()); 17976 } 17977 if (element.hasResource()) { 17978 for (ImplementationGuide.ImplementationGuidePackageResourceComponent e : element.getResource()) 17979 composeImplementationGuideImplementationGuidePackageResourceComponent("resource", e); 17980 } 17981 composeElementClose(element); 17982 xml.exit(FHIR_NS, name); 17983 } 17984 } 17985 17986 protected void composeImplementationGuideImplementationGuidePackageResourceComponent(String name, 17987 ImplementationGuide.ImplementationGuidePackageResourceComponent element) throws IOException { 17988 if (element != null) { 17989 composeElementAttributes(element); 17990 xml.enter(FHIR_NS, name); 17991 composeBackboneElements(element); 17992 if (element.hasPurposeElement()) 17993 composeEnumeration("purpose", element.getPurposeElement(), 17994 new ImplementationGuide.GuideResourcePurposeEnumFactory()); 17995 if (element.hasNameElement()) { 17996 composeString("name", element.getNameElement()); 17997 } 17998 if (element.hasDescriptionElement()) { 17999 composeString("description", element.getDescriptionElement()); 18000 } 18001 if (element.hasAcronymElement()) { 18002 composeString("acronym", element.getAcronymElement()); 18003 } 18004 if (element.hasSource()) { 18005 composeType("source", element.getSource()); 18006 } 18007 if (element.hasExampleFor()) { 18008 composeReference("exampleFor", element.getExampleFor()); 18009 } 18010 composeElementClose(element); 18011 xml.exit(FHIR_NS, name); 18012 } 18013 } 18014 18015 protected void composeImplementationGuideImplementationGuideGlobalComponent(String name, 18016 ImplementationGuide.ImplementationGuideGlobalComponent element) throws IOException { 18017 if (element != null) { 18018 composeElementAttributes(element); 18019 xml.enter(FHIR_NS, name); 18020 composeBackboneElements(element); 18021 if (element.hasTypeElement()) { 18022 composeCode("type", element.getTypeElement()); 18023 } 18024 if (element.hasProfile()) { 18025 composeReference("profile", element.getProfile()); 18026 } 18027 composeElementClose(element); 18028 xml.exit(FHIR_NS, name); 18029 } 18030 } 18031 18032 protected void composeImplementationGuideImplementationGuidePageComponent(String name, 18033 ImplementationGuide.ImplementationGuidePageComponent element) throws IOException { 18034 if (element != null) { 18035 composeElementAttributes(element); 18036 xml.enter(FHIR_NS, name); 18037 composeBackboneElements(element); 18038 if (element.hasSourceElement()) { 18039 composeUri("source", element.getSourceElement()); 18040 } 18041 if (element.hasNameElement()) { 18042 composeString("name", element.getNameElement()); 18043 } 18044 if (element.hasKindElement()) 18045 composeEnumeration("kind", element.getKindElement(), new ImplementationGuide.GuidePageKindEnumFactory()); 18046 if (element.hasType()) { 18047 for (CodeType e : element.getType()) 18048 composeCode("type", e); 18049 } 18050 if (element.hasPackage()) { 18051 for (StringType e : element.getPackage()) 18052 composeString("package", e); 18053 } 18054 if (element.hasFormatElement()) { 18055 composeCode("format", element.getFormatElement()); 18056 } 18057 if (element.hasPage()) { 18058 for (ImplementationGuide.ImplementationGuidePageComponent e : element.getPage()) 18059 composeImplementationGuideImplementationGuidePageComponent("page", e); 18060 } 18061 composeElementClose(element); 18062 xml.exit(FHIR_NS, name); 18063 } 18064 } 18065 18066 protected void composeList_(String name, List_ element) throws IOException { 18067 if (element != null) { 18068 composeDomainResourceAttributes(element); 18069 xml.enter(FHIR_NS, name); 18070 composeDomainResourceElements(element); 18071 if (element.hasIdentifier()) { 18072 for (Identifier e : element.getIdentifier()) 18073 composeIdentifier("identifier", e); 18074 } 18075 if (element.hasTitleElement()) { 18076 composeString("title", element.getTitleElement()); 18077 } 18078 if (element.hasCode()) { 18079 composeCodeableConcept("code", element.getCode()); 18080 } 18081 if (element.hasSubject()) { 18082 composeReference("subject", element.getSubject()); 18083 } 18084 if (element.hasSource()) { 18085 composeReference("source", element.getSource()); 18086 } 18087 if (element.hasEncounter()) { 18088 composeReference("encounter", element.getEncounter()); 18089 } 18090 if (element.hasStatusElement()) 18091 composeEnumeration("status", element.getStatusElement(), new List_.ListStatusEnumFactory()); 18092 if (element.hasDateElement()) { 18093 composeDateTime("date", element.getDateElement()); 18094 } 18095 if (element.hasOrderedBy()) { 18096 composeCodeableConcept("orderedBy", element.getOrderedBy()); 18097 } 18098 if (element.hasModeElement()) 18099 composeEnumeration("mode", element.getModeElement(), new List_.ListModeEnumFactory()); 18100 if (element.hasNoteElement()) { 18101 composeString("note", element.getNoteElement()); 18102 } 18103 if (element.hasEntry()) { 18104 for (List_.ListEntryComponent e : element.getEntry()) 18105 composeList_ListEntryComponent("entry", e); 18106 } 18107 if (element.hasEmptyReason()) { 18108 composeCodeableConcept("emptyReason", element.getEmptyReason()); 18109 } 18110 composeElementClose(element); 18111 xml.exit(FHIR_NS, name); 18112 } 18113 } 18114 18115 protected void composeList_ListEntryComponent(String name, List_.ListEntryComponent element) throws IOException { 18116 if (element != null) { 18117 composeElementAttributes(element); 18118 xml.enter(FHIR_NS, name); 18119 composeBackboneElements(element); 18120 if (element.hasFlag()) { 18121 composeCodeableConcept("flag", element.getFlag()); 18122 } 18123 if (element.hasDeletedElement()) { 18124 composeBoolean("deleted", element.getDeletedElement()); 18125 } 18126 if (element.hasDateElement()) { 18127 composeDateTime("date", element.getDateElement()); 18128 } 18129 if (element.hasItem()) { 18130 composeReference("item", element.getItem()); 18131 } 18132 composeElementClose(element); 18133 xml.exit(FHIR_NS, name); 18134 } 18135 } 18136 18137 protected void composeLocation(String name, Location element) throws IOException { 18138 if (element != null) { 18139 composeDomainResourceAttributes(element); 18140 xml.enter(FHIR_NS, name); 18141 composeDomainResourceElements(element); 18142 if (element.hasIdentifier()) { 18143 for (Identifier e : element.getIdentifier()) 18144 composeIdentifier("identifier", e); 18145 } 18146 if (element.hasStatusElement()) 18147 composeEnumeration("status", element.getStatusElement(), new Location.LocationStatusEnumFactory()); 18148 if (element.hasNameElement()) { 18149 composeString("name", element.getNameElement()); 18150 } 18151 if (element.hasDescriptionElement()) { 18152 composeString("description", element.getDescriptionElement()); 18153 } 18154 if (element.hasModeElement()) 18155 composeEnumeration("mode", element.getModeElement(), new Location.LocationModeEnumFactory()); 18156 if (element.hasType()) { 18157 composeCodeableConcept("type", element.getType()); 18158 } 18159 if (element.hasTelecom()) { 18160 for (ContactPoint e : element.getTelecom()) 18161 composeContactPoint("telecom", e); 18162 } 18163 if (element.hasAddress()) { 18164 composeAddress("address", element.getAddress()); 18165 } 18166 if (element.hasPhysicalType()) { 18167 composeCodeableConcept("physicalType", element.getPhysicalType()); 18168 } 18169 if (element.hasPosition()) { 18170 composeLocationLocationPositionComponent("position", element.getPosition()); 18171 } 18172 if (element.hasManagingOrganization()) { 18173 composeReference("managingOrganization", element.getManagingOrganization()); 18174 } 18175 if (element.hasPartOf()) { 18176 composeReference("partOf", element.getPartOf()); 18177 } 18178 composeElementClose(element); 18179 xml.exit(FHIR_NS, name); 18180 } 18181 } 18182 18183 protected void composeLocationLocationPositionComponent(String name, Location.LocationPositionComponent element) 18184 throws IOException { 18185 if (element != null) { 18186 composeElementAttributes(element); 18187 xml.enter(FHIR_NS, name); 18188 composeBackboneElements(element); 18189 if (element.hasLongitudeElement()) { 18190 composeDecimal("longitude", element.getLongitudeElement()); 18191 } 18192 if (element.hasLatitudeElement()) { 18193 composeDecimal("latitude", element.getLatitudeElement()); 18194 } 18195 if (element.hasAltitudeElement()) { 18196 composeDecimal("altitude", element.getAltitudeElement()); 18197 } 18198 composeElementClose(element); 18199 xml.exit(FHIR_NS, name); 18200 } 18201 } 18202 18203 protected void composeMedia(String name, Media element) throws IOException { 18204 if (element != null) { 18205 composeDomainResourceAttributes(element); 18206 xml.enter(FHIR_NS, name); 18207 composeDomainResourceElements(element); 18208 if (element.hasTypeElement()) 18209 composeEnumeration("type", element.getTypeElement(), new Media.DigitalMediaTypeEnumFactory()); 18210 if (element.hasSubtype()) { 18211 composeCodeableConcept("subtype", element.getSubtype()); 18212 } 18213 if (element.hasIdentifier()) { 18214 for (Identifier e : element.getIdentifier()) 18215 composeIdentifier("identifier", e); 18216 } 18217 if (element.hasSubject()) { 18218 composeReference("subject", element.getSubject()); 18219 } 18220 if (element.hasOperator()) { 18221 composeReference("operator", element.getOperator()); 18222 } 18223 if (element.hasView()) { 18224 composeCodeableConcept("view", element.getView()); 18225 } 18226 if (element.hasDeviceNameElement()) { 18227 composeString("deviceName", element.getDeviceNameElement()); 18228 } 18229 if (element.hasHeightElement()) { 18230 composePositiveInt("height", element.getHeightElement()); 18231 } 18232 if (element.hasWidthElement()) { 18233 composePositiveInt("width", element.getWidthElement()); 18234 } 18235 if (element.hasFramesElement()) { 18236 composePositiveInt("frames", element.getFramesElement()); 18237 } 18238 if (element.hasDurationElement()) { 18239 composeUnsignedInt("duration", element.getDurationElement()); 18240 } 18241 if (element.hasContent()) { 18242 composeAttachment("content", element.getContent()); 18243 } 18244 composeElementClose(element); 18245 xml.exit(FHIR_NS, name); 18246 } 18247 } 18248 18249 protected void composeMedication(String name, Medication element) throws IOException { 18250 if (element != null) { 18251 composeDomainResourceAttributes(element); 18252 xml.enter(FHIR_NS, name); 18253 composeDomainResourceElements(element); 18254 if (element.hasCode()) { 18255 composeCodeableConcept("code", element.getCode()); 18256 } 18257 if (element.hasIsBrandElement()) { 18258 composeBoolean("isBrand", element.getIsBrandElement()); 18259 } 18260 if (element.hasManufacturer()) { 18261 composeReference("manufacturer", element.getManufacturer()); 18262 } 18263 if (element.hasProduct()) { 18264 composeMedicationMedicationProductComponent("product", element.getProduct()); 18265 } 18266 if (element.hasPackage()) { 18267 composeMedicationMedicationPackageComponent("package", element.getPackage()); 18268 } 18269 composeElementClose(element); 18270 xml.exit(FHIR_NS, name); 18271 } 18272 } 18273 18274 protected void composeMedicationMedicationProductComponent(String name, Medication.MedicationProductComponent element) 18275 throws IOException { 18276 if (element != null) { 18277 composeElementAttributes(element); 18278 xml.enter(FHIR_NS, name); 18279 composeBackboneElements(element); 18280 if (element.hasForm()) { 18281 composeCodeableConcept("form", element.getForm()); 18282 } 18283 if (element.hasIngredient()) { 18284 for (Medication.MedicationProductIngredientComponent e : element.getIngredient()) 18285 composeMedicationMedicationProductIngredientComponent("ingredient", e); 18286 } 18287 if (element.hasBatch()) { 18288 for (Medication.MedicationProductBatchComponent e : element.getBatch()) 18289 composeMedicationMedicationProductBatchComponent("batch", e); 18290 } 18291 composeElementClose(element); 18292 xml.exit(FHIR_NS, name); 18293 } 18294 } 18295 18296 protected void composeMedicationMedicationProductIngredientComponent(String name, 18297 Medication.MedicationProductIngredientComponent element) throws IOException { 18298 if (element != null) { 18299 composeElementAttributes(element); 18300 xml.enter(FHIR_NS, name); 18301 composeBackboneElements(element); 18302 if (element.hasItem()) { 18303 composeReference("item", element.getItem()); 18304 } 18305 if (element.hasAmount()) { 18306 composeRatio("amount", element.getAmount()); 18307 } 18308 composeElementClose(element); 18309 xml.exit(FHIR_NS, name); 18310 } 18311 } 18312 18313 protected void composeMedicationMedicationProductBatchComponent(String name, 18314 Medication.MedicationProductBatchComponent element) throws IOException { 18315 if (element != null) { 18316 composeElementAttributes(element); 18317 xml.enter(FHIR_NS, name); 18318 composeBackboneElements(element); 18319 if (element.hasLotNumberElement()) { 18320 composeString("lotNumber", element.getLotNumberElement()); 18321 } 18322 if (element.hasExpirationDateElement()) { 18323 composeDateTime("expirationDate", element.getExpirationDateElement()); 18324 } 18325 composeElementClose(element); 18326 xml.exit(FHIR_NS, name); 18327 } 18328 } 18329 18330 protected void composeMedicationMedicationPackageComponent(String name, Medication.MedicationPackageComponent element) 18331 throws IOException { 18332 if (element != null) { 18333 composeElementAttributes(element); 18334 xml.enter(FHIR_NS, name); 18335 composeBackboneElements(element); 18336 if (element.hasContainer()) { 18337 composeCodeableConcept("container", element.getContainer()); 18338 } 18339 if (element.hasContent()) { 18340 for (Medication.MedicationPackageContentComponent e : element.getContent()) 18341 composeMedicationMedicationPackageContentComponent("content", e); 18342 } 18343 composeElementClose(element); 18344 xml.exit(FHIR_NS, name); 18345 } 18346 } 18347 18348 protected void composeMedicationMedicationPackageContentComponent(String name, 18349 Medication.MedicationPackageContentComponent element) throws IOException { 18350 if (element != null) { 18351 composeElementAttributes(element); 18352 xml.enter(FHIR_NS, name); 18353 composeBackboneElements(element); 18354 if (element.hasItem()) { 18355 composeReference("item", element.getItem()); 18356 } 18357 if (element.hasAmount()) { 18358 composeSimpleQuantity("amount", element.getAmount()); 18359 } 18360 composeElementClose(element); 18361 xml.exit(FHIR_NS, name); 18362 } 18363 } 18364 18365 protected void composeMedicationAdministration(String name, MedicationAdministration element) throws IOException { 18366 if (element != null) { 18367 composeDomainResourceAttributes(element); 18368 xml.enter(FHIR_NS, name); 18369 composeDomainResourceElements(element); 18370 if (element.hasIdentifier()) { 18371 for (Identifier e : element.getIdentifier()) 18372 composeIdentifier("identifier", e); 18373 } 18374 if (element.hasStatusElement()) 18375 composeEnumeration("status", element.getStatusElement(), 18376 new MedicationAdministration.MedicationAdministrationStatusEnumFactory()); 18377 if (element.hasPatient()) { 18378 composeReference("patient", element.getPatient()); 18379 } 18380 if (element.hasPractitioner()) { 18381 composeReference("practitioner", element.getPractitioner()); 18382 } 18383 if (element.hasEncounter()) { 18384 composeReference("encounter", element.getEncounter()); 18385 } 18386 if (element.hasPrescription()) { 18387 composeReference("prescription", element.getPrescription()); 18388 } 18389 if (element.hasWasNotGivenElement()) { 18390 composeBoolean("wasNotGiven", element.getWasNotGivenElement()); 18391 } 18392 if (element.hasReasonNotGiven()) { 18393 for (CodeableConcept e : element.getReasonNotGiven()) 18394 composeCodeableConcept("reasonNotGiven", e); 18395 } 18396 if (element.hasReasonGiven()) { 18397 for (CodeableConcept e : element.getReasonGiven()) 18398 composeCodeableConcept("reasonGiven", e); 18399 } 18400 if (element.hasEffectiveTime()) { 18401 composeType("effectiveTime", element.getEffectiveTime()); 18402 } 18403 if (element.hasMedication()) { 18404 composeType("medication", element.getMedication()); 18405 } 18406 if (element.hasDevice()) { 18407 for (Reference e : element.getDevice()) 18408 composeReference("device", e); 18409 } 18410 if (element.hasNoteElement()) { 18411 composeString("note", element.getNoteElement()); 18412 } 18413 if (element.hasDosage()) { 18414 composeMedicationAdministrationMedicationAdministrationDosageComponent("dosage", element.getDosage()); 18415 } 18416 composeElementClose(element); 18417 xml.exit(FHIR_NS, name); 18418 } 18419 } 18420 18421 protected void composeMedicationAdministrationMedicationAdministrationDosageComponent(String name, 18422 MedicationAdministration.MedicationAdministrationDosageComponent element) throws IOException { 18423 if (element != null) { 18424 composeElementAttributes(element); 18425 xml.enter(FHIR_NS, name); 18426 composeBackboneElements(element); 18427 if (element.hasTextElement()) { 18428 composeString("text", element.getTextElement()); 18429 } 18430 if (element.hasSite()) { 18431 composeType("site", element.getSite()); 18432 } 18433 if (element.hasRoute()) { 18434 composeCodeableConcept("route", element.getRoute()); 18435 } 18436 if (element.hasMethod()) { 18437 composeCodeableConcept("method", element.getMethod()); 18438 } 18439 if (element.hasQuantity()) { 18440 composeSimpleQuantity("quantity", element.getQuantity()); 18441 } 18442 if (element.hasRate()) { 18443 composeType("rate", element.getRate()); 18444 } 18445 composeElementClose(element); 18446 xml.exit(FHIR_NS, name); 18447 } 18448 } 18449 18450 protected void composeMedicationDispense(String name, MedicationDispense element) throws IOException { 18451 if (element != null) { 18452 composeDomainResourceAttributes(element); 18453 xml.enter(FHIR_NS, name); 18454 composeDomainResourceElements(element); 18455 if (element.hasIdentifier()) { 18456 composeIdentifier("identifier", element.getIdentifier()); 18457 } 18458 if (element.hasStatusElement()) 18459 composeEnumeration("status", element.getStatusElement(), 18460 new MedicationDispense.MedicationDispenseStatusEnumFactory()); 18461 if (element.hasPatient()) { 18462 composeReference("patient", element.getPatient()); 18463 } 18464 if (element.hasDispenser()) { 18465 composeReference("dispenser", element.getDispenser()); 18466 } 18467 if (element.hasAuthorizingPrescription()) { 18468 for (Reference e : element.getAuthorizingPrescription()) 18469 composeReference("authorizingPrescription", e); 18470 } 18471 if (element.hasType()) { 18472 composeCodeableConcept("type", element.getType()); 18473 } 18474 if (element.hasQuantity()) { 18475 composeSimpleQuantity("quantity", element.getQuantity()); 18476 } 18477 if (element.hasDaysSupply()) { 18478 composeSimpleQuantity("daysSupply", element.getDaysSupply()); 18479 } 18480 if (element.hasMedication()) { 18481 composeType("medication", element.getMedication()); 18482 } 18483 if (element.hasWhenPreparedElement()) { 18484 composeDateTime("whenPrepared", element.getWhenPreparedElement()); 18485 } 18486 if (element.hasWhenHandedOverElement()) { 18487 composeDateTime("whenHandedOver", element.getWhenHandedOverElement()); 18488 } 18489 if (element.hasDestination()) { 18490 composeReference("destination", element.getDestination()); 18491 } 18492 if (element.hasReceiver()) { 18493 for (Reference e : element.getReceiver()) 18494 composeReference("receiver", e); 18495 } 18496 if (element.hasNoteElement()) { 18497 composeString("note", element.getNoteElement()); 18498 } 18499 if (element.hasDosageInstruction()) { 18500 for (MedicationDispense.MedicationDispenseDosageInstructionComponent e : element.getDosageInstruction()) 18501 composeMedicationDispenseMedicationDispenseDosageInstructionComponent("dosageInstruction", e); 18502 } 18503 if (element.hasSubstitution()) { 18504 composeMedicationDispenseMedicationDispenseSubstitutionComponent("substitution", element.getSubstitution()); 18505 } 18506 composeElementClose(element); 18507 xml.exit(FHIR_NS, name); 18508 } 18509 } 18510 18511 protected void composeMedicationDispenseMedicationDispenseDosageInstructionComponent(String name, 18512 MedicationDispense.MedicationDispenseDosageInstructionComponent element) throws IOException { 18513 if (element != null) { 18514 composeElementAttributes(element); 18515 xml.enter(FHIR_NS, name); 18516 composeBackboneElements(element); 18517 if (element.hasTextElement()) { 18518 composeString("text", element.getTextElement()); 18519 } 18520 if (element.hasAdditionalInstructions()) { 18521 composeCodeableConcept("additionalInstructions", element.getAdditionalInstructions()); 18522 } 18523 if (element.hasTiming()) { 18524 composeTiming("timing", element.getTiming()); 18525 } 18526 if (element.hasAsNeeded()) { 18527 composeType("asNeeded", element.getAsNeeded()); 18528 } 18529 if (element.hasSite()) { 18530 composeType("site", element.getSite()); 18531 } 18532 if (element.hasRoute()) { 18533 composeCodeableConcept("route", element.getRoute()); 18534 } 18535 if (element.hasMethod()) { 18536 composeCodeableConcept("method", element.getMethod()); 18537 } 18538 if (element.hasDose()) { 18539 composeType("dose", element.getDose()); 18540 } 18541 if (element.hasRate()) { 18542 composeType("rate", element.getRate()); 18543 } 18544 if (element.hasMaxDosePerPeriod()) { 18545 composeRatio("maxDosePerPeriod", element.getMaxDosePerPeriod()); 18546 } 18547 composeElementClose(element); 18548 xml.exit(FHIR_NS, name); 18549 } 18550 } 18551 18552 protected void composeMedicationDispenseMedicationDispenseSubstitutionComponent(String name, 18553 MedicationDispense.MedicationDispenseSubstitutionComponent element) throws IOException { 18554 if (element != null) { 18555 composeElementAttributes(element); 18556 xml.enter(FHIR_NS, name); 18557 composeBackboneElements(element); 18558 if (element.hasType()) { 18559 composeCodeableConcept("type", element.getType()); 18560 } 18561 if (element.hasReason()) { 18562 for (CodeableConcept e : element.getReason()) 18563 composeCodeableConcept("reason", e); 18564 } 18565 if (element.hasResponsibleParty()) { 18566 for (Reference e : element.getResponsibleParty()) 18567 composeReference("responsibleParty", e); 18568 } 18569 composeElementClose(element); 18570 xml.exit(FHIR_NS, name); 18571 } 18572 } 18573 18574 protected void composeMedicationOrder(String name, MedicationOrder element) throws IOException { 18575 if (element != null) { 18576 composeDomainResourceAttributes(element); 18577 xml.enter(FHIR_NS, name); 18578 composeDomainResourceElements(element); 18579 if (element.hasIdentifier()) { 18580 for (Identifier e : element.getIdentifier()) 18581 composeIdentifier("identifier", e); 18582 } 18583 if (element.hasDateWrittenElement()) { 18584 composeDateTime("dateWritten", element.getDateWrittenElement()); 18585 } 18586 if (element.hasStatusElement()) 18587 composeEnumeration("status", element.getStatusElement(), 18588 new MedicationOrder.MedicationOrderStatusEnumFactory()); 18589 if (element.hasDateEndedElement()) { 18590 composeDateTime("dateEnded", element.getDateEndedElement()); 18591 } 18592 if (element.hasReasonEnded()) { 18593 composeCodeableConcept("reasonEnded", element.getReasonEnded()); 18594 } 18595 if (element.hasPatient()) { 18596 composeReference("patient", element.getPatient()); 18597 } 18598 if (element.hasPrescriber()) { 18599 composeReference("prescriber", element.getPrescriber()); 18600 } 18601 if (element.hasEncounter()) { 18602 composeReference("encounter", element.getEncounter()); 18603 } 18604 if (element.hasReason()) { 18605 composeType("reason", element.getReason()); 18606 } 18607 if (element.hasNoteElement()) { 18608 composeString("note", element.getNoteElement()); 18609 } 18610 if (element.hasMedication()) { 18611 composeType("medication", element.getMedication()); 18612 } 18613 if (element.hasDosageInstruction()) { 18614 for (MedicationOrder.MedicationOrderDosageInstructionComponent e : element.getDosageInstruction()) 18615 composeMedicationOrderMedicationOrderDosageInstructionComponent("dosageInstruction", e); 18616 } 18617 if (element.hasDispenseRequest()) { 18618 composeMedicationOrderMedicationOrderDispenseRequestComponent("dispenseRequest", element.getDispenseRequest()); 18619 } 18620 if (element.hasSubstitution()) { 18621 composeMedicationOrderMedicationOrderSubstitutionComponent("substitution", element.getSubstitution()); 18622 } 18623 if (element.hasPriorPrescription()) { 18624 composeReference("priorPrescription", element.getPriorPrescription()); 18625 } 18626 composeElementClose(element); 18627 xml.exit(FHIR_NS, name); 18628 } 18629 } 18630 18631 protected void composeMedicationOrderMedicationOrderDosageInstructionComponent(String name, 18632 MedicationOrder.MedicationOrderDosageInstructionComponent element) throws IOException { 18633 if (element != null) { 18634 composeElementAttributes(element); 18635 xml.enter(FHIR_NS, name); 18636 composeBackboneElements(element); 18637 if (element.hasTextElement()) { 18638 composeString("text", element.getTextElement()); 18639 } 18640 if (element.hasAdditionalInstructions()) { 18641 composeCodeableConcept("additionalInstructions", element.getAdditionalInstructions()); 18642 } 18643 if (element.hasTiming()) { 18644 composeTiming("timing", element.getTiming()); 18645 } 18646 if (element.hasAsNeeded()) { 18647 composeType("asNeeded", element.getAsNeeded()); 18648 } 18649 if (element.hasSite()) { 18650 composeType("site", element.getSite()); 18651 } 18652 if (element.hasRoute()) { 18653 composeCodeableConcept("route", element.getRoute()); 18654 } 18655 if (element.hasMethod()) { 18656 composeCodeableConcept("method", element.getMethod()); 18657 } 18658 if (element.hasDose()) { 18659 composeType("dose", element.getDose()); 18660 } 18661 if (element.hasRate()) { 18662 composeType("rate", element.getRate()); 18663 } 18664 if (element.hasMaxDosePerPeriod()) { 18665 composeRatio("maxDosePerPeriod", element.getMaxDosePerPeriod()); 18666 } 18667 composeElementClose(element); 18668 xml.exit(FHIR_NS, name); 18669 } 18670 } 18671 18672 protected void composeMedicationOrderMedicationOrderDispenseRequestComponent(String name, 18673 MedicationOrder.MedicationOrderDispenseRequestComponent element) throws IOException { 18674 if (element != null) { 18675 composeElementAttributes(element); 18676 xml.enter(FHIR_NS, name); 18677 composeBackboneElements(element); 18678 if (element.hasMedication()) { 18679 composeType("medication", element.getMedication()); 18680 } 18681 if (element.hasValidityPeriod()) { 18682 composePeriod("validityPeriod", element.getValidityPeriod()); 18683 } 18684 if (element.hasNumberOfRepeatsAllowedElement()) { 18685 composePositiveInt("numberOfRepeatsAllowed", element.getNumberOfRepeatsAllowedElement()); 18686 } 18687 if (element.hasQuantity()) { 18688 composeSimpleQuantity("quantity", element.getQuantity()); 18689 } 18690 if (element.hasExpectedSupplyDuration()) { 18691 composeDuration("expectedSupplyDuration", element.getExpectedSupplyDuration()); 18692 } 18693 composeElementClose(element); 18694 xml.exit(FHIR_NS, name); 18695 } 18696 } 18697 18698 protected void composeMedicationOrderMedicationOrderSubstitutionComponent(String name, 18699 MedicationOrder.MedicationOrderSubstitutionComponent element) throws IOException { 18700 if (element != null) { 18701 composeElementAttributes(element); 18702 xml.enter(FHIR_NS, name); 18703 composeBackboneElements(element); 18704 if (element.hasType()) { 18705 composeCodeableConcept("type", element.getType()); 18706 } 18707 if (element.hasReason()) { 18708 composeCodeableConcept("reason", element.getReason()); 18709 } 18710 composeElementClose(element); 18711 xml.exit(FHIR_NS, name); 18712 } 18713 } 18714 18715 protected void composeMedicationStatement(String name, MedicationStatement element) throws IOException { 18716 if (element != null) { 18717 composeDomainResourceAttributes(element); 18718 xml.enter(FHIR_NS, name); 18719 composeDomainResourceElements(element); 18720 if (element.hasIdentifier()) { 18721 for (Identifier e : element.getIdentifier()) 18722 composeIdentifier("identifier", e); 18723 } 18724 if (element.hasPatient()) { 18725 composeReference("patient", element.getPatient()); 18726 } 18727 if (element.hasInformationSource()) { 18728 composeReference("informationSource", element.getInformationSource()); 18729 } 18730 if (element.hasDateAssertedElement()) { 18731 composeDateTime("dateAsserted", element.getDateAssertedElement()); 18732 } 18733 if (element.hasStatusElement()) 18734 composeEnumeration("status", element.getStatusElement(), 18735 new MedicationStatement.MedicationStatementStatusEnumFactory()); 18736 if (element.hasWasNotTakenElement()) { 18737 composeBoolean("wasNotTaken", element.getWasNotTakenElement()); 18738 } 18739 if (element.hasReasonNotTaken()) { 18740 for (CodeableConcept e : element.getReasonNotTaken()) 18741 composeCodeableConcept("reasonNotTaken", e); 18742 } 18743 if (element.hasReasonForUse()) { 18744 composeType("reasonForUse", element.getReasonForUse()); 18745 } 18746 if (element.hasEffective()) { 18747 composeType("effective", element.getEffective()); 18748 } 18749 if (element.hasNoteElement()) { 18750 composeString("note", element.getNoteElement()); 18751 } 18752 if (element.hasSupportingInformation()) { 18753 for (Reference e : element.getSupportingInformation()) 18754 composeReference("supportingInformation", e); 18755 } 18756 if (element.hasMedication()) { 18757 composeType("medication", element.getMedication()); 18758 } 18759 if (element.hasDosage()) { 18760 for (MedicationStatement.MedicationStatementDosageComponent e : element.getDosage()) 18761 composeMedicationStatementMedicationStatementDosageComponent("dosage", e); 18762 } 18763 composeElementClose(element); 18764 xml.exit(FHIR_NS, name); 18765 } 18766 } 18767 18768 protected void composeMedicationStatementMedicationStatementDosageComponent(String name, 18769 MedicationStatement.MedicationStatementDosageComponent element) throws IOException { 18770 if (element != null) { 18771 composeElementAttributes(element); 18772 xml.enter(FHIR_NS, name); 18773 composeBackboneElements(element); 18774 if (element.hasTextElement()) { 18775 composeString("text", element.getTextElement()); 18776 } 18777 if (element.hasTiming()) { 18778 composeTiming("timing", element.getTiming()); 18779 } 18780 if (element.hasAsNeeded()) { 18781 composeType("asNeeded", element.getAsNeeded()); 18782 } 18783 if (element.hasSite()) { 18784 composeType("site", element.getSite()); 18785 } 18786 if (element.hasRoute()) { 18787 composeCodeableConcept("route", element.getRoute()); 18788 } 18789 if (element.hasMethod()) { 18790 composeCodeableConcept("method", element.getMethod()); 18791 } 18792 if (element.hasQuantity()) { 18793 composeType("quantity", element.getQuantity()); 18794 } 18795 if (element.hasRate()) { 18796 composeType("rate", element.getRate()); 18797 } 18798 if (element.hasMaxDosePerPeriod()) { 18799 composeRatio("maxDosePerPeriod", element.getMaxDosePerPeriod()); 18800 } 18801 composeElementClose(element); 18802 xml.exit(FHIR_NS, name); 18803 } 18804 } 18805 18806 protected void composeMessageHeader(String name, MessageHeader element) throws IOException { 18807 if (element != null) { 18808 composeDomainResourceAttributes(element); 18809 xml.enter(FHIR_NS, name); 18810 composeDomainResourceElements(element); 18811 if (element.hasTimestampElement()) { 18812 composeInstant("timestamp", element.getTimestampElement()); 18813 } 18814 if (element.hasEvent()) { 18815 composeCoding("event", element.getEvent()); 18816 } 18817 if (element.hasResponse()) { 18818 composeMessageHeaderMessageHeaderResponseComponent("response", element.getResponse()); 18819 } 18820 if (element.hasSource()) { 18821 composeMessageHeaderMessageSourceComponent("source", element.getSource()); 18822 } 18823 if (element.hasDestination()) { 18824 for (MessageHeader.MessageDestinationComponent e : element.getDestination()) 18825 composeMessageHeaderMessageDestinationComponent("destination", e); 18826 } 18827 if (element.hasEnterer()) { 18828 composeReference("enterer", element.getEnterer()); 18829 } 18830 if (element.hasAuthor()) { 18831 composeReference("author", element.getAuthor()); 18832 } 18833 if (element.hasReceiver()) { 18834 composeReference("receiver", element.getReceiver()); 18835 } 18836 if (element.hasResponsible()) { 18837 composeReference("responsible", element.getResponsible()); 18838 } 18839 if (element.hasReason()) { 18840 composeCodeableConcept("reason", element.getReason()); 18841 } 18842 if (element.hasData()) { 18843 for (Reference e : element.getData()) 18844 composeReference("data", e); 18845 } 18846 composeElementClose(element); 18847 xml.exit(FHIR_NS, name); 18848 } 18849 } 18850 18851 protected void composeMessageHeaderMessageHeaderResponseComponent(String name, 18852 MessageHeader.MessageHeaderResponseComponent element) throws IOException { 18853 if (element != null) { 18854 composeElementAttributes(element); 18855 xml.enter(FHIR_NS, name); 18856 composeBackboneElements(element); 18857 if (element.hasIdentifierElement()) { 18858 composeId("identifier", element.getIdentifierElement()); 18859 } 18860 if (element.hasCodeElement()) 18861 composeEnumeration("code", element.getCodeElement(), new MessageHeader.ResponseTypeEnumFactory()); 18862 if (element.hasDetails()) { 18863 composeReference("details", element.getDetails()); 18864 } 18865 composeElementClose(element); 18866 xml.exit(FHIR_NS, name); 18867 } 18868 } 18869 18870 protected void composeMessageHeaderMessageSourceComponent(String name, MessageHeader.MessageSourceComponent element) 18871 throws IOException { 18872 if (element != null) { 18873 composeElementAttributes(element); 18874 xml.enter(FHIR_NS, name); 18875 composeBackboneElements(element); 18876 if (element.hasNameElement()) { 18877 composeString("name", element.getNameElement()); 18878 } 18879 if (element.hasSoftwareElement()) { 18880 composeString("software", element.getSoftwareElement()); 18881 } 18882 if (element.hasVersionElement()) { 18883 composeString("version", element.getVersionElement()); 18884 } 18885 if (element.hasContact()) { 18886 composeContactPoint("contact", element.getContact()); 18887 } 18888 if (element.hasEndpointElement()) { 18889 composeUri("endpoint", element.getEndpointElement()); 18890 } 18891 composeElementClose(element); 18892 xml.exit(FHIR_NS, name); 18893 } 18894 } 18895 18896 protected void composeMessageHeaderMessageDestinationComponent(String name, 18897 MessageHeader.MessageDestinationComponent element) throws IOException { 18898 if (element != null) { 18899 composeElementAttributes(element); 18900 xml.enter(FHIR_NS, name); 18901 composeBackboneElements(element); 18902 if (element.hasNameElement()) { 18903 composeString("name", element.getNameElement()); 18904 } 18905 if (element.hasTarget()) { 18906 composeReference("target", element.getTarget()); 18907 } 18908 if (element.hasEndpointElement()) { 18909 composeUri("endpoint", element.getEndpointElement()); 18910 } 18911 composeElementClose(element); 18912 xml.exit(FHIR_NS, name); 18913 } 18914 } 18915 18916 protected void composeNamingSystem(String name, NamingSystem element) throws IOException { 18917 if (element != null) { 18918 composeDomainResourceAttributes(element); 18919 xml.enter(FHIR_NS, name); 18920 composeDomainResourceElements(element); 18921 if (element.hasNameElement()) { 18922 composeString("name", element.getNameElement()); 18923 } 18924 if (element.hasStatusElement()) 18925 composeEnumeration("status", element.getStatusElement(), 18926 new Enumerations.ConformanceResourceStatusEnumFactory()); 18927 if (element.hasKindElement()) 18928 composeEnumeration("kind", element.getKindElement(), new NamingSystem.NamingSystemTypeEnumFactory()); 18929 if (element.hasPublisherElement()) { 18930 composeString("publisher", element.getPublisherElement()); 18931 } 18932 if (element.hasContact()) { 18933 for (NamingSystem.NamingSystemContactComponent e : element.getContact()) 18934 composeNamingSystemNamingSystemContactComponent("contact", e); 18935 } 18936 if (element.hasResponsibleElement()) { 18937 composeString("responsible", element.getResponsibleElement()); 18938 } 18939 if (element.hasDateElement()) { 18940 composeDateTime("date", element.getDateElement()); 18941 } 18942 if (element.hasType()) { 18943 composeCodeableConcept("type", element.getType()); 18944 } 18945 if (element.hasDescriptionElement()) { 18946 composeString("description", element.getDescriptionElement()); 18947 } 18948 if (element.hasUseContext()) { 18949 for (CodeableConcept e : element.getUseContext()) 18950 composeCodeableConcept("useContext", e); 18951 } 18952 if (element.hasUsageElement()) { 18953 composeString("usage", element.getUsageElement()); 18954 } 18955 if (element.hasUniqueId()) { 18956 for (NamingSystem.NamingSystemUniqueIdComponent e : element.getUniqueId()) 18957 composeNamingSystemNamingSystemUniqueIdComponent("uniqueId", e); 18958 } 18959 if (element.hasReplacedBy()) { 18960 composeReference("replacedBy", element.getReplacedBy()); 18961 } 18962 composeElementClose(element); 18963 xml.exit(FHIR_NS, name); 18964 } 18965 } 18966 18967 protected void composeNamingSystemNamingSystemContactComponent(String name, 18968 NamingSystem.NamingSystemContactComponent element) throws IOException { 18969 if (element != null) { 18970 composeElementAttributes(element); 18971 xml.enter(FHIR_NS, name); 18972 composeBackboneElements(element); 18973 if (element.hasNameElement()) { 18974 composeString("name", element.getNameElement()); 18975 } 18976 if (element.hasTelecom()) { 18977 for (ContactPoint e : element.getTelecom()) 18978 composeContactPoint("telecom", e); 18979 } 18980 composeElementClose(element); 18981 xml.exit(FHIR_NS, name); 18982 } 18983 } 18984 18985 protected void composeNamingSystemNamingSystemUniqueIdComponent(String name, 18986 NamingSystem.NamingSystemUniqueIdComponent element) throws IOException { 18987 if (element != null) { 18988 composeElementAttributes(element); 18989 xml.enter(FHIR_NS, name); 18990 composeBackboneElements(element); 18991 if (element.hasTypeElement()) 18992 composeEnumeration("type", element.getTypeElement(), new NamingSystem.NamingSystemIdentifierTypeEnumFactory()); 18993 if (element.hasValueElement()) { 18994 composeString("value", element.getValueElement()); 18995 } 18996 if (element.hasPreferredElement()) { 18997 composeBoolean("preferred", element.getPreferredElement()); 18998 } 18999 if (element.hasPeriod()) { 19000 composePeriod("period", element.getPeriod()); 19001 } 19002 composeElementClose(element); 19003 xml.exit(FHIR_NS, name); 19004 } 19005 } 19006 19007 protected void composeNutritionOrder(String name, NutritionOrder element) throws IOException { 19008 if (element != null) { 19009 composeDomainResourceAttributes(element); 19010 xml.enter(FHIR_NS, name); 19011 composeDomainResourceElements(element); 19012 if (element.hasPatient()) { 19013 composeReference("patient", element.getPatient()); 19014 } 19015 if (element.hasOrderer()) { 19016 composeReference("orderer", element.getOrderer()); 19017 } 19018 if (element.hasIdentifier()) { 19019 for (Identifier e : element.getIdentifier()) 19020 composeIdentifier("identifier", e); 19021 } 19022 if (element.hasEncounter()) { 19023 composeReference("encounter", element.getEncounter()); 19024 } 19025 if (element.hasDateTimeElement()) { 19026 composeDateTime("dateTime", element.getDateTimeElement()); 19027 } 19028 if (element.hasStatusElement()) 19029 composeEnumeration("status", element.getStatusElement(), new NutritionOrder.NutritionOrderStatusEnumFactory()); 19030 if (element.hasAllergyIntolerance()) { 19031 for (Reference e : element.getAllergyIntolerance()) 19032 composeReference("allergyIntolerance", e); 19033 } 19034 if (element.hasFoodPreferenceModifier()) { 19035 for (CodeableConcept e : element.getFoodPreferenceModifier()) 19036 composeCodeableConcept("foodPreferenceModifier", e); 19037 } 19038 if (element.hasExcludeFoodModifier()) { 19039 for (CodeableConcept e : element.getExcludeFoodModifier()) 19040 composeCodeableConcept("excludeFoodModifier", e); 19041 } 19042 if (element.hasOralDiet()) { 19043 composeNutritionOrderNutritionOrderOralDietComponent("oralDiet", element.getOralDiet()); 19044 } 19045 if (element.hasSupplement()) { 19046 for (NutritionOrder.NutritionOrderSupplementComponent e : element.getSupplement()) 19047 composeNutritionOrderNutritionOrderSupplementComponent("supplement", e); 19048 } 19049 if (element.hasEnteralFormula()) { 19050 composeNutritionOrderNutritionOrderEnteralFormulaComponent("enteralFormula", element.getEnteralFormula()); 19051 } 19052 composeElementClose(element); 19053 xml.exit(FHIR_NS, name); 19054 } 19055 } 19056 19057 protected void composeNutritionOrderNutritionOrderOralDietComponent(String name, 19058 NutritionOrder.NutritionOrderOralDietComponent element) throws IOException { 19059 if (element != null) { 19060 composeElementAttributes(element); 19061 xml.enter(FHIR_NS, name); 19062 composeBackboneElements(element); 19063 if (element.hasType()) { 19064 for (CodeableConcept e : element.getType()) 19065 composeCodeableConcept("type", e); 19066 } 19067 if (element.hasSchedule()) { 19068 for (Timing e : element.getSchedule()) 19069 composeTiming("schedule", e); 19070 } 19071 if (element.hasNutrient()) { 19072 for (NutritionOrder.NutritionOrderOralDietNutrientComponent e : element.getNutrient()) 19073 composeNutritionOrderNutritionOrderOralDietNutrientComponent("nutrient", e); 19074 } 19075 if (element.hasTexture()) { 19076 for (NutritionOrder.NutritionOrderOralDietTextureComponent e : element.getTexture()) 19077 composeNutritionOrderNutritionOrderOralDietTextureComponent("texture", e); 19078 } 19079 if (element.hasFluidConsistencyType()) { 19080 for (CodeableConcept e : element.getFluidConsistencyType()) 19081 composeCodeableConcept("fluidConsistencyType", e); 19082 } 19083 if (element.hasInstructionElement()) { 19084 composeString("instruction", element.getInstructionElement()); 19085 } 19086 composeElementClose(element); 19087 xml.exit(FHIR_NS, name); 19088 } 19089 } 19090 19091 protected void composeNutritionOrderNutritionOrderOralDietNutrientComponent(String name, 19092 NutritionOrder.NutritionOrderOralDietNutrientComponent element) throws IOException { 19093 if (element != null) { 19094 composeElementAttributes(element); 19095 xml.enter(FHIR_NS, name); 19096 composeBackboneElements(element); 19097 if (element.hasModifier()) { 19098 composeCodeableConcept("modifier", element.getModifier()); 19099 } 19100 if (element.hasAmount()) { 19101 composeSimpleQuantity("amount", element.getAmount()); 19102 } 19103 composeElementClose(element); 19104 xml.exit(FHIR_NS, name); 19105 } 19106 } 19107 19108 protected void composeNutritionOrderNutritionOrderOralDietTextureComponent(String name, 19109 NutritionOrder.NutritionOrderOralDietTextureComponent element) throws IOException { 19110 if (element != null) { 19111 composeElementAttributes(element); 19112 xml.enter(FHIR_NS, name); 19113 composeBackboneElements(element); 19114 if (element.hasModifier()) { 19115 composeCodeableConcept("modifier", element.getModifier()); 19116 } 19117 if (element.hasFoodType()) { 19118 composeCodeableConcept("foodType", element.getFoodType()); 19119 } 19120 composeElementClose(element); 19121 xml.exit(FHIR_NS, name); 19122 } 19123 } 19124 19125 protected void composeNutritionOrderNutritionOrderSupplementComponent(String name, 19126 NutritionOrder.NutritionOrderSupplementComponent element) throws IOException { 19127 if (element != null) { 19128 composeElementAttributes(element); 19129 xml.enter(FHIR_NS, name); 19130 composeBackboneElements(element); 19131 if (element.hasType()) { 19132 composeCodeableConcept("type", element.getType()); 19133 } 19134 if (element.hasProductNameElement()) { 19135 composeString("productName", element.getProductNameElement()); 19136 } 19137 if (element.hasSchedule()) { 19138 for (Timing e : element.getSchedule()) 19139 composeTiming("schedule", e); 19140 } 19141 if (element.hasQuantity()) { 19142 composeSimpleQuantity("quantity", element.getQuantity()); 19143 } 19144 if (element.hasInstructionElement()) { 19145 composeString("instruction", element.getInstructionElement()); 19146 } 19147 composeElementClose(element); 19148 xml.exit(FHIR_NS, name); 19149 } 19150 } 19151 19152 protected void composeNutritionOrderNutritionOrderEnteralFormulaComponent(String name, 19153 NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { 19154 if (element != null) { 19155 composeElementAttributes(element); 19156 xml.enter(FHIR_NS, name); 19157 composeBackboneElements(element); 19158 if (element.hasBaseFormulaType()) { 19159 composeCodeableConcept("baseFormulaType", element.getBaseFormulaType()); 19160 } 19161 if (element.hasBaseFormulaProductNameElement()) { 19162 composeString("baseFormulaProductName", element.getBaseFormulaProductNameElement()); 19163 } 19164 if (element.hasAdditiveType()) { 19165 composeCodeableConcept("additiveType", element.getAdditiveType()); 19166 } 19167 if (element.hasAdditiveProductNameElement()) { 19168 composeString("additiveProductName", element.getAdditiveProductNameElement()); 19169 } 19170 if (element.hasCaloricDensity()) { 19171 composeSimpleQuantity("caloricDensity", element.getCaloricDensity()); 19172 } 19173 if (element.hasRouteofAdministration()) { 19174 composeCodeableConcept("routeofAdministration", element.getRouteofAdministration()); 19175 } 19176 if (element.hasAdministration()) { 19177 for (NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent e : element.getAdministration()) 19178 composeNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent("administration", e); 19179 } 19180 if (element.hasMaxVolumeToDeliver()) { 19181 composeSimpleQuantity("maxVolumeToDeliver", element.getMaxVolumeToDeliver()); 19182 } 19183 if (element.hasAdministrationInstructionElement()) { 19184 composeString("administrationInstruction", element.getAdministrationInstructionElement()); 19185 } 19186 composeElementClose(element); 19187 xml.exit(FHIR_NS, name); 19188 } 19189 } 19190 19191 protected void composeNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent(String name, 19192 NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { 19193 if (element != null) { 19194 composeElementAttributes(element); 19195 xml.enter(FHIR_NS, name); 19196 composeBackboneElements(element); 19197 if (element.hasSchedule()) { 19198 composeTiming("schedule", element.getSchedule()); 19199 } 19200 if (element.hasQuantity()) { 19201 composeSimpleQuantity("quantity", element.getQuantity()); 19202 } 19203 if (element.hasRate()) { 19204 composeType("rate", element.getRate()); 19205 } 19206 composeElementClose(element); 19207 xml.exit(FHIR_NS, name); 19208 } 19209 } 19210 19211 protected void composeObservation(String name, Observation element) throws IOException { 19212 if (element != null) { 19213 composeDomainResourceAttributes(element); 19214 xml.enter(FHIR_NS, name); 19215 composeDomainResourceElements(element); 19216 if (element.hasIdentifier()) { 19217 for (Identifier e : element.getIdentifier()) 19218 composeIdentifier("identifier", e); 19219 } 19220 if (element.hasStatusElement()) 19221 composeEnumeration("status", element.getStatusElement(), new Observation.ObservationStatusEnumFactory()); 19222 if (element.hasCategory()) { 19223 composeCodeableConcept("category", element.getCategory()); 19224 } 19225 if (element.hasCode()) { 19226 composeCodeableConcept("code", element.getCode()); 19227 } 19228 if (element.hasSubject()) { 19229 composeReference("subject", element.getSubject()); 19230 } 19231 if (element.hasEncounter()) { 19232 composeReference("encounter", element.getEncounter()); 19233 } 19234 if (element.hasEffective()) { 19235 composeType("effective", element.getEffective()); 19236 } 19237 if (element.hasIssuedElement()) { 19238 composeInstant("issued", element.getIssuedElement()); 19239 } 19240 if (element.hasPerformer()) { 19241 for (Reference e : element.getPerformer()) 19242 composeReference("performer", e); 19243 } 19244 if (element.hasValue()) { 19245 composeType("value", element.getValue()); 19246 } 19247 if (element.hasDataAbsentReason()) { 19248 composeCodeableConcept("dataAbsentReason", element.getDataAbsentReason()); 19249 } 19250 if (element.hasInterpretation()) { 19251 composeCodeableConcept("interpretation", element.getInterpretation()); 19252 } 19253 if (element.hasCommentsElement()) { 19254 composeString("comments", element.getCommentsElement()); 19255 } 19256 if (element.hasBodySite()) { 19257 composeCodeableConcept("bodySite", element.getBodySite()); 19258 } 19259 if (element.hasMethod()) { 19260 composeCodeableConcept("method", element.getMethod()); 19261 } 19262 if (element.hasSpecimen()) { 19263 composeReference("specimen", element.getSpecimen()); 19264 } 19265 if (element.hasDevice()) { 19266 composeReference("device", element.getDevice()); 19267 } 19268 if (element.hasReferenceRange()) { 19269 for (Observation.ObservationReferenceRangeComponent e : element.getReferenceRange()) 19270 composeObservationObservationReferenceRangeComponent("referenceRange", e); 19271 } 19272 if (element.hasRelated()) { 19273 for (Observation.ObservationRelatedComponent e : element.getRelated()) 19274 composeObservationObservationRelatedComponent("related", e); 19275 } 19276 if (element.hasComponent()) { 19277 for (Observation.ObservationComponentComponent e : element.getComponent()) 19278 composeObservationObservationComponentComponent("component", e); 19279 } 19280 composeElementClose(element); 19281 xml.exit(FHIR_NS, name); 19282 } 19283 } 19284 19285 protected void composeObservationObservationReferenceRangeComponent(String name, 19286 Observation.ObservationReferenceRangeComponent element) throws IOException { 19287 if (element != null) { 19288 composeElementAttributes(element); 19289 xml.enter(FHIR_NS, name); 19290 composeBackboneElements(element); 19291 if (element.hasLow()) { 19292 composeSimpleQuantity("low", element.getLow()); 19293 } 19294 if (element.hasHigh()) { 19295 composeSimpleQuantity("high", element.getHigh()); 19296 } 19297 if (element.hasMeaning()) { 19298 composeCodeableConcept("meaning", element.getMeaning()); 19299 } 19300 if (element.hasAge()) { 19301 composeRange("age", element.getAge()); 19302 } 19303 if (element.hasTextElement()) { 19304 composeString("text", element.getTextElement()); 19305 } 19306 composeElementClose(element); 19307 xml.exit(FHIR_NS, name); 19308 } 19309 } 19310 19311 protected void composeObservationObservationRelatedComponent(String name, 19312 Observation.ObservationRelatedComponent element) throws IOException { 19313 if (element != null) { 19314 composeElementAttributes(element); 19315 xml.enter(FHIR_NS, name); 19316 composeBackboneElements(element); 19317 if (element.hasTypeElement()) 19318 composeEnumeration("type", element.getTypeElement(), new Observation.ObservationRelationshipTypeEnumFactory()); 19319 if (element.hasTarget()) { 19320 composeReference("target", element.getTarget()); 19321 } 19322 composeElementClose(element); 19323 xml.exit(FHIR_NS, name); 19324 } 19325 } 19326 19327 protected void composeObservationObservationComponentComponent(String name, 19328 Observation.ObservationComponentComponent element) throws IOException { 19329 if (element != null) { 19330 composeElementAttributes(element); 19331 xml.enter(FHIR_NS, name); 19332 composeBackboneElements(element); 19333 if (element.hasCode()) { 19334 composeCodeableConcept("code", element.getCode()); 19335 } 19336 if (element.hasValue()) { 19337 composeType("value", element.getValue()); 19338 } 19339 if (element.hasDataAbsentReason()) { 19340 composeCodeableConcept("dataAbsentReason", element.getDataAbsentReason()); 19341 } 19342 if (element.hasReferenceRange()) { 19343 for (Observation.ObservationReferenceRangeComponent e : element.getReferenceRange()) 19344 composeObservationObservationReferenceRangeComponent("referenceRange", e); 19345 } 19346 composeElementClose(element); 19347 xml.exit(FHIR_NS, name); 19348 } 19349 } 19350 19351 protected void composeOperationDefinition(String name, OperationDefinition element) throws IOException { 19352 if (element != null) { 19353 composeDomainResourceAttributes(element); 19354 xml.enter(FHIR_NS, name); 19355 composeDomainResourceElements(element); 19356 if (element.hasUrlElement()) { 19357 composeUri("url", element.getUrlElement()); 19358 } 19359 if (element.hasVersionElement()) { 19360 composeString("version", element.getVersionElement()); 19361 } 19362 if (element.hasNameElement()) { 19363 composeString("name", element.getNameElement()); 19364 } 19365 if (element.hasStatusElement()) 19366 composeEnumeration("status", element.getStatusElement(), 19367 new Enumerations.ConformanceResourceStatusEnumFactory()); 19368 if (element.hasKindElement()) 19369 composeEnumeration("kind", element.getKindElement(), new OperationDefinition.OperationKindEnumFactory()); 19370 if (element.hasExperimentalElement()) { 19371 composeBoolean("experimental", element.getExperimentalElement()); 19372 } 19373 if (element.hasPublisherElement()) { 19374 composeString("publisher", element.getPublisherElement()); 19375 } 19376 if (element.hasContact()) { 19377 for (OperationDefinition.OperationDefinitionContactComponent e : element.getContact()) 19378 composeOperationDefinitionOperationDefinitionContactComponent("contact", e); 19379 } 19380 if (element.hasDateElement()) { 19381 composeDateTime("date", element.getDateElement()); 19382 } 19383 if (element.hasDescriptionElement()) { 19384 composeString("description", element.getDescriptionElement()); 19385 } 19386 if (element.hasRequirementsElement()) { 19387 composeString("requirements", element.getRequirementsElement()); 19388 } 19389 if (element.hasIdempotentElement()) { 19390 composeBoolean("idempotent", element.getIdempotentElement()); 19391 } 19392 if (element.hasCodeElement()) { 19393 composeCode("code", element.getCodeElement()); 19394 } 19395 if (element.hasNotesElement()) { 19396 composeString("notes", element.getNotesElement()); 19397 } 19398 if (element.hasBase()) { 19399 composeReference("base", element.getBase()); 19400 } 19401 if (element.hasSystemElement()) { 19402 composeBoolean("system", element.getSystemElement()); 19403 } 19404 if (element.hasType()) { 19405 for (CodeType e : element.getType()) 19406 composeCode("type", e); 19407 } 19408 if (element.hasInstanceElement()) { 19409 composeBoolean("instance", element.getInstanceElement()); 19410 } 19411 if (element.hasParameter()) { 19412 for (OperationDefinition.OperationDefinitionParameterComponent e : element.getParameter()) 19413 composeOperationDefinitionOperationDefinitionParameterComponent("parameter", e); 19414 } 19415 composeElementClose(element); 19416 xml.exit(FHIR_NS, name); 19417 } 19418 } 19419 19420 protected void composeOperationDefinitionOperationDefinitionContactComponent(String name, 19421 OperationDefinition.OperationDefinitionContactComponent element) throws IOException { 19422 if (element != null) { 19423 composeElementAttributes(element); 19424 xml.enter(FHIR_NS, name); 19425 composeBackboneElements(element); 19426 if (element.hasNameElement()) { 19427 composeString("name", element.getNameElement()); 19428 } 19429 if (element.hasTelecom()) { 19430 for (ContactPoint e : element.getTelecom()) 19431 composeContactPoint("telecom", e); 19432 } 19433 composeElementClose(element); 19434 xml.exit(FHIR_NS, name); 19435 } 19436 } 19437 19438 protected void composeOperationDefinitionOperationDefinitionParameterComponent(String name, 19439 OperationDefinition.OperationDefinitionParameterComponent element) throws IOException { 19440 if (element != null) { 19441 composeElementAttributes(element); 19442 xml.enter(FHIR_NS, name); 19443 composeBackboneElements(element); 19444 if (element.hasNameElement()) { 19445 composeCode("name", element.getNameElement()); 19446 } 19447 if (element.hasUseElement()) 19448 composeEnumeration("use", element.getUseElement(), new OperationDefinition.OperationParameterUseEnumFactory()); 19449 if (element.hasMinElement()) { 19450 composeInteger("min", element.getMinElement()); 19451 } 19452 if (element.hasMaxElement()) { 19453 composeString("max", element.getMaxElement()); 19454 } 19455 if (element.hasDocumentationElement()) { 19456 composeString("documentation", element.getDocumentationElement()); 19457 } 19458 if (element.hasTypeElement()) { 19459 composeCode("type", element.getTypeElement()); 19460 } 19461 if (element.hasProfile()) { 19462 composeReference("profile", element.getProfile()); 19463 } 19464 if (element.hasBinding()) { 19465 composeOperationDefinitionOperationDefinitionParameterBindingComponent("binding", element.getBinding()); 19466 } 19467 if (element.hasPart()) { 19468 for (OperationDefinition.OperationDefinitionParameterComponent e : element.getPart()) 19469 composeOperationDefinitionOperationDefinitionParameterComponent("part", e); 19470 } 19471 composeElementClose(element); 19472 xml.exit(FHIR_NS, name); 19473 } 19474 } 19475 19476 protected void composeOperationDefinitionOperationDefinitionParameterBindingComponent(String name, 19477 OperationDefinition.OperationDefinitionParameterBindingComponent element) throws IOException { 19478 if (element != null) { 19479 composeElementAttributes(element); 19480 xml.enter(FHIR_NS, name); 19481 composeBackboneElements(element); 19482 if (element.hasStrengthElement()) 19483 composeEnumeration("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory()); 19484 if (element.hasValueSet()) { 19485 composeType("valueSet", element.getValueSet()); 19486 } 19487 composeElementClose(element); 19488 xml.exit(FHIR_NS, name); 19489 } 19490 } 19491 19492 protected void composeOperationOutcome(String name, OperationOutcome element) throws IOException { 19493 if (element != null) { 19494 composeDomainResourceAttributes(element); 19495 xml.enter(FHIR_NS, name); 19496 composeDomainResourceElements(element); 19497 if (element.hasIssue()) { 19498 for (OperationOutcome.OperationOutcomeIssueComponent e : element.getIssue()) 19499 composeOperationOutcomeOperationOutcomeIssueComponent("issue", e); 19500 } 19501 composeElementClose(element); 19502 xml.exit(FHIR_NS, name); 19503 } 19504 } 19505 19506 protected void composeOperationOutcomeOperationOutcomeIssueComponent(String name, 19507 OperationOutcome.OperationOutcomeIssueComponent element) throws IOException { 19508 if (element != null) { 19509 composeElementAttributes(element); 19510 xml.enter(FHIR_NS, name); 19511 composeBackboneElements(element); 19512 if (element.hasSeverityElement()) 19513 composeEnumeration("severity", element.getSeverityElement(), new OperationOutcome.IssueSeverityEnumFactory()); 19514 if (element.hasCodeElement()) 19515 composeEnumeration("code", element.getCodeElement(), new OperationOutcome.IssueTypeEnumFactory()); 19516 if (element.hasDetails()) { 19517 composeCodeableConcept("details", element.getDetails()); 19518 } 19519 if (element.hasDiagnosticsElement()) { 19520 composeString("diagnostics", element.getDiagnosticsElement()); 19521 } 19522 if (element.hasLocation()) { 19523 for (StringType e : element.getLocation()) 19524 composeString("location", e); 19525 } 19526 composeElementClose(element); 19527 xml.exit(FHIR_NS, name); 19528 } 19529 } 19530 19531 protected void composeOrder(String name, Order element) throws IOException { 19532 if (element != null) { 19533 composeDomainResourceAttributes(element); 19534 xml.enter(FHIR_NS, name); 19535 composeDomainResourceElements(element); 19536 if (element.hasIdentifier()) { 19537 for (Identifier e : element.getIdentifier()) 19538 composeIdentifier("identifier", e); 19539 } 19540 if (element.hasDateElement()) { 19541 composeDateTime("date", element.getDateElement()); 19542 } 19543 if (element.hasSubject()) { 19544 composeReference("subject", element.getSubject()); 19545 } 19546 if (element.hasSource()) { 19547 composeReference("source", element.getSource()); 19548 } 19549 if (element.hasTarget()) { 19550 composeReference("target", element.getTarget()); 19551 } 19552 if (element.hasReason()) { 19553 composeType("reason", element.getReason()); 19554 } 19555 if (element.hasWhen()) { 19556 composeOrderOrderWhenComponent("when", element.getWhen()); 19557 } 19558 if (element.hasDetail()) { 19559 for (Reference e : element.getDetail()) 19560 composeReference("detail", e); 19561 } 19562 composeElementClose(element); 19563 xml.exit(FHIR_NS, name); 19564 } 19565 } 19566 19567 protected void composeOrderOrderWhenComponent(String name, Order.OrderWhenComponent element) throws IOException { 19568 if (element != null) { 19569 composeElementAttributes(element); 19570 xml.enter(FHIR_NS, name); 19571 composeBackboneElements(element); 19572 if (element.hasCode()) { 19573 composeCodeableConcept("code", element.getCode()); 19574 } 19575 if (element.hasSchedule()) { 19576 composeTiming("schedule", element.getSchedule()); 19577 } 19578 composeElementClose(element); 19579 xml.exit(FHIR_NS, name); 19580 } 19581 } 19582 19583 protected void composeOrderResponse(String name, OrderResponse element) throws IOException { 19584 if (element != null) { 19585 composeDomainResourceAttributes(element); 19586 xml.enter(FHIR_NS, name); 19587 composeDomainResourceElements(element); 19588 if (element.hasIdentifier()) { 19589 for (Identifier e : element.getIdentifier()) 19590 composeIdentifier("identifier", e); 19591 } 19592 if (element.hasRequest()) { 19593 composeReference("request", element.getRequest()); 19594 } 19595 if (element.hasDateElement()) { 19596 composeDateTime("date", element.getDateElement()); 19597 } 19598 if (element.hasWho()) { 19599 composeReference("who", element.getWho()); 19600 } 19601 if (element.hasOrderStatusElement()) 19602 composeEnumeration("orderStatus", element.getOrderStatusElement(), new OrderResponse.OrderStatusEnumFactory()); 19603 if (element.hasDescriptionElement()) { 19604 composeString("description", element.getDescriptionElement()); 19605 } 19606 if (element.hasFulfillment()) { 19607 for (Reference e : element.getFulfillment()) 19608 composeReference("fulfillment", e); 19609 } 19610 composeElementClose(element); 19611 xml.exit(FHIR_NS, name); 19612 } 19613 } 19614 19615 protected void composeOrganization(String name, Organization element) throws IOException { 19616 if (element != null) { 19617 composeDomainResourceAttributes(element); 19618 xml.enter(FHIR_NS, name); 19619 composeDomainResourceElements(element); 19620 if (element.hasIdentifier()) { 19621 for (Identifier e : element.getIdentifier()) 19622 composeIdentifier("identifier", e); 19623 } 19624 if (element.hasActiveElement()) { 19625 composeBoolean("active", element.getActiveElement()); 19626 } 19627 if (element.hasType()) { 19628 composeCodeableConcept("type", element.getType()); 19629 } 19630 if (element.hasNameElement()) { 19631 composeString("name", element.getNameElement()); 19632 } 19633 if (element.hasTelecom()) { 19634 for (ContactPoint e : element.getTelecom()) 19635 composeContactPoint("telecom", e); 19636 } 19637 if (element.hasAddress()) { 19638 for (Address e : element.getAddress()) 19639 composeAddress("address", e); 19640 } 19641 if (element.hasPartOf()) { 19642 composeReference("partOf", element.getPartOf()); 19643 } 19644 if (element.hasContact()) { 19645 for (Organization.OrganizationContactComponent e : element.getContact()) 19646 composeOrganizationOrganizationContactComponent("contact", e); 19647 } 19648 composeElementClose(element); 19649 xml.exit(FHIR_NS, name); 19650 } 19651 } 19652 19653 protected void composeOrganizationOrganizationContactComponent(String name, 19654 Organization.OrganizationContactComponent element) throws IOException { 19655 if (element != null) { 19656 composeElementAttributes(element); 19657 xml.enter(FHIR_NS, name); 19658 composeBackboneElements(element); 19659 if (element.hasPurpose()) { 19660 composeCodeableConcept("purpose", element.getPurpose()); 19661 } 19662 if (element.hasName()) { 19663 composeHumanName("name", element.getName()); 19664 } 19665 if (element.hasTelecom()) { 19666 for (ContactPoint e : element.getTelecom()) 19667 composeContactPoint("telecom", e); 19668 } 19669 if (element.hasAddress()) { 19670 composeAddress("address", element.getAddress()); 19671 } 19672 composeElementClose(element); 19673 xml.exit(FHIR_NS, name); 19674 } 19675 } 19676 19677 protected void composePatient(String name, Patient element) throws IOException { 19678 if (element != null) { 19679 composeDomainResourceAttributes(element); 19680 xml.enter(FHIR_NS, name); 19681 composeDomainResourceElements(element); 19682 if (element.hasIdentifier()) { 19683 for (Identifier e : element.getIdentifier()) 19684 composeIdentifier("identifier", e); 19685 } 19686 if (element.hasActiveElement()) { 19687 composeBoolean("active", element.getActiveElement()); 19688 } 19689 if (element.hasName()) { 19690 for (HumanName e : element.getName()) 19691 composeHumanName("name", e); 19692 } 19693 if (element.hasTelecom()) { 19694 for (ContactPoint e : element.getTelecom()) 19695 composeContactPoint("telecom", e); 19696 } 19697 if (element.hasGenderElement()) 19698 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 19699 if (element.hasBirthDateElement()) { 19700 composeDate("birthDate", element.getBirthDateElement()); 19701 } 19702 if (element.hasDeceased()) { 19703 composeType("deceased", element.getDeceased()); 19704 } 19705 if (element.hasAddress()) { 19706 for (Address e : element.getAddress()) 19707 composeAddress("address", e); 19708 } 19709 if (element.hasMaritalStatus()) { 19710 composeCodeableConcept("maritalStatus", element.getMaritalStatus()); 19711 } 19712 if (element.hasMultipleBirth()) { 19713 composeType("multipleBirth", element.getMultipleBirth()); 19714 } 19715 if (element.hasPhoto()) { 19716 for (Attachment e : element.getPhoto()) 19717 composeAttachment("photo", e); 19718 } 19719 if (element.hasContact()) { 19720 for (Patient.ContactComponent e : element.getContact()) 19721 composePatientContactComponent("contact", e); 19722 } 19723 if (element.hasAnimal()) { 19724 composePatientAnimalComponent("animal", element.getAnimal()); 19725 } 19726 if (element.hasCommunication()) { 19727 for (Patient.PatientCommunicationComponent e : element.getCommunication()) 19728 composePatientPatientCommunicationComponent("communication", e); 19729 } 19730 if (element.hasCareProvider()) { 19731 for (Reference e : element.getCareProvider()) 19732 composeReference("careProvider", e); 19733 } 19734 if (element.hasManagingOrganization()) { 19735 composeReference("managingOrganization", element.getManagingOrganization()); 19736 } 19737 if (element.hasLink()) { 19738 for (Patient.PatientLinkComponent e : element.getLink()) 19739 composePatientPatientLinkComponent("link", e); 19740 } 19741 composeElementClose(element); 19742 xml.exit(FHIR_NS, name); 19743 } 19744 } 19745 19746 protected void composePatientContactComponent(String name, Patient.ContactComponent element) throws IOException { 19747 if (element != null) { 19748 composeElementAttributes(element); 19749 xml.enter(FHIR_NS, name); 19750 composeBackboneElements(element); 19751 if (element.hasRelationship()) { 19752 for (CodeableConcept e : element.getRelationship()) 19753 composeCodeableConcept("relationship", e); 19754 } 19755 if (element.hasName()) { 19756 composeHumanName("name", element.getName()); 19757 } 19758 if (element.hasTelecom()) { 19759 for (ContactPoint e : element.getTelecom()) 19760 composeContactPoint("telecom", e); 19761 } 19762 if (element.hasAddress()) { 19763 composeAddress("address", element.getAddress()); 19764 } 19765 if (element.hasGenderElement()) 19766 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 19767 if (element.hasOrganization()) { 19768 composeReference("organization", element.getOrganization()); 19769 } 19770 if (element.hasPeriod()) { 19771 composePeriod("period", element.getPeriod()); 19772 } 19773 composeElementClose(element); 19774 xml.exit(FHIR_NS, name); 19775 } 19776 } 19777 19778 protected void composePatientAnimalComponent(String name, Patient.AnimalComponent element) throws IOException { 19779 if (element != null) { 19780 composeElementAttributes(element); 19781 xml.enter(FHIR_NS, name); 19782 composeBackboneElements(element); 19783 if (element.hasSpecies()) { 19784 composeCodeableConcept("species", element.getSpecies()); 19785 } 19786 if (element.hasBreed()) { 19787 composeCodeableConcept("breed", element.getBreed()); 19788 } 19789 if (element.hasGenderStatus()) { 19790 composeCodeableConcept("genderStatus", element.getGenderStatus()); 19791 } 19792 composeElementClose(element); 19793 xml.exit(FHIR_NS, name); 19794 } 19795 } 19796 19797 protected void composePatientPatientCommunicationComponent(String name, Patient.PatientCommunicationComponent element) 19798 throws IOException { 19799 if (element != null) { 19800 composeElementAttributes(element); 19801 xml.enter(FHIR_NS, name); 19802 composeBackboneElements(element); 19803 if (element.hasLanguage()) { 19804 composeCodeableConcept("language", element.getLanguage()); 19805 } 19806 if (element.hasPreferredElement()) { 19807 composeBoolean("preferred", element.getPreferredElement()); 19808 } 19809 composeElementClose(element); 19810 xml.exit(FHIR_NS, name); 19811 } 19812 } 19813 19814 protected void composePatientPatientLinkComponent(String name, Patient.PatientLinkComponent element) 19815 throws IOException { 19816 if (element != null) { 19817 composeElementAttributes(element); 19818 xml.enter(FHIR_NS, name); 19819 composeBackboneElements(element); 19820 if (element.hasOther()) { 19821 composeReference("other", element.getOther()); 19822 } 19823 if (element.hasTypeElement()) 19824 composeEnumeration("type", element.getTypeElement(), new Patient.LinkTypeEnumFactory()); 19825 composeElementClose(element); 19826 xml.exit(FHIR_NS, name); 19827 } 19828 } 19829 19830 protected void composePaymentNotice(String name, PaymentNotice element) throws IOException { 19831 if (element != null) { 19832 composeDomainResourceAttributes(element); 19833 xml.enter(FHIR_NS, name); 19834 composeDomainResourceElements(element); 19835 if (element.hasIdentifier()) { 19836 for (Identifier e : element.getIdentifier()) 19837 composeIdentifier("identifier", e); 19838 } 19839 if (element.hasRuleset()) { 19840 composeCoding("ruleset", element.getRuleset()); 19841 } 19842 if (element.hasOriginalRuleset()) { 19843 composeCoding("originalRuleset", element.getOriginalRuleset()); 19844 } 19845 if (element.hasCreatedElement()) { 19846 composeDateTime("created", element.getCreatedElement()); 19847 } 19848 if (element.hasTarget()) { 19849 composeReference("target", element.getTarget()); 19850 } 19851 if (element.hasProvider()) { 19852 composeReference("provider", element.getProvider()); 19853 } 19854 if (element.hasOrganization()) { 19855 composeReference("organization", element.getOrganization()); 19856 } 19857 if (element.hasRequest()) { 19858 composeReference("request", element.getRequest()); 19859 } 19860 if (element.hasResponse()) { 19861 composeReference("response", element.getResponse()); 19862 } 19863 if (element.hasPaymentStatus()) { 19864 composeCoding("paymentStatus", element.getPaymentStatus()); 19865 } 19866 composeElementClose(element); 19867 xml.exit(FHIR_NS, name); 19868 } 19869 } 19870 19871 protected void composePaymentReconciliation(String name, PaymentReconciliation element) throws IOException { 19872 if (element != null) { 19873 composeDomainResourceAttributes(element); 19874 xml.enter(FHIR_NS, name); 19875 composeDomainResourceElements(element); 19876 if (element.hasIdentifier()) { 19877 for (Identifier e : element.getIdentifier()) 19878 composeIdentifier("identifier", e); 19879 } 19880 if (element.hasRequest()) { 19881 composeReference("request", element.getRequest()); 19882 } 19883 if (element.hasOutcomeElement()) 19884 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 19885 if (element.hasDispositionElement()) { 19886 composeString("disposition", element.getDispositionElement()); 19887 } 19888 if (element.hasRuleset()) { 19889 composeCoding("ruleset", element.getRuleset()); 19890 } 19891 if (element.hasOriginalRuleset()) { 19892 composeCoding("originalRuleset", element.getOriginalRuleset()); 19893 } 19894 if (element.hasCreatedElement()) { 19895 composeDateTime("created", element.getCreatedElement()); 19896 } 19897 if (element.hasPeriod()) { 19898 composePeriod("period", element.getPeriod()); 19899 } 19900 if (element.hasOrganization()) { 19901 composeReference("organization", element.getOrganization()); 19902 } 19903 if (element.hasRequestProvider()) { 19904 composeReference("requestProvider", element.getRequestProvider()); 19905 } 19906 if (element.hasRequestOrganization()) { 19907 composeReference("requestOrganization", element.getRequestOrganization()); 19908 } 19909 if (element.hasDetail()) { 19910 for (PaymentReconciliation.DetailsComponent e : element.getDetail()) 19911 composePaymentReconciliationDetailsComponent("detail", e); 19912 } 19913 if (element.hasForm()) { 19914 composeCoding("form", element.getForm()); 19915 } 19916 if (element.hasTotal()) { 19917 composeMoney("total", element.getTotal()); 19918 } 19919 if (element.hasNote()) { 19920 for (PaymentReconciliation.NotesComponent e : element.getNote()) 19921 composePaymentReconciliationNotesComponent("note", e); 19922 } 19923 composeElementClose(element); 19924 xml.exit(FHIR_NS, name); 19925 } 19926 } 19927 19928 protected void composePaymentReconciliationDetailsComponent(String name, 19929 PaymentReconciliation.DetailsComponent element) throws IOException { 19930 if (element != null) { 19931 composeElementAttributes(element); 19932 xml.enter(FHIR_NS, name); 19933 composeBackboneElements(element); 19934 if (element.hasType()) { 19935 composeCoding("type", element.getType()); 19936 } 19937 if (element.hasRequest()) { 19938 composeReference("request", element.getRequest()); 19939 } 19940 if (element.hasResponce()) { 19941 composeReference("responce", element.getResponce()); 19942 } 19943 if (element.hasSubmitter()) { 19944 composeReference("submitter", element.getSubmitter()); 19945 } 19946 if (element.hasPayee()) { 19947 composeReference("payee", element.getPayee()); 19948 } 19949 if (element.hasDateElement()) { 19950 composeDate("date", element.getDateElement()); 19951 } 19952 if (element.hasAmount()) { 19953 composeMoney("amount", element.getAmount()); 19954 } 19955 composeElementClose(element); 19956 xml.exit(FHIR_NS, name); 19957 } 19958 } 19959 19960 protected void composePaymentReconciliationNotesComponent(String name, PaymentReconciliation.NotesComponent element) 19961 throws IOException { 19962 if (element != null) { 19963 composeElementAttributes(element); 19964 xml.enter(FHIR_NS, name); 19965 composeBackboneElements(element); 19966 if (element.hasType()) { 19967 composeCoding("type", element.getType()); 19968 } 19969 if (element.hasTextElement()) { 19970 composeString("text", element.getTextElement()); 19971 } 19972 composeElementClose(element); 19973 xml.exit(FHIR_NS, name); 19974 } 19975 } 19976 19977 protected void composePerson(String name, Person element) throws IOException { 19978 if (element != null) { 19979 composeDomainResourceAttributes(element); 19980 xml.enter(FHIR_NS, name); 19981 composeDomainResourceElements(element); 19982 if (element.hasIdentifier()) { 19983 for (Identifier e : element.getIdentifier()) 19984 composeIdentifier("identifier", e); 19985 } 19986 if (element.hasName()) { 19987 for (HumanName e : element.getName()) 19988 composeHumanName("name", e); 19989 } 19990 if (element.hasTelecom()) { 19991 for (ContactPoint e : element.getTelecom()) 19992 composeContactPoint("telecom", e); 19993 } 19994 if (element.hasGenderElement()) 19995 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 19996 if (element.hasBirthDateElement()) { 19997 composeDate("birthDate", element.getBirthDateElement()); 19998 } 19999 if (element.hasAddress()) { 20000 for (Address e : element.getAddress()) 20001 composeAddress("address", e); 20002 } 20003 if (element.hasPhoto()) { 20004 composeAttachment("photo", element.getPhoto()); 20005 } 20006 if (element.hasManagingOrganization()) { 20007 composeReference("managingOrganization", element.getManagingOrganization()); 20008 } 20009 if (element.hasActiveElement()) { 20010 composeBoolean("active", element.getActiveElement()); 20011 } 20012 if (element.hasLink()) { 20013 for (Person.PersonLinkComponent e : element.getLink()) 20014 composePersonPersonLinkComponent("link", e); 20015 } 20016 composeElementClose(element); 20017 xml.exit(FHIR_NS, name); 20018 } 20019 } 20020 20021 protected void composePersonPersonLinkComponent(String name, Person.PersonLinkComponent element) throws IOException { 20022 if (element != null) { 20023 composeElementAttributes(element); 20024 xml.enter(FHIR_NS, name); 20025 composeBackboneElements(element); 20026 if (element.hasTarget()) { 20027 composeReference("target", element.getTarget()); 20028 } 20029 if (element.hasAssuranceElement()) 20030 composeEnumeration("assurance", element.getAssuranceElement(), new Person.IdentityAssuranceLevelEnumFactory()); 20031 composeElementClose(element); 20032 xml.exit(FHIR_NS, name); 20033 } 20034 } 20035 20036 protected void composePractitioner(String name, Practitioner element) throws IOException { 20037 if (element != null) { 20038 composeDomainResourceAttributes(element); 20039 xml.enter(FHIR_NS, name); 20040 composeDomainResourceElements(element); 20041 if (element.hasIdentifier()) { 20042 for (Identifier e : element.getIdentifier()) 20043 composeIdentifier("identifier", e); 20044 } 20045 if (element.hasActiveElement()) { 20046 composeBoolean("active", element.getActiveElement()); 20047 } 20048 if (element.hasName()) { 20049 composeHumanName("name", element.getName()); 20050 } 20051 if (element.hasTelecom()) { 20052 for (ContactPoint e : element.getTelecom()) 20053 composeContactPoint("telecom", e); 20054 } 20055 if (element.hasAddress()) { 20056 for (Address e : element.getAddress()) 20057 composeAddress("address", e); 20058 } 20059 if (element.hasGenderElement()) 20060 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 20061 if (element.hasBirthDateElement()) { 20062 composeDate("birthDate", element.getBirthDateElement()); 20063 } 20064 if (element.hasPhoto()) { 20065 for (Attachment e : element.getPhoto()) 20066 composeAttachment("photo", e); 20067 } 20068 if (element.hasPractitionerRole()) { 20069 for (Practitioner.PractitionerPractitionerRoleComponent e : element.getPractitionerRole()) 20070 composePractitionerPractitionerPractitionerRoleComponent("practitionerRole", e); 20071 } 20072 if (element.hasQualification()) { 20073 for (Practitioner.PractitionerQualificationComponent e : element.getQualification()) 20074 composePractitionerPractitionerQualificationComponent("qualification", e); 20075 } 20076 if (element.hasCommunication()) { 20077 for (CodeableConcept e : element.getCommunication()) 20078 composeCodeableConcept("communication", e); 20079 } 20080 composeElementClose(element); 20081 xml.exit(FHIR_NS, name); 20082 } 20083 } 20084 20085 protected void composePractitionerPractitionerPractitionerRoleComponent(String name, 20086 Practitioner.PractitionerPractitionerRoleComponent element) throws IOException { 20087 if (element != null) { 20088 composeElementAttributes(element); 20089 xml.enter(FHIR_NS, name); 20090 composeBackboneElements(element); 20091 if (element.hasManagingOrganization()) { 20092 composeReference("managingOrganization", element.getManagingOrganization()); 20093 } 20094 if (element.hasRole()) { 20095 composeCodeableConcept("role", element.getRole()); 20096 } 20097 if (element.hasSpecialty()) { 20098 for (CodeableConcept e : element.getSpecialty()) 20099 composeCodeableConcept("specialty", e); 20100 } 20101 if (element.hasPeriod()) { 20102 composePeriod("period", element.getPeriod()); 20103 } 20104 if (element.hasLocation()) { 20105 for (Reference e : element.getLocation()) 20106 composeReference("location", e); 20107 } 20108 if (element.hasHealthcareService()) { 20109 for (Reference e : element.getHealthcareService()) 20110 composeReference("healthcareService", e); 20111 } 20112 composeElementClose(element); 20113 xml.exit(FHIR_NS, name); 20114 } 20115 } 20116 20117 protected void composePractitionerPractitionerQualificationComponent(String name, 20118 Practitioner.PractitionerQualificationComponent element) throws IOException { 20119 if (element != null) { 20120 composeElementAttributes(element); 20121 xml.enter(FHIR_NS, name); 20122 composeBackboneElements(element); 20123 if (element.hasIdentifier()) { 20124 for (Identifier e : element.getIdentifier()) 20125 composeIdentifier("identifier", e); 20126 } 20127 if (element.hasCode()) { 20128 composeCodeableConcept("code", element.getCode()); 20129 } 20130 if (element.hasPeriod()) { 20131 composePeriod("period", element.getPeriod()); 20132 } 20133 if (element.hasIssuer()) { 20134 composeReference("issuer", element.getIssuer()); 20135 } 20136 composeElementClose(element); 20137 xml.exit(FHIR_NS, name); 20138 } 20139 } 20140 20141 protected void composeProcedure(String name, Procedure element) throws IOException { 20142 if (element != null) { 20143 composeDomainResourceAttributes(element); 20144 xml.enter(FHIR_NS, name); 20145 composeDomainResourceElements(element); 20146 if (element.hasIdentifier()) { 20147 for (Identifier e : element.getIdentifier()) 20148 composeIdentifier("identifier", e); 20149 } 20150 if (element.hasSubject()) { 20151 composeReference("subject", element.getSubject()); 20152 } 20153 if (element.hasStatusElement()) 20154 composeEnumeration("status", element.getStatusElement(), new Procedure.ProcedureStatusEnumFactory()); 20155 if (element.hasCategory()) { 20156 composeCodeableConcept("category", element.getCategory()); 20157 } 20158 if (element.hasCode()) { 20159 composeCodeableConcept("code", element.getCode()); 20160 } 20161 if (element.hasNotPerformedElement()) { 20162 composeBoolean("notPerformed", element.getNotPerformedElement()); 20163 } 20164 if (element.hasReasonNotPerformed()) { 20165 for (CodeableConcept e : element.getReasonNotPerformed()) 20166 composeCodeableConcept("reasonNotPerformed", e); 20167 } 20168 if (element.hasBodySite()) { 20169 for (CodeableConcept e : element.getBodySite()) 20170 composeCodeableConcept("bodySite", e); 20171 } 20172 if (element.hasReason()) { 20173 composeType("reason", element.getReason()); 20174 } 20175 if (element.hasPerformer()) { 20176 for (Procedure.ProcedurePerformerComponent e : element.getPerformer()) 20177 composeProcedureProcedurePerformerComponent("performer", e); 20178 } 20179 if (element.hasPerformed()) { 20180 composeType("performed", element.getPerformed()); 20181 } 20182 if (element.hasEncounter()) { 20183 composeReference("encounter", element.getEncounter()); 20184 } 20185 if (element.hasLocation()) { 20186 composeReference("location", element.getLocation()); 20187 } 20188 if (element.hasOutcome()) { 20189 composeCodeableConcept("outcome", element.getOutcome()); 20190 } 20191 if (element.hasReport()) { 20192 for (Reference e : element.getReport()) 20193 composeReference("report", e); 20194 } 20195 if (element.hasComplication()) { 20196 for (CodeableConcept e : element.getComplication()) 20197 composeCodeableConcept("complication", e); 20198 } 20199 if (element.hasFollowUp()) { 20200 for (CodeableConcept e : element.getFollowUp()) 20201 composeCodeableConcept("followUp", e); 20202 } 20203 if (element.hasRequest()) { 20204 composeReference("request", element.getRequest()); 20205 } 20206 if (element.hasNotes()) { 20207 for (Annotation e : element.getNotes()) 20208 composeAnnotation("notes", e); 20209 } 20210 if (element.hasFocalDevice()) { 20211 for (Procedure.ProcedureFocalDeviceComponent e : element.getFocalDevice()) 20212 composeProcedureProcedureFocalDeviceComponent("focalDevice", e); 20213 } 20214 if (element.hasUsed()) { 20215 for (Reference e : element.getUsed()) 20216 composeReference("used", e); 20217 } 20218 composeElementClose(element); 20219 xml.exit(FHIR_NS, name); 20220 } 20221 } 20222 20223 protected void composeProcedureProcedurePerformerComponent(String name, Procedure.ProcedurePerformerComponent element) 20224 throws IOException { 20225 if (element != null) { 20226 composeElementAttributes(element); 20227 xml.enter(FHIR_NS, name); 20228 composeBackboneElements(element); 20229 if (element.hasActor()) { 20230 composeReference("actor", element.getActor()); 20231 } 20232 if (element.hasRole()) { 20233 composeCodeableConcept("role", element.getRole()); 20234 } 20235 composeElementClose(element); 20236 xml.exit(FHIR_NS, name); 20237 } 20238 } 20239 20240 protected void composeProcedureProcedureFocalDeviceComponent(String name, 20241 Procedure.ProcedureFocalDeviceComponent element) throws IOException { 20242 if (element != null) { 20243 composeElementAttributes(element); 20244 xml.enter(FHIR_NS, name); 20245 composeBackboneElements(element); 20246 if (element.hasAction()) { 20247 composeCodeableConcept("action", element.getAction()); 20248 } 20249 if (element.hasManipulated()) { 20250 composeReference("manipulated", element.getManipulated()); 20251 } 20252 composeElementClose(element); 20253 xml.exit(FHIR_NS, name); 20254 } 20255 } 20256 20257 protected void composeProcedureRequest(String name, ProcedureRequest element) throws IOException { 20258 if (element != null) { 20259 composeDomainResourceAttributes(element); 20260 xml.enter(FHIR_NS, name); 20261 composeDomainResourceElements(element); 20262 if (element.hasIdentifier()) { 20263 for (Identifier e : element.getIdentifier()) 20264 composeIdentifier("identifier", e); 20265 } 20266 if (element.hasSubject()) { 20267 composeReference("subject", element.getSubject()); 20268 } 20269 if (element.hasCode()) { 20270 composeCodeableConcept("code", element.getCode()); 20271 } 20272 if (element.hasBodySite()) { 20273 for (CodeableConcept e : element.getBodySite()) 20274 composeCodeableConcept("bodySite", e); 20275 } 20276 if (element.hasReason()) { 20277 composeType("reason", element.getReason()); 20278 } 20279 if (element.hasScheduled()) { 20280 composeType("scheduled", element.getScheduled()); 20281 } 20282 if (element.hasEncounter()) { 20283 composeReference("encounter", element.getEncounter()); 20284 } 20285 if (element.hasPerformer()) { 20286 composeReference("performer", element.getPerformer()); 20287 } 20288 if (element.hasStatusElement()) 20289 composeEnumeration("status", element.getStatusElement(), 20290 new ProcedureRequest.ProcedureRequestStatusEnumFactory()); 20291 if (element.hasNotes()) { 20292 for (Annotation e : element.getNotes()) 20293 composeAnnotation("notes", e); 20294 } 20295 if (element.hasAsNeeded()) { 20296 composeType("asNeeded", element.getAsNeeded()); 20297 } 20298 if (element.hasOrderedOnElement()) { 20299 composeDateTime("orderedOn", element.getOrderedOnElement()); 20300 } 20301 if (element.hasOrderer()) { 20302 composeReference("orderer", element.getOrderer()); 20303 } 20304 if (element.hasPriorityElement()) 20305 composeEnumeration("priority", element.getPriorityElement(), 20306 new ProcedureRequest.ProcedureRequestPriorityEnumFactory()); 20307 composeElementClose(element); 20308 xml.exit(FHIR_NS, name); 20309 } 20310 } 20311 20312 protected void composeProcessRequest(String name, ProcessRequest element) throws IOException { 20313 if (element != null) { 20314 composeDomainResourceAttributes(element); 20315 xml.enter(FHIR_NS, name); 20316 composeDomainResourceElements(element); 20317 if (element.hasActionElement()) 20318 composeEnumeration("action", element.getActionElement(), new ProcessRequest.ActionListEnumFactory()); 20319 if (element.hasIdentifier()) { 20320 for (Identifier e : element.getIdentifier()) 20321 composeIdentifier("identifier", e); 20322 } 20323 if (element.hasRuleset()) { 20324 composeCoding("ruleset", element.getRuleset()); 20325 } 20326 if (element.hasOriginalRuleset()) { 20327 composeCoding("originalRuleset", element.getOriginalRuleset()); 20328 } 20329 if (element.hasCreatedElement()) { 20330 composeDateTime("created", element.getCreatedElement()); 20331 } 20332 if (element.hasTarget()) { 20333 composeReference("target", element.getTarget()); 20334 } 20335 if (element.hasProvider()) { 20336 composeReference("provider", element.getProvider()); 20337 } 20338 if (element.hasOrganization()) { 20339 composeReference("organization", element.getOrganization()); 20340 } 20341 if (element.hasRequest()) { 20342 composeReference("request", element.getRequest()); 20343 } 20344 if (element.hasResponse()) { 20345 composeReference("response", element.getResponse()); 20346 } 20347 if (element.hasNullifyElement()) { 20348 composeBoolean("nullify", element.getNullifyElement()); 20349 } 20350 if (element.hasReferenceElement()) { 20351 composeString("reference", element.getReferenceElement()); 20352 } 20353 if (element.hasItem()) { 20354 for (ProcessRequest.ItemsComponent e : element.getItem()) 20355 composeProcessRequestItemsComponent("item", e); 20356 } 20357 if (element.hasInclude()) { 20358 for (StringType e : element.getInclude()) 20359 composeString("include", e); 20360 } 20361 if (element.hasExclude()) { 20362 for (StringType e : element.getExclude()) 20363 composeString("exclude", e); 20364 } 20365 if (element.hasPeriod()) { 20366 composePeriod("period", element.getPeriod()); 20367 } 20368 composeElementClose(element); 20369 xml.exit(FHIR_NS, name); 20370 } 20371 } 20372 20373 protected void composeProcessRequestItemsComponent(String name, ProcessRequest.ItemsComponent element) 20374 throws IOException { 20375 if (element != null) { 20376 composeElementAttributes(element); 20377 xml.enter(FHIR_NS, name); 20378 composeBackboneElements(element); 20379 if (element.hasSequenceLinkIdElement()) { 20380 composeInteger("sequenceLinkId", element.getSequenceLinkIdElement()); 20381 } 20382 composeElementClose(element); 20383 xml.exit(FHIR_NS, name); 20384 } 20385 } 20386 20387 protected void composeProcessResponse(String name, ProcessResponse element) throws IOException { 20388 if (element != null) { 20389 composeDomainResourceAttributes(element); 20390 xml.enter(FHIR_NS, name); 20391 composeDomainResourceElements(element); 20392 if (element.hasIdentifier()) { 20393 for (Identifier e : element.getIdentifier()) 20394 composeIdentifier("identifier", e); 20395 } 20396 if (element.hasRequest()) { 20397 composeReference("request", element.getRequest()); 20398 } 20399 if (element.hasOutcome()) { 20400 composeCoding("outcome", element.getOutcome()); 20401 } 20402 if (element.hasDispositionElement()) { 20403 composeString("disposition", element.getDispositionElement()); 20404 } 20405 if (element.hasRuleset()) { 20406 composeCoding("ruleset", element.getRuleset()); 20407 } 20408 if (element.hasOriginalRuleset()) { 20409 composeCoding("originalRuleset", element.getOriginalRuleset()); 20410 } 20411 if (element.hasCreatedElement()) { 20412 composeDateTime("created", element.getCreatedElement()); 20413 } 20414 if (element.hasOrganization()) { 20415 composeReference("organization", element.getOrganization()); 20416 } 20417 if (element.hasRequestProvider()) { 20418 composeReference("requestProvider", element.getRequestProvider()); 20419 } 20420 if (element.hasRequestOrganization()) { 20421 composeReference("requestOrganization", element.getRequestOrganization()); 20422 } 20423 if (element.hasForm()) { 20424 composeCoding("form", element.getForm()); 20425 } 20426 if (element.hasNotes()) { 20427 for (ProcessResponse.ProcessResponseNotesComponent e : element.getNotes()) 20428 composeProcessResponseProcessResponseNotesComponent("notes", e); 20429 } 20430 if (element.hasError()) { 20431 for (Coding e : element.getError()) 20432 composeCoding("error", e); 20433 } 20434 composeElementClose(element); 20435 xml.exit(FHIR_NS, name); 20436 } 20437 } 20438 20439 protected void composeProcessResponseProcessResponseNotesComponent(String name, 20440 ProcessResponse.ProcessResponseNotesComponent element) throws IOException { 20441 if (element != null) { 20442 composeElementAttributes(element); 20443 xml.enter(FHIR_NS, name); 20444 composeBackboneElements(element); 20445 if (element.hasType()) { 20446 composeCoding("type", element.getType()); 20447 } 20448 if (element.hasTextElement()) { 20449 composeString("text", element.getTextElement()); 20450 } 20451 composeElementClose(element); 20452 xml.exit(FHIR_NS, name); 20453 } 20454 } 20455 20456 protected void composeProvenance(String name, Provenance element) throws IOException { 20457 if (element != null) { 20458 composeDomainResourceAttributes(element); 20459 xml.enter(FHIR_NS, name); 20460 composeDomainResourceElements(element); 20461 if (element.hasTarget()) { 20462 for (Reference e : element.getTarget()) 20463 composeReference("target", e); 20464 } 20465 if (element.hasPeriod()) { 20466 composePeriod("period", element.getPeriod()); 20467 } 20468 if (element.hasRecordedElement()) { 20469 composeInstant("recorded", element.getRecordedElement()); 20470 } 20471 if (element.hasReason()) { 20472 for (CodeableConcept e : element.getReason()) 20473 composeCodeableConcept("reason", e); 20474 } 20475 if (element.hasActivity()) { 20476 composeCodeableConcept("activity", element.getActivity()); 20477 } 20478 if (element.hasLocation()) { 20479 composeReference("location", element.getLocation()); 20480 } 20481 if (element.hasPolicy()) { 20482 for (UriType e : element.getPolicy()) 20483 composeUri("policy", e); 20484 } 20485 if (element.hasAgent()) { 20486 for (Provenance.ProvenanceAgentComponent e : element.getAgent()) 20487 composeProvenanceProvenanceAgentComponent("agent", e); 20488 } 20489 if (element.hasEntity()) { 20490 for (Provenance.ProvenanceEntityComponent e : element.getEntity()) 20491 composeProvenanceProvenanceEntityComponent("entity", e); 20492 } 20493 if (element.hasSignature()) { 20494 for (Signature e : element.getSignature()) 20495 composeSignature("signature", e); 20496 } 20497 composeElementClose(element); 20498 xml.exit(FHIR_NS, name); 20499 } 20500 } 20501 20502 protected void composeProvenanceProvenanceAgentComponent(String name, Provenance.ProvenanceAgentComponent element) 20503 throws IOException { 20504 if (element != null) { 20505 composeElementAttributes(element); 20506 xml.enter(FHIR_NS, name); 20507 composeBackboneElements(element); 20508 if (element.hasRole()) { 20509 composeCoding("role", element.getRole()); 20510 } 20511 if (element.hasActor()) { 20512 composeReference("actor", element.getActor()); 20513 } 20514 if (element.hasUserId()) { 20515 composeIdentifier("userId", element.getUserId()); 20516 } 20517 if (element.hasRelatedAgent()) { 20518 for (Provenance.ProvenanceAgentRelatedAgentComponent e : element.getRelatedAgent()) 20519 composeProvenanceProvenanceAgentRelatedAgentComponent("relatedAgent", e); 20520 } 20521 composeElementClose(element); 20522 xml.exit(FHIR_NS, name); 20523 } 20524 } 20525 20526 protected void composeProvenanceProvenanceAgentRelatedAgentComponent(String name, 20527 Provenance.ProvenanceAgentRelatedAgentComponent element) throws IOException { 20528 if (element != null) { 20529 composeElementAttributes(element); 20530 xml.enter(FHIR_NS, name); 20531 composeBackboneElements(element); 20532 if (element.hasType()) { 20533 composeCodeableConcept("type", element.getType()); 20534 } 20535 if (element.hasTargetElement()) { 20536 composeUri("target", element.getTargetElement()); 20537 } 20538 composeElementClose(element); 20539 xml.exit(FHIR_NS, name); 20540 } 20541 } 20542 20543 protected void composeProvenanceProvenanceEntityComponent(String name, Provenance.ProvenanceEntityComponent element) 20544 throws IOException { 20545 if (element != null) { 20546 composeElementAttributes(element); 20547 xml.enter(FHIR_NS, name); 20548 composeBackboneElements(element); 20549 if (element.hasRoleElement()) 20550 composeEnumeration("role", element.getRoleElement(), new Provenance.ProvenanceEntityRoleEnumFactory()); 20551 if (element.hasType()) { 20552 composeCoding("type", element.getType()); 20553 } 20554 if (element.hasReferenceElement()) { 20555 composeUri("reference", element.getReferenceElement()); 20556 } 20557 if (element.hasDisplayElement()) { 20558 composeString("display", element.getDisplayElement()); 20559 } 20560 if (element.hasAgent()) { 20561 composeProvenanceProvenanceAgentComponent("agent", element.getAgent()); 20562 } 20563 composeElementClose(element); 20564 xml.exit(FHIR_NS, name); 20565 } 20566 } 20567 20568 protected void composeQuestionnaire(String name, Questionnaire element) throws IOException { 20569 if (element != null) { 20570 composeDomainResourceAttributes(element); 20571 xml.enter(FHIR_NS, name); 20572 composeDomainResourceElements(element); 20573 if (element.hasIdentifier()) { 20574 for (Identifier e : element.getIdentifier()) 20575 composeIdentifier("identifier", e); 20576 } 20577 if (element.hasVersionElement()) { 20578 composeString("version", element.getVersionElement()); 20579 } 20580 if (element.hasStatusElement()) 20581 composeEnumeration("status", element.getStatusElement(), new Questionnaire.QuestionnaireStatusEnumFactory()); 20582 if (element.hasDateElement()) { 20583 composeDateTime("date", element.getDateElement()); 20584 } 20585 if (element.hasPublisherElement()) { 20586 composeString("publisher", element.getPublisherElement()); 20587 } 20588 if (element.hasTelecom()) { 20589 for (ContactPoint e : element.getTelecom()) 20590 composeContactPoint("telecom", e); 20591 } 20592 if (element.hasSubjectType()) { 20593 for (CodeType e : element.getSubjectType()) 20594 composeCode("subjectType", e); 20595 } 20596 if (element.hasGroup()) { 20597 composeQuestionnaireGroupComponent("group", element.getGroup()); 20598 } 20599 composeElementClose(element); 20600 xml.exit(FHIR_NS, name); 20601 } 20602 } 20603 20604 protected void composeQuestionnaireGroupComponent(String name, Questionnaire.GroupComponent element) 20605 throws IOException { 20606 if (element != null) { 20607 composeElementAttributes(element); 20608 xml.enter(FHIR_NS, name); 20609 composeBackboneElements(element); 20610 if (element.hasLinkIdElement()) { 20611 composeString("linkId", element.getLinkIdElement()); 20612 } 20613 if (element.hasTitleElement()) { 20614 composeString("title", element.getTitleElement()); 20615 } 20616 if (element.hasConcept()) { 20617 for (Coding e : element.getConcept()) 20618 composeCoding("concept", e); 20619 } 20620 if (element.hasTextElement()) { 20621 composeString("text", element.getTextElement()); 20622 } 20623 if (element.hasRequiredElement()) { 20624 composeBoolean("required", element.getRequiredElement()); 20625 } 20626 if (element.hasRepeatsElement()) { 20627 composeBoolean("repeats", element.getRepeatsElement()); 20628 } 20629 if (element.hasGroup()) { 20630 for (Questionnaire.GroupComponent e : element.getGroup()) 20631 composeQuestionnaireGroupComponent("group", e); 20632 } 20633 if (element.hasQuestion()) { 20634 for (Questionnaire.QuestionComponent e : element.getQuestion()) 20635 composeQuestionnaireQuestionComponent("question", e); 20636 } 20637 composeElementClose(element); 20638 xml.exit(FHIR_NS, name); 20639 } 20640 } 20641 20642 protected void composeQuestionnaireQuestionComponent(String name, Questionnaire.QuestionComponent element) 20643 throws IOException { 20644 if (element != null) { 20645 composeElementAttributes(element); 20646 xml.enter(FHIR_NS, name); 20647 composeBackboneElements(element); 20648 if (element.hasLinkIdElement()) { 20649 composeString("linkId", element.getLinkIdElement()); 20650 } 20651 if (element.hasConcept()) { 20652 for (Coding e : element.getConcept()) 20653 composeCoding("concept", e); 20654 } 20655 if (element.hasTextElement()) { 20656 composeString("text", element.getTextElement()); 20657 } 20658 if (element.hasTypeElement()) 20659 composeEnumeration("type", element.getTypeElement(), new Questionnaire.AnswerFormatEnumFactory()); 20660 if (element.hasRequiredElement()) { 20661 composeBoolean("required", element.getRequiredElement()); 20662 } 20663 if (element.hasRepeatsElement()) { 20664 composeBoolean("repeats", element.getRepeatsElement()); 20665 } 20666 if (element.hasOptions()) { 20667 composeReference("options", element.getOptions()); 20668 } 20669 if (element.hasOption()) { 20670 for (Coding e : element.getOption()) 20671 composeCoding("option", e); 20672 } 20673 if (element.hasGroup()) { 20674 for (Questionnaire.GroupComponent e : element.getGroup()) 20675 composeQuestionnaireGroupComponent("group", e); 20676 } 20677 composeElementClose(element); 20678 xml.exit(FHIR_NS, name); 20679 } 20680 } 20681 20682 protected void composeQuestionnaireResponse(String name, QuestionnaireResponse element) throws IOException { 20683 if (element != null) { 20684 composeDomainResourceAttributes(element); 20685 xml.enter(FHIR_NS, name); 20686 composeDomainResourceElements(element); 20687 if (element.hasIdentifier()) { 20688 composeIdentifier("identifier", element.getIdentifier()); 20689 } 20690 if (element.hasQuestionnaire()) { 20691 composeReference("questionnaire", element.getQuestionnaire()); 20692 } 20693 if (element.hasStatusElement()) 20694 composeEnumeration("status", element.getStatusElement(), 20695 new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory()); 20696 if (element.hasSubject()) { 20697 composeReference("subject", element.getSubject()); 20698 } 20699 if (element.hasAuthor()) { 20700 composeReference("author", element.getAuthor()); 20701 } 20702 if (element.hasAuthoredElement()) { 20703 composeDateTime("authored", element.getAuthoredElement()); 20704 } 20705 if (element.hasSource()) { 20706 composeReference("source", element.getSource()); 20707 } 20708 if (element.hasEncounter()) { 20709 composeReference("encounter", element.getEncounter()); 20710 } 20711 if (element.hasGroup()) { 20712 composeQuestionnaireResponseGroupComponent("group", element.getGroup()); 20713 } 20714 composeElementClose(element); 20715 xml.exit(FHIR_NS, name); 20716 } 20717 } 20718 20719 protected void composeQuestionnaireResponseGroupComponent(String name, QuestionnaireResponse.GroupComponent element) 20720 throws IOException { 20721 if (element != null) { 20722 composeElementAttributes(element); 20723 xml.enter(FHIR_NS, name); 20724 composeBackboneElements(element); 20725 if (element.hasLinkIdElement()) { 20726 composeString("linkId", element.getLinkIdElement()); 20727 } 20728 if (element.hasTitleElement()) { 20729 composeString("title", element.getTitleElement()); 20730 } 20731 if (element.hasTextElement()) { 20732 composeString("text", element.getTextElement()); 20733 } 20734 if (element.hasSubject()) { 20735 composeReference("subject", element.getSubject()); 20736 } 20737 if (element.hasGroup()) { 20738 for (QuestionnaireResponse.GroupComponent e : element.getGroup()) 20739 composeQuestionnaireResponseGroupComponent("group", e); 20740 } 20741 if (element.hasQuestion()) { 20742 for (QuestionnaireResponse.QuestionComponent e : element.getQuestion()) 20743 composeQuestionnaireResponseQuestionComponent("question", e); 20744 } 20745 composeElementClose(element); 20746 xml.exit(FHIR_NS, name); 20747 } 20748 } 20749 20750 protected void composeQuestionnaireResponseQuestionComponent(String name, 20751 QuestionnaireResponse.QuestionComponent element) throws IOException { 20752 if (element != null) { 20753 composeElementAttributes(element); 20754 xml.enter(FHIR_NS, name); 20755 composeBackboneElements(element); 20756 if (element.hasLinkIdElement()) { 20757 composeString("linkId", element.getLinkIdElement()); 20758 } 20759 if (element.hasTextElement()) { 20760 composeString("text", element.getTextElement()); 20761 } 20762 if (element.hasAnswer()) { 20763 for (QuestionnaireResponse.QuestionAnswerComponent e : element.getAnswer()) 20764 composeQuestionnaireResponseQuestionAnswerComponent("answer", e); 20765 } 20766 composeElementClose(element); 20767 xml.exit(FHIR_NS, name); 20768 } 20769 } 20770 20771 protected void composeQuestionnaireResponseQuestionAnswerComponent(String name, 20772 QuestionnaireResponse.QuestionAnswerComponent element) throws IOException { 20773 if (element != null) { 20774 composeElementAttributes(element); 20775 xml.enter(FHIR_NS, name); 20776 composeBackboneElements(element); 20777 if (element.hasValue()) { 20778 composeType("value", element.getValue()); 20779 } 20780 if (element.hasGroup()) { 20781 for (QuestionnaireResponse.GroupComponent e : element.getGroup()) 20782 composeQuestionnaireResponseGroupComponent("group", e); 20783 } 20784 composeElementClose(element); 20785 xml.exit(FHIR_NS, name); 20786 } 20787 } 20788 20789 protected void composeReferralRequest(String name, ReferralRequest element) throws IOException { 20790 if (element != null) { 20791 composeDomainResourceAttributes(element); 20792 xml.enter(FHIR_NS, name); 20793 composeDomainResourceElements(element); 20794 if (element.hasStatusElement()) 20795 composeEnumeration("status", element.getStatusElement(), new ReferralRequest.ReferralStatusEnumFactory()); 20796 if (element.hasIdentifier()) { 20797 for (Identifier e : element.getIdentifier()) 20798 composeIdentifier("identifier", e); 20799 } 20800 if (element.hasDateElement()) { 20801 composeDateTime("date", element.getDateElement()); 20802 } 20803 if (element.hasType()) { 20804 composeCodeableConcept("type", element.getType()); 20805 } 20806 if (element.hasSpecialty()) { 20807 composeCodeableConcept("specialty", element.getSpecialty()); 20808 } 20809 if (element.hasPriority()) { 20810 composeCodeableConcept("priority", element.getPriority()); 20811 } 20812 if (element.hasPatient()) { 20813 composeReference("patient", element.getPatient()); 20814 } 20815 if (element.hasRequester()) { 20816 composeReference("requester", element.getRequester()); 20817 } 20818 if (element.hasRecipient()) { 20819 for (Reference e : element.getRecipient()) 20820 composeReference("recipient", e); 20821 } 20822 if (element.hasEncounter()) { 20823 composeReference("encounter", element.getEncounter()); 20824 } 20825 if (element.hasDateSentElement()) { 20826 composeDateTime("dateSent", element.getDateSentElement()); 20827 } 20828 if (element.hasReason()) { 20829 composeCodeableConcept("reason", element.getReason()); 20830 } 20831 if (element.hasDescriptionElement()) { 20832 composeString("description", element.getDescriptionElement()); 20833 } 20834 if (element.hasServiceRequested()) { 20835 for (CodeableConcept e : element.getServiceRequested()) 20836 composeCodeableConcept("serviceRequested", e); 20837 } 20838 if (element.hasSupportingInformation()) { 20839 for (Reference e : element.getSupportingInformation()) 20840 composeReference("supportingInformation", e); 20841 } 20842 if (element.hasFulfillmentTime()) { 20843 composePeriod("fulfillmentTime", element.getFulfillmentTime()); 20844 } 20845 composeElementClose(element); 20846 xml.exit(FHIR_NS, name); 20847 } 20848 } 20849 20850 protected void composeRelatedPerson(String name, RelatedPerson element) throws IOException { 20851 if (element != null) { 20852 composeDomainResourceAttributes(element); 20853 xml.enter(FHIR_NS, name); 20854 composeDomainResourceElements(element); 20855 if (element.hasIdentifier()) { 20856 for (Identifier e : element.getIdentifier()) 20857 composeIdentifier("identifier", e); 20858 } 20859 if (element.hasPatient()) { 20860 composeReference("patient", element.getPatient()); 20861 } 20862 if (element.hasRelationship()) { 20863 composeCodeableConcept("relationship", element.getRelationship()); 20864 } 20865 if (element.hasName()) { 20866 composeHumanName("name", element.getName()); 20867 } 20868 if (element.hasTelecom()) { 20869 for (ContactPoint e : element.getTelecom()) 20870 composeContactPoint("telecom", e); 20871 } 20872 if (element.hasGenderElement()) 20873 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 20874 if (element.hasBirthDateElement()) { 20875 composeDate("birthDate", element.getBirthDateElement()); 20876 } 20877 if (element.hasAddress()) { 20878 for (Address e : element.getAddress()) 20879 composeAddress("address", e); 20880 } 20881 if (element.hasPhoto()) { 20882 for (Attachment e : element.getPhoto()) 20883 composeAttachment("photo", e); 20884 } 20885 if (element.hasPeriod()) { 20886 composePeriod("period", element.getPeriod()); 20887 } 20888 composeElementClose(element); 20889 xml.exit(FHIR_NS, name); 20890 } 20891 } 20892 20893 protected void composeRiskAssessment(String name, RiskAssessment element) throws IOException { 20894 if (element != null) { 20895 composeDomainResourceAttributes(element); 20896 xml.enter(FHIR_NS, name); 20897 composeDomainResourceElements(element); 20898 if (element.hasSubject()) { 20899 composeReference("subject", element.getSubject()); 20900 } 20901 if (element.hasDateElement()) { 20902 composeDateTime("date", element.getDateElement()); 20903 } 20904 if (element.hasCondition()) { 20905 composeReference("condition", element.getCondition()); 20906 } 20907 if (element.hasEncounter()) { 20908 composeReference("encounter", element.getEncounter()); 20909 } 20910 if (element.hasPerformer()) { 20911 composeReference("performer", element.getPerformer()); 20912 } 20913 if (element.hasIdentifier()) { 20914 composeIdentifier("identifier", element.getIdentifier()); 20915 } 20916 if (element.hasMethod()) { 20917 composeCodeableConcept("method", element.getMethod()); 20918 } 20919 if (element.hasBasis()) { 20920 for (Reference e : element.getBasis()) 20921 composeReference("basis", e); 20922 } 20923 if (element.hasPrediction()) { 20924 for (RiskAssessment.RiskAssessmentPredictionComponent e : element.getPrediction()) 20925 composeRiskAssessmentRiskAssessmentPredictionComponent("prediction", e); 20926 } 20927 if (element.hasMitigationElement()) { 20928 composeString("mitigation", element.getMitigationElement()); 20929 } 20930 composeElementClose(element); 20931 xml.exit(FHIR_NS, name); 20932 } 20933 } 20934 20935 protected void composeRiskAssessmentRiskAssessmentPredictionComponent(String name, 20936 RiskAssessment.RiskAssessmentPredictionComponent element) throws IOException { 20937 if (element != null) { 20938 composeElementAttributes(element); 20939 xml.enter(FHIR_NS, name); 20940 composeBackboneElements(element); 20941 if (element.hasOutcome()) { 20942 composeCodeableConcept("outcome", element.getOutcome()); 20943 } 20944 if (element.hasProbability()) { 20945 composeType("probability", element.getProbability()); 20946 } 20947 if (element.hasRelativeRiskElement()) { 20948 composeDecimal("relativeRisk", element.getRelativeRiskElement()); 20949 } 20950 if (element.hasWhen()) { 20951 composeType("when", element.getWhen()); 20952 } 20953 if (element.hasRationaleElement()) { 20954 composeString("rationale", element.getRationaleElement()); 20955 } 20956 composeElementClose(element); 20957 xml.exit(FHIR_NS, name); 20958 } 20959 } 20960 20961 protected void composeSchedule(String name, Schedule element) throws IOException { 20962 if (element != null) { 20963 composeDomainResourceAttributes(element); 20964 xml.enter(FHIR_NS, name); 20965 composeDomainResourceElements(element); 20966 if (element.hasIdentifier()) { 20967 for (Identifier e : element.getIdentifier()) 20968 composeIdentifier("identifier", e); 20969 } 20970 if (element.hasType()) { 20971 for (CodeableConcept e : element.getType()) 20972 composeCodeableConcept("type", e); 20973 } 20974 if (element.hasActor()) { 20975 composeReference("actor", element.getActor()); 20976 } 20977 if (element.hasPlanningHorizon()) { 20978 composePeriod("planningHorizon", element.getPlanningHorizon()); 20979 } 20980 if (element.hasCommentElement()) { 20981 composeString("comment", element.getCommentElement()); 20982 } 20983 composeElementClose(element); 20984 xml.exit(FHIR_NS, name); 20985 } 20986 } 20987 20988 protected void composeSearchParameter(String name, SearchParameter element) throws IOException { 20989 if (element != null) { 20990 composeDomainResourceAttributes(element); 20991 xml.enter(FHIR_NS, name); 20992 composeDomainResourceElements(element); 20993 if (element.hasUrlElement()) { 20994 composeUri("url", element.getUrlElement()); 20995 } 20996 if (element.hasNameElement()) { 20997 composeString("name", element.getNameElement()); 20998 } 20999 if (element.hasStatusElement()) 21000 composeEnumeration("status", element.getStatusElement(), 21001 new Enumerations.ConformanceResourceStatusEnumFactory()); 21002 if (element.hasExperimentalElement()) { 21003 composeBoolean("experimental", element.getExperimentalElement()); 21004 } 21005 if (element.hasPublisherElement()) { 21006 composeString("publisher", element.getPublisherElement()); 21007 } 21008 if (element.hasContact()) { 21009 for (SearchParameter.SearchParameterContactComponent e : element.getContact()) 21010 composeSearchParameterSearchParameterContactComponent("contact", e); 21011 } 21012 if (element.hasDateElement()) { 21013 composeDateTime("date", element.getDateElement()); 21014 } 21015 if (element.hasRequirementsElement()) { 21016 composeString("requirements", element.getRequirementsElement()); 21017 } 21018 if (element.hasCodeElement()) { 21019 composeCode("code", element.getCodeElement()); 21020 } 21021 if (element.hasBaseElement()) { 21022 composeCode("base", element.getBaseElement()); 21023 } 21024 if (element.hasTypeElement()) 21025 composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); 21026 if (element.hasDescriptionElement()) { 21027 composeString("description", element.getDescriptionElement()); 21028 } 21029 if (element.hasXpathElement()) { 21030 composeString("xpath", element.getXpathElement()); 21031 } 21032 if (element.hasXpathUsageElement()) 21033 composeEnumeration("xpathUsage", element.getXpathUsageElement(), 21034 new SearchParameter.XPathUsageTypeEnumFactory()); 21035 if (element.hasTarget()) { 21036 for (CodeType e : element.getTarget()) 21037 composeCode("target", e); 21038 } 21039 composeElementClose(element); 21040 xml.exit(FHIR_NS, name); 21041 } 21042 } 21043 21044 protected void composeSearchParameterSearchParameterContactComponent(String name, 21045 SearchParameter.SearchParameterContactComponent element) throws IOException { 21046 if (element != null) { 21047 composeElementAttributes(element); 21048 xml.enter(FHIR_NS, name); 21049 composeBackboneElements(element); 21050 if (element.hasNameElement()) { 21051 composeString("name", element.getNameElement()); 21052 } 21053 if (element.hasTelecom()) { 21054 for (ContactPoint e : element.getTelecom()) 21055 composeContactPoint("telecom", e); 21056 } 21057 composeElementClose(element); 21058 xml.exit(FHIR_NS, name); 21059 } 21060 } 21061 21062 protected void composeSlot(String name, Slot element) throws IOException { 21063 if (element != null) { 21064 composeDomainResourceAttributes(element); 21065 xml.enter(FHIR_NS, name); 21066 composeDomainResourceElements(element); 21067 if (element.hasIdentifier()) { 21068 for (Identifier e : element.getIdentifier()) 21069 composeIdentifier("identifier", e); 21070 } 21071 if (element.hasType()) { 21072 composeCodeableConcept("type", element.getType()); 21073 } 21074 if (element.hasSchedule()) { 21075 composeReference("schedule", element.getSchedule()); 21076 } 21077 if (element.hasFreeBusyTypeElement()) 21078 composeEnumeration("freeBusyType", element.getFreeBusyTypeElement(), new Slot.SlotStatusEnumFactory()); 21079 if (element.hasStartElement()) { 21080 composeInstant("start", element.getStartElement()); 21081 } 21082 if (element.hasEndElement()) { 21083 composeInstant("end", element.getEndElement()); 21084 } 21085 if (element.hasOverbookedElement()) { 21086 composeBoolean("overbooked", element.getOverbookedElement()); 21087 } 21088 if (element.hasCommentElement()) { 21089 composeString("comment", element.getCommentElement()); 21090 } 21091 composeElementClose(element); 21092 xml.exit(FHIR_NS, name); 21093 } 21094 } 21095 21096 protected void composeSpecimen(String name, Specimen element) throws IOException { 21097 if (element != null) { 21098 composeDomainResourceAttributes(element); 21099 xml.enter(FHIR_NS, name); 21100 composeDomainResourceElements(element); 21101 if (element.hasIdentifier()) { 21102 for (Identifier e : element.getIdentifier()) 21103 composeIdentifier("identifier", e); 21104 } 21105 if (element.hasStatusElement()) 21106 composeEnumeration("status", element.getStatusElement(), new Specimen.SpecimenStatusEnumFactory()); 21107 if (element.hasType()) { 21108 composeCodeableConcept("type", element.getType()); 21109 } 21110 if (element.hasParent()) { 21111 for (Reference e : element.getParent()) 21112 composeReference("parent", e); 21113 } 21114 if (element.hasSubject()) { 21115 composeReference("subject", element.getSubject()); 21116 } 21117 if (element.hasAccessionIdentifier()) { 21118 composeIdentifier("accessionIdentifier", element.getAccessionIdentifier()); 21119 } 21120 if (element.hasReceivedTimeElement()) { 21121 composeDateTime("receivedTime", element.getReceivedTimeElement()); 21122 } 21123 if (element.hasCollection()) { 21124 composeSpecimenSpecimenCollectionComponent("collection", element.getCollection()); 21125 } 21126 if (element.hasTreatment()) { 21127 for (Specimen.SpecimenTreatmentComponent e : element.getTreatment()) 21128 composeSpecimenSpecimenTreatmentComponent("treatment", e); 21129 } 21130 if (element.hasContainer()) { 21131 for (Specimen.SpecimenContainerComponent e : element.getContainer()) 21132 composeSpecimenSpecimenContainerComponent("container", e); 21133 } 21134 composeElementClose(element); 21135 xml.exit(FHIR_NS, name); 21136 } 21137 } 21138 21139 protected void composeSpecimenSpecimenCollectionComponent(String name, Specimen.SpecimenCollectionComponent element) 21140 throws IOException { 21141 if (element != null) { 21142 composeElementAttributes(element); 21143 xml.enter(FHIR_NS, name); 21144 composeBackboneElements(element); 21145 if (element.hasCollector()) { 21146 composeReference("collector", element.getCollector()); 21147 } 21148 if (element.hasComment()) { 21149 for (StringType e : element.getComment()) 21150 composeString("comment", e); 21151 } 21152 if (element.hasCollected()) { 21153 composeType("collected", element.getCollected()); 21154 } 21155 if (element.hasQuantity()) { 21156 composeSimpleQuantity("quantity", element.getQuantity()); 21157 } 21158 if (element.hasMethod()) { 21159 composeCodeableConcept("method", element.getMethod()); 21160 } 21161 if (element.hasBodySite()) { 21162 composeCodeableConcept("bodySite", element.getBodySite()); 21163 } 21164 composeElementClose(element); 21165 xml.exit(FHIR_NS, name); 21166 } 21167 } 21168 21169 protected void composeSpecimenSpecimenTreatmentComponent(String name, Specimen.SpecimenTreatmentComponent element) 21170 throws IOException { 21171 if (element != null) { 21172 composeElementAttributes(element); 21173 xml.enter(FHIR_NS, name); 21174 composeBackboneElements(element); 21175 if (element.hasDescriptionElement()) { 21176 composeString("description", element.getDescriptionElement()); 21177 } 21178 if (element.hasProcedure()) { 21179 composeCodeableConcept("procedure", element.getProcedure()); 21180 } 21181 if (element.hasAdditive()) { 21182 for (Reference e : element.getAdditive()) 21183 composeReference("additive", e); 21184 } 21185 composeElementClose(element); 21186 xml.exit(FHIR_NS, name); 21187 } 21188 } 21189 21190 protected void composeSpecimenSpecimenContainerComponent(String name, Specimen.SpecimenContainerComponent element) 21191 throws IOException { 21192 if (element != null) { 21193 composeElementAttributes(element); 21194 xml.enter(FHIR_NS, name); 21195 composeBackboneElements(element); 21196 if (element.hasIdentifier()) { 21197 for (Identifier e : element.getIdentifier()) 21198 composeIdentifier("identifier", e); 21199 } 21200 if (element.hasDescriptionElement()) { 21201 composeString("description", element.getDescriptionElement()); 21202 } 21203 if (element.hasType()) { 21204 composeCodeableConcept("type", element.getType()); 21205 } 21206 if (element.hasCapacity()) { 21207 composeSimpleQuantity("capacity", element.getCapacity()); 21208 } 21209 if (element.hasSpecimenQuantity()) { 21210 composeSimpleQuantity("specimenQuantity", element.getSpecimenQuantity()); 21211 } 21212 if (element.hasAdditive()) { 21213 composeType("additive", element.getAdditive()); 21214 } 21215 composeElementClose(element); 21216 xml.exit(FHIR_NS, name); 21217 } 21218 } 21219 21220 protected void composeStructureDefinition(String name, StructureDefinition element) throws IOException { 21221 if (element != null) { 21222 composeDomainResourceAttributes(element); 21223 xml.enter(FHIR_NS, name); 21224 composeDomainResourceElements(element); 21225 if (element.hasUrlElement()) { 21226 composeUri("url", element.getUrlElement()); 21227 } 21228 if (element.hasIdentifier()) { 21229 for (Identifier e : element.getIdentifier()) 21230 composeIdentifier("identifier", e); 21231 } 21232 if (element.hasVersionElement()) { 21233 composeString("version", element.getVersionElement()); 21234 } 21235 if (element.hasNameElement()) { 21236 composeString("name", element.getNameElement()); 21237 } 21238 if (element.hasDisplayElement()) { 21239 composeString("display", element.getDisplayElement()); 21240 } 21241 if (element.hasStatusElement()) 21242 composeEnumeration("status", element.getStatusElement(), 21243 new Enumerations.ConformanceResourceStatusEnumFactory()); 21244 if (element.hasExperimentalElement()) { 21245 composeBoolean("experimental", element.getExperimentalElement()); 21246 } 21247 if (element.hasPublisherElement()) { 21248 composeString("publisher", element.getPublisherElement()); 21249 } 21250 if (element.hasContact()) { 21251 for (StructureDefinition.StructureDefinitionContactComponent e : element.getContact()) 21252 composeStructureDefinitionStructureDefinitionContactComponent("contact", e); 21253 } 21254 if (element.hasDateElement()) { 21255 composeDateTime("date", element.getDateElement()); 21256 } 21257 if (element.hasDescriptionElement()) { 21258 composeString("description", element.getDescriptionElement()); 21259 } 21260 if (element.hasUseContext()) { 21261 for (CodeableConcept e : element.getUseContext()) 21262 composeCodeableConcept("useContext", e); 21263 } 21264 if (element.hasRequirementsElement()) { 21265 composeString("requirements", element.getRequirementsElement()); 21266 } 21267 if (element.hasCopyrightElement()) { 21268 composeString("copyright", element.getCopyrightElement()); 21269 } 21270 if (element.hasCode()) { 21271 for (Coding e : element.getCode()) 21272 composeCoding("code", e); 21273 } 21274 if (element.hasFhirVersionElement()) { 21275 composeId("fhirVersion", element.getFhirVersionElement()); 21276 } 21277 if (element.hasMapping()) { 21278 for (StructureDefinition.StructureDefinitionMappingComponent e : element.getMapping()) 21279 composeStructureDefinitionStructureDefinitionMappingComponent("mapping", e); 21280 } 21281 if (element.hasKindElement()) 21282 composeEnumeration("kind", element.getKindElement(), 21283 new StructureDefinition.StructureDefinitionKindEnumFactory()); 21284 if (element.hasConstrainedTypeElement()) { 21285 composeCode("constrainedType", element.getConstrainedTypeElement()); 21286 } 21287 if (element.hasAbstractElement()) { 21288 composeBoolean("abstract", element.getAbstractElement()); 21289 } 21290 if (element.hasContextTypeElement()) 21291 composeEnumeration("contextType", element.getContextTypeElement(), 21292 new StructureDefinition.ExtensionContextEnumFactory()); 21293 if (element.hasContext()) { 21294 for (StringType e : element.getContext()) 21295 composeString("context", e); 21296 } 21297 if (element.hasBaseElement()) { 21298 composeUri("base", element.getBaseElement()); 21299 } 21300 if (element.hasSnapshot()) { 21301 composeStructureDefinitionStructureDefinitionSnapshotComponent("snapshot", element.getSnapshot()); 21302 } 21303 if (element.hasDifferential()) { 21304 composeStructureDefinitionStructureDefinitionDifferentialComponent("differential", element.getDifferential()); 21305 } 21306 composeElementClose(element); 21307 xml.exit(FHIR_NS, name); 21308 } 21309 } 21310 21311 protected void composeStructureDefinitionStructureDefinitionContactComponent(String name, 21312 StructureDefinition.StructureDefinitionContactComponent element) throws IOException { 21313 if (element != null) { 21314 composeElementAttributes(element); 21315 xml.enter(FHIR_NS, name); 21316 composeBackboneElements(element); 21317 if (element.hasNameElement()) { 21318 composeString("name", element.getNameElement()); 21319 } 21320 if (element.hasTelecom()) { 21321 for (ContactPoint e : element.getTelecom()) 21322 composeContactPoint("telecom", e); 21323 } 21324 composeElementClose(element); 21325 xml.exit(FHIR_NS, name); 21326 } 21327 } 21328 21329 protected void composeStructureDefinitionStructureDefinitionMappingComponent(String name, 21330 StructureDefinition.StructureDefinitionMappingComponent element) throws IOException { 21331 if (element != null) { 21332 composeElementAttributes(element); 21333 xml.enter(FHIR_NS, name); 21334 composeBackboneElements(element); 21335 if (element.hasIdentityElement()) { 21336 composeId("identity", element.getIdentityElement()); 21337 } 21338 if (element.hasUriElement()) { 21339 composeUri("uri", element.getUriElement()); 21340 } 21341 if (element.hasNameElement()) { 21342 composeString("name", element.getNameElement()); 21343 } 21344 if (element.hasCommentsElement()) { 21345 composeString("comments", element.getCommentsElement()); 21346 } 21347 composeElementClose(element); 21348 xml.exit(FHIR_NS, name); 21349 } 21350 } 21351 21352 protected void composeStructureDefinitionStructureDefinitionSnapshotComponent(String name, 21353 StructureDefinition.StructureDefinitionSnapshotComponent element) throws IOException { 21354 if (element != null) { 21355 composeElementAttributes(element); 21356 xml.enter(FHIR_NS, name); 21357 composeBackboneElements(element); 21358 if (element.hasElement()) { 21359 for (ElementDefinition e : element.getElement()) 21360 composeElementDefinition("element", e); 21361 } 21362 composeElementClose(element); 21363 xml.exit(FHIR_NS, name); 21364 } 21365 } 21366 21367 protected void composeStructureDefinitionStructureDefinitionDifferentialComponent(String name, 21368 StructureDefinition.StructureDefinitionDifferentialComponent element) throws IOException { 21369 if (element != null) { 21370 composeElementAttributes(element); 21371 xml.enter(FHIR_NS, name); 21372 composeBackboneElements(element); 21373 if (element.hasElement()) { 21374 for (ElementDefinition e : element.getElement()) 21375 composeElementDefinition("element", e); 21376 } 21377 composeElementClose(element); 21378 xml.exit(FHIR_NS, name); 21379 } 21380 } 21381 21382 protected void composeSubscription(String name, Subscription element) throws IOException { 21383 if (element != null) { 21384 composeDomainResourceAttributes(element); 21385 xml.enter(FHIR_NS, name); 21386 composeDomainResourceElements(element); 21387 if (element.hasCriteriaElement()) { 21388 composeString("criteria", element.getCriteriaElement()); 21389 } 21390 if (element.hasContact()) { 21391 for (ContactPoint e : element.getContact()) 21392 composeContactPoint("contact", e); 21393 } 21394 if (element.hasReasonElement()) { 21395 composeString("reason", element.getReasonElement()); 21396 } 21397 if (element.hasStatusElement()) 21398 composeEnumeration("status", element.getStatusElement(), new Subscription.SubscriptionStatusEnumFactory()); 21399 if (element.hasErrorElement()) { 21400 composeString("error", element.getErrorElement()); 21401 } 21402 if (element.hasChannel()) { 21403 composeSubscriptionSubscriptionChannelComponent("channel", element.getChannel()); 21404 } 21405 if (element.hasEndElement()) { 21406 composeInstant("end", element.getEndElement()); 21407 } 21408 if (element.hasTag()) { 21409 for (Coding e : element.getTag()) 21410 composeCoding("tag", e); 21411 } 21412 composeElementClose(element); 21413 xml.exit(FHIR_NS, name); 21414 } 21415 } 21416 21417 protected void composeSubscriptionSubscriptionChannelComponent(String name, 21418 Subscription.SubscriptionChannelComponent element) throws IOException { 21419 if (element != null) { 21420 composeElementAttributes(element); 21421 xml.enter(FHIR_NS, name); 21422 composeBackboneElements(element); 21423 if (element.hasTypeElement()) 21424 composeEnumeration("type", element.getTypeElement(), new Subscription.SubscriptionChannelTypeEnumFactory()); 21425 if (element.hasEndpointElement()) { 21426 composeUri("endpoint", element.getEndpointElement()); 21427 } 21428 if (element.hasPayloadElement()) { 21429 composeString("payload", element.getPayloadElement()); 21430 } 21431 if (element.hasHeaderElement()) { 21432 composeString("header", element.getHeaderElement()); 21433 } 21434 composeElementClose(element); 21435 xml.exit(FHIR_NS, name); 21436 } 21437 } 21438 21439 protected void composeSubstance(String name, Substance element) throws IOException { 21440 if (element != null) { 21441 composeDomainResourceAttributes(element); 21442 xml.enter(FHIR_NS, name); 21443 composeDomainResourceElements(element); 21444 if (element.hasIdentifier()) { 21445 for (Identifier e : element.getIdentifier()) 21446 composeIdentifier("identifier", e); 21447 } 21448 if (element.hasCategory()) { 21449 for (CodeableConcept e : element.getCategory()) 21450 composeCodeableConcept("category", e); 21451 } 21452 if (element.hasCode()) { 21453 composeCodeableConcept("code", element.getCode()); 21454 } 21455 if (element.hasDescriptionElement()) { 21456 composeString("description", element.getDescriptionElement()); 21457 } 21458 if (element.hasInstance()) { 21459 for (Substance.SubstanceInstanceComponent e : element.getInstance()) 21460 composeSubstanceSubstanceInstanceComponent("instance", e); 21461 } 21462 if (element.hasIngredient()) { 21463 for (Substance.SubstanceIngredientComponent e : element.getIngredient()) 21464 composeSubstanceSubstanceIngredientComponent("ingredient", e); 21465 } 21466 composeElementClose(element); 21467 xml.exit(FHIR_NS, name); 21468 } 21469 } 21470 21471 protected void composeSubstanceSubstanceInstanceComponent(String name, Substance.SubstanceInstanceComponent element) 21472 throws IOException { 21473 if (element != null) { 21474 composeElementAttributes(element); 21475 xml.enter(FHIR_NS, name); 21476 composeBackboneElements(element); 21477 if (element.hasIdentifier()) { 21478 composeIdentifier("identifier", element.getIdentifier()); 21479 } 21480 if (element.hasExpiryElement()) { 21481 composeDateTime("expiry", element.getExpiryElement()); 21482 } 21483 if (element.hasQuantity()) { 21484 composeSimpleQuantity("quantity", element.getQuantity()); 21485 } 21486 composeElementClose(element); 21487 xml.exit(FHIR_NS, name); 21488 } 21489 } 21490 21491 protected void composeSubstanceSubstanceIngredientComponent(String name, 21492 Substance.SubstanceIngredientComponent element) throws IOException { 21493 if (element != null) { 21494 composeElementAttributes(element); 21495 xml.enter(FHIR_NS, name); 21496 composeBackboneElements(element); 21497 if (element.hasQuantity()) { 21498 composeRatio("quantity", element.getQuantity()); 21499 } 21500 if (element.hasSubstance()) { 21501 composeReference("substance", element.getSubstance()); 21502 } 21503 composeElementClose(element); 21504 xml.exit(FHIR_NS, name); 21505 } 21506 } 21507 21508 protected void composeSupplyDelivery(String name, SupplyDelivery element) throws IOException { 21509 if (element != null) { 21510 composeDomainResourceAttributes(element); 21511 xml.enter(FHIR_NS, name); 21512 composeDomainResourceElements(element); 21513 if (element.hasIdentifier()) { 21514 composeIdentifier("identifier", element.getIdentifier()); 21515 } 21516 if (element.hasStatusElement()) 21517 composeEnumeration("status", element.getStatusElement(), new SupplyDelivery.SupplyDeliveryStatusEnumFactory()); 21518 if (element.hasPatient()) { 21519 composeReference("patient", element.getPatient()); 21520 } 21521 if (element.hasType()) { 21522 composeCodeableConcept("type", element.getType()); 21523 } 21524 if (element.hasQuantity()) { 21525 composeSimpleQuantity("quantity", element.getQuantity()); 21526 } 21527 if (element.hasSuppliedItem()) { 21528 composeReference("suppliedItem", element.getSuppliedItem()); 21529 } 21530 if (element.hasSupplier()) { 21531 composeReference("supplier", element.getSupplier()); 21532 } 21533 if (element.hasWhenPrepared()) { 21534 composePeriod("whenPrepared", element.getWhenPrepared()); 21535 } 21536 if (element.hasTimeElement()) { 21537 composeDateTime("time", element.getTimeElement()); 21538 } 21539 if (element.hasDestination()) { 21540 composeReference("destination", element.getDestination()); 21541 } 21542 if (element.hasReceiver()) { 21543 for (Reference e : element.getReceiver()) 21544 composeReference("receiver", e); 21545 } 21546 composeElementClose(element); 21547 xml.exit(FHIR_NS, name); 21548 } 21549 } 21550 21551 protected void composeSupplyRequest(String name, SupplyRequest element) throws IOException { 21552 if (element != null) { 21553 composeDomainResourceAttributes(element); 21554 xml.enter(FHIR_NS, name); 21555 composeDomainResourceElements(element); 21556 if (element.hasPatient()) { 21557 composeReference("patient", element.getPatient()); 21558 } 21559 if (element.hasSource()) { 21560 composeReference("source", element.getSource()); 21561 } 21562 if (element.hasDateElement()) { 21563 composeDateTime("date", element.getDateElement()); 21564 } 21565 if (element.hasIdentifier()) { 21566 composeIdentifier("identifier", element.getIdentifier()); 21567 } 21568 if (element.hasStatusElement()) 21569 composeEnumeration("status", element.getStatusElement(), new SupplyRequest.SupplyRequestStatusEnumFactory()); 21570 if (element.hasKind()) { 21571 composeCodeableConcept("kind", element.getKind()); 21572 } 21573 if (element.hasOrderedItem()) { 21574 composeReference("orderedItem", element.getOrderedItem()); 21575 } 21576 if (element.hasSupplier()) { 21577 for (Reference e : element.getSupplier()) 21578 composeReference("supplier", e); 21579 } 21580 if (element.hasReason()) { 21581 composeType("reason", element.getReason()); 21582 } 21583 if (element.hasWhen()) { 21584 composeSupplyRequestSupplyRequestWhenComponent("when", element.getWhen()); 21585 } 21586 composeElementClose(element); 21587 xml.exit(FHIR_NS, name); 21588 } 21589 } 21590 21591 protected void composeSupplyRequestSupplyRequestWhenComponent(String name, 21592 SupplyRequest.SupplyRequestWhenComponent element) throws IOException { 21593 if (element != null) { 21594 composeElementAttributes(element); 21595 xml.enter(FHIR_NS, name); 21596 composeBackboneElements(element); 21597 if (element.hasCode()) { 21598 composeCodeableConcept("code", element.getCode()); 21599 } 21600 if (element.hasSchedule()) { 21601 composeTiming("schedule", element.getSchedule()); 21602 } 21603 composeElementClose(element); 21604 xml.exit(FHIR_NS, name); 21605 } 21606 } 21607 21608 protected void composeTestScript(String name, TestScript element) throws IOException { 21609 if (element != null) { 21610 composeDomainResourceAttributes(element); 21611 xml.enter(FHIR_NS, name); 21612 composeDomainResourceElements(element); 21613 if (element.hasUrlElement()) { 21614 composeUri("url", element.getUrlElement()); 21615 } 21616 if (element.hasVersionElement()) { 21617 composeString("version", element.getVersionElement()); 21618 } 21619 if (element.hasNameElement()) { 21620 composeString("name", element.getNameElement()); 21621 } 21622 if (element.hasStatusElement()) 21623 composeEnumeration("status", element.getStatusElement(), 21624 new Enumerations.ConformanceResourceStatusEnumFactory()); 21625 if (element.hasIdentifier()) { 21626 composeIdentifier("identifier", element.getIdentifier()); 21627 } 21628 if (element.hasExperimentalElement()) { 21629 composeBoolean("experimental", element.getExperimentalElement()); 21630 } 21631 if (element.hasPublisherElement()) { 21632 composeString("publisher", element.getPublisherElement()); 21633 } 21634 if (element.hasContact()) { 21635 for (TestScript.TestScriptContactComponent e : element.getContact()) 21636 composeTestScriptTestScriptContactComponent("contact", e); 21637 } 21638 if (element.hasDateElement()) { 21639 composeDateTime("date", element.getDateElement()); 21640 } 21641 if (element.hasDescriptionElement()) { 21642 composeString("description", element.getDescriptionElement()); 21643 } 21644 if (element.hasUseContext()) { 21645 for (CodeableConcept e : element.getUseContext()) 21646 composeCodeableConcept("useContext", e); 21647 } 21648 if (element.hasRequirementsElement()) { 21649 composeString("requirements", element.getRequirementsElement()); 21650 } 21651 if (element.hasCopyrightElement()) { 21652 composeString("copyright", element.getCopyrightElement()); 21653 } 21654 if (element.hasMetadata()) { 21655 composeTestScriptTestScriptMetadataComponent("metadata", element.getMetadata()); 21656 } 21657 if (element.hasMultiserverElement()) { 21658 composeBoolean("multiserver", element.getMultiserverElement()); 21659 } 21660 if (element.hasFixture()) { 21661 for (TestScript.TestScriptFixtureComponent e : element.getFixture()) 21662 composeTestScriptTestScriptFixtureComponent("fixture", e); 21663 } 21664 if (element.hasProfile()) { 21665 for (Reference e : element.getProfile()) 21666 composeReference("profile", e); 21667 } 21668 if (element.hasVariable()) { 21669 for (TestScript.TestScriptVariableComponent e : element.getVariable()) 21670 composeTestScriptTestScriptVariableComponent("variable", e); 21671 } 21672 if (element.hasSetup()) { 21673 composeTestScriptTestScriptSetupComponent("setup", element.getSetup()); 21674 } 21675 if (element.hasTest()) { 21676 for (TestScript.TestScriptTestComponent e : element.getTest()) 21677 composeTestScriptTestScriptTestComponent("test", e); 21678 } 21679 if (element.hasTeardown()) { 21680 composeTestScriptTestScriptTeardownComponent("teardown", element.getTeardown()); 21681 } 21682 composeElementClose(element); 21683 xml.exit(FHIR_NS, name); 21684 } 21685 } 21686 21687 protected void composeTestScriptTestScriptContactComponent(String name, TestScript.TestScriptContactComponent element) 21688 throws IOException { 21689 if (element != null) { 21690 composeElementAttributes(element); 21691 xml.enter(FHIR_NS, name); 21692 composeBackboneElements(element); 21693 if (element.hasNameElement()) { 21694 composeString("name", element.getNameElement()); 21695 } 21696 if (element.hasTelecom()) { 21697 for (ContactPoint e : element.getTelecom()) 21698 composeContactPoint("telecom", e); 21699 } 21700 composeElementClose(element); 21701 xml.exit(FHIR_NS, name); 21702 } 21703 } 21704 21705 protected void composeTestScriptTestScriptMetadataComponent(String name, 21706 TestScript.TestScriptMetadataComponent element) throws IOException { 21707 if (element != null) { 21708 composeElementAttributes(element); 21709 xml.enter(FHIR_NS, name); 21710 composeBackboneElements(element); 21711 if (element.hasLink()) { 21712 for (TestScript.TestScriptMetadataLinkComponent e : element.getLink()) 21713 composeTestScriptTestScriptMetadataLinkComponent("link", e); 21714 } 21715 if (element.hasCapability()) { 21716 for (TestScript.TestScriptMetadataCapabilityComponent e : element.getCapability()) 21717 composeTestScriptTestScriptMetadataCapabilityComponent("capability", e); 21718 } 21719 composeElementClose(element); 21720 xml.exit(FHIR_NS, name); 21721 } 21722 } 21723 21724 protected void composeTestScriptTestScriptMetadataLinkComponent(String name, 21725 TestScript.TestScriptMetadataLinkComponent element) throws IOException { 21726 if (element != null) { 21727 composeElementAttributes(element); 21728 xml.enter(FHIR_NS, name); 21729 composeBackboneElements(element); 21730 if (element.hasUrlElement()) { 21731 composeUri("url", element.getUrlElement()); 21732 } 21733 if (element.hasDescriptionElement()) { 21734 composeString("description", element.getDescriptionElement()); 21735 } 21736 composeElementClose(element); 21737 xml.exit(FHIR_NS, name); 21738 } 21739 } 21740 21741 protected void composeTestScriptTestScriptMetadataCapabilityComponent(String name, 21742 TestScript.TestScriptMetadataCapabilityComponent element) throws IOException { 21743 if (element != null) { 21744 composeElementAttributes(element); 21745 xml.enter(FHIR_NS, name); 21746 composeBackboneElements(element); 21747 if (element.hasRequiredElement()) { 21748 composeBoolean("required", element.getRequiredElement()); 21749 } 21750 if (element.hasValidatedElement()) { 21751 composeBoolean("validated", element.getValidatedElement()); 21752 } 21753 if (element.hasDescriptionElement()) { 21754 composeString("description", element.getDescriptionElement()); 21755 } 21756 if (element.hasDestinationElement()) { 21757 composeInteger("destination", element.getDestinationElement()); 21758 } 21759 if (element.hasLink()) { 21760 for (UriType e : element.getLink()) 21761 composeUri("link", e); 21762 } 21763 if (element.hasConformance()) { 21764 composeReference("conformance", element.getConformance()); 21765 } 21766 composeElementClose(element); 21767 xml.exit(FHIR_NS, name); 21768 } 21769 } 21770 21771 protected void composeTestScriptTestScriptFixtureComponent(String name, TestScript.TestScriptFixtureComponent element) 21772 throws IOException { 21773 if (element != null) { 21774 composeElementAttributes(element); 21775 xml.enter(FHIR_NS, name); 21776 composeBackboneElements(element); 21777 if (element.hasAutocreateElement()) { 21778 composeBoolean("autocreate", element.getAutocreateElement()); 21779 } 21780 if (element.hasAutodeleteElement()) { 21781 composeBoolean("autodelete", element.getAutodeleteElement()); 21782 } 21783 if (element.hasResource()) { 21784 composeReference("resource", element.getResource()); 21785 } 21786 composeElementClose(element); 21787 xml.exit(FHIR_NS, name); 21788 } 21789 } 21790 21791 protected void composeTestScriptTestScriptVariableComponent(String name, 21792 TestScript.TestScriptVariableComponent element) throws IOException { 21793 if (element != null) { 21794 composeElementAttributes(element); 21795 xml.enter(FHIR_NS, name); 21796 composeBackboneElements(element); 21797 if (element.hasNameElement()) { 21798 composeString("name", element.getNameElement()); 21799 } 21800 if (element.hasHeaderFieldElement()) { 21801 composeString("headerField", element.getHeaderFieldElement()); 21802 } 21803 if (element.hasPathElement()) { 21804 composeString("path", element.getPathElement()); 21805 } 21806 if (element.hasSourceIdElement()) { 21807 composeId("sourceId", element.getSourceIdElement()); 21808 } 21809 composeElementClose(element); 21810 xml.exit(FHIR_NS, name); 21811 } 21812 } 21813 21814 protected void composeTestScriptTestScriptSetupComponent(String name, TestScript.TestScriptSetupComponent element) 21815 throws IOException { 21816 if (element != null) { 21817 composeElementAttributes(element); 21818 xml.enter(FHIR_NS, name); 21819 composeBackboneElements(element); 21820 if (element.hasMetadata()) { 21821 composeTestScriptTestScriptMetadataComponent("metadata", element.getMetadata()); 21822 } 21823 if (element.hasAction()) { 21824 for (TestScript.TestScriptSetupActionComponent e : element.getAction()) 21825 composeTestScriptTestScriptSetupActionComponent("action", e); 21826 } 21827 composeElementClose(element); 21828 xml.exit(FHIR_NS, name); 21829 } 21830 } 21831 21832 protected void composeTestScriptTestScriptSetupActionComponent(String name, 21833 TestScript.TestScriptSetupActionComponent element) throws IOException { 21834 if (element != null) { 21835 composeElementAttributes(element); 21836 xml.enter(FHIR_NS, name); 21837 composeBackboneElements(element); 21838 if (element.hasOperation()) { 21839 composeTestScriptTestScriptSetupActionOperationComponent("operation", element.getOperation()); 21840 } 21841 if (element.hasAssert()) { 21842 composeTestScriptTestScriptSetupActionAssertComponent("assert", element.getAssert()); 21843 } 21844 composeElementClose(element); 21845 xml.exit(FHIR_NS, name); 21846 } 21847 } 21848 21849 protected void composeTestScriptTestScriptSetupActionOperationComponent(String name, 21850 TestScript.TestScriptSetupActionOperationComponent element) throws IOException { 21851 if (element != null) { 21852 composeElementAttributes(element); 21853 xml.enter(FHIR_NS, name); 21854 composeBackboneElements(element); 21855 if (element.hasType()) { 21856 composeCoding("type", element.getType()); 21857 } 21858 if (element.hasResourceElement()) { 21859 composeCode("resource", element.getResourceElement()); 21860 } 21861 if (element.hasLabelElement()) { 21862 composeString("label", element.getLabelElement()); 21863 } 21864 if (element.hasDescriptionElement()) { 21865 composeString("description", element.getDescriptionElement()); 21866 } 21867 if (element.hasAcceptElement()) 21868 composeEnumeration("accept", element.getAcceptElement(), new TestScript.ContentTypeEnumFactory()); 21869 if (element.hasContentTypeElement()) 21870 composeEnumeration("contentType", element.getContentTypeElement(), new TestScript.ContentTypeEnumFactory()); 21871 if (element.hasDestinationElement()) { 21872 composeInteger("destination", element.getDestinationElement()); 21873 } 21874 if (element.hasEncodeRequestUrlElement()) { 21875 composeBoolean("encodeRequestUrl", element.getEncodeRequestUrlElement()); 21876 } 21877 if (element.hasParamsElement()) { 21878 composeString("params", element.getParamsElement()); 21879 } 21880 if (element.hasRequestHeader()) { 21881 for (TestScript.TestScriptSetupActionOperationRequestHeaderComponent e : element.getRequestHeader()) 21882 composeTestScriptTestScriptSetupActionOperationRequestHeaderComponent("requestHeader", e); 21883 } 21884 if (element.hasResponseIdElement()) { 21885 composeId("responseId", element.getResponseIdElement()); 21886 } 21887 if (element.hasSourceIdElement()) { 21888 composeId("sourceId", element.getSourceIdElement()); 21889 } 21890 if (element.hasTargetIdElement()) { 21891 composeId("targetId", element.getTargetIdElement()); 21892 } 21893 if (element.hasUrlElement()) { 21894 composeString("url", element.getUrlElement()); 21895 } 21896 composeElementClose(element); 21897 xml.exit(FHIR_NS, name); 21898 } 21899 } 21900 21901 protected void composeTestScriptTestScriptSetupActionOperationRequestHeaderComponent(String name, 21902 TestScript.TestScriptSetupActionOperationRequestHeaderComponent element) throws IOException { 21903 if (element != null) { 21904 composeElementAttributes(element); 21905 xml.enter(FHIR_NS, name); 21906 composeBackboneElements(element); 21907 if (element.hasFieldElement()) { 21908 composeString("field", element.getFieldElement()); 21909 } 21910 if (element.hasValueElement()) { 21911 composeString("value", element.getValueElement()); 21912 } 21913 composeElementClose(element); 21914 xml.exit(FHIR_NS, name); 21915 } 21916 } 21917 21918 protected void composeTestScriptTestScriptSetupActionAssertComponent(String name, 21919 TestScript.TestScriptSetupActionAssertComponent element) throws IOException { 21920 if (element != null) { 21921 composeElementAttributes(element); 21922 xml.enter(FHIR_NS, name); 21923 composeBackboneElements(element); 21924 if (element.hasLabelElement()) { 21925 composeString("label", element.getLabelElement()); 21926 } 21927 if (element.hasDescriptionElement()) { 21928 composeString("description", element.getDescriptionElement()); 21929 } 21930 if (element.hasDirectionElement()) 21931 composeEnumeration("direction", element.getDirectionElement(), 21932 new TestScript.AssertionDirectionTypeEnumFactory()); 21933 if (element.hasCompareToSourceIdElement()) { 21934 composeString("compareToSourceId", element.getCompareToSourceIdElement()); 21935 } 21936 if (element.hasCompareToSourcePathElement()) { 21937 composeString("compareToSourcePath", element.getCompareToSourcePathElement()); 21938 } 21939 if (element.hasContentTypeElement()) 21940 composeEnumeration("contentType", element.getContentTypeElement(), new TestScript.ContentTypeEnumFactory()); 21941 if (element.hasHeaderFieldElement()) { 21942 composeString("headerField", element.getHeaderFieldElement()); 21943 } 21944 if (element.hasMinimumIdElement()) { 21945 composeString("minimumId", element.getMinimumIdElement()); 21946 } 21947 if (element.hasNavigationLinksElement()) { 21948 composeBoolean("navigationLinks", element.getNavigationLinksElement()); 21949 } 21950 if (element.hasOperatorElement()) 21951 composeEnumeration("operator", element.getOperatorElement(), new TestScript.AssertionOperatorTypeEnumFactory()); 21952 if (element.hasPathElement()) { 21953 composeString("path", element.getPathElement()); 21954 } 21955 if (element.hasResourceElement()) { 21956 composeCode("resource", element.getResourceElement()); 21957 } 21958 if (element.hasResponseElement()) 21959 composeEnumeration("response", element.getResponseElement(), 21960 new TestScript.AssertionResponseTypesEnumFactory()); 21961 if (element.hasResponseCodeElement()) { 21962 composeString("responseCode", element.getResponseCodeElement()); 21963 } 21964 if (element.hasSourceIdElement()) { 21965 composeId("sourceId", element.getSourceIdElement()); 21966 } 21967 if (element.hasValidateProfileIdElement()) { 21968 composeId("validateProfileId", element.getValidateProfileIdElement()); 21969 } 21970 if (element.hasValueElement()) { 21971 composeString("value", element.getValueElement()); 21972 } 21973 if (element.hasWarningOnlyElement()) { 21974 composeBoolean("warningOnly", element.getWarningOnlyElement()); 21975 } 21976 composeElementClose(element); 21977 xml.exit(FHIR_NS, name); 21978 } 21979 } 21980 21981 protected void composeTestScriptTestScriptTestComponent(String name, TestScript.TestScriptTestComponent element) 21982 throws IOException { 21983 if (element != null) { 21984 composeElementAttributes(element); 21985 xml.enter(FHIR_NS, name); 21986 composeBackboneElements(element); 21987 if (element.hasNameElement()) { 21988 composeString("name", element.getNameElement()); 21989 } 21990 if (element.hasDescriptionElement()) { 21991 composeString("description", element.getDescriptionElement()); 21992 } 21993 if (element.hasMetadata()) { 21994 composeTestScriptTestScriptMetadataComponent("metadata", element.getMetadata()); 21995 } 21996 if (element.hasAction()) { 21997 for (TestScript.TestScriptTestActionComponent e : element.getAction()) 21998 composeTestScriptTestScriptTestActionComponent("action", e); 21999 } 22000 composeElementClose(element); 22001 xml.exit(FHIR_NS, name); 22002 } 22003 } 22004 22005 protected void composeTestScriptTestScriptTestActionComponent(String name, 22006 TestScript.TestScriptTestActionComponent element) throws IOException { 22007 if (element != null) { 22008 composeElementAttributes(element); 22009 xml.enter(FHIR_NS, name); 22010 composeBackboneElements(element); 22011 if (element.hasOperation()) { 22012 composeTestScriptTestScriptSetupActionOperationComponent("operation", element.getOperation()); 22013 } 22014 if (element.hasAssert()) { 22015 composeTestScriptTestScriptSetupActionAssertComponent("assert", element.getAssert()); 22016 } 22017 composeElementClose(element); 22018 xml.exit(FHIR_NS, name); 22019 } 22020 } 22021 22022 protected void composeTestScriptTestScriptTeardownComponent(String name, 22023 TestScript.TestScriptTeardownComponent element) throws IOException { 22024 if (element != null) { 22025 composeElementAttributes(element); 22026 xml.enter(FHIR_NS, name); 22027 composeBackboneElements(element); 22028 if (element.hasAction()) { 22029 for (TestScript.TestScriptTeardownActionComponent e : element.getAction()) 22030 composeTestScriptTestScriptTeardownActionComponent("action", e); 22031 } 22032 composeElementClose(element); 22033 xml.exit(FHIR_NS, name); 22034 } 22035 } 22036 22037 protected void composeTestScriptTestScriptTeardownActionComponent(String name, 22038 TestScript.TestScriptTeardownActionComponent element) throws IOException { 22039 if (element != null) { 22040 composeElementAttributes(element); 22041 xml.enter(FHIR_NS, name); 22042 composeBackboneElements(element); 22043 if (element.hasOperation()) { 22044 composeTestScriptTestScriptSetupActionOperationComponent("operation", element.getOperation()); 22045 } 22046 composeElementClose(element); 22047 xml.exit(FHIR_NS, name); 22048 } 22049 } 22050 22051 protected void composeValueSet(String name, ValueSet element) throws IOException { 22052 if (element != null) { 22053 composeDomainResourceAttributes(element); 22054 xml.enter(FHIR_NS, name); 22055 composeDomainResourceElements(element); 22056 if (element.hasUrlElement()) { 22057 composeUri("url", element.getUrlElement()); 22058 } 22059 if (element.hasIdentifier()) { 22060 composeIdentifier("identifier", element.getIdentifier()); 22061 } 22062 if (element.hasVersionElement()) { 22063 composeString("version", element.getVersionElement()); 22064 } 22065 if (element.hasNameElement()) { 22066 composeString("name", element.getNameElement()); 22067 } 22068 if (element.hasStatusElement()) 22069 composeEnumeration("status", element.getStatusElement(), 22070 new Enumerations.ConformanceResourceStatusEnumFactory()); 22071 if (element.hasExperimentalElement()) { 22072 composeBoolean("experimental", element.getExperimentalElement()); 22073 } 22074 if (element.hasPublisherElement()) { 22075 composeString("publisher", element.getPublisherElement()); 22076 } 22077 if (element.hasContact()) { 22078 for (ValueSet.ValueSetContactComponent e : element.getContact()) 22079 composeValueSetValueSetContactComponent("contact", e); 22080 } 22081 if (element.hasDateElement()) { 22082 composeDateTime("date", element.getDateElement()); 22083 } 22084 if (element.hasLockedDateElement()) { 22085 composeDate("lockedDate", element.getLockedDateElement()); 22086 } 22087 if (element.hasDescriptionElement()) { 22088 composeString("description", element.getDescriptionElement()); 22089 } 22090 if (element.hasUseContext()) { 22091 for (CodeableConcept e : element.getUseContext()) 22092 composeCodeableConcept("useContext", e); 22093 } 22094 if (element.hasImmutableElement()) { 22095 composeBoolean("immutable", element.getImmutableElement()); 22096 } 22097 if (element.hasRequirementsElement()) { 22098 composeString("requirements", element.getRequirementsElement()); 22099 } 22100 if (element.hasCopyrightElement()) { 22101 composeString("copyright", element.getCopyrightElement()); 22102 } 22103 if (element.hasExtensibleElement()) { 22104 composeBoolean("extensible", element.getExtensibleElement()); 22105 } 22106 if (element.hasCodeSystem()) { 22107 composeValueSetValueSetCodeSystemComponent("codeSystem", element.getCodeSystem()); 22108 } 22109 if (element.hasCompose()) { 22110 composeValueSetValueSetComposeComponent("compose", element.getCompose()); 22111 } 22112 if (element.hasExpansion()) { 22113 composeValueSetValueSetExpansionComponent("expansion", element.getExpansion()); 22114 } 22115 composeElementClose(element); 22116 xml.exit(FHIR_NS, name); 22117 } 22118 } 22119 22120 protected void composeValueSetValueSetContactComponent(String name, ValueSet.ValueSetContactComponent element) 22121 throws IOException { 22122 if (element != null) { 22123 composeElementAttributes(element); 22124 xml.enter(FHIR_NS, name); 22125 composeBackboneElements(element); 22126 if (element.hasNameElement()) { 22127 composeString("name", element.getNameElement()); 22128 } 22129 if (element.hasTelecom()) { 22130 for (ContactPoint e : element.getTelecom()) 22131 composeContactPoint("telecom", e); 22132 } 22133 composeElementClose(element); 22134 xml.exit(FHIR_NS, name); 22135 } 22136 } 22137 22138 protected void composeValueSetValueSetCodeSystemComponent(String name, ValueSet.ValueSetCodeSystemComponent element) 22139 throws IOException { 22140 if (element != null) { 22141 composeElementAttributes(element); 22142 xml.enter(FHIR_NS, name); 22143 composeBackboneElements(element); 22144 if (element.hasSystemElement()) { 22145 composeUri("system", element.getSystemElement()); 22146 } 22147 if (element.hasVersionElement()) { 22148 composeString("version", element.getVersionElement()); 22149 } 22150 if (element.hasCaseSensitiveElement()) { 22151 composeBoolean("caseSensitive", element.getCaseSensitiveElement()); 22152 } 22153 if (element.hasConcept()) { 22154 for (ValueSet.ConceptDefinitionComponent e : element.getConcept()) 22155 composeValueSetConceptDefinitionComponent("concept", e); 22156 } 22157 composeElementClose(element); 22158 xml.exit(FHIR_NS, name); 22159 } 22160 } 22161 22162 protected void composeValueSetConceptDefinitionComponent(String name, ValueSet.ConceptDefinitionComponent element) 22163 throws IOException { 22164 if (element != null) { 22165 composeElementAttributes(element); 22166 xml.enter(FHIR_NS, name); 22167 composeBackboneElements(element); 22168 if (element.hasCodeElement()) { 22169 composeCode("code", element.getCodeElement()); 22170 } 22171 if (element.hasAbstractElement()) { 22172 composeBoolean("abstract", element.getAbstractElement()); 22173 } 22174 if (element.hasDisplayElement()) { 22175 composeString("display", element.getDisplayElement()); 22176 } 22177 if (element.hasDefinitionElement()) { 22178 composeString("definition", element.getDefinitionElement()); 22179 } 22180 if (element.hasDesignation()) { 22181 for (ValueSet.ConceptDefinitionDesignationComponent e : element.getDesignation()) 22182 composeValueSetConceptDefinitionDesignationComponent("designation", e); 22183 } 22184 if (element.hasConcept()) { 22185 for (ValueSet.ConceptDefinitionComponent e : element.getConcept()) 22186 composeValueSetConceptDefinitionComponent("concept", e); 22187 } 22188 composeElementClose(element); 22189 xml.exit(FHIR_NS, name); 22190 } 22191 } 22192 22193 protected void composeValueSetConceptDefinitionDesignationComponent(String name, 22194 ValueSet.ConceptDefinitionDesignationComponent element) throws IOException { 22195 if (element != null) { 22196 composeElementAttributes(element); 22197 xml.enter(FHIR_NS, name); 22198 composeBackboneElements(element); 22199 if (element.hasLanguageElement()) { 22200 composeCode("language", element.getLanguageElement()); 22201 } 22202 if (element.hasUse()) { 22203 composeCoding("use", element.getUse()); 22204 } 22205 if (element.hasValueElement()) { 22206 composeString("value", element.getValueElement()); 22207 } 22208 composeElementClose(element); 22209 xml.exit(FHIR_NS, name); 22210 } 22211 } 22212 22213 protected void composeValueSetValueSetComposeComponent(String name, ValueSet.ValueSetComposeComponent element) 22214 throws IOException { 22215 if (element != null) { 22216 composeElementAttributes(element); 22217 xml.enter(FHIR_NS, name); 22218 composeBackboneElements(element); 22219 if (element.hasImport()) { 22220 for (UriType e : element.getImport()) 22221 composeUri("import", e); 22222 } 22223 if (element.hasInclude()) { 22224 for (ValueSet.ConceptSetComponent e : element.getInclude()) 22225 composeValueSetConceptSetComponent("include", e); 22226 } 22227 if (element.hasExclude()) { 22228 for (ValueSet.ConceptSetComponent e : element.getExclude()) 22229 composeValueSetConceptSetComponent("exclude", e); 22230 } 22231 composeElementClose(element); 22232 xml.exit(FHIR_NS, name); 22233 } 22234 } 22235 22236 protected void composeValueSetConceptSetComponent(String name, ValueSet.ConceptSetComponent element) 22237 throws IOException { 22238 if (element != null) { 22239 composeElementAttributes(element); 22240 xml.enter(FHIR_NS, name); 22241 composeBackboneElements(element); 22242 if (element.hasSystemElement()) { 22243 composeUri("system", element.getSystemElement()); 22244 } 22245 if (element.hasVersionElement()) { 22246 composeString("version", element.getVersionElement()); 22247 } 22248 if (element.hasConcept()) { 22249 for (ValueSet.ConceptReferenceComponent e : element.getConcept()) 22250 composeValueSetConceptReferenceComponent("concept", e); 22251 } 22252 if (element.hasFilter()) { 22253 for (ValueSet.ConceptSetFilterComponent e : element.getFilter()) 22254 composeValueSetConceptSetFilterComponent("filter", e); 22255 } 22256 composeElementClose(element); 22257 xml.exit(FHIR_NS, name); 22258 } 22259 } 22260 22261 protected void composeValueSetConceptReferenceComponent(String name, ValueSet.ConceptReferenceComponent element) 22262 throws IOException { 22263 if (element != null) { 22264 composeElementAttributes(element); 22265 xml.enter(FHIR_NS, name); 22266 composeBackboneElements(element); 22267 if (element.hasCodeElement()) { 22268 composeCode("code", element.getCodeElement()); 22269 } 22270 if (element.hasDisplayElement()) { 22271 composeString("display", element.getDisplayElement()); 22272 } 22273 if (element.hasDesignation()) { 22274 for (ValueSet.ConceptDefinitionDesignationComponent e : element.getDesignation()) 22275 composeValueSetConceptDefinitionDesignationComponent("designation", e); 22276 } 22277 composeElementClose(element); 22278 xml.exit(FHIR_NS, name); 22279 } 22280 } 22281 22282 protected void composeValueSetConceptSetFilterComponent(String name, ValueSet.ConceptSetFilterComponent element) 22283 throws IOException { 22284 if (element != null) { 22285 composeElementAttributes(element); 22286 xml.enter(FHIR_NS, name); 22287 composeBackboneElements(element); 22288 if (element.hasPropertyElement()) { 22289 composeCode("property", element.getPropertyElement()); 22290 } 22291 if (element.hasOpElement()) 22292 composeEnumeration("op", element.getOpElement(), new ValueSet.FilterOperatorEnumFactory()); 22293 if (element.hasValueElement()) { 22294 composeCode("value", element.getValueElement()); 22295 } 22296 composeElementClose(element); 22297 xml.exit(FHIR_NS, name); 22298 } 22299 } 22300 22301 protected void composeValueSetValueSetExpansionComponent(String name, ValueSet.ValueSetExpansionComponent element) 22302 throws IOException { 22303 if (element != null) { 22304 composeElementAttributes(element); 22305 xml.enter(FHIR_NS, name); 22306 composeBackboneElements(element); 22307 if (element.hasIdentifierElement()) { 22308 composeUri("identifier", element.getIdentifierElement()); 22309 } 22310 if (element.hasTimestampElement()) { 22311 composeDateTime("timestamp", element.getTimestampElement()); 22312 } 22313 if (element.hasTotalElement()) { 22314 composeInteger("total", element.getTotalElement()); 22315 } 22316 if (element.hasOffsetElement()) { 22317 composeInteger("offset", element.getOffsetElement()); 22318 } 22319 if (element.hasParameter()) { 22320 for (ValueSet.ValueSetExpansionParameterComponent e : element.getParameter()) 22321 composeValueSetValueSetExpansionParameterComponent("parameter", e); 22322 } 22323 if (element.hasContains()) { 22324 for (ValueSet.ValueSetExpansionContainsComponent e : element.getContains()) 22325 composeValueSetValueSetExpansionContainsComponent("contains", e); 22326 } 22327 composeElementClose(element); 22328 xml.exit(FHIR_NS, name); 22329 } 22330 } 22331 22332 protected void composeValueSetValueSetExpansionParameterComponent(String name, 22333 ValueSet.ValueSetExpansionParameterComponent element) throws IOException { 22334 if (element != null) { 22335 composeElementAttributes(element); 22336 xml.enter(FHIR_NS, name); 22337 composeBackboneElements(element); 22338 if (element.hasNameElement()) { 22339 composeString("name", element.getNameElement()); 22340 } 22341 if (element.hasValue()) { 22342 composeType("value", element.getValue()); 22343 } 22344 composeElementClose(element); 22345 xml.exit(FHIR_NS, name); 22346 } 22347 } 22348 22349 protected void composeValueSetValueSetExpansionContainsComponent(String name, 22350 ValueSet.ValueSetExpansionContainsComponent element) throws IOException { 22351 if (element != null) { 22352 composeElementAttributes(element); 22353 xml.enter(FHIR_NS, name); 22354 composeBackboneElements(element); 22355 if (element.hasSystemElement()) { 22356 composeUri("system", element.getSystemElement()); 22357 } 22358 if (element.hasAbstractElement()) { 22359 composeBoolean("abstract", element.getAbstractElement()); 22360 } 22361 if (element.hasVersionElement()) { 22362 composeString("version", element.getVersionElement()); 22363 } 22364 if (element.hasCodeElement()) { 22365 composeCode("code", element.getCodeElement()); 22366 } 22367 if (element.hasDisplayElement()) { 22368 composeString("display", element.getDisplayElement()); 22369 } 22370 if (element.hasContains()) { 22371 for (ValueSet.ValueSetExpansionContainsComponent e : element.getContains()) 22372 composeValueSetValueSetExpansionContainsComponent("contains", e); 22373 } 22374 composeElementClose(element); 22375 xml.exit(FHIR_NS, name); 22376 } 22377 } 22378 22379 protected void composeVisionPrescription(String name, VisionPrescription element) throws IOException { 22380 if (element != null) { 22381 composeDomainResourceAttributes(element); 22382 xml.enter(FHIR_NS, name); 22383 composeDomainResourceElements(element); 22384 if (element.hasIdentifier()) { 22385 for (Identifier e : element.getIdentifier()) 22386 composeIdentifier("identifier", e); 22387 } 22388 if (element.hasDateWrittenElement()) { 22389 composeDateTime("dateWritten", element.getDateWrittenElement()); 22390 } 22391 if (element.hasPatient()) { 22392 composeReference("patient", element.getPatient()); 22393 } 22394 if (element.hasPrescriber()) { 22395 composeReference("prescriber", element.getPrescriber()); 22396 } 22397 if (element.hasEncounter()) { 22398 composeReference("encounter", element.getEncounter()); 22399 } 22400 if (element.hasReason()) { 22401 composeType("reason", element.getReason()); 22402 } 22403 if (element.hasDispense()) { 22404 for (VisionPrescription.VisionPrescriptionDispenseComponent e : element.getDispense()) 22405 composeVisionPrescriptionVisionPrescriptionDispenseComponent("dispense", e); 22406 } 22407 composeElementClose(element); 22408 xml.exit(FHIR_NS, name); 22409 } 22410 } 22411 22412 protected void composeVisionPrescriptionVisionPrescriptionDispenseComponent(String name, 22413 VisionPrescription.VisionPrescriptionDispenseComponent element) throws IOException { 22414 if (element != null) { 22415 composeElementAttributes(element); 22416 xml.enter(FHIR_NS, name); 22417 composeBackboneElements(element); 22418 if (element.hasProduct()) { 22419 composeCoding("product", element.getProduct()); 22420 } 22421 if (element.hasEyeElement()) 22422 composeEnumeration("eye", element.getEyeElement(), new VisionPrescription.VisionEyesEnumFactory()); 22423 if (element.hasSphereElement()) { 22424 composeDecimal("sphere", element.getSphereElement()); 22425 } 22426 if (element.hasCylinderElement()) { 22427 composeDecimal("cylinder", element.getCylinderElement()); 22428 } 22429 if (element.hasAxisElement()) { 22430 composeInteger("axis", element.getAxisElement()); 22431 } 22432 if (element.hasPrismElement()) { 22433 composeDecimal("prism", element.getPrismElement()); 22434 } 22435 if (element.hasBaseElement()) 22436 composeEnumeration("base", element.getBaseElement(), new VisionPrescription.VisionBaseEnumFactory()); 22437 if (element.hasAddElement()) { 22438 composeDecimal("add", element.getAddElement()); 22439 } 22440 if (element.hasPowerElement()) { 22441 composeDecimal("power", element.getPowerElement()); 22442 } 22443 if (element.hasBackCurveElement()) { 22444 composeDecimal("backCurve", element.getBackCurveElement()); 22445 } 22446 if (element.hasDiameterElement()) { 22447 composeDecimal("diameter", element.getDiameterElement()); 22448 } 22449 if (element.hasDuration()) { 22450 composeSimpleQuantity("duration", element.getDuration()); 22451 } 22452 if (element.hasColorElement()) { 22453 composeString("color", element.getColorElement()); 22454 } 22455 if (element.hasBrandElement()) { 22456 composeString("brand", element.getBrandElement()); 22457 } 22458 if (element.hasNotesElement()) { 22459 composeString("notes", element.getNotesElement()); 22460 } 22461 composeElementClose(element); 22462 xml.exit(FHIR_NS, name); 22463 } 22464 } 22465 22466 @Override 22467 protected void composeResource(Resource resource) throws IOException { 22468 if (resource instanceof Parameters) 22469 composeParameters("Parameters", (Parameters) resource); 22470 else if (resource instanceof Account) 22471 composeAccount("Account", (Account) resource); 22472 else if (resource instanceof AllergyIntolerance) 22473 composeAllergyIntolerance("AllergyIntolerance", (AllergyIntolerance) resource); 22474 else if (resource instanceof Appointment) 22475 composeAppointment("Appointment", (Appointment) resource); 22476 else if (resource instanceof AppointmentResponse) 22477 composeAppointmentResponse("AppointmentResponse", (AppointmentResponse) resource); 22478 else if (resource instanceof AuditEvent) 22479 composeAuditEvent("AuditEvent", (AuditEvent) resource); 22480 else if (resource instanceof Basic) 22481 composeBasic("Basic", (Basic) resource); 22482 else if (resource instanceof Binary) 22483 composeBinary("Binary", (Binary) resource); 22484 else if (resource instanceof BodySite) 22485 composeBodySite("BodySite", (BodySite) resource); 22486 else if (resource instanceof Bundle) 22487 composeBundle("Bundle", (Bundle) resource); 22488 else if (resource instanceof CarePlan) 22489 composeCarePlan("CarePlan", (CarePlan) resource); 22490 else if (resource instanceof Claim) 22491 composeClaim("Claim", (Claim) resource); 22492 else if (resource instanceof ClaimResponse) 22493 composeClaimResponse("ClaimResponse", (ClaimResponse) resource); 22494 else if (resource instanceof ClinicalImpression) 22495 composeClinicalImpression("ClinicalImpression", (ClinicalImpression) resource); 22496 else if (resource instanceof Communication) 22497 composeCommunication("Communication", (Communication) resource); 22498 else if (resource instanceof CommunicationRequest) 22499 composeCommunicationRequest("CommunicationRequest", (CommunicationRequest) resource); 22500 else if (resource instanceof Composition) 22501 composeComposition("Composition", (Composition) resource); 22502 else if (resource instanceof ConceptMap) 22503 composeConceptMap("ConceptMap", (ConceptMap) resource); 22504 else if (resource instanceof Condition) 22505 composeCondition("Condition", (Condition) resource); 22506 else if (resource instanceof Conformance) 22507 composeConformance("Conformance", (Conformance) resource); 22508 else if (resource instanceof Contract) 22509 composeContract("Contract", (Contract) resource); 22510 else if (resource instanceof Coverage) 22511 composeCoverage("Coverage", (Coverage) resource); 22512 else if (resource instanceof DataElement) 22513 composeDataElement("DataElement", (DataElement) resource); 22514 else if (resource instanceof DetectedIssue) 22515 composeDetectedIssue("DetectedIssue", (DetectedIssue) resource); 22516 else if (resource instanceof Device) 22517 composeDevice("Device", (Device) resource); 22518 else if (resource instanceof DeviceComponent) 22519 composeDeviceComponent("DeviceComponent", (DeviceComponent) resource); 22520 else if (resource instanceof DeviceMetric) 22521 composeDeviceMetric("DeviceMetric", (DeviceMetric) resource); 22522 else if (resource instanceof DeviceUseRequest) 22523 composeDeviceUseRequest("DeviceUseRequest", (DeviceUseRequest) resource); 22524 else if (resource instanceof DeviceUseStatement) 22525 composeDeviceUseStatement("DeviceUseStatement", (DeviceUseStatement) resource); 22526 else if (resource instanceof DiagnosticOrder) 22527 composeDiagnosticOrder("DiagnosticOrder", (DiagnosticOrder) resource); 22528 else if (resource instanceof DiagnosticReport) 22529 composeDiagnosticReport("DiagnosticReport", (DiagnosticReport) resource); 22530 else if (resource instanceof DocumentManifest) 22531 composeDocumentManifest("DocumentManifest", (DocumentManifest) resource); 22532 else if (resource instanceof DocumentReference) 22533 composeDocumentReference("DocumentReference", (DocumentReference) resource); 22534 else if (resource instanceof EligibilityRequest) 22535 composeEligibilityRequest("EligibilityRequest", (EligibilityRequest) resource); 22536 else if (resource instanceof EligibilityResponse) 22537 composeEligibilityResponse("EligibilityResponse", (EligibilityResponse) resource); 22538 else if (resource instanceof Encounter) 22539 composeEncounter("Encounter", (Encounter) resource); 22540 else if (resource instanceof EnrollmentRequest) 22541 composeEnrollmentRequest("EnrollmentRequest", (EnrollmentRequest) resource); 22542 else if (resource instanceof EnrollmentResponse) 22543 composeEnrollmentResponse("EnrollmentResponse", (EnrollmentResponse) resource); 22544 else if (resource instanceof EpisodeOfCare) 22545 composeEpisodeOfCare("EpisodeOfCare", (EpisodeOfCare) resource); 22546 else if (resource instanceof ExplanationOfBenefit) 22547 composeExplanationOfBenefit("ExplanationOfBenefit", (ExplanationOfBenefit) resource); 22548 else if (resource instanceof FamilyMemberHistory) 22549 composeFamilyMemberHistory("FamilyMemberHistory", (FamilyMemberHistory) resource); 22550 else if (resource instanceof Flag) 22551 composeFlag("Flag", (Flag) resource); 22552 else if (resource instanceof Goal) 22553 composeGoal("Goal", (Goal) resource); 22554 else if (resource instanceof Group) 22555 composeGroup("Group", (Group) resource); 22556 else if (resource instanceof HealthcareService) 22557 composeHealthcareService("HealthcareService", (HealthcareService) resource); 22558 else if (resource instanceof ImagingObjectSelection) 22559 composeImagingObjectSelection("ImagingObjectSelection", (ImagingObjectSelection) resource); 22560 else if (resource instanceof ImagingStudy) 22561 composeImagingStudy("ImagingStudy", (ImagingStudy) resource); 22562 else if (resource instanceof Immunization) 22563 composeImmunization("Immunization", (Immunization) resource); 22564 else if (resource instanceof ImmunizationRecommendation) 22565 composeImmunizationRecommendation("ImmunizationRecommendation", (ImmunizationRecommendation) resource); 22566 else if (resource instanceof ImplementationGuide) 22567 composeImplementationGuide("ImplementationGuide", (ImplementationGuide) resource); 22568 else if (resource instanceof List_) 22569 composeList_("List", (List_) resource); 22570 else if (resource instanceof Location) 22571 composeLocation("Location", (Location) resource); 22572 else if (resource instanceof Media) 22573 composeMedia("Media", (Media) resource); 22574 else if (resource instanceof Medication) 22575 composeMedication("Medication", (Medication) resource); 22576 else if (resource instanceof MedicationAdministration) 22577 composeMedicationAdministration("MedicationAdministration", (MedicationAdministration) resource); 22578 else if (resource instanceof MedicationDispense) 22579 composeMedicationDispense("MedicationDispense", (MedicationDispense) resource); 22580 else if (resource instanceof MedicationOrder) 22581 composeMedicationOrder("MedicationOrder", (MedicationOrder) resource); 22582 else if (resource instanceof MedicationStatement) 22583 composeMedicationStatement("MedicationStatement", (MedicationStatement) resource); 22584 else if (resource instanceof MessageHeader) 22585 composeMessageHeader("MessageHeader", (MessageHeader) resource); 22586 else if (resource instanceof NamingSystem) 22587 composeNamingSystem("NamingSystem", (NamingSystem) resource); 22588 else if (resource instanceof NutritionOrder) 22589 composeNutritionOrder("NutritionOrder", (NutritionOrder) resource); 22590 else if (resource instanceof Observation) 22591 composeObservation("Observation", (Observation) resource); 22592 else if (resource instanceof OperationDefinition) 22593 composeOperationDefinition("OperationDefinition", (OperationDefinition) resource); 22594 else if (resource instanceof OperationOutcome) 22595 composeOperationOutcome("OperationOutcome", (OperationOutcome) resource); 22596 else if (resource instanceof Order) 22597 composeOrder("Order", (Order) resource); 22598 else if (resource instanceof OrderResponse) 22599 composeOrderResponse("OrderResponse", (OrderResponse) resource); 22600 else if (resource instanceof Organization) 22601 composeOrganization("Organization", (Organization) resource); 22602 else if (resource instanceof Patient) 22603 composePatient("Patient", (Patient) resource); 22604 else if (resource instanceof PaymentNotice) 22605 composePaymentNotice("PaymentNotice", (PaymentNotice) resource); 22606 else if (resource instanceof PaymentReconciliation) 22607 composePaymentReconciliation("PaymentReconciliation", (PaymentReconciliation) resource); 22608 else if (resource instanceof Person) 22609 composePerson("Person", (Person) resource); 22610 else if (resource instanceof Practitioner) 22611 composePractitioner("Practitioner", (Practitioner) resource); 22612 else if (resource instanceof Procedure) 22613 composeProcedure("Procedure", (Procedure) resource); 22614 else if (resource instanceof ProcedureRequest) 22615 composeProcedureRequest("ProcedureRequest", (ProcedureRequest) resource); 22616 else if (resource instanceof ProcessRequest) 22617 composeProcessRequest("ProcessRequest", (ProcessRequest) resource); 22618 else if (resource instanceof ProcessResponse) 22619 composeProcessResponse("ProcessResponse", (ProcessResponse) resource); 22620 else if (resource instanceof Provenance) 22621 composeProvenance("Provenance", (Provenance) resource); 22622 else if (resource instanceof Questionnaire) 22623 composeQuestionnaire("Questionnaire", (Questionnaire) resource); 22624 else if (resource instanceof QuestionnaireResponse) 22625 composeQuestionnaireResponse("QuestionnaireResponse", (QuestionnaireResponse) resource); 22626 else if (resource instanceof ReferralRequest) 22627 composeReferralRequest("ReferralRequest", (ReferralRequest) resource); 22628 else if (resource instanceof RelatedPerson) 22629 composeRelatedPerson("RelatedPerson", (RelatedPerson) resource); 22630 else if (resource instanceof RiskAssessment) 22631 composeRiskAssessment("RiskAssessment", (RiskAssessment) resource); 22632 else if (resource instanceof Schedule) 22633 composeSchedule("Schedule", (Schedule) resource); 22634 else if (resource instanceof SearchParameter) 22635 composeSearchParameter("SearchParameter", (SearchParameter) resource); 22636 else if (resource instanceof Slot) 22637 composeSlot("Slot", (Slot) resource); 22638 else if (resource instanceof Specimen) 22639 composeSpecimen("Specimen", (Specimen) resource); 22640 else if (resource instanceof StructureDefinition) 22641 composeStructureDefinition("StructureDefinition", (StructureDefinition) resource); 22642 else if (resource instanceof Subscription) 22643 composeSubscription("Subscription", (Subscription) resource); 22644 else if (resource instanceof Substance) 22645 composeSubstance("Substance", (Substance) resource); 22646 else if (resource instanceof SupplyDelivery) 22647 composeSupplyDelivery("SupplyDelivery", (SupplyDelivery) resource); 22648 else if (resource instanceof SupplyRequest) 22649 composeSupplyRequest("SupplyRequest", (SupplyRequest) resource); 22650 else if (resource instanceof TestScript) 22651 composeTestScript("TestScript", (TestScript) resource); 22652 else if (resource instanceof ValueSet) 22653 composeValueSet("ValueSet", (ValueSet) resource); 22654 else if (resource instanceof VisionPrescription) 22655 composeVisionPrescription("VisionPrescription", (VisionPrescription) resource); 22656 else if (resource instanceof Binary) 22657 composeBinary("Binary", (Binary) resource); 22658 else 22659 throw new Error("Unhandled resource type " + resource.getClass().getName()); 22660 } 22661 22662 protected void composeResource(String name, Resource resource) throws IOException { 22663 if (resource instanceof Parameters) 22664 composeParameters(name, (Parameters) resource); 22665 else if (resource instanceof Account) 22666 composeAccount(name, (Account) resource); 22667 else if (resource instanceof AllergyIntolerance) 22668 composeAllergyIntolerance(name, (AllergyIntolerance) resource); 22669 else if (resource instanceof Appointment) 22670 composeAppointment(name, (Appointment) resource); 22671 else if (resource instanceof AppointmentResponse) 22672 composeAppointmentResponse(name, (AppointmentResponse) resource); 22673 else if (resource instanceof AuditEvent) 22674 composeAuditEvent(name, (AuditEvent) resource); 22675 else if (resource instanceof Basic) 22676 composeBasic(name, (Basic) resource); 22677 else if (resource instanceof Binary) 22678 composeBinary(name, (Binary) resource); 22679 else if (resource instanceof BodySite) 22680 composeBodySite(name, (BodySite) resource); 22681 else if (resource instanceof Bundle) 22682 composeBundle(name, (Bundle) resource); 22683 else if (resource instanceof CarePlan) 22684 composeCarePlan(name, (CarePlan) resource); 22685 else if (resource instanceof Claim) 22686 composeClaim(name, (Claim) resource); 22687 else if (resource instanceof ClaimResponse) 22688 composeClaimResponse(name, (ClaimResponse) resource); 22689 else if (resource instanceof ClinicalImpression) 22690 composeClinicalImpression(name, (ClinicalImpression) resource); 22691 else if (resource instanceof Communication) 22692 composeCommunication(name, (Communication) resource); 22693 else if (resource instanceof CommunicationRequest) 22694 composeCommunicationRequest(name, (CommunicationRequest) resource); 22695 else if (resource instanceof Composition) 22696 composeComposition(name, (Composition) resource); 22697 else if (resource instanceof ConceptMap) 22698 composeConceptMap(name, (ConceptMap) resource); 22699 else if (resource instanceof Condition) 22700 composeCondition(name, (Condition) resource); 22701 else if (resource instanceof Conformance) 22702 composeConformance(name, (Conformance) resource); 22703 else if (resource instanceof Contract) 22704 composeContract(name, (Contract) resource); 22705 else if (resource instanceof Coverage) 22706 composeCoverage(name, (Coverage) resource); 22707 else if (resource instanceof DataElement) 22708 composeDataElement(name, (DataElement) resource); 22709 else if (resource instanceof DetectedIssue) 22710 composeDetectedIssue(name, (DetectedIssue) resource); 22711 else if (resource instanceof Device) 22712 composeDevice(name, (Device) resource); 22713 else if (resource instanceof DeviceComponent) 22714 composeDeviceComponent(name, (DeviceComponent) resource); 22715 else if (resource instanceof DeviceMetric) 22716 composeDeviceMetric(name, (DeviceMetric) resource); 22717 else if (resource instanceof DeviceUseRequest) 22718 composeDeviceUseRequest(name, (DeviceUseRequest) resource); 22719 else if (resource instanceof DeviceUseStatement) 22720 composeDeviceUseStatement(name, (DeviceUseStatement) resource); 22721 else if (resource instanceof DiagnosticOrder) 22722 composeDiagnosticOrder(name, (DiagnosticOrder) resource); 22723 else if (resource instanceof DiagnosticReport) 22724 composeDiagnosticReport(name, (DiagnosticReport) resource); 22725 else if (resource instanceof DocumentManifest) 22726 composeDocumentManifest(name, (DocumentManifest) resource); 22727 else if (resource instanceof DocumentReference) 22728 composeDocumentReference(name, (DocumentReference) resource); 22729 else if (resource instanceof EligibilityRequest) 22730 composeEligibilityRequest(name, (EligibilityRequest) resource); 22731 else if (resource instanceof EligibilityResponse) 22732 composeEligibilityResponse(name, (EligibilityResponse) resource); 22733 else if (resource instanceof Encounter) 22734 composeEncounter(name, (Encounter) resource); 22735 else if (resource instanceof EnrollmentRequest) 22736 composeEnrollmentRequest(name, (EnrollmentRequest) resource); 22737 else if (resource instanceof EnrollmentResponse) 22738 composeEnrollmentResponse(name, (EnrollmentResponse) resource); 22739 else if (resource instanceof EpisodeOfCare) 22740 composeEpisodeOfCare(name, (EpisodeOfCare) resource); 22741 else if (resource instanceof ExplanationOfBenefit) 22742 composeExplanationOfBenefit(name, (ExplanationOfBenefit) resource); 22743 else if (resource instanceof FamilyMemberHistory) 22744 composeFamilyMemberHistory(name, (FamilyMemberHistory) resource); 22745 else if (resource instanceof Flag) 22746 composeFlag(name, (Flag) resource); 22747 else if (resource instanceof Goal) 22748 composeGoal(name, (Goal) resource); 22749 else if (resource instanceof Group) 22750 composeGroup(name, (Group) resource); 22751 else if (resource instanceof HealthcareService) 22752 composeHealthcareService(name, (HealthcareService) resource); 22753 else if (resource instanceof ImagingObjectSelection) 22754 composeImagingObjectSelection(name, (ImagingObjectSelection) resource); 22755 else if (resource instanceof ImagingStudy) 22756 composeImagingStudy(name, (ImagingStudy) resource); 22757 else if (resource instanceof Immunization) 22758 composeImmunization(name, (Immunization) resource); 22759 else if (resource instanceof ImmunizationRecommendation) 22760 composeImmunizationRecommendation(name, (ImmunizationRecommendation) resource); 22761 else if (resource instanceof ImplementationGuide) 22762 composeImplementationGuide(name, (ImplementationGuide) resource); 22763 else if (resource instanceof List_) 22764 composeList_(name, (List_) resource); 22765 else if (resource instanceof Location) 22766 composeLocation(name, (Location) resource); 22767 else if (resource instanceof Media) 22768 composeMedia(name, (Media) resource); 22769 else if (resource instanceof Medication) 22770 composeMedication(name, (Medication) resource); 22771 else if (resource instanceof MedicationAdministration) 22772 composeMedicationAdministration(name, (MedicationAdministration) resource); 22773 else if (resource instanceof MedicationDispense) 22774 composeMedicationDispense(name, (MedicationDispense) resource); 22775 else if (resource instanceof MedicationOrder) 22776 composeMedicationOrder(name, (MedicationOrder) resource); 22777 else if (resource instanceof MedicationStatement) 22778 composeMedicationStatement(name, (MedicationStatement) resource); 22779 else if (resource instanceof MessageHeader) 22780 composeMessageHeader(name, (MessageHeader) resource); 22781 else if (resource instanceof NamingSystem) 22782 composeNamingSystem(name, (NamingSystem) resource); 22783 else if (resource instanceof NutritionOrder) 22784 composeNutritionOrder(name, (NutritionOrder) resource); 22785 else if (resource instanceof Observation) 22786 composeObservation(name, (Observation) resource); 22787 else if (resource instanceof OperationDefinition) 22788 composeOperationDefinition(name, (OperationDefinition) resource); 22789 else if (resource instanceof OperationOutcome) 22790 composeOperationOutcome(name, (OperationOutcome) resource); 22791 else if (resource instanceof Order) 22792 composeOrder(name, (Order) resource); 22793 else if (resource instanceof OrderResponse) 22794 composeOrderResponse(name, (OrderResponse) resource); 22795 else if (resource instanceof Organization) 22796 composeOrganization(name, (Organization) resource); 22797 else if (resource instanceof Patient) 22798 composePatient(name, (Patient) resource); 22799 else if (resource instanceof PaymentNotice) 22800 composePaymentNotice(name, (PaymentNotice) resource); 22801 else if (resource instanceof PaymentReconciliation) 22802 composePaymentReconciliation(name, (PaymentReconciliation) resource); 22803 else if (resource instanceof Person) 22804 composePerson(name, (Person) resource); 22805 else if (resource instanceof Practitioner) 22806 composePractitioner(name, (Practitioner) resource); 22807 else if (resource instanceof Procedure) 22808 composeProcedure(name, (Procedure) resource); 22809 else if (resource instanceof ProcedureRequest) 22810 composeProcedureRequest(name, (ProcedureRequest) resource); 22811 else if (resource instanceof ProcessRequest) 22812 composeProcessRequest(name, (ProcessRequest) resource); 22813 else if (resource instanceof ProcessResponse) 22814 composeProcessResponse(name, (ProcessResponse) resource); 22815 else if (resource instanceof Provenance) 22816 composeProvenance(name, (Provenance) resource); 22817 else if (resource instanceof Questionnaire) 22818 composeQuestionnaire(name, (Questionnaire) resource); 22819 else if (resource instanceof QuestionnaireResponse) 22820 composeQuestionnaireResponse(name, (QuestionnaireResponse) resource); 22821 else if (resource instanceof ReferralRequest) 22822 composeReferralRequest(name, (ReferralRequest) resource); 22823 else if (resource instanceof RelatedPerson) 22824 composeRelatedPerson(name, (RelatedPerson) resource); 22825 else if (resource instanceof RiskAssessment) 22826 composeRiskAssessment(name, (RiskAssessment) resource); 22827 else if (resource instanceof Schedule) 22828 composeSchedule(name, (Schedule) resource); 22829 else if (resource instanceof SearchParameter) 22830 composeSearchParameter(name, (SearchParameter) resource); 22831 else if (resource instanceof Slot) 22832 composeSlot(name, (Slot) resource); 22833 else if (resource instanceof Specimen) 22834 composeSpecimen(name, (Specimen) resource); 22835 else if (resource instanceof StructureDefinition) 22836 composeStructureDefinition(name, (StructureDefinition) resource); 22837 else if (resource instanceof Subscription) 22838 composeSubscription(name, (Subscription) resource); 22839 else if (resource instanceof Substance) 22840 composeSubstance(name, (Substance) resource); 22841 else if (resource instanceof SupplyDelivery) 22842 composeSupplyDelivery(name, (SupplyDelivery) resource); 22843 else if (resource instanceof SupplyRequest) 22844 composeSupplyRequest(name, (SupplyRequest) resource); 22845 else if (resource instanceof TestScript) 22846 composeTestScript(name, (TestScript) resource); 22847 else if (resource instanceof ValueSet) 22848 composeValueSet(name, (ValueSet) resource); 22849 else if (resource instanceof VisionPrescription) 22850 composeVisionPrescription(name, (VisionPrescription) resource); 22851 else if (resource instanceof Binary) 22852 composeBinary(name, (Binary) resource); 22853 else 22854 throw new Error("Unhandled resource type " + resource.getClass().getName()); 22855 } 22856 22857 protected void composeType(String prefix, Type type) throws IOException { 22858 if (type == null) 22859 ; 22860 else if (type instanceof Money) 22861 composeMoney(prefix + "Money", (Money) type); 22862 else if (type instanceof SimpleQuantity) 22863 composeSimpleQuantity(prefix + "SimpleQuantity", (SimpleQuantity) type); 22864 else if (type instanceof Duration) 22865 composeDuration(prefix + "Duration", (Duration) type); 22866 else if (type instanceof Count) 22867 composeCount(prefix + "Count", (Count) type); 22868 else if (type instanceof Distance) 22869 composeDistance(prefix + "Distance", (Distance) type); 22870 else if (type instanceof Age) 22871 composeAge(prefix + "Age", (Age) type); 22872 else if (type instanceof Identifier) 22873 composeIdentifier(prefix + "Identifier", (Identifier) type); 22874 else if (type instanceof Coding) 22875 composeCoding(prefix + "Coding", (Coding) type); 22876 else if (type instanceof Reference) 22877 composeReference(prefix + "Reference", (Reference) type); 22878 else if (type instanceof Signature) 22879 composeSignature(prefix + "Signature", (Signature) type); 22880 else if (type instanceof SampledData) 22881 composeSampledData(prefix + "SampledData", (SampledData) type); 22882 else if (type instanceof Quantity) 22883 composeQuantity(prefix + "Quantity", (Quantity) type); 22884 else if (type instanceof Period) 22885 composePeriod(prefix + "Period", (Period) type); 22886 else if (type instanceof Attachment) 22887 composeAttachment(prefix + "Attachment", (Attachment) type); 22888 else if (type instanceof Ratio) 22889 composeRatio(prefix + "Ratio", (Ratio) type); 22890 else if (type instanceof Range) 22891 composeRange(prefix + "Range", (Range) type); 22892 else if (type instanceof Annotation) 22893 composeAnnotation(prefix + "Annotation", (Annotation) type); 22894 else if (type instanceof CodeableConcept) 22895 composeCodeableConcept(prefix + "CodeableConcept", (CodeableConcept) type); 22896 else if (type instanceof HumanName) 22897 composeHumanName(prefix + "HumanName", (HumanName) type); 22898 else if (type instanceof ContactPoint) 22899 composeContactPoint(prefix + "ContactPoint", (ContactPoint) type); 22900 else if (type instanceof Meta) 22901 composeMeta(prefix + "Meta", (Meta) type); 22902 else if (type instanceof Address) 22903 composeAddress(prefix + "Address", (Address) type); 22904 else if (type instanceof Timing) 22905 composeTiming(prefix + "Timing", (Timing) type); 22906 else if (type instanceof ElementDefinition) 22907 composeElementDefinition(prefix + "ElementDefinition", (ElementDefinition) type); 22908 else if (type instanceof DateType) 22909 composeDate(prefix + "Date", (DateType) type); 22910 else if (type instanceof DateTimeType) 22911 composeDateTime(prefix + "DateTime", (DateTimeType) type); 22912 else if (type instanceof CodeType) 22913 composeCode(prefix + "Code", (CodeType) type); 22914 else if (type instanceof StringType) 22915 composeString(prefix + "String", (StringType) type); 22916 else if (type instanceof IntegerType) 22917 composeInteger(prefix + "Integer", (IntegerType) type); 22918 else if (type instanceof OidType) 22919 composeOid(prefix + "Oid", (OidType) type); 22920 else if (type instanceof UriType) 22921 composeUri(prefix + "Uri", (UriType) type); 22922 else if (type instanceof UuidType) 22923 composeUuid(prefix + "Uuid", (UuidType) type); 22924 else if (type instanceof InstantType) 22925 composeInstant(prefix + "Instant", (InstantType) type); 22926 else if (type instanceof BooleanType) 22927 composeBoolean(prefix + "Boolean", (BooleanType) type); 22928 else if (type instanceof Base64BinaryType) 22929 composeBase64Binary(prefix + "Base64Binary", (Base64BinaryType) type); 22930 else if (type instanceof UnsignedIntType) 22931 composeUnsignedInt(prefix + "UnsignedInt", (UnsignedIntType) type); 22932 else if (type instanceof MarkdownType) 22933 composeMarkdown(prefix + "Markdown", (MarkdownType) type); 22934 else if (type instanceof TimeType) 22935 composeTime(prefix + "Time", (TimeType) type); 22936 else if (type instanceof IdType) 22937 composeId(prefix + "Id", (IdType) type); 22938 else if (type instanceof PositiveIntType) 22939 composePositiveInt(prefix + "PositiveInt", (PositiveIntType) type); 22940 else if (type instanceof DecimalType) 22941 composeDecimal(prefix + "Decimal", (DecimalType) type); 22942 else 22943 throw new Error("Unhandled type"); 22944 } 22945 22946}