001package org.hl7.fhir.dstu2.formats; 002 003/*- 004 * #%L 005 * org.hl7.fhir.dstu2 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023 024import java.io.IOException; 025 026/* 027 Copyright (c) 2011+, HL7, Inc. 028 All rights reserved. 029 030 Redistribution and use in source and binary forms, with or without modification, 031 are permitted provided that the following conditions are met: 032 033 * Redistributions of source code must retain the above copyright notice, this 034 list of conditions and the following disclaimer. 035 * Redistributions in binary form must reproduce the above copyright notice, 036 this list of conditions and the following disclaimer in the documentation 037 and/or other materials provided with the distribution. 038 * Neither the name of HL7 nor the names of its contributors may be used to 039 endorse or promote products derived from this software without specific 040 prior written permission. 041 042 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 043 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 044 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 045 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 046 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 047 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 048 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 049 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 050 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 051 POSSIBILITY OF SUCH DAMAGE. 052 053*/ 054 055// Generated on Wed, Jul 13, 2016 05:32+1000 for FHIR v1.0.2 056import org.hl7.fhir.dstu2.model.*; 057import org.hl7.fhir.exceptions.FHIRFormatError; 058import org.hl7.fhir.utilities.Utilities; 059import org.xmlpull.v1.XmlPullParser; 060import org.xmlpull.v1.XmlPullParserException; 061 062public class XmlParser extends XmlParserBase { 063 064 public XmlParser() { 065 super(); 066 } 067 068 public XmlParser(boolean allowUnknownContent) { 069 super(); 070 setAllowUnknownContent(allowUnknownContent); 071 } 072 073 074 protected boolean parseElementContent(int eventType, XmlPullParser xpp, Element res) throws XmlPullParserException, IOException, FHIRFormatError { 075 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extension")) 076 res.getExtension().add(parseExtension(xpp)); 077 else 078 return false; 079 080 return true; 081 } 082 083 protected boolean parseBackboneContent(int eventType, XmlPullParser xpp, BackboneElement res) throws XmlPullParserException, IOException, FHIRFormatError { 084 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifierExtension")) 085 res.getModifierExtension().add(parseExtension(xpp)); 086 else 087 return parseElementContent(eventType, xpp, res); 088 089 return true; 090 } 091 092 @SuppressWarnings("unchecked") 093 protected <E extends Enum<E>> Enumeration<E> parseEnumeration(XmlPullParser xpp, E item, EnumFactory e) throws XmlPullParserException, IOException, FHIRFormatError { 094 Enumeration<E> res = new Enumeration<E>(e); 095 parseElementAttributes(xpp, res); 096 res.setValue((E) e.fromCode(xpp.getAttributeValue(null, "value"))); 097 next(xpp); 098 int eventType = nextNoWhitespace(xpp); 099 while (eventType != XmlPullParser.END_TAG) { 100 if (!parseElementContent(eventType, xpp, res)) 101 unknownContent(xpp); 102 eventType = nextNoWhitespace(xpp); 103 } 104 next(xpp); 105 parseElementClose(res); 106 return res; 107 } 108 109 protected DateType parseDate(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 110 DateType res = new DateType(xpp.getAttributeValue(null, "value")); 111 parseElementAttributes(xpp, res); 112 next(xpp); 113 int eventType = nextNoWhitespace(xpp); 114 while (eventType != XmlPullParser.END_TAG) { 115 if (!parseElementContent(eventType, xpp, res)) 116 unknownContent(xpp); 117 eventType = nextNoWhitespace(xpp); 118 } 119 next(xpp); 120 parseElementClose(res); 121 return res; 122 } 123 124 protected DateTimeType parseDateTime(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 125 DateTimeType res = new DateTimeType(xpp.getAttributeValue(null, "value")); 126 parseElementAttributes(xpp, res); 127 next(xpp); 128 int eventType = nextNoWhitespace(xpp); 129 while (eventType != XmlPullParser.END_TAG) { 130 if (!parseElementContent(eventType, xpp, res)) 131 unknownContent(xpp); 132 eventType = nextNoWhitespace(xpp); 133 } 134 next(xpp); 135 parseElementClose(res); 136 return res; 137 } 138 139 protected CodeType parseCode(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 140 CodeType res = new CodeType(xpp.getAttributeValue(null, "value")); 141 parseElementAttributes(xpp, res); 142 next(xpp); 143 int eventType = nextNoWhitespace(xpp); 144 while (eventType != XmlPullParser.END_TAG) { 145 if (!parseElementContent(eventType, xpp, res)) 146 unknownContent(xpp); 147 eventType = nextNoWhitespace(xpp); 148 } 149 next(xpp); 150 parseElementClose(res); 151 return res; 152 } 153 154 protected StringType parseString(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 155 StringType res = new StringType(xpp.getAttributeValue(null, "value")); 156 parseElementAttributes(xpp, res); 157 next(xpp); 158 int eventType = nextNoWhitespace(xpp); 159 while (eventType != XmlPullParser.END_TAG) { 160 if (!parseElementContent(eventType, xpp, res)) 161 unknownContent(xpp); 162 eventType = nextNoWhitespace(xpp); 163 } 164 next(xpp); 165 parseElementClose(res); 166 return res; 167 } 168 169 protected IntegerType parseInteger(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 170 IntegerType res = new IntegerType(xpp.getAttributeValue(null, "value")); 171 parseElementAttributes(xpp, res); 172 next(xpp); 173 int eventType = nextNoWhitespace(xpp); 174 while (eventType != XmlPullParser.END_TAG) { 175 if (!parseElementContent(eventType, xpp, res)) 176 unknownContent(xpp); 177 eventType = nextNoWhitespace(xpp); 178 } 179 next(xpp); 180 parseElementClose(res); 181 return res; 182 } 183 184 protected OidType parseOid(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 185 OidType res = new OidType(xpp.getAttributeValue(null, "value")); 186 parseElementAttributes(xpp, res); 187 next(xpp); 188 int eventType = nextNoWhitespace(xpp); 189 while (eventType != XmlPullParser.END_TAG) { 190 if (!parseElementContent(eventType, xpp, res)) 191 unknownContent(xpp); 192 eventType = nextNoWhitespace(xpp); 193 } 194 next(xpp); 195 parseElementClose(res); 196 return res; 197 } 198 199 protected UriType parseUri(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 200 UriType res = new UriType(xpp.getAttributeValue(null, "value")); 201 parseElementAttributes(xpp, res); 202 next(xpp); 203 int eventType = nextNoWhitespace(xpp); 204 while (eventType != XmlPullParser.END_TAG) { 205 if (!parseElementContent(eventType, xpp, res)) 206 unknownContent(xpp); 207 eventType = nextNoWhitespace(xpp); 208 } 209 next(xpp); 210 parseElementClose(res); 211 return res; 212 } 213 214 protected UuidType parseUuid(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 215 UuidType res = new UuidType(xpp.getAttributeValue(null, "value")); 216 parseElementAttributes(xpp, res); 217 next(xpp); 218 int eventType = nextNoWhitespace(xpp); 219 while (eventType != XmlPullParser.END_TAG) { 220 if (!parseElementContent(eventType, xpp, res)) 221 unknownContent(xpp); 222 eventType = nextNoWhitespace(xpp); 223 } 224 next(xpp); 225 parseElementClose(res); 226 return res; 227 } 228 229 protected InstantType parseInstant(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 230 InstantType res = new InstantType(xpp.getAttributeValue(null, "value")); 231 parseElementAttributes(xpp, res); 232 next(xpp); 233 int eventType = nextNoWhitespace(xpp); 234 while (eventType != XmlPullParser.END_TAG) { 235 if (!parseElementContent(eventType, xpp, res)) 236 unknownContent(xpp); 237 eventType = nextNoWhitespace(xpp); 238 } 239 next(xpp); 240 parseElementClose(res); 241 return res; 242 } 243 244 protected BooleanType parseBoolean(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 245 BooleanType res = new BooleanType(xpp.getAttributeValue(null, "value")); 246 parseElementAttributes(xpp, res); 247 next(xpp); 248 int eventType = nextNoWhitespace(xpp); 249 while (eventType != XmlPullParser.END_TAG) { 250 if (!parseElementContent(eventType, xpp, res)) 251 unknownContent(xpp); 252 eventType = nextNoWhitespace(xpp); 253 } 254 next(xpp); 255 parseElementClose(res); 256 return res; 257 } 258 259 protected Base64BinaryType parseBase64Binary(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 260 Base64BinaryType res = new Base64BinaryType(xpp.getAttributeValue(null, "value")); 261 parseElementAttributes(xpp, res); 262 next(xpp); 263 int eventType = nextNoWhitespace(xpp); 264 while (eventType != XmlPullParser.END_TAG) { 265 if (!parseElementContent(eventType, xpp, res)) 266 unknownContent(xpp); 267 eventType = nextNoWhitespace(xpp); 268 } 269 next(xpp); 270 parseElementClose(res); 271 return res; 272 } 273 274 protected UnsignedIntType parseUnsignedInt(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 275 UnsignedIntType res = new UnsignedIntType(xpp.getAttributeValue(null, "value")); 276 parseElementAttributes(xpp, res); 277 next(xpp); 278 int eventType = nextNoWhitespace(xpp); 279 while (eventType != XmlPullParser.END_TAG) { 280 if (!parseElementContent(eventType, xpp, res)) 281 unknownContent(xpp); 282 eventType = nextNoWhitespace(xpp); 283 } 284 next(xpp); 285 parseElementClose(res); 286 return res; 287 } 288 289 protected MarkdownType parseMarkdown(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 290 MarkdownType res = new MarkdownType(xpp.getAttributeValue(null, "value")); 291 parseElementAttributes(xpp, res); 292 next(xpp); 293 int eventType = nextNoWhitespace(xpp); 294 while (eventType != XmlPullParser.END_TAG) { 295 if (!parseElementContent(eventType, xpp, res)) 296 unknownContent(xpp); 297 eventType = nextNoWhitespace(xpp); 298 } 299 next(xpp); 300 parseElementClose(res); 301 return res; 302 } 303 304 protected TimeType parseTime(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 305 TimeType res = new TimeType(xpp.getAttributeValue(null, "value")); 306 parseElementAttributes(xpp, res); 307 next(xpp); 308 int eventType = nextNoWhitespace(xpp); 309 while (eventType != XmlPullParser.END_TAG) { 310 if (!parseElementContent(eventType, xpp, res)) 311 unknownContent(xpp); 312 eventType = nextNoWhitespace(xpp); 313 } 314 next(xpp); 315 parseElementClose(res); 316 return res; 317 } 318 319 protected IdType parseId(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 320 IdType res = new IdType(xpp.getAttributeValue(null, "value")); 321 parseElementAttributes(xpp, res); 322 next(xpp); 323 int eventType = nextNoWhitespace(xpp); 324 while (eventType != XmlPullParser.END_TAG) { 325 if (!parseElementContent(eventType, xpp, res)) 326 unknownContent(xpp); 327 eventType = nextNoWhitespace(xpp); 328 } 329 next(xpp); 330 parseElementClose(res); 331 return res; 332 } 333 334 protected PositiveIntType parsePositiveInt(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 335 PositiveIntType res = new PositiveIntType(xpp.getAttributeValue(null, "value")); 336 parseElementAttributes(xpp, res); 337 next(xpp); 338 int eventType = nextNoWhitespace(xpp); 339 while (eventType != XmlPullParser.END_TAG) { 340 if (!parseElementContent(eventType, xpp, res)) 341 unknownContent(xpp); 342 eventType = nextNoWhitespace(xpp); 343 } 344 next(xpp); 345 parseElementClose(res); 346 return res; 347 } 348 349 protected DecimalType parseDecimal(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 350 DecimalType res = new DecimalType(xpp.getAttributeValue(null, "value")); 351 parseElementAttributes(xpp, res); 352 next(xpp); 353 int eventType = nextNoWhitespace(xpp); 354 while (eventType != XmlPullParser.END_TAG) { 355 if (!parseElementContent(eventType, xpp, res)) 356 unknownContent(xpp); 357 eventType = nextNoWhitespace(xpp); 358 } 359 next(xpp); 360 parseElementClose(res); 361 return res; 362 } 363 364 protected Extension parseExtension(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 365 Extension res = new Extension(); 366 parseElementAttributes(xpp, res); 367 if (xpp.getAttributeValue(null, "url") != null) 368 res.setUrl(xpp.getAttributeValue(null, "url")); 369 next(xpp); 370 int eventType = nextNoWhitespace(xpp); 371 while (eventType != XmlPullParser.END_TAG) { 372 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 373 res.setValue(parseType("value", xpp)); 374 } else if (!parseElementContent(eventType, xpp, res)) 375 unknownContent(xpp); 376 eventType = nextNoWhitespace(xpp); 377 } 378 next(xpp); 379 parseElementClose(res); 380 return res; 381 } 382 383 protected Narrative parseNarrative(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 384 Narrative res = new Narrative(); 385 parseElementAttributes(xpp, res); 386 next(xpp); 387 int eventType = nextNoWhitespace(xpp); 388 while (eventType != XmlPullParser.END_TAG) { 389 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 390 res.setStatusElement(parseEnumeration(xpp, Narrative.NarrativeStatus.NULL, new Narrative.NarrativeStatusEnumFactory())); 391 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("div")) { 392 res.setDiv(parseXhtml(xpp)); 393 } else if (!parseElementContent(eventType, xpp, res)) 394 unknownContent(xpp); 395 eventType = nextNoWhitespace(xpp); 396 } 397 next(xpp); 398 parseElementClose(res); 399 return res; 400 } 401 402 protected Identifier parseIdentifier(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 403 Identifier res = new Identifier(); 404 parseTypeAttributes(xpp, res); 405 next(xpp); 406 int eventType = nextNoWhitespace(xpp); 407 while (eventType != XmlPullParser.END_TAG) { 408 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 409 res.setUseElement(parseEnumeration(xpp, Identifier.IdentifierUse.NULL, new Identifier.IdentifierUseEnumFactory())); 410 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 411 res.setType(parseCodeableConcept(xpp)); 412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 413 res.setSystemElement(parseUri(xpp)); 414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 415 res.setValueElement(parseString(xpp)); 416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 417 res.setPeriod(parsePeriod(xpp)); 418 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assigner")) { 419 res.setAssigner(parseReference(xpp)); 420 } else if (!parseElementContent(eventType, xpp, res)) 421 unknownContent(xpp); 422 eventType = nextNoWhitespace(xpp); 423 } 424 next(xpp); 425 parseElementClose(res); 426 return res; 427 } 428 429 protected Coding parseCoding(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 430 Coding res = new Coding(); 431 parseTypeAttributes(xpp, res); 432 next(xpp); 433 int eventType = nextNoWhitespace(xpp); 434 while (eventType != XmlPullParser.END_TAG) { 435 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 436 res.setSystemElement(parseUri(xpp)); 437 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 438 res.setVersionElement(parseString(xpp)); 439 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 440 res.setCodeElement(parseCode(xpp)); 441 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 442 res.setDisplayElement(parseString(xpp)); 443 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("userSelected")) { 444 res.setUserSelectedElement(parseBoolean(xpp)); 445 } else if (!parseElementContent(eventType, xpp, res)) 446 unknownContent(xpp); 447 eventType = nextNoWhitespace(xpp); 448 } 449 next(xpp); 450 parseElementClose(res); 451 return res; 452 } 453 454 protected Reference parseReference(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 455 Reference res = new Reference(); 456 parseTypeAttributes(xpp, res); 457 next(xpp); 458 int eventType = nextNoWhitespace(xpp); 459 while (eventType != XmlPullParser.END_TAG) { 460 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 461 res.setReferenceElement(parseString(xpp)); 462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 463 res.setDisplayElement(parseString(xpp)); 464 } else if (!parseElementContent(eventType, xpp, res)) 465 unknownContent(xpp); 466 eventType = nextNoWhitespace(xpp); 467 } 468 next(xpp); 469 parseElementClose(res); 470 return res; 471 } 472 473 protected Signature parseSignature(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 474 Signature res = new Signature(); 475 parseTypeAttributes(xpp, res); 476 next(xpp); 477 int eventType = nextNoWhitespace(xpp); 478 while (eventType != XmlPullParser.END_TAG) { 479 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 480 res.getType().add(parseCoding(xpp)); 481 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 482 res.setWhenElement(parseInstant(xpp)); 483 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "who")) { 484 res.setWho(parseType("who", xpp)); 485 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 486 res.setContentTypeElement(parseCode(xpp)); 487 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("blob")) { 488 res.setBlobElement(parseBase64Binary(xpp)); 489 } else if (!parseElementContent(eventType, xpp, res)) 490 unknownContent(xpp); 491 eventType = nextNoWhitespace(xpp); 492 } 493 next(xpp); 494 parseElementClose(res); 495 return res; 496 } 497 498 protected SampledData parseSampledData(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 499 SampledData res = new SampledData(); 500 parseTypeAttributes(xpp, res); 501 next(xpp); 502 int eventType = nextNoWhitespace(xpp); 503 while (eventType != XmlPullParser.END_TAG) { 504 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 505 res.setOrigin(parseSimpleQuantity(xpp)); 506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 507 res.setPeriodElement(parseDecimal(xpp)); 508 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 509 res.setFactorElement(parseDecimal(xpp)); 510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lowerLimit")) { 511 res.setLowerLimitElement(parseDecimal(xpp)); 512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("upperLimit")) { 513 res.setUpperLimitElement(parseDecimal(xpp)); 514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dimensions")) { 515 res.setDimensionsElement(parsePositiveInt(xpp)); 516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 517 res.setDataElement(parseString(xpp)); 518 } else if (!parseElementContent(eventType, xpp, res)) 519 unknownContent(xpp); 520 eventType = nextNoWhitespace(xpp); 521 } 522 next(xpp); 523 parseElementClose(res); 524 return res; 525 } 526 527 protected Quantity parseQuantity(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 528 Quantity res = new Quantity(); 529 parseTypeAttributes(xpp, res); 530 next(xpp); 531 int eventType = nextNoWhitespace(xpp); 532 while (eventType != XmlPullParser.END_TAG) { 533 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 534 res.setValueElement(parseDecimal(xpp)); 535 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 536 res.setComparatorElement(parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 537 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 538 res.setUnitElement(parseString(xpp)); 539 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 540 res.setSystemElement(parseUri(xpp)); 541 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 542 res.setCodeElement(parseCode(xpp)); 543 } else if (!parseElementContent(eventType, xpp, res)) 544 unknownContent(xpp); 545 eventType = nextNoWhitespace(xpp); 546 } 547 next(xpp); 548 parseElementClose(res); 549 return res; 550 } 551 552 protected Period parsePeriod(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 553 Period res = new Period(); 554 parseTypeAttributes(xpp, res); 555 next(xpp); 556 int eventType = nextNoWhitespace(xpp); 557 while (eventType != XmlPullParser.END_TAG) { 558 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 559 res.setStartElement(parseDateTime(xpp)); 560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 561 res.setEndElement(parseDateTime(xpp)); 562 } else if (!parseElementContent(eventType, xpp, res)) 563 unknownContent(xpp); 564 eventType = nextNoWhitespace(xpp); 565 } 566 next(xpp); 567 parseElementClose(res); 568 return res; 569 } 570 571 protected Attachment parseAttachment(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 572 Attachment res = new Attachment(); 573 parseTypeAttributes(xpp, res); 574 next(xpp); 575 int eventType = nextNoWhitespace(xpp); 576 while (eventType != XmlPullParser.END_TAG) { 577 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 578 res.setContentTypeElement(parseCode(xpp)); 579 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 580 res.setLanguageElement(parseCode(xpp)); 581 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 582 res.setDataElement(parseBase64Binary(xpp)); 583 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 584 res.setUrlElement(parseUri(xpp)); 585 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("size")) { 586 res.setSizeElement(parseUnsignedInt(xpp)); 587 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hash")) { 588 res.setHashElement(parseBase64Binary(xpp)); 589 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 590 res.setTitleElement(parseString(xpp)); 591 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("creation")) { 592 res.setCreationElement(parseDateTime(xpp)); 593 } else if (!parseElementContent(eventType, xpp, res)) 594 unknownContent(xpp); 595 eventType = nextNoWhitespace(xpp); 596 } 597 next(xpp); 598 parseElementClose(res); 599 return res; 600 } 601 602 protected Ratio parseRatio(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 603 Ratio res = new Ratio(); 604 parseTypeAttributes(xpp, res); 605 next(xpp); 606 int eventType = nextNoWhitespace(xpp); 607 while (eventType != XmlPullParser.END_TAG) { 608 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numerator")) { 609 res.setNumerator(parseQuantity(xpp)); 610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("denominator")) { 611 res.setDenominator(parseQuantity(xpp)); 612 } else if (!parseElementContent(eventType, xpp, res)) 613 unknownContent(xpp); 614 eventType = nextNoWhitespace(xpp); 615 } 616 next(xpp); 617 parseElementClose(res); 618 return res; 619 } 620 621 protected Range parseRange(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 622 Range res = new Range(); 623 parseTypeAttributes(xpp, res); 624 next(xpp); 625 int eventType = nextNoWhitespace(xpp); 626 while (eventType != XmlPullParser.END_TAG) { 627 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("low")) { 628 res.setLow(parseSimpleQuantity(xpp)); 629 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("high")) { 630 res.setHigh(parseSimpleQuantity(xpp)); 631 } else if (!parseElementContent(eventType, xpp, res)) 632 unknownContent(xpp); 633 eventType = nextNoWhitespace(xpp); 634 } 635 next(xpp); 636 parseElementClose(res); 637 return res; 638 } 639 640 protected Annotation parseAnnotation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 641 Annotation res = new Annotation(); 642 parseTypeAttributes(xpp, res); 643 next(xpp); 644 int eventType = nextNoWhitespace(xpp); 645 while (eventType != XmlPullParser.END_TAG) { 646 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "author")) { 647 res.setAuthor(parseType("author", xpp)); 648 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 649 res.setTimeElement(parseDateTime(xpp)); 650 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 651 res.setTextElement(parseString(xpp)); 652 } else if (!parseElementContent(eventType, xpp, res)) 653 unknownContent(xpp); 654 eventType = nextNoWhitespace(xpp); 655 } 656 next(xpp); 657 parseElementClose(res); 658 return res; 659 } 660 661 protected CodeableConcept parseCodeableConcept(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 662 CodeableConcept res = new CodeableConcept(); 663 parseTypeAttributes(xpp, res); 664 next(xpp); 665 int eventType = nextNoWhitespace(xpp); 666 while (eventType != XmlPullParser.END_TAG) { 667 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coding")) { 668 res.getCoding().add(parseCoding(xpp)); 669 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 670 res.setTextElement(parseString(xpp)); 671 } else if (!parseElementContent(eventType, xpp, res)) 672 unknownContent(xpp); 673 eventType = nextNoWhitespace(xpp); 674 } 675 next(xpp); 676 parseElementClose(res); 677 return res; 678 } 679 680 protected Money parseMoney(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 681 Money res = new Money(); 682 parseElementAttributes(xpp, res); 683 next(xpp); 684 int eventType = nextNoWhitespace(xpp); 685 while (eventType != XmlPullParser.END_TAG) { 686 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 687 res.setValueElement(parseDecimal(xpp)); 688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 689 res.setComparatorElement(parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 691 res.setUnitElement(parseString(xpp)); 692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 693 res.setSystemElement(parseUri(xpp)); 694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 695 res.setCodeElement(parseCode(xpp)); 696 } else if (!parseElementContent(eventType, xpp, res)) 697 unknownContent(xpp); 698 eventType = nextNoWhitespace(xpp); 699 } 700 next(xpp); 701 parseElementClose(res); 702 return res; 703 } 704 705 protected SimpleQuantity parseSimpleQuantity(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 706 SimpleQuantity res = new SimpleQuantity(); 707 parseElementAttributes(xpp, res); 708 next(xpp); 709 int eventType = nextNoWhitespace(xpp); 710 while (eventType != XmlPullParser.END_TAG) { 711 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 712 res.setValueElement(parseDecimal(xpp)); 713 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 714 res.setComparatorElement(parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 715 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 716 res.setUnitElement(parseString(xpp)); 717 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 718 res.setSystemElement(parseUri(xpp)); 719 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 720 res.setCodeElement(parseCode(xpp)); 721 } else if (!parseElementContent(eventType, xpp, res)) 722 unknownContent(xpp); 723 eventType = nextNoWhitespace(xpp); 724 } 725 next(xpp); 726 parseElementClose(res); 727 return res; 728 } 729 730 protected Duration parseDuration(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 731 Duration res = new Duration(); 732 parseElementAttributes(xpp, res); 733 next(xpp); 734 int eventType = nextNoWhitespace(xpp); 735 while (eventType != XmlPullParser.END_TAG) { 736 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 737 res.setValueElement(parseDecimal(xpp)); 738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 739 res.setComparatorElement(parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 740 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 741 res.setUnitElement(parseString(xpp)); 742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 743 res.setSystemElement(parseUri(xpp)); 744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 745 res.setCodeElement(parseCode(xpp)); 746 } else if (!parseElementContent(eventType, xpp, res)) 747 unknownContent(xpp); 748 eventType = nextNoWhitespace(xpp); 749 } 750 next(xpp); 751 parseElementClose(res); 752 return res; 753 } 754 755 protected Count parseCount(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 756 Count res = new Count(); 757 parseElementAttributes(xpp, res); 758 next(xpp); 759 int eventType = nextNoWhitespace(xpp); 760 while (eventType != XmlPullParser.END_TAG) { 761 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 762 res.setValueElement(parseDecimal(xpp)); 763 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 764 res.setComparatorElement(parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 765 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 766 res.setUnitElement(parseString(xpp)); 767 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 768 res.setSystemElement(parseUri(xpp)); 769 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 770 res.setCodeElement(parseCode(xpp)); 771 } else if (!parseElementContent(eventType, xpp, res)) 772 unknownContent(xpp); 773 eventType = nextNoWhitespace(xpp); 774 } 775 next(xpp); 776 parseElementClose(res); 777 return res; 778 } 779 780 protected Distance parseDistance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 781 Distance res = new Distance(); 782 parseElementAttributes(xpp, res); 783 next(xpp); 784 int eventType = nextNoWhitespace(xpp); 785 while (eventType != XmlPullParser.END_TAG) { 786 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 787 res.setValueElement(parseDecimal(xpp)); 788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 789 res.setComparatorElement(parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 791 res.setUnitElement(parseString(xpp)); 792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 793 res.setSystemElement(parseUri(xpp)); 794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 795 res.setCodeElement(parseCode(xpp)); 796 } else if (!parseElementContent(eventType, xpp, res)) 797 unknownContent(xpp); 798 eventType = nextNoWhitespace(xpp); 799 } 800 next(xpp); 801 parseElementClose(res); 802 return res; 803 } 804 805 protected Age parseAge(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 806 Age res = new Age(); 807 parseElementAttributes(xpp, res); 808 next(xpp); 809 int eventType = nextNoWhitespace(xpp); 810 while (eventType != XmlPullParser.END_TAG) { 811 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 812 res.setValueElement(parseDecimal(xpp)); 813 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { 814 res.setComparatorElement(parseEnumeration(xpp, Quantity.QuantityComparator.NULL, new Quantity.QuantityComparatorEnumFactory())); 815 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 816 res.setUnitElement(parseString(xpp)); 817 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 818 res.setSystemElement(parseUri(xpp)); 819 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 820 res.setCodeElement(parseCode(xpp)); 821 } else if (!parseElementContent(eventType, xpp, res)) 822 unknownContent(xpp); 823 eventType = nextNoWhitespace(xpp); 824 } 825 next(xpp); 826 parseElementClose(res); 827 return res; 828 } 829 830 protected HumanName parseHumanName(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 831 HumanName res = new HumanName(); 832 parseElementAttributes(xpp, res); 833 next(xpp); 834 int eventType = nextNoWhitespace(xpp); 835 while (eventType != XmlPullParser.END_TAG) { 836 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 837 res.setUseElement(parseEnumeration(xpp, HumanName.NameUse.NULL, new HumanName.NameUseEnumFactory())); 838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 839 res.setTextElement(parseString(xpp)); 840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("family")) { 841 res.getFamily().add(parseString(xpp)); 842 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("given")) { 843 res.getGiven().add(parseString(xpp)); 844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { 845 res.getPrefix().add(parseString(xpp)); 846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suffix")) { 847 res.getSuffix().add(parseString(xpp)); 848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 849 res.setPeriod(parsePeriod(xpp)); 850 } else if (!parseElementContent(eventType, xpp, res)) 851 unknownContent(xpp); 852 eventType = nextNoWhitespace(xpp); 853 } 854 next(xpp); 855 parseElementClose(res); 856 return res; 857 } 858 859 protected ContactPoint parseContactPoint(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 860 ContactPoint res = new ContactPoint(); 861 parseElementAttributes(xpp, res); 862 next(xpp); 863 int eventType = nextNoWhitespace(xpp); 864 while (eventType != XmlPullParser.END_TAG) { 865 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 866 res.setSystemElement(parseEnumeration(xpp, ContactPoint.ContactPointSystem.NULL, new ContactPoint.ContactPointSystemEnumFactory())); 867 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 868 res.setValueElement(parseString(xpp)); 869 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 870 res.setUseElement(parseEnumeration(xpp, ContactPoint.ContactPointUse.NULL, new ContactPoint.ContactPointUseEnumFactory())); 871 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rank")) { 872 res.setRankElement(parsePositiveInt(xpp)); 873 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 874 res.setPeriod(parsePeriod(xpp)); 875 } else if (!parseElementContent(eventType, xpp, res)) 876 unknownContent(xpp); 877 eventType = nextNoWhitespace(xpp); 878 } 879 next(xpp); 880 parseElementClose(res); 881 return res; 882 } 883 884 protected Meta parseMeta(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 885 Meta res = new Meta(); 886 parseElementAttributes(xpp, res); 887 next(xpp); 888 int eventType = nextNoWhitespace(xpp); 889 while (eventType != XmlPullParser.END_TAG) { 890 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionId")) { 891 res.setVersionIdElement(parseId(xpp)); 892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastUpdated")) { 893 res.setLastUpdatedElement(parseInstant(xpp)); 894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 895 res.getProfile().add(parseUri(xpp)); 896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { 897 res.getSecurity().add(parseCoding(xpp)); 898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tag")) { 899 res.getTag().add(parseCoding(xpp)); 900 } else if (!parseElementContent(eventType, xpp, res)) 901 unknownContent(xpp); 902 eventType = nextNoWhitespace(xpp); 903 } 904 next(xpp); 905 parseElementClose(res); 906 return res; 907 } 908 909 protected Address parseAddress(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 910 Address res = new Address(); 911 parseElementAttributes(xpp, res); 912 next(xpp); 913 int eventType = nextNoWhitespace(xpp); 914 while (eventType != XmlPullParser.END_TAG) { 915 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 916 res.setUseElement(parseEnumeration(xpp, Address.AddressUse.NULL, new Address.AddressUseEnumFactory())); 917 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 918 res.setTypeElement(parseEnumeration(xpp, Address.AddressType.NULL, new Address.AddressTypeEnumFactory())); 919 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 920 res.setTextElement(parseString(xpp)); 921 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("line")) { 922 res.getLine().add(parseString(xpp)); 923 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("city")) { 924 res.setCityElement(parseString(xpp)); 925 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("district")) { 926 res.setDistrictElement(parseString(xpp)); 927 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("state")) { 928 res.setStateElement(parseString(xpp)); 929 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("postalCode")) { 930 res.setPostalCodeElement(parseString(xpp)); 931 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { 932 res.setCountryElement(parseString(xpp)); 933 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 934 res.setPeriod(parsePeriod(xpp)); 935 } else if (!parseElementContent(eventType, xpp, res)) 936 unknownContent(xpp); 937 eventType = nextNoWhitespace(xpp); 938 } 939 next(xpp); 940 parseElementClose(res); 941 return res; 942 } 943 944 protected Timing parseTiming(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 945 Timing res = new Timing(); 946 parseElementAttributes(xpp, res); 947 next(xpp); 948 int eventType = nextNoWhitespace(xpp); 949 while (eventType != XmlPullParser.END_TAG) { 950 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 951 res.getEvent().add(parseDateTime(xpp)); 952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeat")) { 953 res.setRepeat(parseTimingTimingRepeatComponent(xpp, res)); 954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 955 res.setCode(parseCodeableConcept(xpp)); 956 } else if (!parseElementContent(eventType, xpp, res)) 957 unknownContent(xpp); 958 eventType = nextNoWhitespace(xpp); 959 } 960 next(xpp); 961 parseElementClose(res); 962 return res; 963 } 964 965 protected Timing.TimingRepeatComponent parseTimingTimingRepeatComponent(XmlPullParser xpp, Timing owner) 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(parseEnumeration(xpp, Timing.UnitsOfTime.NULL, new Timing.UnitsOfTimeEnumFactory())); 981 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequency")) { 982 res.setFrequencyElement(parseInteger(xpp)); 983 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frequencyMax")) { 984 res.setFrequencyMaxElement(parseInteger(xpp)); 985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 986 res.setPeriodElement(parseDecimal(xpp)); 987 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodMax")) { 988 res.setPeriodMaxElement(parseDecimal(xpp)); 989 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodUnits")) { 990 res.setPeriodUnitsElement(parseEnumeration(xpp, Timing.UnitsOfTime.NULL, new Timing.UnitsOfTimeEnumFactory())); 991 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 992 res.setWhenElement(parseEnumeration(xpp, Timing.EventTiming.NULL, new Timing.EventTimingEnumFactory())); 993 } else if (!parseElementContent(eventType, xpp, res)) 994 unknownContent(xpp); 995 eventType = nextNoWhitespace(xpp); 996 } 997 next(xpp); 998 parseElementClose(res); 999 return res; 1000 } 1001 1002 protected ElementDefinition parseElementDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1003 ElementDefinition res = new ElementDefinition(); 1004 parseElementAttributes(xpp, res); 1005 next(xpp); 1006 int eventType = nextNoWhitespace(xpp); 1007 while (eventType != XmlPullParser.END_TAG) { 1008 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 1009 res.setPathElement(parseString(xpp)); 1010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("representation")) { 1011 res.getRepresentation().add(parseEnumeration(xpp, ElementDefinition.PropertyRepresentation.NULL, new ElementDefinition.PropertyRepresentationEnumFactory())); 1012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1013 res.setNameElement(parseString(xpp)); 1014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 1015 res.setLabelElement(parseString(xpp)); 1016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1017 res.getCode().add(parseCoding(xpp)); 1018 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("slicing")) { 1019 res.setSlicing(parseElementDefinitionElementDefinitionSlicingComponent(xpp, res)); 1020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("short")) { 1021 res.setShortElement(parseString(xpp)); 1022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 1023 res.setDefinitionElement(parseMarkdown(xpp)); 1024 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 1025 res.setCommentsElement(parseMarkdown(xpp)); 1026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 1027 res.setRequirementsElement(parseMarkdown(xpp)); 1028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alias")) { 1029 res.getAlias().add(parseString(xpp)); 1030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 1031 res.setMinElement(parseInteger(xpp)); 1032 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 1033 res.setMaxElement(parseString(xpp)); 1034 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 1035 res.setBase(parseElementDefinitionElementDefinitionBaseComponent(xpp, res)); 1036 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1037 res.getType().add(parseElementDefinitionTypeRefComponent(xpp, res)); 1038 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nameReference")) { 1039 res.setNameReferenceElement(parseString(xpp)); 1040 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "defaultValue")) { 1041 res.setDefaultValue(parseType("defaultValue", xpp)); 1042 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaningWhenMissing")) { 1043 res.setMeaningWhenMissingElement(parseMarkdown(xpp)); 1044 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "fixed")) { 1045 res.setFixed(parseType("fixed", xpp)); 1046 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "pattern")) { 1047 res.setPattern(parseType("pattern", xpp)); 1048 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "example")) { 1049 res.setExample(parseType("example", xpp)); 1050 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "minValue")) { 1051 res.setMinValue(parseType("minValue", xpp)); 1052 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "maxValue")) { 1053 res.setMaxValue(parseType("maxValue", xpp)); 1054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxLength")) { 1055 res.setMaxLengthElement(parseInteger(xpp)); 1056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 1057 res.getCondition().add(parseId(xpp)); 1058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("constraint")) { 1059 res.getConstraint().add(parseElementDefinitionElementDefinitionConstraintComponent(xpp, res)); 1060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mustSupport")) { 1061 res.setMustSupportElement(parseBoolean(xpp)); 1062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isModifier")) { 1063 res.setIsModifierElement(parseBoolean(xpp)); 1064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isSummary")) { 1065 res.setIsSummaryElement(parseBoolean(xpp)); 1066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binding")) { 1067 res.setBinding(parseElementDefinitionElementDefinitionBindingComponent(xpp, res)); 1068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 1069 res.getMapping().add(parseElementDefinitionElementDefinitionMappingComponent(xpp, res)); 1070 } else if (!parseElementContent(eventType, xpp, res)) 1071 unknownContent(xpp); 1072 eventType = nextNoWhitespace(xpp); 1073 } 1074 next(xpp); 1075 parseElementClose(res); 1076 return res; 1077 } 1078 1079 protected ElementDefinition.ElementDefinitionSlicingComponent parseElementDefinitionElementDefinitionSlicingComponent(XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1080 ElementDefinition.ElementDefinitionSlicingComponent res = new ElementDefinition.ElementDefinitionSlicingComponent(); 1081 parseElementAttributes(xpp, res); 1082 next(xpp); 1083 int eventType = nextNoWhitespace(xpp); 1084 while (eventType != XmlPullParser.END_TAG) { 1085 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("discriminator")) { 1086 res.getDiscriminator().add(parseString(xpp)); 1087 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1088 res.setDescriptionElement(parseString(xpp)); 1089 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ordered")) { 1090 res.setOrderedElement(parseBoolean(xpp)); 1091 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rules")) { 1092 res.setRulesElement(parseEnumeration(xpp, ElementDefinition.SlicingRules.NULL, new ElementDefinition.SlicingRulesEnumFactory())); 1093 } else if (!parseElementContent(eventType, xpp, res)) 1094 unknownContent(xpp); 1095 eventType = nextNoWhitespace(xpp); 1096 } 1097 next(xpp); 1098 parseElementClose(res); 1099 return res; 1100 } 1101 1102 protected ElementDefinition.ElementDefinitionBaseComponent parseElementDefinitionElementDefinitionBaseComponent(XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1103 ElementDefinition.ElementDefinitionBaseComponent res = new ElementDefinition.ElementDefinitionBaseComponent(); 1104 parseElementAttributes(xpp, res); 1105 next(xpp); 1106 int eventType = nextNoWhitespace(xpp); 1107 while (eventType != XmlPullParser.END_TAG) { 1108 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 1109 res.setPathElement(parseString(xpp)); 1110 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 1111 res.setMinElement(parseInteger(xpp)); 1112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 1113 res.setMaxElement(parseString(xpp)); 1114 } else if (!parseElementContent(eventType, xpp, res)) 1115 unknownContent(xpp); 1116 eventType = nextNoWhitespace(xpp); 1117 } 1118 next(xpp); 1119 parseElementClose(res); 1120 return res; 1121 } 1122 1123 protected ElementDefinition.TypeRefComponent parseElementDefinitionTypeRefComponent(XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1124 ElementDefinition.TypeRefComponent res = new ElementDefinition.TypeRefComponent(); 1125 parseElementAttributes(xpp, res); 1126 next(xpp); 1127 int eventType = nextNoWhitespace(xpp); 1128 while (eventType != XmlPullParser.END_TAG) { 1129 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1130 res.setCodeElement(parseCode(xpp)); 1131 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 1132 res.getProfile().add(parseUri(xpp)); 1133 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("aggregation")) { 1134 res.getAggregation().add(parseEnumeration(xpp, ElementDefinition.AggregationMode.NULL, new ElementDefinition.AggregationModeEnumFactory())); 1135 } else if (!parseElementContent(eventType, xpp, res)) 1136 unknownContent(xpp); 1137 eventType = nextNoWhitespace(xpp); 1138 } 1139 next(xpp); 1140 parseElementClose(res); 1141 return res; 1142 } 1143 1144 protected ElementDefinition.ElementDefinitionConstraintComponent parseElementDefinitionElementDefinitionConstraintComponent(XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1145 ElementDefinition.ElementDefinitionConstraintComponent res = new ElementDefinition.ElementDefinitionConstraintComponent(); 1146 parseElementAttributes(xpp, res); 1147 next(xpp); 1148 int eventType = nextNoWhitespace(xpp); 1149 while (eventType != XmlPullParser.END_TAG) { 1150 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { 1151 res.setKeyElement(parseId(xpp)); 1152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 1153 res.setRequirementsElement(parseString(xpp)); 1154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 1155 res.setSeverityElement(parseEnumeration(xpp, ElementDefinition.ConstraintSeverity.NULL, new ElementDefinition.ConstraintSeverityEnumFactory())); 1156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("human")) { 1157 res.setHumanElement(parseString(xpp)); 1158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpath")) { 1159 res.setXpathElement(parseString(xpp)); 1160 } else if (!parseElementContent(eventType, xpp, res)) 1161 unknownContent(xpp); 1162 eventType = nextNoWhitespace(xpp); 1163 } 1164 next(xpp); 1165 parseElementClose(res); 1166 return res; 1167 } 1168 1169 protected ElementDefinition.ElementDefinitionBindingComponent parseElementDefinitionElementDefinitionBindingComponent(XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1170 ElementDefinition.ElementDefinitionBindingComponent res = new ElementDefinition.ElementDefinitionBindingComponent(); 1171 parseElementAttributes(xpp, res); 1172 next(xpp); 1173 int eventType = nextNoWhitespace(xpp); 1174 while (eventType != XmlPullParser.END_TAG) { 1175 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 1176 res.setStrengthElement(parseEnumeration(xpp, Enumerations.BindingStrength.NULL, new Enumerations.BindingStrengthEnumFactory())); 1177 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1178 res.setDescriptionElement(parseString(xpp)); 1179 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "valueSet")) { 1180 res.setValueSet(parseType("valueSet", xpp)); 1181 } else if (!parseElementContent(eventType, xpp, res)) 1182 unknownContent(xpp); 1183 eventType = nextNoWhitespace(xpp); 1184 } 1185 next(xpp); 1186 parseElementClose(res); 1187 return res; 1188 } 1189 1190 protected ElementDefinition.ElementDefinitionMappingComponent parseElementDefinitionElementDefinitionMappingComponent(XmlPullParser xpp, ElementDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 1191 ElementDefinition.ElementDefinitionMappingComponent res = new ElementDefinition.ElementDefinitionMappingComponent(); 1192 parseElementAttributes(xpp, res); 1193 next(xpp); 1194 int eventType = nextNoWhitespace(xpp); 1195 while (eventType != XmlPullParser.END_TAG) { 1196 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 1197 res.setIdentityElement(parseId(xpp)); 1198 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 1199 res.setLanguageElement(parseCode(xpp)); 1200 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("map")) { 1201 res.setMapElement(parseString(xpp)); 1202 } else if (!parseElementContent(eventType, xpp, res)) 1203 unknownContent(xpp); 1204 eventType = nextNoWhitespace(xpp); 1205 } 1206 next(xpp); 1207 parseElementClose(res); 1208 return res; 1209 } 1210 1211 protected void parseDomainResourceAttributes(XmlPullParser xpp, DomainResource res) throws XmlPullParserException, IOException, FHIRFormatError { 1212 parseResourceAttributes(xpp, res); 1213 } 1214 1215 protected boolean parseDomainResourceContent(int eventType, XmlPullParser xpp, DomainResource res) throws XmlPullParserException, IOException, FHIRFormatError { 1216 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 1217 res.setText(parseNarrative(xpp)); 1218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contained")) { 1219 res.getContained().add(parseResourceContained(xpp)); 1220 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extension")) { 1221 res.getExtension().add(parseExtension(xpp)); 1222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifierExtension")) { 1223 res.getModifierExtension().add(parseExtension(xpp)); 1224 } else 1225 return parseResourceContent(eventType, xpp, res); 1226 return true; 1227 } 1228 1229 protected Parameters parseParameters(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1230 Parameters res = new Parameters(); 1231 parseResourceAttributes(xpp, res); 1232 next(xpp); 1233 int eventType = nextNoWhitespace(xpp); 1234 while (eventType != XmlPullParser.END_TAG) { 1235 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 1236 res.getParameter().add(parseParametersParametersParameterComponent(xpp, res)); 1237 } else if (!parseResourceContent(eventType, xpp, res)) 1238 unknownContent(xpp); 1239 eventType = nextNoWhitespace(xpp); 1240 } 1241 next(xpp); 1242 parseElementClose(res); 1243 return res; 1244 } 1245 1246 protected Parameters.ParametersParameterComponent parseParametersParametersParameterComponent(XmlPullParser xpp, Parameters owner) throws XmlPullParserException, IOException, FHIRFormatError { 1247 Parameters.ParametersParameterComponent res = new Parameters.ParametersParameterComponent(); 1248 parseBackboneAttributes(xpp, res); 1249 next(xpp); 1250 int eventType = nextNoWhitespace(xpp); 1251 while (eventType != XmlPullParser.END_TAG) { 1252 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1253 res.setNameElement(parseString(xpp)); 1254 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 1255 res.setValue(parseType("value", xpp)); 1256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 1257 res.setResource(parseResourceContained(xpp)); 1258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 1259 res.getPart().add(parseParametersParametersParameterComponent(xpp, owner)); 1260 } else if (!parseBackboneContent(eventType, xpp, res)) 1261 unknownContent(xpp); 1262 eventType = nextNoWhitespace(xpp); 1263 } 1264 next(xpp); 1265 parseElementClose(res); 1266 return res; 1267 } 1268 1269 protected void parseResourceAttributes(XmlPullParser xpp, Resource res) throws XmlPullParserException, IOException, FHIRFormatError { 1270 if (!comments.isEmpty()) { 1271 res.getFormatCommentsPre().addAll(comments); 1272 comments.clear(); 1273 } 1274 } 1275 1276 protected boolean parseResourceContent(int eventType, XmlPullParser xpp, Resource res) throws XmlPullParserException, IOException, FHIRFormatError { 1277 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("id")) { 1278 res.setIdElement(parseId(xpp)); 1279 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meta")) { 1280 res.setMeta(parseMeta(xpp)); 1281 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implicitRules")) { 1282 res.setImplicitRulesElement(parseUri(xpp)); 1283 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 1284 res.setLanguageElement(parseCode(xpp)); 1285 } else 1286 return false; 1287 return true; 1288 } 1289 1290 protected Account parseAccount(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1291 Account res = new Account(); 1292 parseDomainResourceAttributes(xpp, res); 1293 next(xpp); 1294 int eventType = nextNoWhitespace(xpp); 1295 while (eventType != XmlPullParser.END_TAG) { 1296 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1297 res.getIdentifier().add(parseIdentifier(xpp)); 1298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1299 res.setNameElement(parseString(xpp)); 1300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1301 res.setType(parseCodeableConcept(xpp)); 1302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1303 res.setStatusElement(parseEnumeration(xpp, Account.AccountStatus.NULL, new Account.AccountStatusEnumFactory())); 1304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activePeriod")) { 1305 res.setActivePeriod(parsePeriod(xpp)); 1306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("currency")) { 1307 res.setCurrency(parseCoding(xpp)); 1308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("balance")) { 1309 res.setBalance(parseMoney(xpp)); 1310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coveragePeriod")) { 1311 res.setCoveragePeriod(parsePeriod(xpp)); 1312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 1313 res.setSubject(parseReference(xpp)); 1314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 1315 res.setOwner(parseReference(xpp)); 1316 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1317 res.setDescriptionElement(parseString(xpp)); 1318 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1319 unknownContent(xpp); 1320 eventType = nextNoWhitespace(xpp); 1321 } 1322 next(xpp); 1323 parseElementClose(res); 1324 return res; 1325 } 1326 1327 protected AllergyIntolerance parseAllergyIntolerance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1328 AllergyIntolerance res = new AllergyIntolerance(); 1329 parseDomainResourceAttributes(xpp, res); 1330 next(xpp); 1331 int eventType = nextNoWhitespace(xpp); 1332 while (eventType != XmlPullParser.END_TAG) { 1333 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1334 res.getIdentifier().add(parseIdentifier(xpp)); 1335 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onset")) { 1336 res.setOnsetElement(parseDateTime(xpp)); 1337 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedDate")) { 1338 res.setRecordedDateElement(parseDateTime(xpp)); 1339 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorder")) { 1340 res.setRecorder(parseReference(xpp)); 1341 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 1342 res.setPatient(parseReference(xpp)); 1343 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reporter")) { 1344 res.setReporter(parseReference(xpp)); 1345 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 1346 res.setSubstance(parseCodeableConcept(xpp)); 1347 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1348 res.setStatusElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceStatus.NULL, new AllergyIntolerance.AllergyIntoleranceStatusEnumFactory())); 1349 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criticality")) { 1350 res.setCriticalityElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCriticality.NULL, new AllergyIntolerance.AllergyIntoleranceCriticalityEnumFactory())); 1351 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1352 res.setTypeElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceType.NULL, new AllergyIntolerance.AllergyIntoleranceTypeEnumFactory())); 1353 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 1354 res.setCategoryElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCategory.NULL, new AllergyIntolerance.AllergyIntoleranceCategoryEnumFactory())); 1355 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastOccurence")) { 1356 res.setLastOccurenceElement(parseDateTime(xpp)); 1357 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 1358 res.setNote(parseAnnotation(xpp)); 1359 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reaction")) { 1360 res.getReaction().add(parseAllergyIntoleranceAllergyIntoleranceReactionComponent(xpp, res)); 1361 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1362 unknownContent(xpp); 1363 eventType = nextNoWhitespace(xpp); 1364 } 1365 next(xpp); 1366 parseElementClose(res); 1367 return res; 1368 } 1369 1370 protected AllergyIntolerance.AllergyIntoleranceReactionComponent parseAllergyIntoleranceAllergyIntoleranceReactionComponent(XmlPullParser xpp, AllergyIntolerance owner) throws XmlPullParserException, IOException, FHIRFormatError { 1371 AllergyIntolerance.AllergyIntoleranceReactionComponent res = new AllergyIntolerance.AllergyIntoleranceReactionComponent(); 1372 parseBackboneAttributes(xpp, res); 1373 next(xpp); 1374 int eventType = nextNoWhitespace(xpp); 1375 while (eventType != XmlPullParser.END_TAG) { 1376 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 1377 res.setSubstance(parseCodeableConcept(xpp)); 1378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("certainty")) { 1379 res.setCertaintyElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceCertainty.NULL, new AllergyIntolerance.AllergyIntoleranceCertaintyEnumFactory())); 1380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manifestation")) { 1381 res.getManifestation().add(parseCodeableConcept(xpp)); 1382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1383 res.setDescriptionElement(parseString(xpp)); 1384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onset")) { 1385 res.setOnsetElement(parseDateTime(xpp)); 1386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 1387 res.setSeverityElement(parseEnumeration(xpp, AllergyIntolerance.AllergyIntoleranceSeverity.NULL, new AllergyIntolerance.AllergyIntoleranceSeverityEnumFactory())); 1388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exposureRoute")) { 1389 res.setExposureRoute(parseCodeableConcept(xpp)); 1390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 1391 res.setNote(parseAnnotation(xpp)); 1392 } else if (!parseBackboneContent(eventType, xpp, res)) 1393 unknownContent(xpp); 1394 eventType = nextNoWhitespace(xpp); 1395 } 1396 next(xpp); 1397 parseElementClose(res); 1398 return res; 1399 } 1400 1401 protected Appointment parseAppointment(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1402 Appointment res = new Appointment(); 1403 parseDomainResourceAttributes(xpp, res); 1404 next(xpp); 1405 int eventType = nextNoWhitespace(xpp); 1406 while (eventType != XmlPullParser.END_TAG) { 1407 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1408 res.getIdentifier().add(parseIdentifier(xpp)); 1409 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1410 res.setStatusElement(parseEnumeration(xpp, Appointment.AppointmentStatus.NULL, new Appointment.AppointmentStatusEnumFactory())); 1411 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1412 res.setType(parseCodeableConcept(xpp)); 1413 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 1414 res.setReason(parseCodeableConcept(xpp)); 1415 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 1416 res.setPriorityElement(parseUnsignedInt(xpp)); 1417 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1418 res.setDescriptionElement(parseString(xpp)); 1419 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 1420 res.setStartElement(parseInstant(xpp)); 1421 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 1422 res.setEndElement(parseInstant(xpp)); 1423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("minutesDuration")) { 1424 res.setMinutesDurationElement(parsePositiveInt(xpp)); 1425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("slot")) { 1426 res.getSlot().add(parseReference(xpp)); 1427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 1428 res.setCommentElement(parseString(xpp)); 1429 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 1430 res.getParticipant().add(parseAppointmentAppointmentParticipantComponent(xpp, res)); 1431 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1432 unknownContent(xpp); 1433 eventType = nextNoWhitespace(xpp); 1434 } 1435 next(xpp); 1436 parseElementClose(res); 1437 return res; 1438 } 1439 1440 protected Appointment.AppointmentParticipantComponent parseAppointmentAppointmentParticipantComponent(XmlPullParser xpp, Appointment owner) throws XmlPullParserException, IOException, FHIRFormatError { 1441 Appointment.AppointmentParticipantComponent res = new Appointment.AppointmentParticipantComponent(); 1442 parseBackboneAttributes(xpp, res); 1443 next(xpp); 1444 int eventType = nextNoWhitespace(xpp); 1445 while (eventType != XmlPullParser.END_TAG) { 1446 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1447 res.getType().add(parseCodeableConcept(xpp)); 1448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 1449 res.setActor(parseReference(xpp)); 1450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 1451 res.setRequiredElement(parseEnumeration(xpp, Appointment.ParticipantRequired.NULL, new Appointment.ParticipantRequiredEnumFactory())); 1452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1453 res.setStatusElement(parseEnumeration(xpp, Appointment.ParticipationStatus.NULL, new Appointment.ParticipationStatusEnumFactory())); 1454 } else if (!parseBackboneContent(eventType, xpp, res)) 1455 unknownContent(xpp); 1456 eventType = nextNoWhitespace(xpp); 1457 } 1458 next(xpp); 1459 parseElementClose(res); 1460 return res; 1461 } 1462 1463 protected AppointmentResponse parseAppointmentResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1464 AppointmentResponse res = new AppointmentResponse(); 1465 parseDomainResourceAttributes(xpp, res); 1466 next(xpp); 1467 int eventType = nextNoWhitespace(xpp); 1468 while (eventType != XmlPullParser.END_TAG) { 1469 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1470 res.getIdentifier().add(parseIdentifier(xpp)); 1471 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { 1472 res.setAppointment(parseReference(xpp)); 1473 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 1474 res.setStartElement(parseInstant(xpp)); 1475 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 1476 res.setEndElement(parseInstant(xpp)); 1477 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantType")) { 1478 res.getParticipantType().add(parseCodeableConcept(xpp)); 1479 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 1480 res.setActor(parseReference(xpp)); 1481 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participantStatus")) { 1482 res.setParticipantStatusElement(parseEnumeration(xpp, AppointmentResponse.ParticipantStatus.NULL, new AppointmentResponse.ParticipantStatusEnumFactory())); 1483 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 1484 res.setCommentElement(parseString(xpp)); 1485 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1486 unknownContent(xpp); 1487 eventType = nextNoWhitespace(xpp); 1488 } 1489 next(xpp); 1490 parseElementClose(res); 1491 return res; 1492 } 1493 1494 protected AuditEvent parseAuditEvent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1495 AuditEvent res = new AuditEvent(); 1496 parseDomainResourceAttributes(xpp, res); 1497 next(xpp); 1498 int eventType = nextNoWhitespace(xpp); 1499 while (eventType != XmlPullParser.END_TAG) { 1500 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 1501 res.setEvent(parseAuditEventAuditEventEventComponent(xpp, res)); 1502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 1503 res.getParticipant().add(parseAuditEventAuditEventParticipantComponent(xpp, res)); 1504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 1505 res.setSource(parseAuditEventAuditEventSourceComponent(xpp, res)); 1506 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("object")) { 1507 res.getObject().add(parseAuditEventAuditEventObjectComponent(xpp, res)); 1508 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1509 unknownContent(xpp); 1510 eventType = nextNoWhitespace(xpp); 1511 } 1512 next(xpp); 1513 parseElementClose(res); 1514 return res; 1515 } 1516 1517 protected AuditEvent.AuditEventEventComponent parseAuditEventAuditEventEventComponent(XmlPullParser xpp, AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1518 AuditEvent.AuditEventEventComponent res = new AuditEvent.AuditEventEventComponent(); 1519 parseBackboneAttributes(xpp, res); 1520 next(xpp); 1521 int eventType = nextNoWhitespace(xpp); 1522 while (eventType != XmlPullParser.END_TAG) { 1523 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1524 res.setType(parseCoding(xpp)); 1525 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtype")) { 1526 res.getSubtype().add(parseCoding(xpp)); 1527 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 1528 res.setActionElement(parseEnumeration(xpp, AuditEvent.AuditEventAction.NULL, new AuditEvent.AuditEventActionEnumFactory())); 1529 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 1530 res.setDateTimeElement(parseInstant(xpp)); 1531 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 1532 res.setOutcomeElement(parseEnumeration(xpp, AuditEvent.AuditEventOutcome.NULL, new AuditEvent.AuditEventOutcomeEnumFactory())); 1533 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcomeDesc")) { 1534 res.setOutcomeDescElement(parseString(xpp)); 1535 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purposeOfEvent")) { 1536 res.getPurposeOfEvent().add(parseCoding(xpp)); 1537 } else if (!parseBackboneContent(eventType, xpp, res)) 1538 unknownContent(xpp); 1539 eventType = nextNoWhitespace(xpp); 1540 } 1541 next(xpp); 1542 parseElementClose(res); 1543 return res; 1544 } 1545 1546 protected AuditEvent.AuditEventParticipantComponent parseAuditEventAuditEventParticipantComponent(XmlPullParser xpp, AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1547 AuditEvent.AuditEventParticipantComponent res = new AuditEvent.AuditEventParticipantComponent(); 1548 parseBackboneAttributes(xpp, res); 1549 next(xpp); 1550 int eventType = nextNoWhitespace(xpp); 1551 while (eventType != XmlPullParser.END_TAG) { 1552 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 1553 res.getRole().add(parseCodeableConcept(xpp)); 1554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 1555 res.setReference(parseReference(xpp)); 1556 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("userId")) { 1557 res.setUserId(parseIdentifier(xpp)); 1558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("altId")) { 1559 res.setAltIdElement(parseString(xpp)); 1560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1561 res.setNameElement(parseString(xpp)); 1562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestor")) { 1563 res.setRequestorElement(parseBoolean(xpp)); 1564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 1565 res.setLocation(parseReference(xpp)); 1566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policy")) { 1567 res.getPolicy().add(parseUri(xpp)); 1568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("media")) { 1569 res.setMedia(parseCoding(xpp)); 1570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 1571 res.setNetwork(parseAuditEventAuditEventParticipantNetworkComponent(xpp, owner)); 1572 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purposeOfUse")) { 1573 res.getPurposeOfUse().add(parseCoding(xpp)); 1574 } else if (!parseBackboneContent(eventType, xpp, res)) 1575 unknownContent(xpp); 1576 eventType = nextNoWhitespace(xpp); 1577 } 1578 next(xpp); 1579 parseElementClose(res); 1580 return res; 1581 } 1582 1583 protected AuditEvent.AuditEventParticipantNetworkComponent parseAuditEventAuditEventParticipantNetworkComponent(XmlPullParser xpp, AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1584 AuditEvent.AuditEventParticipantNetworkComponent res = new AuditEvent.AuditEventParticipantNetworkComponent(); 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("address")) { 1590 res.setAddressElement(parseString(xpp)); 1591 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1592 res.setTypeElement(parseEnumeration(xpp, AuditEvent.AuditEventParticipantNetworkType.NULL, new AuditEvent.AuditEventParticipantNetworkTypeEnumFactory())); 1593 } else if (!parseBackboneContent(eventType, xpp, res)) 1594 unknownContent(xpp); 1595 eventType = nextNoWhitespace(xpp); 1596 } 1597 next(xpp); 1598 parseElementClose(res); 1599 return res; 1600 } 1601 1602 protected AuditEvent.AuditEventSourceComponent parseAuditEventAuditEventSourceComponent(XmlPullParser xpp, AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1603 AuditEvent.AuditEventSourceComponent res = new AuditEvent.AuditEventSourceComponent(); 1604 parseBackboneAttributes(xpp, res); 1605 next(xpp); 1606 int eventType = nextNoWhitespace(xpp); 1607 while (eventType != XmlPullParser.END_TAG) { 1608 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 1609 res.setSiteElement(parseString(xpp)); 1610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1611 res.setIdentifier(parseIdentifier(xpp)); 1612 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1613 res.getType().add(parseCoding(xpp)); 1614 } else if (!parseBackboneContent(eventType, xpp, res)) 1615 unknownContent(xpp); 1616 eventType = nextNoWhitespace(xpp); 1617 } 1618 next(xpp); 1619 parseElementClose(res); 1620 return res; 1621 } 1622 1623 protected AuditEvent.AuditEventObjectComponent parseAuditEventAuditEventObjectComponent(XmlPullParser xpp, AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1624 AuditEvent.AuditEventObjectComponent res = new AuditEvent.AuditEventObjectComponent(); 1625 parseBackboneAttributes(xpp, res); 1626 next(xpp); 1627 int eventType = nextNoWhitespace(xpp); 1628 while (eventType != XmlPullParser.END_TAG) { 1629 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1630 res.setIdentifier(parseIdentifier(xpp)); 1631 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 1632 res.setReference(parseReference(xpp)); 1633 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1634 res.setType(parseCoding(xpp)); 1635 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 1636 res.setRole(parseCoding(xpp)); 1637 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lifecycle")) { 1638 res.setLifecycle(parseCoding(xpp)); 1639 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 1640 res.getSecurityLabel().add(parseCoding(xpp)); 1641 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 1642 res.setNameElement(parseString(xpp)); 1643 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1644 res.setDescriptionElement(parseString(xpp)); 1645 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("query")) { 1646 res.setQueryElement(parseBase64Binary(xpp)); 1647 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 1648 res.getDetail().add(parseAuditEventAuditEventObjectDetailComponent(xpp, owner)); 1649 } else if (!parseBackboneContent(eventType, xpp, res)) 1650 unknownContent(xpp); 1651 eventType = nextNoWhitespace(xpp); 1652 } 1653 next(xpp); 1654 parseElementClose(res); 1655 return res; 1656 } 1657 1658 protected AuditEvent.AuditEventObjectDetailComponent parseAuditEventAuditEventObjectDetailComponent(XmlPullParser xpp, AuditEvent owner) throws XmlPullParserException, IOException, FHIRFormatError { 1659 AuditEvent.AuditEventObjectDetailComponent res = new AuditEvent.AuditEventObjectDetailComponent(); 1660 parseBackboneAttributes(xpp, res); 1661 next(xpp); 1662 int eventType = nextNoWhitespace(xpp); 1663 while (eventType != XmlPullParser.END_TAG) { 1664 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1665 res.setTypeElement(parseString(xpp)); 1666 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 1667 res.setValueElement(parseBase64Binary(xpp)); 1668 } else if (!parseBackboneContent(eventType, xpp, res)) 1669 unknownContent(xpp); 1670 eventType = nextNoWhitespace(xpp); 1671 } 1672 next(xpp); 1673 parseElementClose(res); 1674 return res; 1675 } 1676 1677 protected Basic parseBasic(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1678 Basic res = new Basic(); 1679 parseDomainResourceAttributes(xpp, res); 1680 next(xpp); 1681 int eventType = nextNoWhitespace(xpp); 1682 while (eventType != XmlPullParser.END_TAG) { 1683 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1684 res.getIdentifier().add(parseIdentifier(xpp)); 1685 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1686 res.setCode(parseCodeableConcept(xpp)); 1687 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 1688 res.setSubject(parseReference(xpp)); 1689 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 1690 res.setAuthor(parseReference(xpp)); 1691 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 1692 res.setCreatedElement(parseDate(xpp)); 1693 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1694 unknownContent(xpp); 1695 eventType = nextNoWhitespace(xpp); 1696 } 1697 next(xpp); 1698 parseElementClose(res); 1699 return res; 1700 } 1701 1702 protected Binary parseBinary(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1703 Binary res = new Binary(); 1704 parseResourceAttributes(xpp, res); 1705 next(xpp); 1706 int eventType = nextNoWhitespace(xpp); 1707 while (eventType != XmlPullParser.END_TAG) { 1708 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 1709 res.setContentTypeElement(parseCode(xpp)); 1710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 1711 res.setContentElement(parseBase64Binary(xpp)); 1712 } else if (!parseResourceContent(eventType, xpp, res)) 1713 unknownContent(xpp); 1714 eventType = nextNoWhitespace(xpp); 1715 } 1716 next(xpp); 1717 parseElementClose(res); 1718 return res; 1719 } 1720 1721 protected BodySite parseBodySite(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1722 BodySite res = new BodySite(); 1723 parseDomainResourceAttributes(xpp, res); 1724 next(xpp); 1725 int eventType = nextNoWhitespace(xpp); 1726 while (eventType != XmlPullParser.END_TAG) { 1727 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 1728 res.setPatient(parseReference(xpp)); 1729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1730 res.getIdentifier().add(parseIdentifier(xpp)); 1731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 1732 res.setCode(parseCodeableConcept(xpp)); 1733 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 1734 res.getModifier().add(parseCodeableConcept(xpp)); 1735 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1736 res.setDescriptionElement(parseString(xpp)); 1737 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("image")) { 1738 res.getImage().add(parseAttachment(xpp)); 1739 } else if (!parseDomainResourceContent(eventType, xpp, res)) 1740 unknownContent(xpp); 1741 eventType = nextNoWhitespace(xpp); 1742 } 1743 next(xpp); 1744 parseElementClose(res); 1745 return res; 1746 } 1747 1748 protected Bundle parseBundle(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1749 Bundle res = new Bundle(); 1750 parseResourceAttributes(xpp, res); 1751 next(xpp); 1752 int eventType = nextNoWhitespace(xpp); 1753 while (eventType != XmlPullParser.END_TAG) { 1754 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 1755 res.setTypeElement(parseEnumeration(xpp, Bundle.BundleType.NULL, new Bundle.BundleTypeEnumFactory())); 1756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 1757 res.setTotalElement(parseUnsignedInt(xpp)); 1758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 1759 res.getLink().add(parseBundleBundleLinkComponent(xpp, res)); 1760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 1761 res.getEntry().add(parseBundleBundleEntryComponent(xpp, res)); 1762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 1763 res.setSignature(parseSignature(xpp)); 1764 } else if (!parseResourceContent(eventType, xpp, res)) 1765 unknownContent(xpp); 1766 eventType = nextNoWhitespace(xpp); 1767 } 1768 next(xpp); 1769 parseElementClose(res); 1770 return res; 1771 } 1772 1773 protected Bundle.BundleLinkComponent parseBundleBundleLinkComponent(XmlPullParser xpp, Bundle owner) throws XmlPullParserException, IOException, FHIRFormatError { 1774 Bundle.BundleLinkComponent res = new Bundle.BundleLinkComponent(); 1775 parseBackboneAttributes(xpp, res); 1776 next(xpp); 1777 int eventType = nextNoWhitespace(xpp); 1778 while (eventType != XmlPullParser.END_TAG) { 1779 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relation")) { 1780 res.setRelationElement(parseString(xpp)); 1781 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 1782 res.setUrlElement(parseUri(xpp)); 1783 } else if (!parseBackboneContent(eventType, xpp, res)) 1784 unknownContent(xpp); 1785 eventType = nextNoWhitespace(xpp); 1786 } 1787 next(xpp); 1788 parseElementClose(res); 1789 return res; 1790 } 1791 1792 protected Bundle.BundleEntryComponent parseBundleBundleEntryComponent(XmlPullParser xpp, Bundle owner) throws XmlPullParserException, IOException, FHIRFormatError { 1793 Bundle.BundleEntryComponent res = new Bundle.BundleEntryComponent(); 1794 parseBackboneAttributes(xpp, res); 1795 next(xpp); 1796 int eventType = nextNoWhitespace(xpp); 1797 while (eventType != XmlPullParser.END_TAG) { 1798 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 1799 res.getLink().add(parseBundleBundleLinkComponent(xpp, owner)); 1800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fullUrl")) { 1801 res.setFullUrlElement(parseUri(xpp)); 1802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 1803 res.setResource(parseResourceContained(xpp)); 1804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("search")) { 1805 res.setSearch(parseBundleBundleEntrySearchComponent(xpp, owner)); 1806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 1807 res.setRequest(parseBundleBundleEntryRequestComponent(xpp, owner)); 1808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 1809 res.setResponse(parseBundleBundleEntryResponseComponent(xpp, owner)); 1810 } else if (!parseBackboneContent(eventType, xpp, res)) 1811 unknownContent(xpp); 1812 eventType = nextNoWhitespace(xpp); 1813 } 1814 next(xpp); 1815 parseElementClose(res); 1816 return res; 1817 } 1818 1819 protected Bundle.BundleEntrySearchComponent parseBundleBundleEntrySearchComponent(XmlPullParser xpp, Bundle owner) throws XmlPullParserException, IOException, FHIRFormatError { 1820 Bundle.BundleEntrySearchComponent res = new Bundle.BundleEntrySearchComponent(); 1821 parseBackboneAttributes(xpp, res); 1822 next(xpp); 1823 int eventType = nextNoWhitespace(xpp); 1824 while (eventType != XmlPullParser.END_TAG) { 1825 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 1826 res.setModeElement(parseEnumeration(xpp, Bundle.SearchEntryMode.NULL, new Bundle.SearchEntryModeEnumFactory())); 1827 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("score")) { 1828 res.setScoreElement(parseDecimal(xpp)); 1829 } else if (!parseBackboneContent(eventType, xpp, res)) 1830 unknownContent(xpp); 1831 eventType = nextNoWhitespace(xpp); 1832 } 1833 next(xpp); 1834 parseElementClose(res); 1835 return res; 1836 } 1837 1838 protected Bundle.BundleEntryRequestComponent parseBundleBundleEntryRequestComponent(XmlPullParser xpp, Bundle owner) throws XmlPullParserException, IOException, FHIRFormatError { 1839 Bundle.BundleEntryRequestComponent res = new Bundle.BundleEntryRequestComponent(); 1840 parseBackboneAttributes(xpp, res); 1841 next(xpp); 1842 int eventType = nextNoWhitespace(xpp); 1843 while (eventType != XmlPullParser.END_TAG) { 1844 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 1845 res.setMethodElement(parseEnumeration(xpp, Bundle.HTTPVerb.NULL, new Bundle.HTTPVerbEnumFactory())); 1846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 1847 res.setUrlElement(parseUri(xpp)); 1848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifNoneMatch")) { 1849 res.setIfNoneMatchElement(parseString(xpp)); 1850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifModifiedSince")) { 1851 res.setIfModifiedSinceElement(parseInstant(xpp)); 1852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifMatch")) { 1853 res.setIfMatchElement(parseString(xpp)); 1854 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ifNoneExist")) { 1855 res.setIfNoneExistElement(parseString(xpp)); 1856 } else if (!parseBackboneContent(eventType, xpp, res)) 1857 unknownContent(xpp); 1858 eventType = nextNoWhitespace(xpp); 1859 } 1860 next(xpp); 1861 parseElementClose(res); 1862 return res; 1863 } 1864 1865 protected Bundle.BundleEntryResponseComponent parseBundleBundleEntryResponseComponent(XmlPullParser xpp, Bundle owner) throws XmlPullParserException, IOException, FHIRFormatError { 1866 Bundle.BundleEntryResponseComponent res = new Bundle.BundleEntryResponseComponent(); 1867 parseBackboneAttributes(xpp, res); 1868 next(xpp); 1869 int eventType = nextNoWhitespace(xpp); 1870 while (eventType != XmlPullParser.END_TAG) { 1871 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1872 res.setStatusElement(parseString(xpp)); 1873 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 1874 res.setLocationElement(parseUri(xpp)); 1875 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("etag")) { 1876 res.setEtagElement(parseString(xpp)); 1877 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastModified")) { 1878 res.setLastModifiedElement(parseInstant(xpp)); 1879 } else if (!parseBackboneContent(eventType, xpp, res)) 1880 unknownContent(xpp); 1881 eventType = nextNoWhitespace(xpp); 1882 } 1883 next(xpp); 1884 parseElementClose(res); 1885 return res; 1886 } 1887 1888 protected CarePlan parseCarePlan(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 1889 CarePlan res = new CarePlan(); 1890 parseDomainResourceAttributes(xpp, res); 1891 next(xpp); 1892 int eventType = nextNoWhitespace(xpp); 1893 while (eventType != XmlPullParser.END_TAG) { 1894 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 1895 res.getIdentifier().add(parseIdentifier(xpp)); 1896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 1897 res.setSubject(parseReference(xpp)); 1898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 1899 res.setStatusElement(parseEnumeration(xpp, CarePlan.CarePlanStatus.NULL, new CarePlan.CarePlanStatusEnumFactory())); 1900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 1901 res.setContext(parseReference(xpp)); 1902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 1903 res.setPeriod(parsePeriod(xpp)); 1904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 1905 res.getAuthor().add(parseReference(xpp)); 1906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modified")) { 1907 res.setModifiedElement(parseDateTime(xpp)); 1908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 1909 res.getCategory().add(parseCodeableConcept(xpp)); 1910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 1911 res.setDescriptionElement(parseString(xpp)); 1912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addresses")) { 1913 res.getAddresses().add(parseReference(xpp)); 1914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("support")) { 1915 res.getSupport().add(parseReference(xpp)); 1916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedPlan")) { 1917 res.getRelatedPlan().add(parseCarePlanCarePlanRelatedPlanComponent(xpp, res)); 1918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 1919 res.getParticipant().add(parseCarePlanCarePlanParticipantComponent(xpp, res)); 1920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { 1921 res.getGoal().add(parseReference(xpp)); 1922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 1923 res.getActivity().add(parseCarePlanCarePlanActivityComponent(xpp, res)); 1924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 1925 res.setNote(parseAnnotation(xpp)); 1926 } else if (!parseDomainResourceContent(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.CarePlanRelatedPlanComponent parseCarePlanCarePlanRelatedPlanComponent(XmlPullParser xpp, CarePlan owner) throws XmlPullParserException, IOException, FHIRFormatError { 1936 CarePlan.CarePlanRelatedPlanComponent res = new CarePlan.CarePlanRelatedPlanComponent(); 1937 parseBackboneAttributes(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("code")) { 1942 res.setCodeElement(parseEnumeration(xpp, CarePlan.CarePlanRelationship.NULL, new CarePlan.CarePlanRelationshipEnumFactory())); 1943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plan")) { 1944 res.setPlan(parseReference(xpp)); 1945 } else if (!parseBackboneContent(eventType, xpp, res)) 1946 unknownContent(xpp); 1947 eventType = nextNoWhitespace(xpp); 1948 } 1949 next(xpp); 1950 parseElementClose(res); 1951 return res; 1952 } 1953 1954 protected CarePlan.CarePlanParticipantComponent parseCarePlanCarePlanParticipantComponent(XmlPullParser xpp, CarePlan owner) throws XmlPullParserException, IOException, FHIRFormatError { 1955 CarePlan.CarePlanParticipantComponent res = new CarePlan.CarePlanParticipantComponent(); 1956 parseBackboneAttributes(xpp, res); 1957 next(xpp); 1958 int eventType = nextNoWhitespace(xpp); 1959 while (eventType != XmlPullParser.END_TAG) { 1960 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 1961 res.setRole(parseCodeableConcept(xpp)); 1962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 1963 res.setMember(parseReference(xpp)); 1964 } else if (!parseBackboneContent(eventType, xpp, res)) 1965 unknownContent(xpp); 1966 eventType = nextNoWhitespace(xpp); 1967 } 1968 next(xpp); 1969 parseElementClose(res); 1970 return res; 1971 } 1972 1973 protected CarePlan.CarePlanActivityComponent parseCarePlanCarePlanActivityComponent(XmlPullParser xpp, CarePlan owner) throws XmlPullParserException, IOException, FHIRFormatError { 1974 CarePlan.CarePlanActivityComponent res = new CarePlan.CarePlanActivityComponent(); 1975 parseBackboneAttributes(xpp, res); 1976 next(xpp); 1977 int eventType = nextNoWhitespace(xpp); 1978 while (eventType != XmlPullParser.END_TAG) { 1979 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionResulting")) { 1980 res.getActionResulting().add(parseReference(xpp)); 1981 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("progress")) { 1982 res.getProgress().add(parseAnnotation(xpp)); 1983 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 1984 res.setReference(parseReference(xpp)); 1985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 1986 res.setDetail(parseCarePlanCarePlanActivityDetailComponent(xpp, owner)); 1987 } else if (!parseBackboneContent(eventType, xpp, res)) 1988 unknownContent(xpp); 1989 eventType = nextNoWhitespace(xpp); 1990 } 1991 next(xpp); 1992 parseElementClose(res); 1993 return res; 1994 } 1995 1996 protected CarePlan.CarePlanActivityDetailComponent parseCarePlanCarePlanActivityDetailComponent(XmlPullParser xpp, CarePlan owner) throws XmlPullParserException, IOException, FHIRFormatError { 1997 CarePlan.CarePlanActivityDetailComponent res = new CarePlan.CarePlanActivityDetailComponent(); 1998 parseBackboneAttributes(xpp, res); 1999 next(xpp); 2000 int eventType = nextNoWhitespace(xpp); 2001 while (eventType != XmlPullParser.END_TAG) { 2002 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2003 res.setCategory(parseCodeableConcept(xpp)); 2004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2005 res.setCode(parseCodeableConcept(xpp)); 2006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { 2007 res.getReasonCode().add(parseCodeableConcept(xpp)); 2008 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { 2009 res.getReasonReference().add(parseReference(xpp)); 2010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { 2011 res.getGoal().add(parseReference(xpp)); 2012 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2013 res.setStatusElement(parseEnumeration(xpp, CarePlan.CarePlanActivityStatus.NULL, new CarePlan.CarePlanActivityStatusEnumFactory())); 2014 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 2015 res.setStatusReason(parseCodeableConcept(xpp)); 2016 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prohibited")) { 2017 res.setProhibitedElement(parseBoolean(xpp)); 2018 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "scheduled")) { 2019 res.setScheduled(parseType("scheduled", xpp)); 2020 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 2021 res.setLocation(parseReference(xpp)); 2022 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 2023 res.getPerformer().add(parseReference(xpp)); 2024 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "product")) { 2025 res.setProduct(parseType("product", xpp)); 2026 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dailyAmount")) { 2027 res.setDailyAmount(parseSimpleQuantity(xpp)); 2028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2029 res.setQuantity(parseSimpleQuantity(xpp)); 2030 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2031 res.setDescriptionElement(parseString(xpp)); 2032 } else if (!parseBackboneContent(eventType, xpp, res)) 2033 unknownContent(xpp); 2034 eventType = nextNoWhitespace(xpp); 2035 } 2036 next(xpp); 2037 parseElementClose(res); 2038 return res; 2039 } 2040 2041 protected Claim parseClaim(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2042 Claim res = new Claim(); 2043 parseDomainResourceAttributes(xpp, res); 2044 next(xpp); 2045 int eventType = nextNoWhitespace(xpp); 2046 while (eventType != XmlPullParser.END_TAG) { 2047 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2048 res.setTypeElement(parseEnumeration(xpp, Claim.ClaimType.NULL, new Claim.ClaimTypeEnumFactory())); 2049 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2050 res.getIdentifier().add(parseIdentifier(xpp)); 2051 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 2052 res.setRuleset(parseCoding(xpp)); 2053 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2054 res.setOriginalRuleset(parseCoding(xpp)); 2055 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 2056 res.setCreatedElement(parseDateTime(xpp)); 2057 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 2058 res.setTarget(parseReference(xpp)); 2059 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 2060 res.setProvider(parseReference(xpp)); 2061 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 2062 res.setOrganization(parseReference(xpp)); 2063 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 2064 res.setUseElement(parseEnumeration(xpp, Claim.Use.NULL, new Claim.UseEnumFactory())); 2065 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 2066 res.setPriority(parseCoding(xpp)); 2067 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundsReserve")) { 2068 res.setFundsReserve(parseCoding(xpp)); 2069 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 2070 res.setEnterer(parseReference(xpp)); 2071 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { 2072 res.setFacility(parseReference(xpp)); 2073 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescription")) { 2074 res.setPrescription(parseReference(xpp)); 2075 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalPrescription")) { 2076 res.setOriginalPrescription(parseReference(xpp)); 2077 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 2078 res.setPayee(parseClaimPayeeComponent(xpp, res)); 2079 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referral")) { 2080 res.setReferral(parseReference(xpp)); 2081 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 2082 res.getDiagnosis().add(parseClaimDiagnosisComponent(xpp, res)); 2083 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 2084 res.getCondition().add(parseCoding(xpp)); 2085 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 2086 res.setPatient(parseReference(xpp)); 2087 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2088 res.getCoverage().add(parseClaimCoverageComponent(xpp, res)); 2089 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exception")) { 2090 res.getException().add(parseCoding(xpp)); 2091 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("school")) { 2092 res.setSchoolElement(parseString(xpp)); 2093 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accident")) { 2094 res.setAccidentElement(parseDate(xpp)); 2095 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accidentType")) { 2096 res.setAccidentType(parseCoding(xpp)); 2097 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interventionException")) { 2098 res.getInterventionException().add(parseCoding(xpp)); 2099 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2100 res.getItem().add(parseClaimItemsComponent(xpp, res)); 2101 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalMaterials")) { 2102 res.getAdditionalMaterials().add(parseCoding(xpp)); 2103 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("missingTeeth")) { 2104 res.getMissingTeeth().add(parseClaimMissingTeethComponent(xpp, res)); 2105 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2106 unknownContent(xpp); 2107 eventType = nextNoWhitespace(xpp); 2108 } 2109 next(xpp); 2110 parseElementClose(res); 2111 return res; 2112 } 2113 2114 protected Claim.PayeeComponent parseClaimPayeeComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2115 Claim.PayeeComponent res = new Claim.PayeeComponent(); 2116 parseBackboneAttributes(xpp, res); 2117 next(xpp); 2118 int eventType = nextNoWhitespace(xpp); 2119 while (eventType != XmlPullParser.END_TAG) { 2120 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2121 res.setType(parseCoding(xpp)); 2122 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 2123 res.setProvider(parseReference(xpp)); 2124 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 2125 res.setOrganization(parseReference(xpp)); 2126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("person")) { 2127 res.setPerson(parseReference(xpp)); 2128 } else if (!parseBackboneContent(eventType, xpp, res)) 2129 unknownContent(xpp); 2130 eventType = nextNoWhitespace(xpp); 2131 } 2132 next(xpp); 2133 parseElementClose(res); 2134 return res; 2135 } 2136 2137 protected Claim.DiagnosisComponent parseClaimDiagnosisComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2138 Claim.DiagnosisComponent res = new Claim.DiagnosisComponent(); 2139 parseBackboneAttributes(xpp, res); 2140 next(xpp); 2141 int eventType = nextNoWhitespace(xpp); 2142 while (eventType != XmlPullParser.END_TAG) { 2143 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2144 res.setSequenceElement(parsePositiveInt(xpp)); 2145 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosis")) { 2146 res.setDiagnosis(parseCoding(xpp)); 2147 } else if (!parseBackboneContent(eventType, xpp, res)) 2148 unknownContent(xpp); 2149 eventType = nextNoWhitespace(xpp); 2150 } 2151 next(xpp); 2152 parseElementClose(res); 2153 return res; 2154 } 2155 2156 protected Claim.CoverageComponent parseClaimCoverageComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2157 Claim.CoverageComponent res = new Claim.CoverageComponent(); 2158 parseBackboneAttributes(xpp, res); 2159 next(xpp); 2160 int eventType = nextNoWhitespace(xpp); 2161 while (eventType != XmlPullParser.END_TAG) { 2162 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2163 res.setSequenceElement(parsePositiveInt(xpp)); 2164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 2165 res.setFocalElement(parseBoolean(xpp)); 2166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2167 res.setCoverage(parseReference(xpp)); 2168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessArrangement")) { 2169 res.setBusinessArrangementElement(parseString(xpp)); 2170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 2171 res.setRelationship(parseCoding(xpp)); 2172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 2173 res.getPreAuthRef().add(parseString(xpp)); 2174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claimResponse")) { 2175 res.setClaimResponse(parseReference(xpp)); 2176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2177 res.setOriginalRuleset(parseCoding(xpp)); 2178 } else if (!parseBackboneContent(eventType, xpp, res)) 2179 unknownContent(xpp); 2180 eventType = nextNoWhitespace(xpp); 2181 } 2182 next(xpp); 2183 parseElementClose(res); 2184 return res; 2185 } 2186 2187 protected Claim.ItemsComponent parseClaimItemsComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2188 Claim.ItemsComponent res = new Claim.ItemsComponent(); 2189 parseBackboneAttributes(xpp, res); 2190 next(xpp); 2191 int eventType = nextNoWhitespace(xpp); 2192 while (eventType != XmlPullParser.END_TAG) { 2193 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2194 res.setSequenceElement(parsePositiveInt(xpp)); 2195 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2196 res.setType(parseCoding(xpp)); 2197 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 2198 res.setProvider(parseReference(xpp)); 2199 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosisLinkId")) { 2200 res.getDiagnosisLinkId().add(parsePositiveInt(xpp)); 2201 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2202 res.setService(parseCoding(xpp)); 2203 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceDate")) { 2204 res.setServiceDateElement(parseDate(xpp)); 2205 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2206 res.setQuantity(parseSimpleQuantity(xpp)); 2207 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 2208 res.setUnitPrice(parseMoney(xpp)); 2209 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 2210 res.setFactorElement(parseDecimal(xpp)); 2211 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 2212 res.setPointsElement(parseDecimal(xpp)); 2213 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 2214 res.setNet(parseMoney(xpp)); 2215 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 2216 res.setUdi(parseCoding(xpp)); 2217 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 2218 res.setBodySite(parseCoding(xpp)); 2219 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { 2220 res.getSubSite().add(parseCoding(xpp)); 2221 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 2222 res.getModifier().add(parseCoding(xpp)); 2223 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 2224 res.getDetail().add(parseClaimDetailComponent(xpp, owner)); 2225 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prosthesis")) { 2226 res.setProsthesis(parseClaimProsthesisComponent(xpp, owner)); 2227 } else if (!parseBackboneContent(eventType, xpp, res)) 2228 unknownContent(xpp); 2229 eventType = nextNoWhitespace(xpp); 2230 } 2231 next(xpp); 2232 parseElementClose(res); 2233 return res; 2234 } 2235 2236 protected Claim.DetailComponent parseClaimDetailComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2237 Claim.DetailComponent res = new Claim.DetailComponent(); 2238 parseBackboneAttributes(xpp, res); 2239 next(xpp); 2240 int eventType = nextNoWhitespace(xpp); 2241 while (eventType != XmlPullParser.END_TAG) { 2242 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2243 res.setSequenceElement(parsePositiveInt(xpp)); 2244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2245 res.setType(parseCoding(xpp)); 2246 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2247 res.setService(parseCoding(xpp)); 2248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2249 res.setQuantity(parseSimpleQuantity(xpp)); 2250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 2251 res.setUnitPrice(parseMoney(xpp)); 2252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 2253 res.setFactorElement(parseDecimal(xpp)); 2254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 2255 res.setPointsElement(parseDecimal(xpp)); 2256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 2257 res.setNet(parseMoney(xpp)); 2258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 2259 res.setUdi(parseCoding(xpp)); 2260 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 2261 res.getSubDetail().add(parseClaimSubDetailComponent(xpp, owner)); 2262 } else if (!parseBackboneContent(eventType, xpp, res)) 2263 unknownContent(xpp); 2264 eventType = nextNoWhitespace(xpp); 2265 } 2266 next(xpp); 2267 parseElementClose(res); 2268 return res; 2269 } 2270 2271 protected Claim.SubDetailComponent parseClaimSubDetailComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2272 Claim.SubDetailComponent res = new Claim.SubDetailComponent(); 2273 parseBackboneAttributes(xpp, res); 2274 next(xpp); 2275 int eventType = nextNoWhitespace(xpp); 2276 while (eventType != XmlPullParser.END_TAG) { 2277 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2278 res.setSequenceElement(parsePositiveInt(xpp)); 2279 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2280 res.setType(parseCoding(xpp)); 2281 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2282 res.setService(parseCoding(xpp)); 2283 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 2284 res.setQuantity(parseSimpleQuantity(xpp)); 2285 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 2286 res.setUnitPrice(parseMoney(xpp)); 2287 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 2288 res.setFactorElement(parseDecimal(xpp)); 2289 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 2290 res.setPointsElement(parseDecimal(xpp)); 2291 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 2292 res.setNet(parseMoney(xpp)); 2293 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 2294 res.setUdi(parseCoding(xpp)); 2295 } else if (!parseBackboneContent(eventType, xpp, res)) 2296 unknownContent(xpp); 2297 eventType = nextNoWhitespace(xpp); 2298 } 2299 next(xpp); 2300 parseElementClose(res); 2301 return res; 2302 } 2303 2304 protected Claim.ProsthesisComponent parseClaimProsthesisComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2305 Claim.ProsthesisComponent res = new Claim.ProsthesisComponent(); 2306 parseBackboneAttributes(xpp, res); 2307 next(xpp); 2308 int eventType = nextNoWhitespace(xpp); 2309 while (eventType != XmlPullParser.END_TAG) { 2310 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initial")) { 2311 res.setInitialElement(parseBoolean(xpp)); 2312 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorDate")) { 2313 res.setPriorDateElement(parseDate(xpp)); 2314 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorMaterial")) { 2315 res.setPriorMaterial(parseCoding(xpp)); 2316 } else if (!parseBackboneContent(eventType, xpp, res)) 2317 unknownContent(xpp); 2318 eventType = nextNoWhitespace(xpp); 2319 } 2320 next(xpp); 2321 parseElementClose(res); 2322 return res; 2323 } 2324 2325 protected Claim.MissingTeethComponent parseClaimMissingTeethComponent(XmlPullParser xpp, Claim owner) throws XmlPullParserException, IOException, FHIRFormatError { 2326 Claim.MissingTeethComponent res = new Claim.MissingTeethComponent(); 2327 parseBackboneAttributes(xpp, res); 2328 next(xpp); 2329 int eventType = nextNoWhitespace(xpp); 2330 while (eventType != XmlPullParser.END_TAG) { 2331 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tooth")) { 2332 res.setTooth(parseCoding(xpp)); 2333 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2334 res.setReason(parseCoding(xpp)); 2335 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extractionDate")) { 2336 res.setExtractionDateElement(parseDate(xpp)); 2337 } else if (!parseBackboneContent(eventType, xpp, res)) 2338 unknownContent(xpp); 2339 eventType = nextNoWhitespace(xpp); 2340 } 2341 next(xpp); 2342 parseElementClose(res); 2343 return res; 2344 } 2345 2346 protected ClaimResponse parseClaimResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2347 ClaimResponse res = new ClaimResponse(); 2348 parseDomainResourceAttributes(xpp, res); 2349 next(xpp); 2350 int eventType = nextNoWhitespace(xpp); 2351 while (eventType != XmlPullParser.END_TAG) { 2352 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2353 res.getIdentifier().add(parseIdentifier(xpp)); 2354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 2355 res.setRequest(parseReference(xpp)); 2356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 2357 res.setRuleset(parseCoding(xpp)); 2358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2359 res.setOriginalRuleset(parseCoding(xpp)); 2360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 2361 res.setCreatedElement(parseDateTime(xpp)); 2362 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 2363 res.setOrganization(parseReference(xpp)); 2364 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 2365 res.setRequestProvider(parseReference(xpp)); 2366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 2367 res.setRequestOrganization(parseReference(xpp)); 2368 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 2369 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 2370 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 2371 res.setDispositionElement(parseString(xpp)); 2372 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payeeType")) { 2373 res.setPayeeType(parseCoding(xpp)); 2374 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2375 res.getItem().add(parseClaimResponseItemsComponent(xpp, res)); 2376 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addItem")) { 2377 res.getAddItem().add(parseClaimResponseAddedItemComponent(xpp, res)); 2378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 2379 res.getError().add(parseClaimResponseErrorsComponent(xpp, res)); 2380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalCost")) { 2381 res.setTotalCost(parseMoney(xpp)); 2382 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unallocDeductable")) { 2383 res.setUnallocDeductable(parseMoney(xpp)); 2384 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalBenefit")) { 2385 res.setTotalBenefit(parseMoney(xpp)); 2386 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAdjustment")) { 2387 res.setPaymentAdjustment(parseMoney(xpp)); 2388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAdjustmentReason")) { 2389 res.setPaymentAdjustmentReason(parseCoding(xpp)); 2390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentDate")) { 2391 res.setPaymentDateElement(parseDate(xpp)); 2392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAmount")) { 2393 res.setPaymentAmount(parseMoney(xpp)); 2394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentRef")) { 2395 res.setPaymentRef(parseIdentifier(xpp)); 2396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reserved")) { 2397 res.setReserved(parseCoding(xpp)); 2398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 2399 res.setForm(parseCoding(xpp)); 2400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 2401 res.getNote().add(parseClaimResponseNotesComponent(xpp, res)); 2402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2403 res.getCoverage().add(parseClaimResponseCoverageComponent(xpp, res)); 2404 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2405 unknownContent(xpp); 2406 eventType = nextNoWhitespace(xpp); 2407 } 2408 next(xpp); 2409 parseElementClose(res); 2410 return res; 2411 } 2412 2413 protected ClaimResponse.ItemsComponent parseClaimResponseItemsComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2414 ClaimResponse.ItemsComponent res = new ClaimResponse.ItemsComponent(); 2415 parseBackboneAttributes(xpp, res); 2416 next(xpp); 2417 int eventType = nextNoWhitespace(xpp); 2418 while (eventType != XmlPullParser.END_TAG) { 2419 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2420 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2421 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { 2422 res.getNoteNumber().add(parsePositiveInt(xpp)); 2423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2424 res.getAdjudication().add(parseClaimResponseItemAdjudicationComponent(xpp, owner)); 2425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 2426 res.getDetail().add(parseClaimResponseItemDetailComponent(xpp, owner)); 2427 } else if (!parseBackboneContent(eventType, xpp, res)) 2428 unknownContent(xpp); 2429 eventType = nextNoWhitespace(xpp); 2430 } 2431 next(xpp); 2432 parseElementClose(res); 2433 return res; 2434 } 2435 2436 protected ClaimResponse.ItemAdjudicationComponent parseClaimResponseItemAdjudicationComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2437 ClaimResponse.ItemAdjudicationComponent res = new ClaimResponse.ItemAdjudicationComponent(); 2438 parseBackboneAttributes(xpp, res); 2439 next(xpp); 2440 int eventType = nextNoWhitespace(xpp); 2441 while (eventType != XmlPullParser.END_TAG) { 2442 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2443 res.setCode(parseCoding(xpp)); 2444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2445 res.setAmount(parseMoney(xpp)); 2446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2447 res.setValueElement(parseDecimal(xpp)); 2448 } else if (!parseBackboneContent(eventType, xpp, res)) 2449 unknownContent(xpp); 2450 eventType = nextNoWhitespace(xpp); 2451 } 2452 next(xpp); 2453 parseElementClose(res); 2454 return res; 2455 } 2456 2457 protected ClaimResponse.ItemDetailComponent parseClaimResponseItemDetailComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2458 ClaimResponse.ItemDetailComponent res = new ClaimResponse.ItemDetailComponent(); 2459 parseBackboneAttributes(xpp, res); 2460 next(xpp); 2461 int eventType = nextNoWhitespace(xpp); 2462 while (eventType != XmlPullParser.END_TAG) { 2463 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2464 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2465 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2466 res.getAdjudication().add(parseClaimResponseDetailAdjudicationComponent(xpp, owner)); 2467 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { 2468 res.getSubDetail().add(parseClaimResponseSubDetailComponent(xpp, owner)); 2469 } else if (!parseBackboneContent(eventType, xpp, res)) 2470 unknownContent(xpp); 2471 eventType = nextNoWhitespace(xpp); 2472 } 2473 next(xpp); 2474 parseElementClose(res); 2475 return res; 2476 } 2477 2478 protected ClaimResponse.DetailAdjudicationComponent parseClaimResponseDetailAdjudicationComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2479 ClaimResponse.DetailAdjudicationComponent res = new ClaimResponse.DetailAdjudicationComponent(); 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("code")) { 2485 res.setCode(parseCoding(xpp)); 2486 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2487 res.setAmount(parseMoney(xpp)); 2488 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2489 res.setValueElement(parseDecimal(xpp)); 2490 } else if (!parseBackboneContent(eventType, xpp, res)) 2491 unknownContent(xpp); 2492 eventType = nextNoWhitespace(xpp); 2493 } 2494 next(xpp); 2495 parseElementClose(res); 2496 return res; 2497 } 2498 2499 protected ClaimResponse.SubDetailComponent parseClaimResponseSubDetailComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2500 ClaimResponse.SubDetailComponent res = new ClaimResponse.SubDetailComponent(); 2501 parseBackboneAttributes(xpp, res); 2502 next(xpp); 2503 int eventType = nextNoWhitespace(xpp); 2504 while (eventType != XmlPullParser.END_TAG) { 2505 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2506 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2507 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2508 res.getAdjudication().add(parseClaimResponseSubdetailAdjudicationComponent(xpp, owner)); 2509 } else if (!parseBackboneContent(eventType, xpp, res)) 2510 unknownContent(xpp); 2511 eventType = nextNoWhitespace(xpp); 2512 } 2513 next(xpp); 2514 parseElementClose(res); 2515 return res; 2516 } 2517 2518 protected ClaimResponse.SubdetailAdjudicationComponent parseClaimResponseSubdetailAdjudicationComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2519 ClaimResponse.SubdetailAdjudicationComponent res = new ClaimResponse.SubdetailAdjudicationComponent(); 2520 parseBackboneAttributes(xpp, res); 2521 next(xpp); 2522 int eventType = nextNoWhitespace(xpp); 2523 while (eventType != XmlPullParser.END_TAG) { 2524 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2525 res.setCode(parseCoding(xpp)); 2526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2527 res.setAmount(parseMoney(xpp)); 2528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2529 res.setValueElement(parseDecimal(xpp)); 2530 } else if (!parseBackboneContent(eventType, xpp, res)) 2531 unknownContent(xpp); 2532 eventType = nextNoWhitespace(xpp); 2533 } 2534 next(xpp); 2535 parseElementClose(res); 2536 return res; 2537 } 2538 2539 protected ClaimResponse.AddedItemComponent parseClaimResponseAddedItemComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2540 ClaimResponse.AddedItemComponent res = new ClaimResponse.AddedItemComponent(); 2541 parseBackboneAttributes(xpp, res); 2542 next(xpp); 2543 int eventType = nextNoWhitespace(xpp); 2544 while (eventType != XmlPullParser.END_TAG) { 2545 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2546 res.getSequenceLinkId().add(parsePositiveInt(xpp)); 2547 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2548 res.setService(parseCoding(xpp)); 2549 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fee")) { 2550 res.setFee(parseMoney(xpp)); 2551 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumberLinkId")) { 2552 res.getNoteNumberLinkId().add(parsePositiveInt(xpp)); 2553 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2554 res.getAdjudication().add(parseClaimResponseAddedItemAdjudicationComponent(xpp, owner)); 2555 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 2556 res.getDetail().add(parseClaimResponseAddedItemsDetailComponent(xpp, owner)); 2557 } else if (!parseBackboneContent(eventType, xpp, res)) 2558 unknownContent(xpp); 2559 eventType = nextNoWhitespace(xpp); 2560 } 2561 next(xpp); 2562 parseElementClose(res); 2563 return res; 2564 } 2565 2566 protected ClaimResponse.AddedItemAdjudicationComponent parseClaimResponseAddedItemAdjudicationComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2567 ClaimResponse.AddedItemAdjudicationComponent res = new ClaimResponse.AddedItemAdjudicationComponent(); 2568 parseBackboneAttributes(xpp, res); 2569 next(xpp); 2570 int eventType = nextNoWhitespace(xpp); 2571 while (eventType != XmlPullParser.END_TAG) { 2572 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2573 res.setCode(parseCoding(xpp)); 2574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2575 res.setAmount(parseMoney(xpp)); 2576 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2577 res.setValueElement(parseDecimal(xpp)); 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.AddedItemsDetailComponent parseClaimResponseAddedItemsDetailComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2588 ClaimResponse.AddedItemsDetailComponent res = new ClaimResponse.AddedItemsDetailComponent(); 2589 parseBackboneAttributes(xpp, res); 2590 next(xpp); 2591 int eventType = nextNoWhitespace(xpp); 2592 while (eventType != XmlPullParser.END_TAG) { 2593 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 2594 res.setService(parseCoding(xpp)); 2595 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fee")) { 2596 res.setFee(parseMoney(xpp)); 2597 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { 2598 res.getAdjudication().add(parseClaimResponseAddedItemDetailAdjudicationComponent(xpp, owner)); 2599 } else if (!parseBackboneContent(eventType, xpp, res)) 2600 unknownContent(xpp); 2601 eventType = nextNoWhitespace(xpp); 2602 } 2603 next(xpp); 2604 parseElementClose(res); 2605 return res; 2606 } 2607 2608 protected ClaimResponse.AddedItemDetailAdjudicationComponent parseClaimResponseAddedItemDetailAdjudicationComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2609 ClaimResponse.AddedItemDetailAdjudicationComponent res = new ClaimResponse.AddedItemDetailAdjudicationComponent(); 2610 parseBackboneAttributes(xpp, res); 2611 next(xpp); 2612 int eventType = nextNoWhitespace(xpp); 2613 while (eventType != XmlPullParser.END_TAG) { 2614 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2615 res.setCode(parseCoding(xpp)); 2616 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 2617 res.setAmount(parseMoney(xpp)); 2618 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 2619 res.setValueElement(parseDecimal(xpp)); 2620 } else if (!parseBackboneContent(eventType, xpp, res)) 2621 unknownContent(xpp); 2622 eventType = nextNoWhitespace(xpp); 2623 } 2624 next(xpp); 2625 parseElementClose(res); 2626 return res; 2627 } 2628 2629 protected ClaimResponse.ErrorsComponent parseClaimResponseErrorsComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2630 ClaimResponse.ErrorsComponent res = new ClaimResponse.ErrorsComponent(); 2631 parseBackboneAttributes(xpp, res); 2632 next(xpp); 2633 int eventType = nextNoWhitespace(xpp); 2634 while (eventType != XmlPullParser.END_TAG) { 2635 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 2636 res.setSequenceLinkIdElement(parsePositiveInt(xpp)); 2637 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detailSequenceLinkId")) { 2638 res.setDetailSequenceLinkIdElement(parsePositiveInt(xpp)); 2639 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subdetailSequenceLinkId")) { 2640 res.setSubdetailSequenceLinkIdElement(parsePositiveInt(xpp)); 2641 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2642 res.setCode(parseCoding(xpp)); 2643 } else if (!parseBackboneContent(eventType, xpp, res)) 2644 unknownContent(xpp); 2645 eventType = nextNoWhitespace(xpp); 2646 } 2647 next(xpp); 2648 parseElementClose(res); 2649 return res; 2650 } 2651 2652 protected ClaimResponse.NotesComponent parseClaimResponseNotesComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2653 ClaimResponse.NotesComponent res = new ClaimResponse.NotesComponent(); 2654 parseBackboneAttributes(xpp, res); 2655 next(xpp); 2656 int eventType = nextNoWhitespace(xpp); 2657 while (eventType != XmlPullParser.END_TAG) { 2658 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 2659 res.setNumberElement(parsePositiveInt(xpp)); 2660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2661 res.setType(parseCoding(xpp)); 2662 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 2663 res.setTextElement(parseString(xpp)); 2664 } else if (!parseBackboneContent(eventType, xpp, res)) 2665 unknownContent(xpp); 2666 eventType = nextNoWhitespace(xpp); 2667 } 2668 next(xpp); 2669 parseElementClose(res); 2670 return res; 2671 } 2672 2673 protected ClaimResponse.CoverageComponent parseClaimResponseCoverageComponent(XmlPullParser xpp, ClaimResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 2674 ClaimResponse.CoverageComponent res = new ClaimResponse.CoverageComponent(); 2675 parseBackboneAttributes(xpp, res); 2676 next(xpp); 2677 int eventType = nextNoWhitespace(xpp); 2678 while (eventType != XmlPullParser.END_TAG) { 2679 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 2680 res.setSequenceElement(parsePositiveInt(xpp)); 2681 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focal")) { 2682 res.setFocalElement(parseBoolean(xpp)); 2683 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 2684 res.setCoverage(parseReference(xpp)); 2685 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessArrangement")) { 2686 res.setBusinessArrangementElement(parseString(xpp)); 2687 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 2688 res.setRelationship(parseCoding(xpp)); 2689 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { 2690 res.getPreAuthRef().add(parseString(xpp)); 2691 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claimResponse")) { 2692 res.setClaimResponse(parseReference(xpp)); 2693 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 2694 res.setOriginalRuleset(parseCoding(xpp)); 2695 } else if (!parseBackboneContent(eventType, xpp, res)) 2696 unknownContent(xpp); 2697 eventType = nextNoWhitespace(xpp); 2698 } 2699 next(xpp); 2700 parseElementClose(res); 2701 return res; 2702 } 2703 2704 protected ClinicalImpression parseClinicalImpression(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2705 ClinicalImpression res = new ClinicalImpression(); 2706 parseDomainResourceAttributes(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("patient")) { 2711 res.setPatient(parseReference(xpp)); 2712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assessor")) { 2713 res.setAssessor(parseReference(xpp)); 2714 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2715 res.setStatusElement(parseEnumeration(xpp, ClinicalImpression.ClinicalImpressionStatus.NULL, new ClinicalImpression.ClinicalImpressionStatusEnumFactory())); 2716 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 2717 res.setDateElement(parseDateTime(xpp)); 2718 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 2719 res.setDescriptionElement(parseString(xpp)); 2720 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("previous")) { 2721 res.setPrevious(parseReference(xpp)); 2722 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("problem")) { 2723 res.getProblem().add(parseReference(xpp)); 2724 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "trigger")) { 2725 res.setTrigger(parseType("trigger", xpp)); 2726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("investigations")) { 2727 res.getInvestigations().add(parseClinicalImpressionClinicalImpressionInvestigationsComponent(xpp, res)); 2728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 2729 res.setProtocolElement(parseUri(xpp)); 2730 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 2731 res.setSummaryElement(parseString(xpp)); 2732 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("finding")) { 2733 res.getFinding().add(parseClinicalImpressionClinicalImpressionFindingComponent(xpp, res)); 2734 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resolved")) { 2735 res.getResolved().add(parseCodeableConcept(xpp)); 2736 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruledOut")) { 2737 res.getRuledOut().add(parseClinicalImpressionClinicalImpressionRuledOutComponent(xpp, res)); 2738 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prognosis")) { 2739 res.setPrognosisElement(parseString(xpp)); 2740 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plan")) { 2741 res.getPlan().add(parseReference(xpp)); 2742 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 2743 res.getAction().add(parseReference(xpp)); 2744 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2745 unknownContent(xpp); 2746 eventType = nextNoWhitespace(xpp); 2747 } 2748 next(xpp); 2749 parseElementClose(res); 2750 return res; 2751 } 2752 2753 protected ClinicalImpression.ClinicalImpressionInvestigationsComponent parseClinicalImpressionClinicalImpressionInvestigationsComponent(XmlPullParser xpp, ClinicalImpression owner) throws XmlPullParserException, IOException, FHIRFormatError { 2754 ClinicalImpression.ClinicalImpressionInvestigationsComponent res = new ClinicalImpression.ClinicalImpressionInvestigationsComponent(); 2755 parseBackboneAttributes(xpp, res); 2756 next(xpp); 2757 int eventType = nextNoWhitespace(xpp); 2758 while (eventType != XmlPullParser.END_TAG) { 2759 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2760 res.setCode(parseCodeableConcept(xpp)); 2761 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2762 res.getItem().add(parseReference(xpp)); 2763 } else if (!parseBackboneContent(eventType, xpp, res)) 2764 unknownContent(xpp); 2765 eventType = nextNoWhitespace(xpp); 2766 } 2767 next(xpp); 2768 parseElementClose(res); 2769 return res; 2770 } 2771 2772 protected ClinicalImpression.ClinicalImpressionFindingComponent parseClinicalImpressionClinicalImpressionFindingComponent(XmlPullParser xpp, ClinicalImpression owner) throws XmlPullParserException, IOException, FHIRFormatError { 2773 ClinicalImpression.ClinicalImpressionFindingComponent res = new ClinicalImpression.ClinicalImpressionFindingComponent(); 2774 parseBackboneAttributes(xpp, res); 2775 next(xpp); 2776 int eventType = nextNoWhitespace(xpp); 2777 while (eventType != XmlPullParser.END_TAG) { 2778 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2779 res.setItem(parseCodeableConcept(xpp)); 2780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cause")) { 2781 res.setCauseElement(parseString(xpp)); 2782 } else if (!parseBackboneContent(eventType, xpp, res)) 2783 unknownContent(xpp); 2784 eventType = nextNoWhitespace(xpp); 2785 } 2786 next(xpp); 2787 parseElementClose(res); 2788 return res; 2789 } 2790 2791 protected ClinicalImpression.ClinicalImpressionRuledOutComponent parseClinicalImpressionClinicalImpressionRuledOutComponent(XmlPullParser xpp, ClinicalImpression owner) throws XmlPullParserException, IOException, FHIRFormatError { 2792 ClinicalImpression.ClinicalImpressionRuledOutComponent res = new ClinicalImpression.ClinicalImpressionRuledOutComponent(); 2793 parseBackboneAttributes(xpp, res); 2794 next(xpp); 2795 int eventType = nextNoWhitespace(xpp); 2796 while (eventType != XmlPullParser.END_TAG) { 2797 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 2798 res.setItem(parseCodeableConcept(xpp)); 2799 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2800 res.setReasonElement(parseString(xpp)); 2801 } else if (!parseBackboneContent(eventType, xpp, res)) 2802 unknownContent(xpp); 2803 eventType = nextNoWhitespace(xpp); 2804 } 2805 next(xpp); 2806 parseElementClose(res); 2807 return res; 2808 } 2809 2810 protected Communication parseCommunication(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2811 Communication res = new Communication(); 2812 parseDomainResourceAttributes(xpp, res); 2813 next(xpp); 2814 int eventType = nextNoWhitespace(xpp); 2815 while (eventType != XmlPullParser.END_TAG) { 2816 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2817 res.getIdentifier().add(parseIdentifier(xpp)); 2818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2819 res.setCategory(parseCodeableConcept(xpp)); 2820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sender")) { 2821 res.setSender(parseReference(xpp)); 2822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 2823 res.getRecipient().add(parseReference(xpp)); 2824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 2825 res.getPayload().add(parseCommunicationCommunicationPayloadComponent(xpp, res)); 2826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("medium")) { 2827 res.getMedium().add(parseCodeableConcept(xpp)); 2828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2829 res.setStatusElement(parseEnumeration(xpp, Communication.CommunicationStatus.NULL, new Communication.CommunicationStatusEnumFactory())); 2830 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 2831 res.setEncounter(parseReference(xpp)); 2832 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sent")) { 2833 res.setSentElement(parseDateTime(xpp)); 2834 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("received")) { 2835 res.setReceivedElement(parseDateTime(xpp)); 2836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2837 res.getReason().add(parseCodeableConcept(xpp)); 2838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 2839 res.setSubject(parseReference(xpp)); 2840 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestDetail")) { 2841 res.setRequestDetail(parseReference(xpp)); 2842 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2843 unknownContent(xpp); 2844 eventType = nextNoWhitespace(xpp); 2845 } 2846 next(xpp); 2847 parseElementClose(res); 2848 return res; 2849 } 2850 2851 protected Communication.CommunicationPayloadComponent parseCommunicationCommunicationPayloadComponent(XmlPullParser xpp, Communication owner) throws XmlPullParserException, IOException, FHIRFormatError { 2852 Communication.CommunicationPayloadComponent res = new Communication.CommunicationPayloadComponent(); 2853 parseBackboneAttributes(xpp, res); 2854 next(xpp); 2855 int eventType = nextNoWhitespace(xpp); 2856 while (eventType != XmlPullParser.END_TAG) { 2857 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 2858 res.setContent(parseType("content", xpp)); 2859 } else if (!parseBackboneContent(eventType, xpp, res)) 2860 unknownContent(xpp); 2861 eventType = nextNoWhitespace(xpp); 2862 } 2863 next(xpp); 2864 parseElementClose(res); 2865 return res; 2866 } 2867 2868 protected CommunicationRequest parseCommunicationRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2869 CommunicationRequest res = new CommunicationRequest(); 2870 parseDomainResourceAttributes(xpp, res); 2871 next(xpp); 2872 int eventType = nextNoWhitespace(xpp); 2873 while (eventType != XmlPullParser.END_TAG) { 2874 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2875 res.getIdentifier().add(parseIdentifier(xpp)); 2876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 2877 res.setCategory(parseCodeableConcept(xpp)); 2878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sender")) { 2879 res.setSender(parseReference(xpp)); 2880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 2881 res.getRecipient().add(parseReference(xpp)); 2882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 2883 res.getPayload().add(parseCommunicationRequestCommunicationRequestPayloadComponent(xpp, res)); 2884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("medium")) { 2885 res.getMedium().add(parseCodeableConcept(xpp)); 2886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 2887 res.setRequester(parseReference(xpp)); 2888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2889 res.setStatusElement(parseEnumeration(xpp, CommunicationRequest.CommunicationRequestStatus.NULL, new CommunicationRequest.CommunicationRequestStatusEnumFactory())); 2890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 2891 res.setEncounter(parseReference(xpp)); 2892 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "scheduled")) { 2893 res.setScheduled(parseType("scheduled", xpp)); 2894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 2895 res.getReason().add(parseCodeableConcept(xpp)); 2896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestedOn")) { 2897 res.setRequestedOnElement(parseDateTime(xpp)); 2898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 2899 res.setSubject(parseReference(xpp)); 2900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 2901 res.setPriority(parseCodeableConcept(xpp)); 2902 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2903 unknownContent(xpp); 2904 eventType = nextNoWhitespace(xpp); 2905 } 2906 next(xpp); 2907 parseElementClose(res); 2908 return res; 2909 } 2910 2911 protected CommunicationRequest.CommunicationRequestPayloadComponent parseCommunicationRequestCommunicationRequestPayloadComponent(XmlPullParser xpp, CommunicationRequest owner) throws XmlPullParserException, IOException, FHIRFormatError { 2912 CommunicationRequest.CommunicationRequestPayloadComponent res = new CommunicationRequest.CommunicationRequestPayloadComponent(); 2913 parseBackboneAttributes(xpp, res); 2914 next(xpp); 2915 int eventType = nextNoWhitespace(xpp); 2916 while (eventType != XmlPullParser.END_TAG) { 2917 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 2918 res.setContent(parseType("content", xpp)); 2919 } else if (!parseBackboneContent(eventType, xpp, res)) 2920 unknownContent(xpp); 2921 eventType = nextNoWhitespace(xpp); 2922 } 2923 next(xpp); 2924 parseElementClose(res); 2925 return res; 2926 } 2927 2928 protected Composition parseComposition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 2929 Composition res = new Composition(); 2930 parseDomainResourceAttributes(xpp, res); 2931 next(xpp); 2932 int eventType = nextNoWhitespace(xpp); 2933 while (eventType != XmlPullParser.END_TAG) { 2934 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 2935 res.setIdentifier(parseIdentifier(xpp)); 2936 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 2937 res.setDateElement(parseDateTime(xpp)); 2938 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 2939 res.setType(parseCodeableConcept(xpp)); 2940 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 2941 res.setClass_(parseCodeableConcept(xpp)); 2942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 2943 res.setTitleElement(parseString(xpp)); 2944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 2945 res.setStatusElement(parseEnumeration(xpp, Composition.CompositionStatus.NULL, new Composition.CompositionStatusEnumFactory())); 2946 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("confidentiality")) { 2947 res.setConfidentialityElement(parseCode(xpp)); 2948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 2949 res.setSubject(parseReference(xpp)); 2950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 2951 res.getAuthor().add(parseReference(xpp)); 2952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attester")) { 2953 res.getAttester().add(parseCompositionCompositionAttesterComponent(xpp, res)); 2954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { 2955 res.setCustodian(parseReference(xpp)); 2956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 2957 res.getEvent().add(parseCompositionCompositionEventComponent(xpp, res)); 2958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 2959 res.setEncounter(parseReference(xpp)); 2960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 2961 res.getSection().add(parseCompositionSectionComponent(xpp, res)); 2962 } else if (!parseDomainResourceContent(eventType, xpp, res)) 2963 unknownContent(xpp); 2964 eventType = nextNoWhitespace(xpp); 2965 } 2966 next(xpp); 2967 parseElementClose(res); 2968 return res; 2969 } 2970 2971 protected Composition.CompositionAttesterComponent parseCompositionCompositionAttesterComponent(XmlPullParser xpp, Composition owner) throws XmlPullParserException, IOException, FHIRFormatError { 2972 Composition.CompositionAttesterComponent res = new Composition.CompositionAttesterComponent(); 2973 parseBackboneAttributes(xpp, res); 2974 next(xpp); 2975 int eventType = nextNoWhitespace(xpp); 2976 while (eventType != XmlPullParser.END_TAG) { 2977 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 2978 res.getMode().add(parseEnumeration(xpp, Composition.CompositionAttestationMode.NULL, new Composition.CompositionAttestationModeEnumFactory())); 2979 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 2980 res.setTimeElement(parseDateTime(xpp)); 2981 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 2982 res.setParty(parseReference(xpp)); 2983 } else if (!parseBackboneContent(eventType, xpp, res)) 2984 unknownContent(xpp); 2985 eventType = nextNoWhitespace(xpp); 2986 } 2987 next(xpp); 2988 parseElementClose(res); 2989 return res; 2990 } 2991 2992 protected Composition.CompositionEventComponent parseCompositionCompositionEventComponent(XmlPullParser xpp, Composition owner) throws XmlPullParserException, IOException, FHIRFormatError { 2993 Composition.CompositionEventComponent res = new Composition.CompositionEventComponent(); 2994 parseBackboneAttributes(xpp, res); 2995 next(xpp); 2996 int eventType = nextNoWhitespace(xpp); 2997 while (eventType != XmlPullParser.END_TAG) { 2998 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 2999 res.getCode().add(parseCodeableConcept(xpp)); 3000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 3001 res.setPeriod(parsePeriod(xpp)); 3002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 3003 res.getDetail().add(parseReference(xpp)); 3004 } else if (!parseBackboneContent(eventType, xpp, res)) 3005 unknownContent(xpp); 3006 eventType = nextNoWhitespace(xpp); 3007 } 3008 next(xpp); 3009 parseElementClose(res); 3010 return res; 3011 } 3012 3013 protected Composition.SectionComponent parseCompositionSectionComponent(XmlPullParser xpp, Composition owner) throws XmlPullParserException, IOException, FHIRFormatError { 3014 Composition.SectionComponent res = new Composition.SectionComponent(); 3015 parseBackboneAttributes(xpp, res); 3016 next(xpp); 3017 int eventType = nextNoWhitespace(xpp); 3018 while (eventType != XmlPullParser.END_TAG) { 3019 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 3020 res.setTitleElement(parseString(xpp)); 3021 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3022 res.setCode(parseCodeableConcept(xpp)); 3023 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 3024 res.setText(parseNarrative(xpp)); 3025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3026 res.setModeElement(parseCode(xpp)); 3027 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedBy")) { 3028 res.setOrderedBy(parseCodeableConcept(xpp)); 3029 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 3030 res.getEntry().add(parseReference(xpp)); 3031 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("emptyReason")) { 3032 res.setEmptyReason(parseCodeableConcept(xpp)); 3033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("section")) { 3034 res.getSection().add(parseCompositionSectionComponent(xpp, owner)); 3035 } else if (!parseBackboneContent(eventType, xpp, res)) 3036 unknownContent(xpp); 3037 eventType = nextNoWhitespace(xpp); 3038 } 3039 next(xpp); 3040 parseElementClose(res); 3041 return res; 3042 } 3043 3044 protected ConceptMap parseConceptMap(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3045 ConceptMap res = new ConceptMap(); 3046 parseDomainResourceAttributes(xpp, res); 3047 next(xpp); 3048 int eventType = nextNoWhitespace(xpp); 3049 while (eventType != XmlPullParser.END_TAG) { 3050 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3051 res.setUrlElement(parseUri(xpp)); 3052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3053 res.setIdentifier(parseIdentifier(xpp)); 3054 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3055 res.setVersionElement(parseString(xpp)); 3056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3057 res.setNameElement(parseString(xpp)); 3058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3059 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 3060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 3061 res.setExperimentalElement(parseBoolean(xpp)); 3062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 3063 res.setPublisherElement(parseString(xpp)); 3064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 3065 res.getContact().add(parseConceptMapConceptMapContactComponent(xpp, res)); 3066 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 3067 res.setDateElement(parseDateTime(xpp)); 3068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3069 res.setDescriptionElement(parseString(xpp)); 3070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 3071 res.getUseContext().add(parseCodeableConcept(xpp)); 3072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 3073 res.setRequirementsElement(parseString(xpp)); 3074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 3075 res.setCopyrightElement(parseString(xpp)); 3076 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "source")) { 3077 res.setSource(parseType("source", xpp)); 3078 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 3079 res.setTarget(parseType("target", xpp)); 3080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 3081 res.getElement().add(parseConceptMapSourceElementComponent(xpp, res)); 3082 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3083 unknownContent(xpp); 3084 eventType = nextNoWhitespace(xpp); 3085 } 3086 next(xpp); 3087 parseElementClose(res); 3088 return res; 3089 } 3090 3091 protected ConceptMap.ConceptMapContactComponent parseConceptMapConceptMapContactComponent(XmlPullParser xpp, ConceptMap owner) throws XmlPullParserException, IOException, FHIRFormatError { 3092 ConceptMap.ConceptMapContactComponent res = new ConceptMap.ConceptMapContactComponent(); 3093 parseBackboneAttributes(xpp, res); 3094 next(xpp); 3095 int eventType = nextNoWhitespace(xpp); 3096 while (eventType != XmlPullParser.END_TAG) { 3097 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3098 res.setNameElement(parseString(xpp)); 3099 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 3100 res.getTelecom().add(parseContactPoint(xpp)); 3101 } else if (!parseBackboneContent(eventType, xpp, res)) 3102 unknownContent(xpp); 3103 eventType = nextNoWhitespace(xpp); 3104 } 3105 next(xpp); 3106 parseElementClose(res); 3107 return res; 3108 } 3109 3110 protected ConceptMap.SourceElementComponent parseConceptMapSourceElementComponent(XmlPullParser xpp, ConceptMap owner) throws XmlPullParserException, IOException, FHIRFormatError { 3111 ConceptMap.SourceElementComponent res = new ConceptMap.SourceElementComponent(); 3112 parseBackboneAttributes(xpp, res); 3113 next(xpp); 3114 int eventType = nextNoWhitespace(xpp); 3115 while (eventType != XmlPullParser.END_TAG) { 3116 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 3117 res.setCodeSystemElement(parseUri(xpp)); 3118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3119 res.setCodeElement(parseCode(xpp)); 3120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 3121 res.getTarget().add(parseConceptMapTargetElementComponent(xpp, owner)); 3122 } else if (!parseBackboneContent(eventType, xpp, res)) 3123 unknownContent(xpp); 3124 eventType = nextNoWhitespace(xpp); 3125 } 3126 next(xpp); 3127 parseElementClose(res); 3128 return res; 3129 } 3130 3131 protected ConceptMap.TargetElementComponent parseConceptMapTargetElementComponent(XmlPullParser xpp, ConceptMap owner) throws XmlPullParserException, IOException, FHIRFormatError { 3132 ConceptMap.TargetElementComponent res = new ConceptMap.TargetElementComponent(); 3133 parseBackboneAttributes(xpp, res); 3134 next(xpp); 3135 int eventType = nextNoWhitespace(xpp); 3136 while (eventType != XmlPullParser.END_TAG) { 3137 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 3138 res.setCodeSystemElement(parseUri(xpp)); 3139 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3140 res.setCodeElement(parseCode(xpp)); 3141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("equivalence")) { 3142 res.setEquivalenceElement(parseEnumeration(xpp, Enumerations.ConceptMapEquivalence.NULL, new Enumerations.ConceptMapEquivalenceEnumFactory())); 3143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 3144 res.setCommentsElement(parseString(xpp)); 3145 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependsOn")) { 3146 res.getDependsOn().add(parseConceptMapOtherElementComponent(xpp, owner)); 3147 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 3148 res.getProduct().add(parseConceptMapOtherElementComponent(xpp, owner)); 3149 } else if (!parseBackboneContent(eventType, xpp, res)) 3150 unknownContent(xpp); 3151 eventType = nextNoWhitespace(xpp); 3152 } 3153 next(xpp); 3154 parseElementClose(res); 3155 return res; 3156 } 3157 3158 protected ConceptMap.OtherElementComponent parseConceptMapOtherElementComponent(XmlPullParser xpp, ConceptMap owner) throws XmlPullParserException, IOException, FHIRFormatError { 3159 ConceptMap.OtherElementComponent res = new ConceptMap.OtherElementComponent(); 3160 parseBackboneAttributes(xpp, res); 3161 next(xpp); 3162 int eventType = nextNoWhitespace(xpp); 3163 while (eventType != XmlPullParser.END_TAG) { 3164 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 3165 res.setElementElement(parseUri(xpp)); 3166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 3167 res.setCodeSystemElement(parseUri(xpp)); 3168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3169 res.setCodeElement(parseString(xpp)); 3170 } else if (!parseBackboneContent(eventType, xpp, res)) 3171 unknownContent(xpp); 3172 eventType = nextNoWhitespace(xpp); 3173 } 3174 next(xpp); 3175 parseElementClose(res); 3176 return res; 3177 } 3178 3179 protected Condition parseCondition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3180 Condition res = new Condition(); 3181 parseDomainResourceAttributes(xpp, res); 3182 next(xpp); 3183 int eventType = nextNoWhitespace(xpp); 3184 while (eventType != XmlPullParser.END_TAG) { 3185 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3186 res.getIdentifier().add(parseIdentifier(xpp)); 3187 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 3188 res.setPatient(parseReference(xpp)); 3189 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 3190 res.setEncounter(parseReference(xpp)); 3191 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asserter")) { 3192 res.setAsserter(parseReference(xpp)); 3193 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateRecorded")) { 3194 res.setDateRecordedElement(parseDate(xpp)); 3195 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3196 res.setCode(parseCodeableConcept(xpp)); 3197 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 3198 res.setCategory(parseCodeableConcept(xpp)); 3199 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("clinicalStatus")) { 3200 res.setClinicalStatusElement(parseCode(xpp)); 3201 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("verificationStatus")) { 3202 res.setVerificationStatusElement(parseEnumeration(xpp, Condition.ConditionVerificationStatus.NULL, new Condition.ConditionVerificationStatusEnumFactory())); 3203 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 3204 res.setSeverity(parseCodeableConcept(xpp)); 3205 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "onset")) { 3206 res.setOnset(parseType("onset", xpp)); 3207 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "abatement")) { 3208 res.setAbatement(parseType("abatement", xpp)); 3209 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stage")) { 3210 res.setStage(parseConditionConditionStageComponent(xpp, res)); 3211 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evidence")) { 3212 res.getEvidence().add(parseConditionConditionEvidenceComponent(xpp, res)); 3213 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 3214 res.getBodySite().add(parseCodeableConcept(xpp)); 3215 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 3216 res.setNotesElement(parseString(xpp)); 3217 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3218 unknownContent(xpp); 3219 eventType = nextNoWhitespace(xpp); 3220 } 3221 next(xpp); 3222 parseElementClose(res); 3223 return res; 3224 } 3225 3226 protected Condition.ConditionStageComponent parseConditionConditionStageComponent(XmlPullParser xpp, Condition owner) throws XmlPullParserException, IOException, FHIRFormatError { 3227 Condition.ConditionStageComponent res = new Condition.ConditionStageComponent(); 3228 parseBackboneAttributes(xpp, res); 3229 next(xpp); 3230 int eventType = nextNoWhitespace(xpp); 3231 while (eventType != XmlPullParser.END_TAG) { 3232 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { 3233 res.setSummary(parseCodeableConcept(xpp)); 3234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assessment")) { 3235 res.getAssessment().add(parseReference(xpp)); 3236 } else if (!parseBackboneContent(eventType, xpp, res)) 3237 unknownContent(xpp); 3238 eventType = nextNoWhitespace(xpp); 3239 } 3240 next(xpp); 3241 parseElementClose(res); 3242 return res; 3243 } 3244 3245 protected Condition.ConditionEvidenceComponent parseConditionConditionEvidenceComponent(XmlPullParser xpp, Condition owner) throws XmlPullParserException, IOException, FHIRFormatError { 3246 Condition.ConditionEvidenceComponent res = new Condition.ConditionEvidenceComponent(); 3247 parseBackboneAttributes(xpp, res); 3248 next(xpp); 3249 int eventType = nextNoWhitespace(xpp); 3250 while (eventType != XmlPullParser.END_TAG) { 3251 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3252 res.setCode(parseCodeableConcept(xpp)); 3253 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 3254 res.getDetail().add(parseReference(xpp)); 3255 } else if (!parseBackboneContent(eventType, xpp, res)) 3256 unknownContent(xpp); 3257 eventType = nextNoWhitespace(xpp); 3258 } 3259 next(xpp); 3260 parseElementClose(res); 3261 return res; 3262 } 3263 3264 protected Conformance parseConformance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3265 Conformance res = new Conformance(); 3266 parseDomainResourceAttributes(xpp, res); 3267 next(xpp); 3268 int eventType = nextNoWhitespace(xpp); 3269 while (eventType != XmlPullParser.END_TAG) { 3270 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3271 res.setUrlElement(parseUri(xpp)); 3272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3273 res.setVersionElement(parseString(xpp)); 3274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3275 res.setNameElement(parseString(xpp)); 3276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3277 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 3278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 3279 res.setExperimentalElement(parseBoolean(xpp)); 3280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 3281 res.setPublisherElement(parseString(xpp)); 3282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 3283 res.getContact().add(parseConformanceConformanceContactComponent(xpp, res)); 3284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 3285 res.setDateElement(parseDateTime(xpp)); 3286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3287 res.setDescriptionElement(parseString(xpp)); 3288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 3289 res.setRequirementsElement(parseString(xpp)); 3290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 3291 res.setCopyrightElement(parseString(xpp)); 3292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 3293 res.setKindElement(parseEnumeration(xpp, Conformance.ConformanceStatementKind.NULL, new Conformance.ConformanceStatementKindEnumFactory())); 3294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { 3295 res.setSoftware(parseConformanceConformanceSoftwareComponent(xpp, res)); 3296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementation")) { 3297 res.setImplementation(parseConformanceConformanceImplementationComponent(xpp, res)); 3298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 3299 res.setFhirVersionElement(parseId(xpp)); 3300 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("acceptUnknown")) { 3301 res.setAcceptUnknownElement(parseEnumeration(xpp, Conformance.UnknownContentCode.NULL, new Conformance.UnknownContentCodeEnumFactory())); 3302 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 3303 res.getFormat().add(parseCode(xpp)); 3304 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 3305 res.getProfile().add(parseReference(xpp)); 3306 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rest")) { 3307 res.getRest().add(parseConformanceConformanceRestComponent(xpp, res)); 3308 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("messaging")) { 3309 res.getMessaging().add(parseConformanceConformanceMessagingComponent(xpp, res)); 3310 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("document")) { 3311 res.getDocument().add(parseConformanceConformanceDocumentComponent(xpp, res)); 3312 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3313 unknownContent(xpp); 3314 eventType = nextNoWhitespace(xpp); 3315 } 3316 next(xpp); 3317 parseElementClose(res); 3318 return res; 3319 } 3320 3321 protected Conformance.ConformanceContactComponent parseConformanceConformanceContactComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3322 Conformance.ConformanceContactComponent res = new Conformance.ConformanceContactComponent(); 3323 parseBackboneAttributes(xpp, res); 3324 next(xpp); 3325 int eventType = nextNoWhitespace(xpp); 3326 while (eventType != XmlPullParser.END_TAG) { 3327 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3328 res.setNameElement(parseString(xpp)); 3329 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 3330 res.getTelecom().add(parseContactPoint(xpp)); 3331 } else if (!parseBackboneContent(eventType, xpp, res)) 3332 unknownContent(xpp); 3333 eventType = nextNoWhitespace(xpp); 3334 } 3335 next(xpp); 3336 parseElementClose(res); 3337 return res; 3338 } 3339 3340 protected Conformance.ConformanceSoftwareComponent parseConformanceConformanceSoftwareComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3341 Conformance.ConformanceSoftwareComponent res = new Conformance.ConformanceSoftwareComponent(); 3342 parseBackboneAttributes(xpp, res); 3343 next(xpp); 3344 int eventType = nextNoWhitespace(xpp); 3345 while (eventType != XmlPullParser.END_TAG) { 3346 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3347 res.setNameElement(parseString(xpp)); 3348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3349 res.setVersionElement(parseString(xpp)); 3350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("releaseDate")) { 3351 res.setReleaseDateElement(parseDateTime(xpp)); 3352 } else if (!parseBackboneContent(eventType, xpp, res)) 3353 unknownContent(xpp); 3354 eventType = nextNoWhitespace(xpp); 3355 } 3356 next(xpp); 3357 parseElementClose(res); 3358 return res; 3359 } 3360 3361 protected Conformance.ConformanceImplementationComponent parseConformanceConformanceImplementationComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3362 Conformance.ConformanceImplementationComponent res = new Conformance.ConformanceImplementationComponent(); 3363 parseBackboneAttributes(xpp, res); 3364 next(xpp); 3365 int eventType = nextNoWhitespace(xpp); 3366 while (eventType != XmlPullParser.END_TAG) { 3367 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3368 res.setDescriptionElement(parseString(xpp)); 3369 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3370 res.setUrlElement(parseUri(xpp)); 3371 } else if (!parseBackboneContent(eventType, xpp, res)) 3372 unknownContent(xpp); 3373 eventType = nextNoWhitespace(xpp); 3374 } 3375 next(xpp); 3376 parseElementClose(res); 3377 return res; 3378 } 3379 3380 protected Conformance.ConformanceRestComponent parseConformanceConformanceRestComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3381 Conformance.ConformanceRestComponent res = new Conformance.ConformanceRestComponent(); 3382 parseBackboneAttributes(xpp, res); 3383 next(xpp); 3384 int eventType = nextNoWhitespace(xpp); 3385 while (eventType != XmlPullParser.END_TAG) { 3386 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3387 res.setModeElement(parseEnumeration(xpp, Conformance.RestfulConformanceMode.NULL, new Conformance.RestfulConformanceModeEnumFactory())); 3388 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3389 res.setDocumentationElement(parseString(xpp)); 3390 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { 3391 res.setSecurity(parseConformanceConformanceRestSecurityComponent(xpp, owner)); 3392 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 3393 res.getResource().add(parseConformanceConformanceRestResourceComponent(xpp, owner)); 3394 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { 3395 res.getInteraction().add(parseConformanceSystemInteractionComponent(xpp, owner)); 3396 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("transactionMode")) { 3397 res.setTransactionModeElement(parseEnumeration(xpp, Conformance.TransactionMode.NULL, new Conformance.TransactionModeEnumFactory())); 3398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 3399 res.getSearchParam().add(parseConformanceConformanceRestResourceSearchParamComponent(xpp, owner)); 3400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 3401 res.getOperation().add(parseConformanceConformanceRestOperationComponent(xpp, owner)); 3402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compartment")) { 3403 res.getCompartment().add(parseUri(xpp)); 3404 } else if (!parseBackboneContent(eventType, xpp, res)) 3405 unknownContent(xpp); 3406 eventType = nextNoWhitespace(xpp); 3407 } 3408 next(xpp); 3409 parseElementClose(res); 3410 return res; 3411 } 3412 3413 protected Conformance.ConformanceRestSecurityComponent parseConformanceConformanceRestSecurityComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3414 Conformance.ConformanceRestSecurityComponent res = new Conformance.ConformanceRestSecurityComponent(); 3415 parseBackboneAttributes(xpp, res); 3416 next(xpp); 3417 int eventType = nextNoWhitespace(xpp); 3418 while (eventType != XmlPullParser.END_TAG) { 3419 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cors")) { 3420 res.setCorsElement(parseBoolean(xpp)); 3421 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { 3422 res.getService().add(parseCodeableConcept(xpp)); 3423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 3424 res.setDescriptionElement(parseString(xpp)); 3425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("certificate")) { 3426 res.getCertificate().add(parseConformanceConformanceRestSecurityCertificateComponent(xpp, owner)); 3427 } else if (!parseBackboneContent(eventType, xpp, res)) 3428 unknownContent(xpp); 3429 eventType = nextNoWhitespace(xpp); 3430 } 3431 next(xpp); 3432 parseElementClose(res); 3433 return res; 3434 } 3435 3436 protected Conformance.ConformanceRestSecurityCertificateComponent parseConformanceConformanceRestSecurityCertificateComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3437 Conformance.ConformanceRestSecurityCertificateComponent res = new Conformance.ConformanceRestSecurityCertificateComponent(); 3438 parseBackboneAttributes(xpp, res); 3439 next(xpp); 3440 int eventType = nextNoWhitespace(xpp); 3441 while (eventType != XmlPullParser.END_TAG) { 3442 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3443 res.setTypeElement(parseCode(xpp)); 3444 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("blob")) { 3445 res.setBlobElement(parseBase64Binary(xpp)); 3446 } else if (!parseBackboneContent(eventType, xpp, res)) 3447 unknownContent(xpp); 3448 eventType = nextNoWhitespace(xpp); 3449 } 3450 next(xpp); 3451 parseElementClose(res); 3452 return res; 3453 } 3454 3455 protected Conformance.ConformanceRestResourceComponent parseConformanceConformanceRestResourceComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3456 Conformance.ConformanceRestResourceComponent res = new Conformance.ConformanceRestResourceComponent(); 3457 parseBackboneAttributes(xpp, res); 3458 next(xpp); 3459 int eventType = nextNoWhitespace(xpp); 3460 while (eventType != XmlPullParser.END_TAG) { 3461 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3462 res.setTypeElement(parseCode(xpp)); 3463 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 3464 res.setProfile(parseReference(xpp)); 3465 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { 3466 res.getInteraction().add(parseConformanceResourceInteractionComponent(xpp, owner)); 3467 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versioning")) { 3468 res.setVersioningElement(parseEnumeration(xpp, Conformance.ResourceVersionPolicy.NULL, new Conformance.ResourceVersionPolicyEnumFactory())); 3469 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("readHistory")) { 3470 res.setReadHistoryElement(parseBoolean(xpp)); 3471 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("updateCreate")) { 3472 res.setUpdateCreateElement(parseBoolean(xpp)); 3473 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalCreate")) { 3474 res.setConditionalCreateElement(parseBoolean(xpp)); 3475 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalUpdate")) { 3476 res.setConditionalUpdateElement(parseBoolean(xpp)); 3477 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalDelete")) { 3478 res.setConditionalDeleteElement(parseEnumeration(xpp, Conformance.ConditionalDeleteStatus.NULL, new Conformance.ConditionalDeleteStatusEnumFactory())); 3479 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchInclude")) { 3480 res.getSearchInclude().add(parseString(xpp)); 3481 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchRevInclude")) { 3482 res.getSearchRevInclude().add(parseString(xpp)); 3483 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { 3484 res.getSearchParam().add(parseConformanceConformanceRestResourceSearchParamComponent(xpp, owner)); 3485 } else if (!parseBackboneContent(eventType, xpp, res)) 3486 unknownContent(xpp); 3487 eventType = nextNoWhitespace(xpp); 3488 } 3489 next(xpp); 3490 parseElementClose(res); 3491 return res; 3492 } 3493 3494 protected Conformance.ResourceInteractionComponent parseConformanceResourceInteractionComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3495 Conformance.ResourceInteractionComponent res = new Conformance.ResourceInteractionComponent(); 3496 parseBackboneAttributes(xpp, res); 3497 next(xpp); 3498 int eventType = nextNoWhitespace(xpp); 3499 while (eventType != XmlPullParser.END_TAG) { 3500 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3501 res.setCodeElement(parseEnumeration(xpp, Conformance.TypeRestfulInteraction.NULL, new Conformance.TypeRestfulInteractionEnumFactory())); 3502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3503 res.setDocumentationElement(parseString(xpp)); 3504 } else if (!parseBackboneContent(eventType, xpp, res)) 3505 unknownContent(xpp); 3506 eventType = nextNoWhitespace(xpp); 3507 } 3508 next(xpp); 3509 parseElementClose(res); 3510 return res; 3511 } 3512 3513 protected Conformance.ConformanceRestResourceSearchParamComponent parseConformanceConformanceRestResourceSearchParamComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3514 Conformance.ConformanceRestResourceSearchParamComponent res = new Conformance.ConformanceRestResourceSearchParamComponent(); 3515 parseBackboneAttributes(xpp, res); 3516 next(xpp); 3517 int eventType = nextNoWhitespace(xpp); 3518 while (eventType != XmlPullParser.END_TAG) { 3519 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3520 res.setNameElement(parseString(xpp)); 3521 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 3522 res.setDefinitionElement(parseUri(xpp)); 3523 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3524 res.setTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); 3525 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3526 res.setDocumentationElement(parseString(xpp)); 3527 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 3528 res.getTarget().add(parseCode(xpp)); 3529 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 3530 res.getModifier().add(parseEnumeration(xpp, Conformance.SearchModifierCode.NULL, new Conformance.SearchModifierCodeEnumFactory())); 3531 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("chain")) { 3532 res.getChain().add(parseString(xpp)); 3533 } else if (!parseBackboneContent(eventType, xpp, res)) 3534 unknownContent(xpp); 3535 eventType = nextNoWhitespace(xpp); 3536 } 3537 next(xpp); 3538 parseElementClose(res); 3539 return res; 3540 } 3541 3542 protected Conformance.SystemInteractionComponent parseConformanceSystemInteractionComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3543 Conformance.SystemInteractionComponent res = new Conformance.SystemInteractionComponent(); 3544 parseBackboneAttributes(xpp, res); 3545 next(xpp); 3546 int eventType = nextNoWhitespace(xpp); 3547 while (eventType != XmlPullParser.END_TAG) { 3548 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3549 res.setCodeElement(parseEnumeration(xpp, Conformance.SystemRestfulInteraction.NULL, new Conformance.SystemRestfulInteractionEnumFactory())); 3550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3551 res.setDocumentationElement(parseString(xpp)); 3552 } else if (!parseBackboneContent(eventType, xpp, res)) 3553 unknownContent(xpp); 3554 eventType = nextNoWhitespace(xpp); 3555 } 3556 next(xpp); 3557 parseElementClose(res); 3558 return res; 3559 } 3560 3561 protected Conformance.ConformanceRestOperationComponent parseConformanceConformanceRestOperationComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3562 Conformance.ConformanceRestOperationComponent res = new Conformance.ConformanceRestOperationComponent(); 3563 parseBackboneAttributes(xpp, res); 3564 next(xpp); 3565 int eventType = nextNoWhitespace(xpp); 3566 while (eventType != XmlPullParser.END_TAG) { 3567 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3568 res.setNameElement(parseString(xpp)); 3569 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 3570 res.setDefinition(parseReference(xpp)); 3571 } else if (!parseBackboneContent(eventType, xpp, res)) 3572 unknownContent(xpp); 3573 eventType = nextNoWhitespace(xpp); 3574 } 3575 next(xpp); 3576 parseElementClose(res); 3577 return res; 3578 } 3579 3580 protected Conformance.ConformanceMessagingComponent parseConformanceConformanceMessagingComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3581 Conformance.ConformanceMessagingComponent res = new Conformance.ConformanceMessagingComponent(); 3582 parseBackboneAttributes(xpp, res); 3583 next(xpp); 3584 int eventType = nextNoWhitespace(xpp); 3585 while (eventType != XmlPullParser.END_TAG) { 3586 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 3587 res.getEndpoint().add(parseConformanceConformanceMessagingEndpointComponent(xpp, owner)); 3588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reliableCache")) { 3589 res.setReliableCacheElement(parseUnsignedInt(xpp)); 3590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3591 res.setDocumentationElement(parseString(xpp)); 3592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 3593 res.getEvent().add(parseConformanceConformanceMessagingEventComponent(xpp, owner)); 3594 } else if (!parseBackboneContent(eventType, xpp, res)) 3595 unknownContent(xpp); 3596 eventType = nextNoWhitespace(xpp); 3597 } 3598 next(xpp); 3599 parseElementClose(res); 3600 return res; 3601 } 3602 3603 protected Conformance.ConformanceMessagingEndpointComponent parseConformanceConformanceMessagingEndpointComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3604 Conformance.ConformanceMessagingEndpointComponent res = new Conformance.ConformanceMessagingEndpointComponent(); 3605 parseBackboneAttributes(xpp, res); 3606 next(xpp); 3607 int eventType = nextNoWhitespace(xpp); 3608 while (eventType != XmlPullParser.END_TAG) { 3609 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 3610 res.setProtocol(parseCoding(xpp)); 3611 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 3612 res.setAddressElement(parseUri(xpp)); 3613 } else if (!parseBackboneContent(eventType, xpp, res)) 3614 unknownContent(xpp); 3615 eventType = nextNoWhitespace(xpp); 3616 } 3617 next(xpp); 3618 parseElementClose(res); 3619 return res; 3620 } 3621 3622 protected Conformance.ConformanceMessagingEventComponent parseConformanceConformanceMessagingEventComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3623 Conformance.ConformanceMessagingEventComponent res = new Conformance.ConformanceMessagingEventComponent(); 3624 parseBackboneAttributes(xpp, res); 3625 next(xpp); 3626 int eventType = nextNoWhitespace(xpp); 3627 while (eventType != XmlPullParser.END_TAG) { 3628 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 3629 res.setCode(parseCoding(xpp)); 3630 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 3631 res.setCategoryElement(parseEnumeration(xpp, Conformance.MessageSignificanceCategory.NULL, new Conformance.MessageSignificanceCategoryEnumFactory())); 3632 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3633 res.setModeElement(parseEnumeration(xpp, Conformance.ConformanceEventMode.NULL, new Conformance.ConformanceEventModeEnumFactory())); 3634 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { 3635 res.setFocusElement(parseCode(xpp)); 3636 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 3637 res.setRequest(parseReference(xpp)); 3638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 3639 res.setResponse(parseReference(xpp)); 3640 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3641 res.setDocumentationElement(parseString(xpp)); 3642 } else if (!parseBackboneContent(eventType, xpp, res)) 3643 unknownContent(xpp); 3644 eventType = nextNoWhitespace(xpp); 3645 } 3646 next(xpp); 3647 parseElementClose(res); 3648 return res; 3649 } 3650 3651 protected Conformance.ConformanceDocumentComponent parseConformanceConformanceDocumentComponent(XmlPullParser xpp, Conformance owner) throws XmlPullParserException, IOException, FHIRFormatError { 3652 Conformance.ConformanceDocumentComponent res = new Conformance.ConformanceDocumentComponent(); 3653 parseBackboneAttributes(xpp, res); 3654 next(xpp); 3655 int eventType = nextNoWhitespace(xpp); 3656 while (eventType != XmlPullParser.END_TAG) { 3657 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 3658 res.setModeElement(parseEnumeration(xpp, Conformance.DocumentMode.NULL, new Conformance.DocumentModeEnumFactory())); 3659 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 3660 res.setDocumentationElement(parseString(xpp)); 3661 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 3662 res.setProfile(parseReference(xpp)); 3663 } else if (!parseBackboneContent(eventType, xpp, res)) 3664 unknownContent(xpp); 3665 eventType = nextNoWhitespace(xpp); 3666 } 3667 next(xpp); 3668 parseElementClose(res); 3669 return res; 3670 } 3671 3672 protected Contract parseContract(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3673 Contract res = new Contract(); 3674 parseDomainResourceAttributes(xpp, res); 3675 next(xpp); 3676 int eventType = nextNoWhitespace(xpp); 3677 while (eventType != XmlPullParser.END_TAG) { 3678 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3679 res.setIdentifier(parseIdentifier(xpp)); 3680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 3681 res.setIssuedElement(parseDateTime(xpp)); 3682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applies")) { 3683 res.setApplies(parsePeriod(xpp)); 3684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 3685 res.getSubject().add(parseReference(xpp)); 3686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 3687 res.getAuthority().add(parseReference(xpp)); 3688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("domain")) { 3689 res.getDomain().add(parseReference(xpp)); 3690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3691 res.setType(parseCodeableConcept(xpp)); 3692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 3693 res.getSubType().add(parseCodeableConcept(xpp)); 3694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 3695 res.getAction().add(parseCodeableConcept(xpp)); 3696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionReason")) { 3697 res.getActionReason().add(parseCodeableConcept(xpp)); 3698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 3699 res.getActor().add(parseContractActorComponent(xpp, res)); 3700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valuedItem")) { 3701 res.getValuedItem().add(parseContractValuedItemComponent(xpp, res)); 3702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signer")) { 3703 res.getSigner().add(parseContractSignatoryComponent(xpp, res)); 3704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { 3705 res.getTerm().add(parseContractTermComponent(xpp, res)); 3706 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "binding")) { 3707 res.setBinding(parseType("binding", xpp)); 3708 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("friendly")) { 3709 res.getFriendly().add(parseContractFriendlyLanguageComponent(xpp, res)); 3710 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("legal")) { 3711 res.getLegal().add(parseContractLegalLanguageComponent(xpp, res)); 3712 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rule")) { 3713 res.getRule().add(parseContractComputableLanguageComponent(xpp, res)); 3714 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3715 unknownContent(xpp); 3716 eventType = nextNoWhitespace(xpp); 3717 } 3718 next(xpp); 3719 parseElementClose(res); 3720 return res; 3721 } 3722 3723 protected Contract.ActorComponent parseContractActorComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3724 Contract.ActorComponent res = new Contract.ActorComponent(); 3725 parseBackboneAttributes(xpp, res); 3726 next(xpp); 3727 int eventType = nextNoWhitespace(xpp); 3728 while (eventType != XmlPullParser.END_TAG) { 3729 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 3730 res.setEntity(parseReference(xpp)); 3731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 3732 res.getRole().add(parseCodeableConcept(xpp)); 3733 } else if (!parseBackboneContent(eventType, xpp, res)) 3734 unknownContent(xpp); 3735 eventType = nextNoWhitespace(xpp); 3736 } 3737 next(xpp); 3738 parseElementClose(res); 3739 return res; 3740 } 3741 3742 protected Contract.ValuedItemComponent parseContractValuedItemComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3743 Contract.ValuedItemComponent res = new Contract.ValuedItemComponent(); 3744 parseBackboneAttributes(xpp, res); 3745 next(xpp); 3746 int eventType = nextNoWhitespace(xpp); 3747 while (eventType != XmlPullParser.END_TAG) { 3748 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "entity")) { 3749 res.setEntity(parseType("entity", xpp)); 3750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3751 res.setIdentifier(parseIdentifier(xpp)); 3752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectiveTime")) { 3753 res.setEffectiveTimeElement(parseDateTime(xpp)); 3754 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 3755 res.setQuantity(parseSimpleQuantity(xpp)); 3756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 3757 res.setUnitPrice(parseMoney(xpp)); 3758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 3759 res.setFactorElement(parseDecimal(xpp)); 3760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 3761 res.setPointsElement(parseDecimal(xpp)); 3762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 3763 res.setNet(parseMoney(xpp)); 3764 } else if (!parseBackboneContent(eventType, xpp, res)) 3765 unknownContent(xpp); 3766 eventType = nextNoWhitespace(xpp); 3767 } 3768 next(xpp); 3769 parseElementClose(res); 3770 return res; 3771 } 3772 3773 protected Contract.SignatoryComponent parseContractSignatoryComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3774 Contract.SignatoryComponent res = new Contract.SignatoryComponent(); 3775 parseBackboneAttributes(xpp, res); 3776 next(xpp); 3777 int eventType = nextNoWhitespace(xpp); 3778 while (eventType != XmlPullParser.END_TAG) { 3779 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3780 res.setType(parseCoding(xpp)); 3781 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { 3782 res.setParty(parseReference(xpp)); 3783 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 3784 res.setSignatureElement(parseString(xpp)); 3785 } else if (!parseBackboneContent(eventType, xpp, res)) 3786 unknownContent(xpp); 3787 eventType = nextNoWhitespace(xpp); 3788 } 3789 next(xpp); 3790 parseElementClose(res); 3791 return res; 3792 } 3793 3794 protected Contract.TermComponent parseContractTermComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3795 Contract.TermComponent res = new Contract.TermComponent(); 3796 parseBackboneAttributes(xpp, res); 3797 next(xpp); 3798 int eventType = nextNoWhitespace(xpp); 3799 while (eventType != XmlPullParser.END_TAG) { 3800 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3801 res.setIdentifier(parseIdentifier(xpp)); 3802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 3803 res.setIssuedElement(parseDateTime(xpp)); 3804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applies")) { 3805 res.setApplies(parsePeriod(xpp)); 3806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3807 res.setType(parseCodeableConcept(xpp)); 3808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subType")) { 3809 res.setSubType(parseCodeableConcept(xpp)); 3810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 3811 res.setSubject(parseReference(xpp)); 3812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 3813 res.getAction().add(parseCodeableConcept(xpp)); 3814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actionReason")) { 3815 res.getActionReason().add(parseCodeableConcept(xpp)); 3816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 3817 res.getActor().add(parseContractTermActorComponent(xpp, owner)); 3818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 3819 res.setTextElement(parseString(xpp)); 3820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valuedItem")) { 3821 res.getValuedItem().add(parseContractTermValuedItemComponent(xpp, owner)); 3822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 3823 res.getGroup().add(parseContractTermComponent(xpp, owner)); 3824 } else if (!parseBackboneContent(eventType, xpp, res)) 3825 unknownContent(xpp); 3826 eventType = nextNoWhitespace(xpp); 3827 } 3828 next(xpp); 3829 parseElementClose(res); 3830 return res; 3831 } 3832 3833 protected Contract.TermActorComponent parseContractTermActorComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3834 Contract.TermActorComponent res = new Contract.TermActorComponent(); 3835 parseBackboneAttributes(xpp, res); 3836 next(xpp); 3837 int eventType = nextNoWhitespace(xpp); 3838 while (eventType != XmlPullParser.END_TAG) { 3839 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 3840 res.setEntity(parseReference(xpp)); 3841 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 3842 res.getRole().add(parseCodeableConcept(xpp)); 3843 } else if (!parseBackboneContent(eventType, xpp, res)) 3844 unknownContent(xpp); 3845 eventType = nextNoWhitespace(xpp); 3846 } 3847 next(xpp); 3848 parseElementClose(res); 3849 return res; 3850 } 3851 3852 protected Contract.TermValuedItemComponent parseContractTermValuedItemComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3853 Contract.TermValuedItemComponent res = new Contract.TermValuedItemComponent(); 3854 parseBackboneAttributes(xpp, res); 3855 next(xpp); 3856 int eventType = nextNoWhitespace(xpp); 3857 while (eventType != XmlPullParser.END_TAG) { 3858 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "entity")) { 3859 res.setEntity(parseType("entity", xpp)); 3860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3861 res.setIdentifier(parseIdentifier(xpp)); 3862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectiveTime")) { 3863 res.setEffectiveTimeElement(parseDateTime(xpp)); 3864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 3865 res.setQuantity(parseSimpleQuantity(xpp)); 3866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { 3867 res.setUnitPrice(parseMoney(xpp)); 3868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { 3869 res.setFactorElement(parseDecimal(xpp)); 3870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("points")) { 3871 res.setPointsElement(parseDecimal(xpp)); 3872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { 3873 res.setNet(parseMoney(xpp)); 3874 } else if (!parseBackboneContent(eventType, xpp, res)) 3875 unknownContent(xpp); 3876 eventType = nextNoWhitespace(xpp); 3877 } 3878 next(xpp); 3879 parseElementClose(res); 3880 return res; 3881 } 3882 3883 protected Contract.FriendlyLanguageComponent parseContractFriendlyLanguageComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3884 Contract.FriendlyLanguageComponent res = new Contract.FriendlyLanguageComponent(); 3885 parseBackboneAttributes(xpp, res); 3886 next(xpp); 3887 int eventType = nextNoWhitespace(xpp); 3888 while (eventType != XmlPullParser.END_TAG) { 3889 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 3890 res.setContent(parseType("content", xpp)); 3891 } else if (!parseBackboneContent(eventType, xpp, res)) 3892 unknownContent(xpp); 3893 eventType = nextNoWhitespace(xpp); 3894 } 3895 next(xpp); 3896 parseElementClose(res); 3897 return res; 3898 } 3899 3900 protected Contract.LegalLanguageComponent parseContractLegalLanguageComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3901 Contract.LegalLanguageComponent res = new Contract.LegalLanguageComponent(); 3902 parseBackboneAttributes(xpp, res); 3903 next(xpp); 3904 int eventType = nextNoWhitespace(xpp); 3905 while (eventType != XmlPullParser.END_TAG) { 3906 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 3907 res.setContent(parseType("content", xpp)); 3908 } else if (!parseBackboneContent(eventType, xpp, res)) 3909 unknownContent(xpp); 3910 eventType = nextNoWhitespace(xpp); 3911 } 3912 next(xpp); 3913 parseElementClose(res); 3914 return res; 3915 } 3916 3917 protected Contract.ComputableLanguageComponent parseContractComputableLanguageComponent(XmlPullParser xpp, Contract owner) throws XmlPullParserException, IOException, FHIRFormatError { 3918 Contract.ComputableLanguageComponent res = new Contract.ComputableLanguageComponent(); 3919 parseBackboneAttributes(xpp, res); 3920 next(xpp); 3921 int eventType = nextNoWhitespace(xpp); 3922 while (eventType != XmlPullParser.END_TAG) { 3923 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "content")) { 3924 res.setContent(parseType("content", xpp)); 3925 } else if (!parseBackboneContent(eventType, xpp, res)) 3926 unknownContent(xpp); 3927 eventType = nextNoWhitespace(xpp); 3928 } 3929 next(xpp); 3930 parseElementClose(res); 3931 return res; 3932 } 3933 3934 protected Coverage parseCoverage(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3935 Coverage res = new Coverage(); 3936 parseDomainResourceAttributes(xpp, res); 3937 next(xpp); 3938 int eventType = nextNoWhitespace(xpp); 3939 while (eventType != XmlPullParser.END_TAG) { 3940 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 3941 res.setIssuer(parseReference(xpp)); 3942 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bin")) { 3943 res.setBin(parseIdentifier(xpp)); 3944 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 3945 res.setPeriod(parsePeriod(xpp)); 3946 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 3947 res.setType(parseCoding(xpp)); 3948 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriberId")) { 3949 res.setSubscriberId(parseIdentifier(xpp)); 3950 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3951 res.getIdentifier().add(parseIdentifier(xpp)); 3952 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 3953 res.setGroupElement(parseString(xpp)); 3954 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plan")) { 3955 res.setPlanElement(parseString(xpp)); 3956 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subPlan")) { 3957 res.setSubPlanElement(parseString(xpp)); 3958 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependent")) { 3959 res.setDependentElement(parsePositiveInt(xpp)); 3960 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { 3961 res.setSequenceElement(parsePositiveInt(xpp)); 3962 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriber")) { 3963 res.setSubscriber(parseReference(xpp)); 3964 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { 3965 res.setNetwork(parseIdentifier(xpp)); 3966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contract")) { 3967 res.getContract().add(parseReference(xpp)); 3968 } else if (!parseDomainResourceContent(eventType, xpp, res)) 3969 unknownContent(xpp); 3970 eventType = nextNoWhitespace(xpp); 3971 } 3972 next(xpp); 3973 parseElementClose(res); 3974 return res; 3975 } 3976 3977 protected DataElement parseDataElement(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 3978 DataElement res = new DataElement(); 3979 parseDomainResourceAttributes(xpp, res); 3980 next(xpp); 3981 int eventType = nextNoWhitespace(xpp); 3982 while (eventType != XmlPullParser.END_TAG) { 3983 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 3984 res.setUrlElement(parseUri(xpp)); 3985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 3986 res.getIdentifier().add(parseIdentifier(xpp)); 3987 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 3988 res.setVersionElement(parseString(xpp)); 3989 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 3990 res.setNameElement(parseString(xpp)); 3991 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 3992 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 3993 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 3994 res.setExperimentalElement(parseBoolean(xpp)); 3995 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 3996 res.setPublisherElement(parseString(xpp)); 3997 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 3998 res.getContact().add(parseDataElementDataElementContactComponent(xpp, res)); 3999 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4000 res.setDateElement(parseDateTime(xpp)); 4001 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 4002 res.getUseContext().add(parseCodeableConcept(xpp)); 4003 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 4004 res.setCopyrightElement(parseString(xpp)); 4005 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stringency")) { 4006 res.setStringencyElement(parseEnumeration(xpp, DataElement.DataElementStringency.NULL, new DataElement.DataElementStringencyEnumFactory())); 4007 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 4008 res.getMapping().add(parseDataElementDataElementMappingComponent(xpp, res)); 4009 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 4010 res.getElement().add(parseElementDefinition(xpp)); 4011 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4012 unknownContent(xpp); 4013 eventType = nextNoWhitespace(xpp); 4014 } 4015 next(xpp); 4016 parseElementClose(res); 4017 return res; 4018 } 4019 4020 protected DataElement.DataElementContactComponent parseDataElementDataElementContactComponent(XmlPullParser xpp, DataElement owner) throws XmlPullParserException, IOException, FHIRFormatError { 4021 DataElement.DataElementContactComponent res = new DataElement.DataElementContactComponent(); 4022 parseBackboneAttributes(xpp, res); 4023 next(xpp); 4024 int eventType = nextNoWhitespace(xpp); 4025 while (eventType != XmlPullParser.END_TAG) { 4026 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 4027 res.setNameElement(parseString(xpp)); 4028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 4029 res.getTelecom().add(parseContactPoint(xpp)); 4030 } else if (!parseBackboneContent(eventType, xpp, res)) 4031 unknownContent(xpp); 4032 eventType = nextNoWhitespace(xpp); 4033 } 4034 next(xpp); 4035 parseElementClose(res); 4036 return res; 4037 } 4038 4039 protected DataElement.DataElementMappingComponent parseDataElementDataElementMappingComponent(XmlPullParser xpp, DataElement owner) throws XmlPullParserException, IOException, FHIRFormatError { 4040 DataElement.DataElementMappingComponent res = new DataElement.DataElementMappingComponent(); 4041 parseBackboneAttributes(xpp, res); 4042 next(xpp); 4043 int eventType = nextNoWhitespace(xpp); 4044 while (eventType != XmlPullParser.END_TAG) { 4045 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 4046 res.setIdentityElement(parseId(xpp)); 4047 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 4048 res.setUriElement(parseUri(xpp)); 4049 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 4050 res.setNameElement(parseString(xpp)); 4051 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 4052 res.setCommentsElement(parseString(xpp)); 4053 } else if (!parseBackboneContent(eventType, xpp, res)) 4054 unknownContent(xpp); 4055 eventType = nextNoWhitespace(xpp); 4056 } 4057 next(xpp); 4058 parseElementClose(res); 4059 return res; 4060 } 4061 4062 protected DetectedIssue parseDetectedIssue(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4063 DetectedIssue res = new DetectedIssue(); 4064 parseDomainResourceAttributes(xpp, res); 4065 next(xpp); 4066 int eventType = nextNoWhitespace(xpp); 4067 while (eventType != XmlPullParser.END_TAG) { 4068 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 4069 res.setPatient(parseReference(xpp)); 4070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4071 res.setCategory(parseCodeableConcept(xpp)); 4072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 4073 res.setSeverityElement(parseEnumeration(xpp, DetectedIssue.DetectedIssueSeverity.NULL, new DetectedIssue.DetectedIssueSeverityEnumFactory())); 4074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implicated")) { 4075 res.getImplicated().add(parseReference(xpp)); 4076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 4077 res.setDetailElement(parseString(xpp)); 4078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4079 res.setDateElement(parseDateTime(xpp)); 4080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4081 res.setAuthor(parseReference(xpp)); 4082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4083 res.setIdentifier(parseIdentifier(xpp)); 4084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 4085 res.setReferenceElement(parseUri(xpp)); 4086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mitigation")) { 4087 res.getMitigation().add(parseDetectedIssueDetectedIssueMitigationComponent(xpp, res)); 4088 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4089 unknownContent(xpp); 4090 eventType = nextNoWhitespace(xpp); 4091 } 4092 next(xpp); 4093 parseElementClose(res); 4094 return res; 4095 } 4096 4097 protected DetectedIssue.DetectedIssueMitigationComponent parseDetectedIssueDetectedIssueMitigationComponent(XmlPullParser xpp, DetectedIssue owner) throws XmlPullParserException, IOException, FHIRFormatError { 4098 DetectedIssue.DetectedIssueMitigationComponent res = new DetectedIssue.DetectedIssueMitigationComponent(); 4099 parseBackboneAttributes(xpp, res); 4100 next(xpp); 4101 int eventType = nextNoWhitespace(xpp); 4102 while (eventType != XmlPullParser.END_TAG) { 4103 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 4104 res.setAction(parseCodeableConcept(xpp)); 4105 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 4106 res.setDateElement(parseDateTime(xpp)); 4107 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4108 res.setAuthor(parseReference(xpp)); 4109 } else if (!parseBackboneContent(eventType, xpp, res)) 4110 unknownContent(xpp); 4111 eventType = nextNoWhitespace(xpp); 4112 } 4113 next(xpp); 4114 parseElementClose(res); 4115 return res; 4116 } 4117 4118 protected Device parseDevice(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4119 Device res = new Device(); 4120 parseDomainResourceAttributes(xpp, res); 4121 next(xpp); 4122 int eventType = nextNoWhitespace(xpp); 4123 while (eventType != XmlPullParser.END_TAG) { 4124 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4125 res.getIdentifier().add(parseIdentifier(xpp)); 4126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4127 res.setType(parseCodeableConcept(xpp)); 4128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4129 res.getNote().add(parseAnnotation(xpp)); 4130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4131 res.setStatusElement(parseEnumeration(xpp, Device.DeviceStatus.NULL, new Device.DeviceStatusEnumFactory())); 4132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 4133 res.setManufacturerElement(parseString(xpp)); 4134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("model")) { 4135 res.setModelElement(parseString(xpp)); 4136 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 4137 res.setVersionElement(parseString(xpp)); 4138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufactureDate")) { 4139 res.setManufactureDateElement(parseDateTime(xpp)); 4140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expiry")) { 4141 res.setExpiryElement(parseDateTime(xpp)); 4142 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { 4143 res.setUdiElement(parseString(xpp)); 4144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 4145 res.setLotNumberElement(parseString(xpp)); 4146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { 4147 res.setOwner(parseReference(xpp)); 4148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 4149 res.setLocation(parseReference(xpp)); 4150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 4151 res.setPatient(parseReference(xpp)); 4152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 4153 res.getContact().add(parseContactPoint(xpp)); 4154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 4155 res.setUrlElement(parseUri(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 DeviceComponent parseDeviceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4166 DeviceComponent res = new DeviceComponent(); 4167 parseDomainResourceAttributes(xpp, res); 4168 next(xpp); 4169 int eventType = nextNoWhitespace(xpp); 4170 while (eventType != XmlPullParser.END_TAG) { 4171 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4172 res.setType(parseCodeableConcept(xpp)); 4173 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4174 res.setIdentifier(parseIdentifier(xpp)); 4175 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastSystemChange")) { 4176 res.setLastSystemChangeElement(parseInstant(xpp)); 4177 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 4178 res.setSource(parseReference(xpp)); 4179 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 4180 res.setParent(parseReference(xpp)); 4181 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operationalStatus")) { 4182 res.getOperationalStatus().add(parseCodeableConcept(xpp)); 4183 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameterGroup")) { 4184 res.setParameterGroup(parseCodeableConcept(xpp)); 4185 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measurementPrinciple")) { 4186 res.setMeasurementPrincipleElement(parseEnumeration(xpp, DeviceComponent.MeasmntPrinciple.NULL, new DeviceComponent.MeasmntPrincipleEnumFactory())); 4187 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productionSpecification")) { 4188 res.getProductionSpecification().add(parseDeviceComponentDeviceComponentProductionSpecificationComponent(xpp, res)); 4189 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("languageCode")) { 4190 res.setLanguageCode(parseCodeableConcept(xpp)); 4191 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4192 unknownContent(xpp); 4193 eventType = nextNoWhitespace(xpp); 4194 } 4195 next(xpp); 4196 parseElementClose(res); 4197 return res; 4198 } 4199 4200 protected DeviceComponent.DeviceComponentProductionSpecificationComponent parseDeviceComponentDeviceComponentProductionSpecificationComponent(XmlPullParser xpp, DeviceComponent owner) throws XmlPullParserException, IOException, FHIRFormatError { 4201 DeviceComponent.DeviceComponentProductionSpecificationComponent res = new DeviceComponent.DeviceComponentProductionSpecificationComponent(); 4202 parseBackboneAttributes(xpp, res); 4203 next(xpp); 4204 int eventType = nextNoWhitespace(xpp); 4205 while (eventType != XmlPullParser.END_TAG) { 4206 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specType")) { 4207 res.setSpecType(parseCodeableConcept(xpp)); 4208 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("componentId")) { 4209 res.setComponentId(parseIdentifier(xpp)); 4210 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productionSpec")) { 4211 res.setProductionSpecElement(parseString(xpp)); 4212 } else if (!parseBackboneContent(eventType, xpp, res)) 4213 unknownContent(xpp); 4214 eventType = nextNoWhitespace(xpp); 4215 } 4216 next(xpp); 4217 parseElementClose(res); 4218 return res; 4219 } 4220 4221 protected DeviceMetric parseDeviceMetric(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4222 DeviceMetric res = new DeviceMetric(); 4223 parseDomainResourceAttributes(xpp, res); 4224 next(xpp); 4225 int eventType = nextNoWhitespace(xpp); 4226 while (eventType != XmlPullParser.END_TAG) { 4227 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4228 res.setType(parseCodeableConcept(xpp)); 4229 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4230 res.setIdentifier(parseIdentifier(xpp)); 4231 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { 4232 res.setUnit(parseCodeableConcept(xpp)); 4233 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 4234 res.setSource(parseReference(xpp)); 4235 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 4236 res.setParent(parseReference(xpp)); 4237 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operationalStatus")) { 4238 res.setOperationalStatusElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricOperationalStatus.NULL, new DeviceMetric.DeviceMetricOperationalStatusEnumFactory())); 4239 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("color")) { 4240 res.setColorElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricColor.NULL, new DeviceMetric.DeviceMetricColorEnumFactory())); 4241 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4242 res.setCategoryElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCategory.NULL, new DeviceMetric.DeviceMetricCategoryEnumFactory())); 4243 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("measurementPeriod")) { 4244 res.setMeasurementPeriod(parseTiming(xpp)); 4245 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("calibration")) { 4246 res.getCalibration().add(parseDeviceMetricDeviceMetricCalibrationComponent(xpp, res)); 4247 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4248 unknownContent(xpp); 4249 eventType = nextNoWhitespace(xpp); 4250 } 4251 next(xpp); 4252 parseElementClose(res); 4253 return res; 4254 } 4255 4256 protected DeviceMetric.DeviceMetricCalibrationComponent parseDeviceMetricDeviceMetricCalibrationComponent(XmlPullParser xpp, DeviceMetric owner) throws XmlPullParserException, IOException, FHIRFormatError { 4257 DeviceMetric.DeviceMetricCalibrationComponent res = new DeviceMetric.DeviceMetricCalibrationComponent(); 4258 parseBackboneAttributes(xpp, res); 4259 next(xpp); 4260 int eventType = nextNoWhitespace(xpp); 4261 while (eventType != XmlPullParser.END_TAG) { 4262 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4263 res.setTypeElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCalibrationType.NULL, new DeviceMetric.DeviceMetricCalibrationTypeEnumFactory())); 4264 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("state")) { 4265 res.setStateElement(parseEnumeration(xpp, DeviceMetric.DeviceMetricCalibrationState.NULL, new DeviceMetric.DeviceMetricCalibrationStateEnumFactory())); 4266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 4267 res.setTimeElement(parseInstant(xpp)); 4268 } else if (!parseBackboneContent(eventType, xpp, res)) 4269 unknownContent(xpp); 4270 eventType = nextNoWhitespace(xpp); 4271 } 4272 next(xpp); 4273 parseElementClose(res); 4274 return res; 4275 } 4276 4277 protected DeviceUseRequest parseDeviceUseRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4278 DeviceUseRequest res = new DeviceUseRequest(); 4279 parseDomainResourceAttributes(xpp, res); 4280 next(xpp); 4281 int eventType = nextNoWhitespace(xpp); 4282 while (eventType != XmlPullParser.END_TAG) { 4283 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "bodySite")) { 4284 res.setBodySite(parseType("bodySite", xpp)); 4285 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4286 res.setStatusElement(parseEnumeration(xpp, DeviceUseRequest.DeviceUseRequestStatus.NULL, new DeviceUseRequest.DeviceUseRequestStatusEnumFactory())); 4287 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 4288 res.setDevice(parseReference(xpp)); 4289 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4290 res.setEncounter(parseReference(xpp)); 4291 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4292 res.getIdentifier().add(parseIdentifier(xpp)); 4293 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 4294 res.getIndication().add(parseCodeableConcept(xpp)); 4295 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 4296 res.getNotes().add(parseString(xpp)); 4297 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prnReason")) { 4298 res.getPrnReason().add(parseCodeableConcept(xpp)); 4299 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedOn")) { 4300 res.setOrderedOnElement(parseDateTime(xpp)); 4301 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedOn")) { 4302 res.setRecordedOnElement(parseDateTime(xpp)); 4303 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4304 res.setSubject(parseReference(xpp)); 4305 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 4306 res.setTiming(parseType("timing", xpp)); 4307 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 4308 res.setPriorityElement(parseEnumeration(xpp, DeviceUseRequest.DeviceUseRequestPriority.NULL, new DeviceUseRequest.DeviceUseRequestPriorityEnumFactory())); 4309 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4310 unknownContent(xpp); 4311 eventType = nextNoWhitespace(xpp); 4312 } 4313 next(xpp); 4314 parseElementClose(res); 4315 return res; 4316 } 4317 4318 protected DeviceUseStatement parseDeviceUseStatement(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4319 DeviceUseStatement res = new DeviceUseStatement(); 4320 parseDomainResourceAttributes(xpp, res); 4321 next(xpp); 4322 int eventType = nextNoWhitespace(xpp); 4323 while (eventType != XmlPullParser.END_TAG) { 4324 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "bodySite")) { 4325 res.setBodySite(parseType("bodySite", xpp)); 4326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenUsed")) { 4327 res.setWhenUsed(parsePeriod(xpp)); 4328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 4329 res.setDevice(parseReference(xpp)); 4330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4331 res.getIdentifier().add(parseIdentifier(xpp)); 4332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 4333 res.getIndication().add(parseCodeableConcept(xpp)); 4334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 4335 res.getNotes().add(parseString(xpp)); 4336 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recordedOn")) { 4337 res.setRecordedOnElement(parseDateTime(xpp)); 4338 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4339 res.setSubject(parseReference(xpp)); 4340 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { 4341 res.setTiming(parseType("timing", xpp)); 4342 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4343 unknownContent(xpp); 4344 eventType = nextNoWhitespace(xpp); 4345 } 4346 next(xpp); 4347 parseElementClose(res); 4348 return res; 4349 } 4350 4351 protected DiagnosticOrder parseDiagnosticOrder(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4352 DiagnosticOrder res = new DiagnosticOrder(); 4353 parseDomainResourceAttributes(xpp, res); 4354 next(xpp); 4355 int eventType = nextNoWhitespace(xpp); 4356 while (eventType != XmlPullParser.END_TAG) { 4357 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4358 res.setSubject(parseReference(xpp)); 4359 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { 4360 res.setOrderer(parseReference(xpp)); 4361 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4362 res.getIdentifier().add(parseIdentifier(xpp)); 4363 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4364 res.setEncounter(parseReference(xpp)); 4365 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 4366 res.getReason().add(parseCodeableConcept(xpp)); 4367 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 4368 res.getSupportingInformation().add(parseReference(xpp)); 4369 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 4370 res.getSpecimen().add(parseReference(xpp)); 4371 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4372 res.setStatusElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderStatus.NULL, new DiagnosticOrder.DiagnosticOrderStatusEnumFactory())); 4373 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 4374 res.setPriorityElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderPriority.NULL, new DiagnosticOrder.DiagnosticOrderPriorityEnumFactory())); 4375 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 4376 res.getEvent().add(parseDiagnosticOrderDiagnosticOrderEventComponent(xpp, res)); 4377 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 4378 res.getItem().add(parseDiagnosticOrderDiagnosticOrderItemComponent(xpp, res)); 4379 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 4380 res.getNote().add(parseAnnotation(xpp)); 4381 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4382 unknownContent(xpp); 4383 eventType = nextNoWhitespace(xpp); 4384 } 4385 next(xpp); 4386 parseElementClose(res); 4387 return res; 4388 } 4389 4390 protected DiagnosticOrder.DiagnosticOrderEventComponent parseDiagnosticOrderDiagnosticOrderEventComponent(XmlPullParser xpp, DiagnosticOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 4391 DiagnosticOrder.DiagnosticOrderEventComponent res = new DiagnosticOrder.DiagnosticOrderEventComponent(); 4392 parseBackboneAttributes(xpp, res); 4393 next(xpp); 4394 int eventType = nextNoWhitespace(xpp); 4395 while (eventType != XmlPullParser.END_TAG) { 4396 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4397 res.setStatusElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderStatus.NULL, new DiagnosticOrder.DiagnosticOrderStatusEnumFactory())); 4398 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4399 res.setDescription(parseCodeableConcept(xpp)); 4400 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 4401 res.setDateTimeElement(parseDateTime(xpp)); 4402 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 4403 res.setActor(parseReference(xpp)); 4404 } else if (!parseBackboneContent(eventType, xpp, res)) 4405 unknownContent(xpp); 4406 eventType = nextNoWhitespace(xpp); 4407 } 4408 next(xpp); 4409 parseElementClose(res); 4410 return res; 4411 } 4412 4413 protected DiagnosticOrder.DiagnosticOrderItemComponent parseDiagnosticOrderDiagnosticOrderItemComponent(XmlPullParser xpp, DiagnosticOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 4414 DiagnosticOrder.DiagnosticOrderItemComponent res = new DiagnosticOrder.DiagnosticOrderItemComponent(); 4415 parseBackboneAttributes(xpp, res); 4416 next(xpp); 4417 int eventType = nextNoWhitespace(xpp); 4418 while (eventType != XmlPullParser.END_TAG) { 4419 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4420 res.setCode(parseCodeableConcept(xpp)); 4421 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 4422 res.getSpecimen().add(parseReference(xpp)); 4423 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 4424 res.setBodySite(parseCodeableConcept(xpp)); 4425 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4426 res.setStatusElement(parseEnumeration(xpp, DiagnosticOrder.DiagnosticOrderStatus.NULL, new DiagnosticOrder.DiagnosticOrderStatusEnumFactory())); 4427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 4428 res.getEvent().add(parseDiagnosticOrderDiagnosticOrderEventComponent(xpp, owner)); 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 DiagnosticReport parseDiagnosticReport(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4439 DiagnosticReport res = new DiagnosticReport(); 4440 parseDomainResourceAttributes(xpp, res); 4441 next(xpp); 4442 int eventType = nextNoWhitespace(xpp); 4443 while (eventType != XmlPullParser.END_TAG) { 4444 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4445 res.getIdentifier().add(parseIdentifier(xpp)); 4446 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4447 res.setStatusElement(parseEnumeration(xpp, DiagnosticReport.DiagnosticReportStatus.NULL, new DiagnosticReport.DiagnosticReportStatusEnumFactory())); 4448 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 4449 res.setCategory(parseCodeableConcept(xpp)); 4450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4451 res.setCode(parseCodeableConcept(xpp)); 4452 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4453 res.setSubject(parseReference(xpp)); 4454 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4455 res.setEncounter(parseReference(xpp)); 4456 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 4457 res.setEffective(parseType("effective", xpp)); 4458 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 4459 res.setIssuedElement(parseInstant(xpp)); 4460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 4461 res.setPerformer(parseReference(xpp)); 4462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 4463 res.getRequest().add(parseReference(xpp)); 4464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 4465 res.getSpecimen().add(parseReference(xpp)); 4466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) { 4467 res.getResult().add(parseReference(xpp)); 4468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imagingStudy")) { 4469 res.getImagingStudy().add(parseReference(xpp)); 4470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("image")) { 4471 res.getImage().add(parseDiagnosticReportDiagnosticReportImageComponent(xpp, res)); 4472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conclusion")) { 4473 res.setConclusionElement(parseString(xpp)); 4474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codedDiagnosis")) { 4475 res.getCodedDiagnosis().add(parseCodeableConcept(xpp)); 4476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("presentedForm")) { 4477 res.getPresentedForm().add(parseAttachment(xpp)); 4478 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4479 unknownContent(xpp); 4480 eventType = nextNoWhitespace(xpp); 4481 } 4482 next(xpp); 4483 parseElementClose(res); 4484 return res; 4485 } 4486 4487 protected DiagnosticReport.DiagnosticReportImageComponent parseDiagnosticReportDiagnosticReportImageComponent(XmlPullParser xpp, DiagnosticReport owner) throws XmlPullParserException, IOException, FHIRFormatError { 4488 DiagnosticReport.DiagnosticReportImageComponent res = new DiagnosticReport.DiagnosticReportImageComponent(); 4489 parseBackboneAttributes(xpp, res); 4490 next(xpp); 4491 int eventType = nextNoWhitespace(xpp); 4492 while (eventType != XmlPullParser.END_TAG) { 4493 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 4494 res.setCommentElement(parseString(xpp)); 4495 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 4496 res.setLink(parseReference(xpp)); 4497 } else if (!parseBackboneContent(eventType, xpp, res)) 4498 unknownContent(xpp); 4499 eventType = nextNoWhitespace(xpp); 4500 } 4501 next(xpp); 4502 parseElementClose(res); 4503 return res; 4504 } 4505 4506 protected DocumentManifest parseDocumentManifest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4507 DocumentManifest res = new DocumentManifest(); 4508 parseDomainResourceAttributes(xpp, res); 4509 next(xpp); 4510 int eventType = nextNoWhitespace(xpp); 4511 while (eventType != XmlPullParser.END_TAG) { 4512 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("masterIdentifier")) { 4513 res.setMasterIdentifier(parseIdentifier(xpp)); 4514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4515 res.getIdentifier().add(parseIdentifier(xpp)); 4516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4517 res.setSubject(parseReference(xpp)); 4518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 4519 res.getRecipient().add(parseReference(xpp)); 4520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4521 res.setType(parseCodeableConcept(xpp)); 4522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4523 res.getAuthor().add(parseReference(xpp)); 4524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4525 res.setCreatedElement(parseDateTime(xpp)); 4526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 4527 res.setSourceElement(parseUri(xpp)); 4528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4529 res.setStatusElement(parseEnumeration(xpp, Enumerations.DocumentReferenceStatus.NULL, new Enumerations.DocumentReferenceStatusEnumFactory())); 4530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4531 res.setDescriptionElement(parseString(xpp)); 4532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 4533 res.getContent().add(parseDocumentManifestDocumentManifestContentComponent(xpp, res)); 4534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 4535 res.getRelated().add(parseDocumentManifestDocumentManifestRelatedComponent(xpp, res)); 4536 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4537 unknownContent(xpp); 4538 eventType = nextNoWhitespace(xpp); 4539 } 4540 next(xpp); 4541 parseElementClose(res); 4542 return res; 4543 } 4544 4545 protected DocumentManifest.DocumentManifestContentComponent parseDocumentManifestDocumentManifestContentComponent(XmlPullParser xpp, DocumentManifest owner) throws XmlPullParserException, IOException, FHIRFormatError { 4546 DocumentManifest.DocumentManifestContentComponent res = new DocumentManifest.DocumentManifestContentComponent(); 4547 parseBackboneAttributes(xpp, res); 4548 next(xpp); 4549 int eventType = nextNoWhitespace(xpp); 4550 while (eventType != XmlPullParser.END_TAG) { 4551 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "p")) { 4552 res.setP(parseType("p", xpp)); 4553 } else if (!parseBackboneContent(eventType, xpp, res)) 4554 unknownContent(xpp); 4555 eventType = nextNoWhitespace(xpp); 4556 } 4557 next(xpp); 4558 parseElementClose(res); 4559 return res; 4560 } 4561 4562 protected DocumentManifest.DocumentManifestRelatedComponent parseDocumentManifestDocumentManifestRelatedComponent(XmlPullParser xpp, DocumentManifest owner) throws XmlPullParserException, IOException, FHIRFormatError { 4563 DocumentManifest.DocumentManifestRelatedComponent res = new DocumentManifest.DocumentManifestRelatedComponent(); 4564 parseBackboneAttributes(xpp, res); 4565 next(xpp); 4566 int eventType = nextNoWhitespace(xpp); 4567 while (eventType != XmlPullParser.END_TAG) { 4568 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4569 res.setIdentifier(parseIdentifier(xpp)); 4570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ref")) { 4571 res.setRef(parseReference(xpp)); 4572 } else if (!parseBackboneContent(eventType, xpp, res)) 4573 unknownContent(xpp); 4574 eventType = nextNoWhitespace(xpp); 4575 } 4576 next(xpp); 4577 parseElementClose(res); 4578 return res; 4579 } 4580 4581 protected DocumentReference parseDocumentReference(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4582 DocumentReference res = new DocumentReference(); 4583 parseDomainResourceAttributes(xpp, res); 4584 next(xpp); 4585 int eventType = nextNoWhitespace(xpp); 4586 while (eventType != XmlPullParser.END_TAG) { 4587 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("masterIdentifier")) { 4588 res.setMasterIdentifier(parseIdentifier(xpp)); 4589 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4590 res.getIdentifier().add(parseIdentifier(xpp)); 4591 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4592 res.setSubject(parseReference(xpp)); 4593 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4594 res.setType(parseCodeableConcept(xpp)); 4595 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 4596 res.setClass_(parseCodeableConcept(xpp)); 4597 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 4598 res.getAuthor().add(parseReference(xpp)); 4599 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { 4600 res.setCustodian(parseReference(xpp)); 4601 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authenticator")) { 4602 res.setAuthenticator(parseReference(xpp)); 4603 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4604 res.setCreatedElement(parseDateTime(xpp)); 4605 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indexed")) { 4606 res.setIndexedElement(parseInstant(xpp)); 4607 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4608 res.setStatusElement(parseEnumeration(xpp, Enumerations.DocumentReferenceStatus.NULL, new Enumerations.DocumentReferenceStatusEnumFactory())); 4609 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("docStatus")) { 4610 res.setDocStatus(parseCodeableConcept(xpp)); 4611 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatesTo")) { 4612 res.getRelatesTo().add(parseDocumentReferenceDocumentReferenceRelatesToComponent(xpp, res)); 4613 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 4614 res.setDescriptionElement(parseString(xpp)); 4615 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("securityLabel")) { 4616 res.getSecurityLabel().add(parseCodeableConcept(xpp)); 4617 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 4618 res.getContent().add(parseDocumentReferenceDocumentReferenceContentComponent(xpp, res)); 4619 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 4620 res.setContext(parseDocumentReferenceDocumentReferenceContextComponent(xpp, res)); 4621 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4622 unknownContent(xpp); 4623 eventType = nextNoWhitespace(xpp); 4624 } 4625 next(xpp); 4626 parseElementClose(res); 4627 return res; 4628 } 4629 4630 protected DocumentReference.DocumentReferenceRelatesToComponent parseDocumentReferenceDocumentReferenceRelatesToComponent(XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4631 DocumentReference.DocumentReferenceRelatesToComponent res = new DocumentReference.DocumentReferenceRelatesToComponent(); 4632 parseBackboneAttributes(xpp, res); 4633 next(xpp); 4634 int eventType = nextNoWhitespace(xpp); 4635 while (eventType != XmlPullParser.END_TAG) { 4636 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 4637 res.setCodeElement(parseEnumeration(xpp, DocumentReference.DocumentRelationshipType.NULL, new DocumentReference.DocumentRelationshipTypeEnumFactory())); 4638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 4639 res.setTarget(parseReference(xpp)); 4640 } else if (!parseBackboneContent(eventType, xpp, res)) 4641 unknownContent(xpp); 4642 eventType = nextNoWhitespace(xpp); 4643 } 4644 next(xpp); 4645 parseElementClose(res); 4646 return res; 4647 } 4648 4649 protected DocumentReference.DocumentReferenceContentComponent parseDocumentReferenceDocumentReferenceContentComponent(XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4650 DocumentReference.DocumentReferenceContentComponent res = new DocumentReference.DocumentReferenceContentComponent(); 4651 parseBackboneAttributes(xpp, res); 4652 next(xpp); 4653 int eventType = nextNoWhitespace(xpp); 4654 while (eventType != XmlPullParser.END_TAG) { 4655 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attachment")) { 4656 res.setAttachment(parseAttachment(xpp)); 4657 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 4658 res.getFormat().add(parseCoding(xpp)); 4659 } else if (!parseBackboneContent(eventType, xpp, res)) 4660 unknownContent(xpp); 4661 eventType = nextNoWhitespace(xpp); 4662 } 4663 next(xpp); 4664 parseElementClose(res); 4665 return res; 4666 } 4667 4668 protected DocumentReference.DocumentReferenceContextComponent parseDocumentReferenceDocumentReferenceContextComponent(XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4669 DocumentReference.DocumentReferenceContextComponent res = new DocumentReference.DocumentReferenceContextComponent(); 4670 parseBackboneAttributes(xpp, res); 4671 next(xpp); 4672 int eventType = nextNoWhitespace(xpp); 4673 while (eventType != XmlPullParser.END_TAG) { 4674 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 4675 res.setEncounter(parseReference(xpp)); 4676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 4677 res.getEvent().add(parseCodeableConcept(xpp)); 4678 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4679 res.setPeriod(parsePeriod(xpp)); 4680 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facilityType")) { 4681 res.setFacilityType(parseCodeableConcept(xpp)); 4682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practiceSetting")) { 4683 res.setPracticeSetting(parseCodeableConcept(xpp)); 4684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourcePatientInfo")) { 4685 res.setSourcePatientInfo(parseReference(xpp)); 4686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 4687 res.getRelated().add(parseDocumentReferenceDocumentReferenceContextRelatedComponent(xpp, owner)); 4688 } else if (!parseBackboneContent(eventType, xpp, res)) 4689 unknownContent(xpp); 4690 eventType = nextNoWhitespace(xpp); 4691 } 4692 next(xpp); 4693 parseElementClose(res); 4694 return res; 4695 } 4696 4697 protected DocumentReference.DocumentReferenceContextRelatedComponent parseDocumentReferenceDocumentReferenceContextRelatedComponent(XmlPullParser xpp, DocumentReference owner) throws XmlPullParserException, IOException, FHIRFormatError { 4698 DocumentReference.DocumentReferenceContextRelatedComponent res = new DocumentReference.DocumentReferenceContextRelatedComponent(); 4699 parseBackboneAttributes(xpp, res); 4700 next(xpp); 4701 int eventType = nextNoWhitespace(xpp); 4702 while (eventType != XmlPullParser.END_TAG) { 4703 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4704 res.setIdentifier(parseIdentifier(xpp)); 4705 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ref")) { 4706 res.setRef(parseReference(xpp)); 4707 } else if (!parseBackboneContent(eventType, xpp, res)) 4708 unknownContent(xpp); 4709 eventType = nextNoWhitespace(xpp); 4710 } 4711 next(xpp); 4712 parseElementClose(res); 4713 return res; 4714 } 4715 4716 protected EligibilityRequest parseEligibilityRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4717 EligibilityRequest res = new EligibilityRequest(); 4718 parseDomainResourceAttributes(xpp, res); 4719 next(xpp); 4720 int eventType = nextNoWhitespace(xpp); 4721 while (eventType != XmlPullParser.END_TAG) { 4722 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4723 res.getIdentifier().add(parseIdentifier(xpp)); 4724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 4725 res.setRuleset(parseCoding(xpp)); 4726 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 4727 res.setOriginalRuleset(parseCoding(xpp)); 4728 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4729 res.setCreatedElement(parseDateTime(xpp)); 4730 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 4731 res.setTarget(parseReference(xpp)); 4732 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 4733 res.setProvider(parseReference(xpp)); 4734 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 4735 res.setOrganization(parseReference(xpp)); 4736 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4737 unknownContent(xpp); 4738 eventType = nextNoWhitespace(xpp); 4739 } 4740 next(xpp); 4741 parseElementClose(res); 4742 return res; 4743 } 4744 4745 protected EligibilityResponse parseEligibilityResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4746 EligibilityResponse res = new EligibilityResponse(); 4747 parseDomainResourceAttributes(xpp, res); 4748 next(xpp); 4749 int eventType = nextNoWhitespace(xpp); 4750 while (eventType != XmlPullParser.END_TAG) { 4751 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4752 res.getIdentifier().add(parseIdentifier(xpp)); 4753 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 4754 res.setRequest(parseReference(xpp)); 4755 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 4756 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 4757 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 4758 res.setDispositionElement(parseString(xpp)); 4759 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 4760 res.setRuleset(parseCoding(xpp)); 4761 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 4762 res.setOriginalRuleset(parseCoding(xpp)); 4763 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4764 res.setCreatedElement(parseDateTime(xpp)); 4765 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 4766 res.setOrganization(parseReference(xpp)); 4767 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 4768 res.setRequestProvider(parseReference(xpp)); 4769 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 4770 res.setRequestOrganization(parseReference(xpp)); 4771 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4772 unknownContent(xpp); 4773 eventType = nextNoWhitespace(xpp); 4774 } 4775 next(xpp); 4776 parseElementClose(res); 4777 return res; 4778 } 4779 4780 protected Encounter parseEncounter(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4781 Encounter res = new Encounter(); 4782 parseDomainResourceAttributes(xpp, res); 4783 next(xpp); 4784 int eventType = nextNoWhitespace(xpp); 4785 while (eventType != XmlPullParser.END_TAG) { 4786 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4787 res.getIdentifier().add(parseIdentifier(xpp)); 4788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4789 res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterState.NULL, new Encounter.EncounterStateEnumFactory())); 4790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusHistory")) { 4791 res.getStatusHistory().add(parseEncounterEncounterStatusHistoryComponent(xpp, res)); 4792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { 4793 res.setClass_Element(parseEnumeration(xpp, Encounter.EncounterClass.NULL, new Encounter.EncounterClassEnumFactory())); 4794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4795 res.getType().add(parseCodeableConcept(xpp)); 4796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 4797 res.setPriority(parseCodeableConcept(xpp)); 4798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 4799 res.setPatient(parseReference(xpp)); 4800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("episodeOfCare")) { 4801 res.getEpisodeOfCare().add(parseReference(xpp)); 4802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("incomingReferral")) { 4803 res.getIncomingReferral().add(parseReference(xpp)); 4804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { 4805 res.getParticipant().add(parseEncounterEncounterParticipantComponent(xpp, res)); 4806 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { 4807 res.setAppointment(parseReference(xpp)); 4808 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4809 res.setPeriod(parsePeriod(xpp)); 4810 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("length")) { 4811 res.setLength(parseDuration(xpp)); 4812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 4813 res.getReason().add(parseCodeableConcept(xpp)); 4814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { 4815 res.getIndication().add(parseReference(xpp)); 4816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hospitalization")) { 4817 res.setHospitalization(parseEncounterEncounterHospitalizationComponent(xpp, res)); 4818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 4819 res.getLocation().add(parseEncounterEncounterLocationComponent(xpp, res)); 4820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvider")) { 4821 res.setServiceProvider(parseReference(xpp)); 4822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 4823 res.setPartOf(parseReference(xpp)); 4824 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4825 unknownContent(xpp); 4826 eventType = nextNoWhitespace(xpp); 4827 } 4828 next(xpp); 4829 parseElementClose(res); 4830 return res; 4831 } 4832 4833 protected Encounter.EncounterStatusHistoryComponent parseEncounterEncounterStatusHistoryComponent(XmlPullParser xpp, Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 4834 Encounter.EncounterStatusHistoryComponent res = new Encounter.EncounterStatusHistoryComponent(); 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("status")) { 4840 res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterState.NULL, new Encounter.EncounterStateEnumFactory())); 4841 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4842 res.setPeriod(parsePeriod(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 Encounter.EncounterParticipantComponent parseEncounterEncounterParticipantComponent(XmlPullParser xpp, Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 4853 Encounter.EncounterParticipantComponent res = new Encounter.EncounterParticipantComponent(); 4854 parseBackboneAttributes(xpp, res); 4855 next(xpp); 4856 int eventType = nextNoWhitespace(xpp); 4857 while (eventType != XmlPullParser.END_TAG) { 4858 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 4859 res.getType().add(parseCodeableConcept(xpp)); 4860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4861 res.setPeriod(parsePeriod(xpp)); 4862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("individual")) { 4863 res.setIndividual(parseReference(xpp)); 4864 } else if (!parseBackboneContent(eventType, xpp, res)) 4865 unknownContent(xpp); 4866 eventType = nextNoWhitespace(xpp); 4867 } 4868 next(xpp); 4869 parseElementClose(res); 4870 return res; 4871 } 4872 4873 protected Encounter.EncounterHospitalizationComponent parseEncounterEncounterHospitalizationComponent(XmlPullParser xpp, Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 4874 Encounter.EncounterHospitalizationComponent res = new Encounter.EncounterHospitalizationComponent(); 4875 parseBackboneAttributes(xpp, res); 4876 next(xpp); 4877 int eventType = nextNoWhitespace(xpp); 4878 while (eventType != XmlPullParser.END_TAG) { 4879 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAdmissionIdentifier")) { 4880 res.setPreAdmissionIdentifier(parseIdentifier(xpp)); 4881 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { 4882 res.setOrigin(parseReference(xpp)); 4883 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("admitSource")) { 4884 res.setAdmitSource(parseCodeableConcept(xpp)); 4885 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("admittingDiagnosis")) { 4886 res.getAdmittingDiagnosis().add(parseReference(xpp)); 4887 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reAdmission")) { 4888 res.setReAdmission(parseCodeableConcept(xpp)); 4889 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dietPreference")) { 4890 res.getDietPreference().add(parseCodeableConcept(xpp)); 4891 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialCourtesy")) { 4892 res.getSpecialCourtesy().add(parseCodeableConcept(xpp)); 4893 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialArrangement")) { 4894 res.getSpecialArrangement().add(parseCodeableConcept(xpp)); 4895 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 4896 res.setDestination(parseReference(xpp)); 4897 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dischargeDisposition")) { 4898 res.setDischargeDisposition(parseCodeableConcept(xpp)); 4899 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dischargeDiagnosis")) { 4900 res.getDischargeDiagnosis().add(parseReference(xpp)); 4901 } else if (!parseBackboneContent(eventType, xpp, res)) 4902 unknownContent(xpp); 4903 eventType = nextNoWhitespace(xpp); 4904 } 4905 next(xpp); 4906 parseElementClose(res); 4907 return res; 4908 } 4909 4910 protected Encounter.EncounterLocationComponent parseEncounterEncounterLocationComponent(XmlPullParser xpp, Encounter owner) throws XmlPullParserException, IOException, FHIRFormatError { 4911 Encounter.EncounterLocationComponent res = new Encounter.EncounterLocationComponent(); 4912 parseBackboneAttributes(xpp, res); 4913 next(xpp); 4914 int eventType = nextNoWhitespace(xpp); 4915 while (eventType != XmlPullParser.END_TAG) { 4916 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 4917 res.setLocation(parseReference(xpp)); 4918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 4919 res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterLocationStatus.NULL, new Encounter.EncounterLocationStatusEnumFactory())); 4920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 4921 res.setPeriod(parsePeriod(xpp)); 4922 } else if (!parseBackboneContent(eventType, xpp, res)) 4923 unknownContent(xpp); 4924 eventType = nextNoWhitespace(xpp); 4925 } 4926 next(xpp); 4927 parseElementClose(res); 4928 return res; 4929 } 4930 4931 protected EnrollmentRequest parseEnrollmentRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4932 EnrollmentRequest res = new EnrollmentRequest(); 4933 parseDomainResourceAttributes(xpp, res); 4934 next(xpp); 4935 int eventType = nextNoWhitespace(xpp); 4936 while (eventType != XmlPullParser.END_TAG) { 4937 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4938 res.getIdentifier().add(parseIdentifier(xpp)); 4939 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 4940 res.setRuleset(parseCoding(xpp)); 4941 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 4942 res.setOriginalRuleset(parseCoding(xpp)); 4943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4944 res.setCreatedElement(parseDateTime(xpp)); 4945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 4946 res.setTarget(parseReference(xpp)); 4947 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 4948 res.setProvider(parseReference(xpp)); 4949 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 4950 res.setOrganization(parseReference(xpp)); 4951 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 4952 res.setSubject(parseReference(xpp)); 4953 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverage")) { 4954 res.setCoverage(parseReference(xpp)); 4955 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 4956 res.setRelationship(parseCoding(xpp)); 4957 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4958 unknownContent(xpp); 4959 eventType = nextNoWhitespace(xpp); 4960 } 4961 next(xpp); 4962 parseElementClose(res); 4963 return res; 4964 } 4965 4966 protected EnrollmentResponse parseEnrollmentResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 4967 EnrollmentResponse res = new EnrollmentResponse(); 4968 parseDomainResourceAttributes(xpp, res); 4969 next(xpp); 4970 int eventType = nextNoWhitespace(xpp); 4971 while (eventType != XmlPullParser.END_TAG) { 4972 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 4973 res.getIdentifier().add(parseIdentifier(xpp)); 4974 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 4975 res.setRequest(parseReference(xpp)); 4976 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 4977 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 4978 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 4979 res.setDispositionElement(parseString(xpp)); 4980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 4981 res.setRuleset(parseCoding(xpp)); 4982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 4983 res.setOriginalRuleset(parseCoding(xpp)); 4984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 4985 res.setCreatedElement(parseDateTime(xpp)); 4986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 4987 res.setOrganization(parseReference(xpp)); 4988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 4989 res.setRequestProvider(parseReference(xpp)); 4990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 4991 res.setRequestOrganization(parseReference(xpp)); 4992 } else if (!parseDomainResourceContent(eventType, xpp, res)) 4993 unknownContent(xpp); 4994 eventType = nextNoWhitespace(xpp); 4995 } 4996 next(xpp); 4997 parseElementClose(res); 4998 return res; 4999 } 5000 5001 protected EpisodeOfCare parseEpisodeOfCare(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5002 EpisodeOfCare res = new EpisodeOfCare(); 5003 parseDomainResourceAttributes(xpp, res); 5004 next(xpp); 5005 int eventType = nextNoWhitespace(xpp); 5006 while (eventType != XmlPullParser.END_TAG) { 5007 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5008 res.getIdentifier().add(parseIdentifier(xpp)); 5009 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5010 res.setStatusElement(parseEnumeration(xpp, EpisodeOfCare.EpisodeOfCareStatus.NULL, new EpisodeOfCare.EpisodeOfCareStatusEnumFactory())); 5011 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusHistory")) { 5012 res.getStatusHistory().add(parseEpisodeOfCareEpisodeOfCareStatusHistoryComponent(xpp, res)); 5013 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5014 res.getType().add(parseCodeableConcept(xpp)); 5015 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 5016 res.getCondition().add(parseReference(xpp)); 5017 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5018 res.setPatient(parseReference(xpp)); 5019 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 5020 res.setManagingOrganization(parseReference(xpp)); 5021 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5022 res.setPeriod(parsePeriod(xpp)); 5023 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referralRequest")) { 5024 res.getReferralRequest().add(parseReference(xpp)); 5025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careManager")) { 5026 res.setCareManager(parseReference(xpp)); 5027 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { 5028 res.getCareTeam().add(parseEpisodeOfCareEpisodeOfCareCareTeamComponent(xpp, res)); 5029 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5030 unknownContent(xpp); 5031 eventType = nextNoWhitespace(xpp); 5032 } 5033 next(xpp); 5034 parseElementClose(res); 5035 return res; 5036 } 5037 5038 protected EpisodeOfCare.EpisodeOfCareStatusHistoryComponent parseEpisodeOfCareEpisodeOfCareStatusHistoryComponent(XmlPullParser xpp, EpisodeOfCare owner) throws XmlPullParserException, IOException, FHIRFormatError { 5039 EpisodeOfCare.EpisodeOfCareStatusHistoryComponent res = new EpisodeOfCare.EpisodeOfCareStatusHistoryComponent(); 5040 parseBackboneAttributes(xpp, res); 5041 next(xpp); 5042 int eventType = nextNoWhitespace(xpp); 5043 while (eventType != XmlPullParser.END_TAG) { 5044 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5045 res.setStatusElement(parseEnumeration(xpp, EpisodeOfCare.EpisodeOfCareStatus.NULL, new EpisodeOfCare.EpisodeOfCareStatusEnumFactory())); 5046 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5047 res.setPeriod(parsePeriod(xpp)); 5048 } else if (!parseBackboneContent(eventType, xpp, res)) 5049 unknownContent(xpp); 5050 eventType = nextNoWhitespace(xpp); 5051 } 5052 next(xpp); 5053 parseElementClose(res); 5054 return res; 5055 } 5056 5057 protected EpisodeOfCare.EpisodeOfCareCareTeamComponent parseEpisodeOfCareEpisodeOfCareCareTeamComponent(XmlPullParser xpp, EpisodeOfCare owner) throws XmlPullParserException, IOException, FHIRFormatError { 5058 EpisodeOfCare.EpisodeOfCareCareTeamComponent res = new EpisodeOfCare.EpisodeOfCareCareTeamComponent(); 5059 parseBackboneAttributes(xpp, res); 5060 next(xpp); 5061 int eventType = nextNoWhitespace(xpp); 5062 while (eventType != XmlPullParser.END_TAG) { 5063 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 5064 res.getRole().add(parseCodeableConcept(xpp)); 5065 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5066 res.setPeriod(parsePeriod(xpp)); 5067 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 5068 res.setMember(parseReference(xpp)); 5069 } else if (!parseBackboneContent(eventType, xpp, res)) 5070 unknownContent(xpp); 5071 eventType = nextNoWhitespace(xpp); 5072 } 5073 next(xpp); 5074 parseElementClose(res); 5075 return res; 5076 } 5077 5078 protected ExplanationOfBenefit parseExplanationOfBenefit(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5079 ExplanationOfBenefit res = new ExplanationOfBenefit(); 5080 parseDomainResourceAttributes(xpp, res); 5081 next(xpp); 5082 int eventType = nextNoWhitespace(xpp); 5083 while (eventType != XmlPullParser.END_TAG) { 5084 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5085 res.getIdentifier().add(parseIdentifier(xpp)); 5086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 5087 res.setRequest(parseReference(xpp)); 5088 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5089 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 5090 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 5091 res.setDispositionElement(parseString(xpp)); 5092 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 5093 res.setRuleset(parseCoding(xpp)); 5094 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 5095 res.setOriginalRuleset(parseCoding(xpp)); 5096 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 5097 res.setCreatedElement(parseDateTime(xpp)); 5098 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 5099 res.setOrganization(parseReference(xpp)); 5100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 5101 res.setRequestProvider(parseReference(xpp)); 5102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 5103 res.setRequestOrganization(parseReference(xpp)); 5104 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5105 unknownContent(xpp); 5106 eventType = nextNoWhitespace(xpp); 5107 } 5108 next(xpp); 5109 parseElementClose(res); 5110 return res; 5111 } 5112 5113 protected FamilyMemberHistory parseFamilyMemberHistory(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5114 FamilyMemberHistory res = new FamilyMemberHistory(); 5115 parseDomainResourceAttributes(xpp, res); 5116 next(xpp); 5117 int eventType = nextNoWhitespace(xpp); 5118 while (eventType != XmlPullParser.END_TAG) { 5119 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5120 res.getIdentifier().add(parseIdentifier(xpp)); 5121 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5122 res.setPatient(parseReference(xpp)); 5123 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5124 res.setDateElement(parseDateTime(xpp)); 5125 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5126 res.setStatusElement(parseEnumeration(xpp, FamilyMemberHistory.FamilyHistoryStatus.NULL, new FamilyMemberHistory.FamilyHistoryStatusEnumFactory())); 5127 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 5128 res.setNameElement(parseString(xpp)); 5129 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 5130 res.setRelationship(parseCodeableConcept(xpp)); 5131 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 5132 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 5133 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "born")) { 5134 res.setBorn(parseType("born", xpp)); 5135 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "age")) { 5136 res.setAge(parseType("age", xpp)); 5137 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { 5138 res.setDeceased(parseType("deceased", xpp)); 5139 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5140 res.setNote(parseAnnotation(xpp)); 5141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 5142 res.getCondition().add(parseFamilyMemberHistoryFamilyMemberHistoryConditionComponent(xpp, res)); 5143 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5144 unknownContent(xpp); 5145 eventType = nextNoWhitespace(xpp); 5146 } 5147 next(xpp); 5148 parseElementClose(res); 5149 return res; 5150 } 5151 5152 protected FamilyMemberHistory.FamilyMemberHistoryConditionComponent parseFamilyMemberHistoryFamilyMemberHistoryConditionComponent(XmlPullParser xpp, FamilyMemberHistory owner) throws XmlPullParserException, IOException, FHIRFormatError { 5153 FamilyMemberHistory.FamilyMemberHistoryConditionComponent res = new FamilyMemberHistory.FamilyMemberHistoryConditionComponent(); 5154 parseBackboneAttributes(xpp, res); 5155 next(xpp); 5156 int eventType = nextNoWhitespace(xpp); 5157 while (eventType != XmlPullParser.END_TAG) { 5158 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5159 res.setCode(parseCodeableConcept(xpp)); 5160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5161 res.setOutcome(parseCodeableConcept(xpp)); 5162 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "onset")) { 5163 res.setOnset(parseType("onset", xpp)); 5164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5165 res.setNote(parseAnnotation(xpp)); 5166 } else if (!parseBackboneContent(eventType, xpp, res)) 5167 unknownContent(xpp); 5168 eventType = nextNoWhitespace(xpp); 5169 } 5170 next(xpp); 5171 parseElementClose(res); 5172 return res; 5173 } 5174 5175 protected Flag parseFlag(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5176 Flag res = new Flag(); 5177 parseDomainResourceAttributes(xpp, res); 5178 next(xpp); 5179 int eventType = nextNoWhitespace(xpp); 5180 while (eventType != XmlPullParser.END_TAG) { 5181 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5182 res.getIdentifier().add(parseIdentifier(xpp)); 5183 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5184 res.setCategory(parseCodeableConcept(xpp)); 5185 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5186 res.setStatusElement(parseEnumeration(xpp, Flag.FlagStatus.NULL, new Flag.FlagStatusEnumFactory())); 5187 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5188 res.setPeriod(parsePeriod(xpp)); 5189 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 5190 res.setSubject(parseReference(xpp)); 5191 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 5192 res.setEncounter(parseReference(xpp)); 5193 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 5194 res.setAuthor(parseReference(xpp)); 5195 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5196 res.setCode(parseCodeableConcept(xpp)); 5197 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5198 unknownContent(xpp); 5199 eventType = nextNoWhitespace(xpp); 5200 } 5201 next(xpp); 5202 parseElementClose(res); 5203 return res; 5204 } 5205 5206 protected Goal parseGoal(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5207 Goal res = new Goal(); 5208 parseDomainResourceAttributes(xpp, res); 5209 next(xpp); 5210 int eventType = nextNoWhitespace(xpp); 5211 while (eventType != XmlPullParser.END_TAG) { 5212 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5213 res.getIdentifier().add(parseIdentifier(xpp)); 5214 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 5215 res.setSubject(parseReference(xpp)); 5216 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "start")) { 5217 res.setStart(parseType("start", xpp)); 5218 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "target")) { 5219 res.setTarget(parseType("target", xpp)); 5220 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 5221 res.getCategory().add(parseCodeableConcept(xpp)); 5222 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5223 res.setDescriptionElement(parseString(xpp)); 5224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5225 res.setStatusElement(parseEnumeration(xpp, Goal.GoalStatus.NULL, new Goal.GoalStatusEnumFactory())); 5226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { 5227 res.setStatusDateElement(parseDate(xpp)); 5228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { 5229 res.setStatusReason(parseCodeableConcept(xpp)); 5230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 5231 res.setAuthor(parseReference(xpp)); 5232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 5233 res.setPriority(parseCodeableConcept(xpp)); 5234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addresses")) { 5235 res.getAddresses().add(parseReference(xpp)); 5236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5237 res.getNote().add(parseAnnotation(xpp)); 5238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 5239 res.getOutcome().add(parseGoalGoalOutcomeComponent(xpp, res)); 5240 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5241 unknownContent(xpp); 5242 eventType = nextNoWhitespace(xpp); 5243 } 5244 next(xpp); 5245 parseElementClose(res); 5246 return res; 5247 } 5248 5249 protected Goal.GoalOutcomeComponent parseGoalGoalOutcomeComponent(XmlPullParser xpp, Goal owner) throws XmlPullParserException, IOException, FHIRFormatError { 5250 Goal.GoalOutcomeComponent res = new Goal.GoalOutcomeComponent(); 5251 parseBackboneAttributes(xpp, res); 5252 next(xpp); 5253 int eventType = nextNoWhitespace(xpp); 5254 while (eventType != XmlPullParser.END_TAG) { 5255 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "result")) { 5256 res.setResult(parseType("result", xpp)); 5257 } else if (!parseBackboneContent(eventType, xpp, res)) 5258 unknownContent(xpp); 5259 eventType = nextNoWhitespace(xpp); 5260 } 5261 next(xpp); 5262 parseElementClose(res); 5263 return res; 5264 } 5265 5266 protected Group parseGroup(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5267 Group res = new Group(); 5268 parseDomainResourceAttributes(xpp, res); 5269 next(xpp); 5270 int eventType = nextNoWhitespace(xpp); 5271 while (eventType != XmlPullParser.END_TAG) { 5272 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5273 res.getIdentifier().add(parseIdentifier(xpp)); 5274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5275 res.setTypeElement(parseEnumeration(xpp, Group.GroupType.NULL, new Group.GroupTypeEnumFactory())); 5276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { 5277 res.setActualElement(parseBoolean(xpp)); 5278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5279 res.setCode(parseCodeableConcept(xpp)); 5280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 5281 res.setNameElement(parseString(xpp)); 5282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 5283 res.setQuantityElement(parseUnsignedInt(xpp)); 5284 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 5285 res.getCharacteristic().add(parseGroupGroupCharacteristicComponent(xpp, res)); 5286 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("member")) { 5287 res.getMember().add(parseGroupGroupMemberComponent(xpp, res)); 5288 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5289 unknownContent(xpp); 5290 eventType = nextNoWhitespace(xpp); 5291 } 5292 next(xpp); 5293 parseElementClose(res); 5294 return res; 5295 } 5296 5297 protected Group.GroupCharacteristicComponent parseGroupGroupCharacteristicComponent(XmlPullParser xpp, Group owner) throws XmlPullParserException, IOException, FHIRFormatError { 5298 Group.GroupCharacteristicComponent res = new Group.GroupCharacteristicComponent(); 5299 parseBackboneAttributes(xpp, res); 5300 next(xpp); 5301 int eventType = nextNoWhitespace(xpp); 5302 while (eventType != XmlPullParser.END_TAG) { 5303 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5304 res.setCode(parseCodeableConcept(xpp)); 5305 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 5306 res.setValue(parseType("value", xpp)); 5307 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 5308 res.setExcludeElement(parseBoolean(xpp)); 5309 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5310 res.setPeriod(parsePeriod(xpp)); 5311 } else if (!parseBackboneContent(eventType, xpp, res)) 5312 unknownContent(xpp); 5313 eventType = nextNoWhitespace(xpp); 5314 } 5315 next(xpp); 5316 parseElementClose(res); 5317 return res; 5318 } 5319 5320 protected Group.GroupMemberComponent parseGroupGroupMemberComponent(XmlPullParser xpp, Group owner) throws XmlPullParserException, IOException, FHIRFormatError { 5321 Group.GroupMemberComponent res = new Group.GroupMemberComponent(); 5322 parseBackboneAttributes(xpp, res); 5323 next(xpp); 5324 int eventType = nextNoWhitespace(xpp); 5325 while (eventType != XmlPullParser.END_TAG) { 5326 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 5327 res.setEntity(parseReference(xpp)); 5328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 5329 res.setPeriod(parsePeriod(xpp)); 5330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inactive")) { 5331 res.setInactiveElement(parseBoolean(xpp)); 5332 } else if (!parseBackboneContent(eventType, xpp, res)) 5333 unknownContent(xpp); 5334 eventType = nextNoWhitespace(xpp); 5335 } 5336 next(xpp); 5337 parseElementClose(res); 5338 return res; 5339 } 5340 5341 protected HealthcareService parseHealthcareService(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5342 HealthcareService res = new HealthcareService(); 5343 parseDomainResourceAttributes(xpp, res); 5344 next(xpp); 5345 int eventType = nextNoWhitespace(xpp); 5346 while (eventType != XmlPullParser.END_TAG) { 5347 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5348 res.getIdentifier().add(parseIdentifier(xpp)); 5349 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("providedBy")) { 5350 res.setProvidedBy(parseReference(xpp)); 5351 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceCategory")) { 5352 res.setServiceCategory(parseCodeableConcept(xpp)); 5353 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { 5354 res.getServiceType().add(parseHealthcareServiceServiceTypeComponent(xpp, res)); 5355 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 5356 res.setLocation(parseReference(xpp)); 5357 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceName")) { 5358 res.setServiceNameElement(parseString(xpp)); 5359 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 5360 res.setCommentElement(parseString(xpp)); 5361 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extraDetails")) { 5362 res.setExtraDetailsElement(parseString(xpp)); 5363 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 5364 res.setPhoto(parseAttachment(xpp)); 5365 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 5366 res.getTelecom().add(parseContactPoint(xpp)); 5367 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverageArea")) { 5368 res.getCoverageArea().add(parseReference(xpp)); 5369 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvisionCode")) { 5370 res.getServiceProvisionCode().add(parseCodeableConcept(xpp)); 5371 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eligibility")) { 5372 res.setEligibility(parseCodeableConcept(xpp)); 5373 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eligibilityNote")) { 5374 res.setEligibilityNoteElement(parseString(xpp)); 5375 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programName")) { 5376 res.getProgramName().add(parseString(xpp)); 5377 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { 5378 res.getCharacteristic().add(parseCodeableConcept(xpp)); 5379 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referralMethod")) { 5380 res.getReferralMethod().add(parseCodeableConcept(xpp)); 5381 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicKey")) { 5382 res.setPublicKeyElement(parseString(xpp)); 5383 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointmentRequired")) { 5384 res.setAppointmentRequiredElement(parseBoolean(xpp)); 5385 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableTime")) { 5386 res.getAvailableTime().add(parseHealthcareServiceHealthcareServiceAvailableTimeComponent(xpp, res)); 5387 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notAvailable")) { 5388 res.getNotAvailable().add(parseHealthcareServiceHealthcareServiceNotAvailableComponent(xpp, res)); 5389 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { 5390 res.setAvailabilityExceptionsElement(parseString(xpp)); 5391 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5392 unknownContent(xpp); 5393 eventType = nextNoWhitespace(xpp); 5394 } 5395 next(xpp); 5396 parseElementClose(res); 5397 return res; 5398 } 5399 5400 protected HealthcareService.ServiceTypeComponent parseHealthcareServiceServiceTypeComponent(XmlPullParser xpp, HealthcareService owner) throws XmlPullParserException, IOException, FHIRFormatError { 5401 HealthcareService.ServiceTypeComponent res = new HealthcareService.ServiceTypeComponent(); 5402 parseBackboneAttributes(xpp, res); 5403 next(xpp); 5404 int eventType = nextNoWhitespace(xpp); 5405 while (eventType != XmlPullParser.END_TAG) { 5406 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5407 res.setType(parseCodeableConcept(xpp)); 5408 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 5409 res.getSpecialty().add(parseCodeableConcept(xpp)); 5410 } else if (!parseBackboneContent(eventType, xpp, res)) 5411 unknownContent(xpp); 5412 eventType = nextNoWhitespace(xpp); 5413 } 5414 next(xpp); 5415 parseElementClose(res); 5416 return res; 5417 } 5418 5419 protected HealthcareService.HealthcareServiceAvailableTimeComponent parseHealthcareServiceHealthcareServiceAvailableTimeComponent(XmlPullParser xpp, HealthcareService owner) throws XmlPullParserException, IOException, FHIRFormatError { 5420 HealthcareService.HealthcareServiceAvailableTimeComponent res = new HealthcareService.HealthcareServiceAvailableTimeComponent(); 5421 parseBackboneAttributes(xpp, res); 5422 next(xpp); 5423 int eventType = nextNoWhitespace(xpp); 5424 while (eventType != XmlPullParser.END_TAG) { 5425 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { 5426 res.getDaysOfWeek().add(parseEnumeration(xpp, HealthcareService.DaysOfWeek.NULL, new HealthcareService.DaysOfWeekEnumFactory())); 5427 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { 5428 res.setAllDayElement(parseBoolean(xpp)); 5429 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableStartTime")) { 5430 res.setAvailableStartTimeElement(parseTime(xpp)); 5431 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableEndTime")) { 5432 res.setAvailableEndTimeElement(parseTime(xpp)); 5433 } else if (!parseBackboneContent(eventType, xpp, res)) 5434 unknownContent(xpp); 5435 eventType = nextNoWhitespace(xpp); 5436 } 5437 next(xpp); 5438 parseElementClose(res); 5439 return res; 5440 } 5441 5442 protected HealthcareService.HealthcareServiceNotAvailableComponent parseHealthcareServiceHealthcareServiceNotAvailableComponent(XmlPullParser xpp, HealthcareService owner) throws XmlPullParserException, IOException, FHIRFormatError { 5443 HealthcareService.HealthcareServiceNotAvailableComponent res = new HealthcareService.HealthcareServiceNotAvailableComponent(); 5444 parseBackboneAttributes(xpp, res); 5445 next(xpp); 5446 int eventType = nextNoWhitespace(xpp); 5447 while (eventType != XmlPullParser.END_TAG) { 5448 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5449 res.setDescriptionElement(parseString(xpp)); 5450 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("during")) { 5451 res.setDuring(parsePeriod(xpp)); 5452 } else if (!parseBackboneContent(eventType, xpp, res)) 5453 unknownContent(xpp); 5454 eventType = nextNoWhitespace(xpp); 5455 } 5456 next(xpp); 5457 parseElementClose(res); 5458 return res; 5459 } 5460 5461 protected ImagingObjectSelection parseImagingObjectSelection(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5462 ImagingObjectSelection res = new ImagingObjectSelection(); 5463 parseDomainResourceAttributes(xpp, res); 5464 next(xpp); 5465 int eventType = nextNoWhitespace(xpp); 5466 while (eventType != XmlPullParser.END_TAG) { 5467 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5468 res.setUidElement(parseOid(xpp)); 5469 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5470 res.setPatient(parseReference(xpp)); 5471 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 5472 res.setTitle(parseCodeableConcept(xpp)); 5473 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5474 res.setDescriptionElement(parseString(xpp)); 5475 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 5476 res.setAuthor(parseReference(xpp)); 5477 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoringTime")) { 5478 res.setAuthoringTimeElement(parseDateTime(xpp)); 5479 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("study")) { 5480 res.getStudy().add(parseImagingObjectSelectionStudyComponent(xpp, res)); 5481 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5482 unknownContent(xpp); 5483 eventType = nextNoWhitespace(xpp); 5484 } 5485 next(xpp); 5486 parseElementClose(res); 5487 return res; 5488 } 5489 5490 protected ImagingObjectSelection.StudyComponent parseImagingObjectSelectionStudyComponent(XmlPullParser xpp, ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5491 ImagingObjectSelection.StudyComponent res = new ImagingObjectSelection.StudyComponent(); 5492 parseBackboneAttributes(xpp, res); 5493 next(xpp); 5494 int eventType = nextNoWhitespace(xpp); 5495 while (eventType != XmlPullParser.END_TAG) { 5496 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5497 res.setUidElement(parseOid(xpp)); 5498 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5499 res.setUrlElement(parseUri(xpp)); 5500 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imagingStudy")) { 5501 res.setImagingStudy(parseReference(xpp)); 5502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 5503 res.getSeries().add(parseImagingObjectSelectionSeriesComponent(xpp, owner)); 5504 } else if (!parseBackboneContent(eventType, xpp, res)) 5505 unknownContent(xpp); 5506 eventType = nextNoWhitespace(xpp); 5507 } 5508 next(xpp); 5509 parseElementClose(res); 5510 return res; 5511 } 5512 5513 protected ImagingObjectSelection.SeriesComponent parseImagingObjectSelectionSeriesComponent(XmlPullParser xpp, ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5514 ImagingObjectSelection.SeriesComponent res = new ImagingObjectSelection.SeriesComponent(); 5515 parseBackboneAttributes(xpp, res); 5516 next(xpp); 5517 int eventType = nextNoWhitespace(xpp); 5518 while (eventType != XmlPullParser.END_TAG) { 5519 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5520 res.setUidElement(parseOid(xpp)); 5521 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5522 res.setUrlElement(parseUri(xpp)); 5523 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 5524 res.getInstance().add(parseImagingObjectSelectionInstanceComponent(xpp, owner)); 5525 } else if (!parseBackboneContent(eventType, xpp, res)) 5526 unknownContent(xpp); 5527 eventType = nextNoWhitespace(xpp); 5528 } 5529 next(xpp); 5530 parseElementClose(res); 5531 return res; 5532 } 5533 5534 protected ImagingObjectSelection.InstanceComponent parseImagingObjectSelectionInstanceComponent(XmlPullParser xpp, ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5535 ImagingObjectSelection.InstanceComponent res = new ImagingObjectSelection.InstanceComponent(); 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("sopClass")) { 5541 res.setSopClassElement(parseOid(xpp)); 5542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5543 res.setUidElement(parseOid(xpp)); 5544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5545 res.setUrlElement(parseUri(xpp)); 5546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frames")) { 5547 res.getFrames().add(parseImagingObjectSelectionFramesComponent(xpp, owner)); 5548 } else if (!parseBackboneContent(eventType, xpp, res)) 5549 unknownContent(xpp); 5550 eventType = nextNoWhitespace(xpp); 5551 } 5552 next(xpp); 5553 parseElementClose(res); 5554 return res; 5555 } 5556 5557 protected ImagingObjectSelection.FramesComponent parseImagingObjectSelectionFramesComponent(XmlPullParser xpp, ImagingObjectSelection owner) throws XmlPullParserException, IOException, FHIRFormatError { 5558 ImagingObjectSelection.FramesComponent res = new ImagingObjectSelection.FramesComponent(); 5559 parseBackboneAttributes(xpp, res); 5560 next(xpp); 5561 int eventType = nextNoWhitespace(xpp); 5562 while (eventType != XmlPullParser.END_TAG) { 5563 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frameNumbers")) { 5564 res.getFrameNumbers().add(parseUnsignedInt(xpp)); 5565 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5566 res.setUrlElement(parseUri(xpp)); 5567 } else if (!parseBackboneContent(eventType, xpp, res)) 5568 unknownContent(xpp); 5569 eventType = nextNoWhitespace(xpp); 5570 } 5571 next(xpp); 5572 parseElementClose(res); 5573 return res; 5574 } 5575 5576 protected ImagingStudy parseImagingStudy(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5577 ImagingStudy res = new ImagingStudy(); 5578 parseDomainResourceAttributes(xpp, res); 5579 next(xpp); 5580 int eventType = nextNoWhitespace(xpp); 5581 while (eventType != XmlPullParser.END_TAG) { 5582 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("started")) { 5583 res.setStartedElement(parseDateTime(xpp)); 5584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5585 res.setPatient(parseReference(xpp)); 5586 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5587 res.setUidElement(parseOid(xpp)); 5588 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accession")) { 5589 res.setAccession(parseIdentifier(xpp)); 5590 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5591 res.getIdentifier().add(parseIdentifier(xpp)); 5592 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("order")) { 5593 res.getOrder().add(parseReference(xpp)); 5594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modalityList")) { 5595 res.getModalityList().add(parseCoding(xpp)); 5596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referrer")) { 5597 res.setReferrer(parseReference(xpp)); 5598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availability")) { 5599 res.setAvailabilityElement(parseEnumeration(xpp, ImagingStudy.InstanceAvailability.NULL, new ImagingStudy.InstanceAvailabilityEnumFactory())); 5600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5601 res.setUrlElement(parseUri(xpp)); 5602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfSeries")) { 5603 res.setNumberOfSeriesElement(parseUnsignedInt(xpp)); 5604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfInstances")) { 5605 res.setNumberOfInstancesElement(parseUnsignedInt(xpp)); 5606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 5607 res.getProcedure().add(parseReference(xpp)); 5608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpreter")) { 5609 res.setInterpreter(parseReference(xpp)); 5610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5611 res.setDescriptionElement(parseString(xpp)); 5612 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 5613 res.getSeries().add(parseImagingStudyImagingStudySeriesComponent(xpp, res)); 5614 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5615 unknownContent(xpp); 5616 eventType = nextNoWhitespace(xpp); 5617 } 5618 next(xpp); 5619 parseElementClose(res); 5620 return res; 5621 } 5622 5623 protected ImagingStudy.ImagingStudySeriesComponent parseImagingStudyImagingStudySeriesComponent(XmlPullParser xpp, ImagingStudy owner) throws XmlPullParserException, IOException, FHIRFormatError { 5624 ImagingStudy.ImagingStudySeriesComponent res = new ImagingStudy.ImagingStudySeriesComponent(); 5625 parseBackboneAttributes(xpp, res); 5626 next(xpp); 5627 int eventType = nextNoWhitespace(xpp); 5628 while (eventType != XmlPullParser.END_TAG) { 5629 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 5630 res.setNumberElement(parseUnsignedInt(xpp)); 5631 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modality")) { 5632 res.setModality(parseCoding(xpp)); 5633 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5634 res.setUidElement(parseOid(xpp)); 5635 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5636 res.setDescriptionElement(parseString(xpp)); 5637 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfInstances")) { 5638 res.setNumberOfInstancesElement(parseUnsignedInt(xpp)); 5639 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availability")) { 5640 res.setAvailabilityElement(parseEnumeration(xpp, ImagingStudy.InstanceAvailability.NULL, new ImagingStudy.InstanceAvailabilityEnumFactory())); 5641 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5642 res.setUrlElement(parseUri(xpp)); 5643 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 5644 res.setBodySite(parseCoding(xpp)); 5645 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("laterality")) { 5646 res.setLaterality(parseCoding(xpp)); 5647 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("started")) { 5648 res.setStartedElement(parseDateTime(xpp)); 5649 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 5650 res.getInstance().add(parseImagingStudyImagingStudySeriesInstanceComponent(xpp, owner)); 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 ImagingStudy.ImagingStudySeriesInstanceComponent parseImagingStudyImagingStudySeriesInstanceComponent(XmlPullParser xpp, ImagingStudy owner) throws XmlPullParserException, IOException, FHIRFormatError { 5661 ImagingStudy.ImagingStudySeriesInstanceComponent res = new ImagingStudy.ImagingStudySeriesInstanceComponent(); 5662 parseBackboneAttributes(xpp, res); 5663 next(xpp); 5664 int eventType = nextNoWhitespace(xpp); 5665 while (eventType != XmlPullParser.END_TAG) { 5666 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { 5667 res.setNumberElement(parseUnsignedInt(xpp)); 5668 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { 5669 res.setUidElement(parseOid(xpp)); 5670 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sopClass")) { 5671 res.setSopClassElement(parseOid(xpp)); 5672 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5673 res.setTypeElement(parseString(xpp)); 5674 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 5675 res.setTitleElement(parseString(xpp)); 5676 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 5677 res.getContent().add(parseAttachment(xpp)); 5678 } else if (!parseBackboneContent(eventType, xpp, res)) 5679 unknownContent(xpp); 5680 eventType = nextNoWhitespace(xpp); 5681 } 5682 next(xpp); 5683 parseElementClose(res); 5684 return res; 5685 } 5686 5687 protected Immunization parseImmunization(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5688 Immunization res = new Immunization(); 5689 parseDomainResourceAttributes(xpp, res); 5690 next(xpp); 5691 int eventType = nextNoWhitespace(xpp); 5692 while (eventType != XmlPullParser.END_TAG) { 5693 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5694 res.getIdentifier().add(parseIdentifier(xpp)); 5695 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5696 res.setStatusElement(parseCode(xpp)); 5697 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5698 res.setDateElement(parseDateTime(xpp)); 5699 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccineCode")) { 5700 res.setVaccineCode(parseCodeableConcept(xpp)); 5701 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5702 res.setPatient(parseReference(xpp)); 5703 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wasNotGiven")) { 5704 res.setWasNotGivenElement(parseBoolean(xpp)); 5705 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reported")) { 5706 res.setReportedElement(parseBoolean(xpp)); 5707 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 5708 res.setPerformer(parseReference(xpp)); 5709 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 5710 res.setRequester(parseReference(xpp)); 5711 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 5712 res.setEncounter(parseReference(xpp)); 5713 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 5714 res.setManufacturer(parseReference(xpp)); 5715 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 5716 res.setLocation(parseReference(xpp)); 5717 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 5718 res.setLotNumberElement(parseString(xpp)); 5719 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { 5720 res.setExpirationDateElement(parseDate(xpp)); 5721 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { 5722 res.setSite(parseCodeableConcept(xpp)); 5723 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 5724 res.setRoute(parseCodeableConcept(xpp)); 5725 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseQuantity")) { 5726 res.setDoseQuantity(parseSimpleQuantity(xpp)); 5727 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 5728 res.getNote().add(parseAnnotation(xpp)); 5729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("explanation")) { 5730 res.setExplanation(parseImmunizationImmunizationExplanationComponent(xpp, res)); 5731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reaction")) { 5732 res.getReaction().add(parseImmunizationImmunizationReactionComponent(xpp, res)); 5733 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccinationProtocol")) { 5734 res.getVaccinationProtocol().add(parseImmunizationImmunizationVaccinationProtocolComponent(xpp, res)); 5735 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5736 unknownContent(xpp); 5737 eventType = nextNoWhitespace(xpp); 5738 } 5739 next(xpp); 5740 parseElementClose(res); 5741 return res; 5742 } 5743 5744 protected Immunization.ImmunizationExplanationComponent parseImmunizationImmunizationExplanationComponent(XmlPullParser xpp, Immunization owner) throws XmlPullParserException, IOException, FHIRFormatError { 5745 Immunization.ImmunizationExplanationComponent res = new Immunization.ImmunizationExplanationComponent(); 5746 parseBackboneAttributes(xpp, res); 5747 next(xpp); 5748 int eventType = nextNoWhitespace(xpp); 5749 while (eventType != XmlPullParser.END_TAG) { 5750 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 5751 res.getReason().add(parseCodeableConcept(xpp)); 5752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotGiven")) { 5753 res.getReasonNotGiven().add(parseCodeableConcept(xpp)); 5754 } else if (!parseBackboneContent(eventType, xpp, res)) 5755 unknownContent(xpp); 5756 eventType = nextNoWhitespace(xpp); 5757 } 5758 next(xpp); 5759 parseElementClose(res); 5760 return res; 5761 } 5762 5763 protected Immunization.ImmunizationReactionComponent parseImmunizationImmunizationReactionComponent(XmlPullParser xpp, Immunization owner) throws XmlPullParserException, IOException, FHIRFormatError { 5764 Immunization.ImmunizationReactionComponent res = new Immunization.ImmunizationReactionComponent(); 5765 parseBackboneAttributes(xpp, res); 5766 next(xpp); 5767 int eventType = nextNoWhitespace(xpp); 5768 while (eventType != XmlPullParser.END_TAG) { 5769 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5770 res.setDateElement(parseDateTime(xpp)); 5771 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 5772 res.setDetail(parseReference(xpp)); 5773 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reported")) { 5774 res.setReportedElement(parseBoolean(xpp)); 5775 } else if (!parseBackboneContent(eventType, xpp, res)) 5776 unknownContent(xpp); 5777 eventType = nextNoWhitespace(xpp); 5778 } 5779 next(xpp); 5780 parseElementClose(res); 5781 return res; 5782 } 5783 5784 protected Immunization.ImmunizationVaccinationProtocolComponent parseImmunizationImmunizationVaccinationProtocolComponent(XmlPullParser xpp, Immunization owner) throws XmlPullParserException, IOException, FHIRFormatError { 5785 Immunization.ImmunizationVaccinationProtocolComponent res = new Immunization.ImmunizationVaccinationProtocolComponent(); 5786 parseBackboneAttributes(xpp, res); 5787 next(xpp); 5788 int eventType = nextNoWhitespace(xpp); 5789 while (eventType != XmlPullParser.END_TAG) { 5790 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseSequence")) { 5791 res.setDoseSequenceElement(parsePositiveInt(xpp)); 5792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5793 res.setDescriptionElement(parseString(xpp)); 5794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 5795 res.setAuthority(parseReference(xpp)); 5796 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 5797 res.setSeriesElement(parseString(xpp)); 5798 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("seriesDoses")) { 5799 res.setSeriesDosesElement(parsePositiveInt(xpp)); 5800 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetDisease")) { 5801 res.getTargetDisease().add(parseCodeableConcept(xpp)); 5802 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseStatus")) { 5803 res.setDoseStatus(parseCodeableConcept(xpp)); 5804 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseStatusReason")) { 5805 res.setDoseStatusReason(parseCodeableConcept(xpp)); 5806 } else if (!parseBackboneContent(eventType, xpp, res)) 5807 unknownContent(xpp); 5808 eventType = nextNoWhitespace(xpp); 5809 } 5810 next(xpp); 5811 parseElementClose(res); 5812 return res; 5813 } 5814 5815 protected ImmunizationRecommendation parseImmunizationRecommendation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5816 ImmunizationRecommendation res = new ImmunizationRecommendation(); 5817 parseDomainResourceAttributes(xpp, res); 5818 next(xpp); 5819 int eventType = nextNoWhitespace(xpp); 5820 while (eventType != XmlPullParser.END_TAG) { 5821 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 5822 res.getIdentifier().add(parseIdentifier(xpp)); 5823 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 5824 res.setPatient(parseReference(xpp)); 5825 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recommendation")) { 5826 res.getRecommendation().add(parseImmunizationRecommendationImmunizationRecommendationRecommendationComponent(xpp, res)); 5827 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5828 unknownContent(xpp); 5829 eventType = nextNoWhitespace(xpp); 5830 } 5831 next(xpp); 5832 parseElementClose(res); 5833 return res; 5834 } 5835 5836 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent parseImmunizationRecommendationImmunizationRecommendationRecommendationComponent(XmlPullParser xpp, ImmunizationRecommendation owner) throws XmlPullParserException, IOException, FHIRFormatError { 5837 ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent(); 5838 parseBackboneAttributes(xpp, res); 5839 next(xpp); 5840 int eventType = nextNoWhitespace(xpp); 5841 while (eventType != XmlPullParser.END_TAG) { 5842 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5843 res.setDateElement(parseDateTime(xpp)); 5844 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccineCode")) { 5845 res.setVaccineCode(parseCodeableConcept(xpp)); 5846 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseNumber")) { 5847 res.setDoseNumberElement(parsePositiveInt(xpp)); 5848 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("forecastStatus")) { 5849 res.setForecastStatus(parseCodeableConcept(xpp)); 5850 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateCriterion")) { 5851 res.getDateCriterion().add(parseImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent(xpp, owner)); 5852 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { 5853 res.setProtocol(parseImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent(xpp, owner)); 5854 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingImmunization")) { 5855 res.getSupportingImmunization().add(parseReference(xpp)); 5856 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingPatientInformation")) { 5857 res.getSupportingPatientInformation().add(parseReference(xpp)); 5858 } else if (!parseBackboneContent(eventType, xpp, res)) 5859 unknownContent(xpp); 5860 eventType = nextNoWhitespace(xpp); 5861 } 5862 next(xpp); 5863 parseElementClose(res); 5864 return res; 5865 } 5866 5867 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent parseImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent(XmlPullParser xpp, ImmunizationRecommendation owner) throws XmlPullParserException, IOException, FHIRFormatError { 5868 ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent(); 5869 parseBackboneAttributes(xpp, res); 5870 next(xpp); 5871 int eventType = nextNoWhitespace(xpp); 5872 while (eventType != XmlPullParser.END_TAG) { 5873 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 5874 res.setCode(parseCodeableConcept(xpp)); 5875 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 5876 res.setValueElement(parseDateTime(xpp)); 5877 } else if (!parseBackboneContent(eventType, xpp, res)) 5878 unknownContent(xpp); 5879 eventType = nextNoWhitespace(xpp); 5880 } 5881 next(xpp); 5882 parseElementClose(res); 5883 return res; 5884 } 5885 5886 protected ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent parseImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent(XmlPullParser xpp, ImmunizationRecommendation owner) throws XmlPullParserException, IOException, FHIRFormatError { 5887 ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent res = new ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent(); 5888 parseBackboneAttributes(xpp, res); 5889 next(xpp); 5890 int eventType = nextNoWhitespace(xpp); 5891 while (eventType != XmlPullParser.END_TAG) { 5892 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doseSequence")) { 5893 res.setDoseSequenceElement(parseInteger(xpp)); 5894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5895 res.setDescriptionElement(parseString(xpp)); 5896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authority")) { 5897 res.setAuthority(parseReference(xpp)); 5898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("series")) { 5899 res.setSeriesElement(parseString(xpp)); 5900 } else if (!parseBackboneContent(eventType, xpp, res)) 5901 unknownContent(xpp); 5902 eventType = nextNoWhitespace(xpp); 5903 } 5904 next(xpp); 5905 parseElementClose(res); 5906 return res; 5907 } 5908 5909 protected ImplementationGuide parseImplementationGuide(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 5910 ImplementationGuide res = new ImplementationGuide(); 5911 parseDomainResourceAttributes(xpp, res); 5912 next(xpp); 5913 int eventType = nextNoWhitespace(xpp); 5914 while (eventType != XmlPullParser.END_TAG) { 5915 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 5916 res.setUrlElement(parseUri(xpp)); 5917 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 5918 res.setVersionElement(parseString(xpp)); 5919 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 5920 res.setNameElement(parseString(xpp)); 5921 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 5922 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 5923 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 5924 res.setExperimentalElement(parseBoolean(xpp)); 5925 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 5926 res.setPublisherElement(parseString(xpp)); 5927 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 5928 res.getContact().add(parseImplementationGuideImplementationGuideContactComponent(xpp, res)); 5929 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 5930 res.setDateElement(parseDateTime(xpp)); 5931 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 5932 res.setDescriptionElement(parseString(xpp)); 5933 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 5934 res.getUseContext().add(parseCodeableConcept(xpp)); 5935 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 5936 res.setCopyrightElement(parseString(xpp)); 5937 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 5938 res.setFhirVersionElement(parseId(xpp)); 5939 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependency")) { 5940 res.getDependency().add(parseImplementationGuideImplementationGuideDependencyComponent(xpp, res)); 5941 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 5942 res.getPackage().add(parseImplementationGuideImplementationGuidePackageComponent(xpp, res)); 5943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("global")) { 5944 res.getGlobal().add(parseImplementationGuideImplementationGuideGlobalComponent(xpp, res)); 5945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binary")) { 5946 res.getBinary().add(parseUri(xpp)); 5947 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("page")) { 5948 res.setPage(parseImplementationGuideImplementationGuidePageComponent(xpp, res)); 5949 } else if (!parseDomainResourceContent(eventType, xpp, res)) 5950 unknownContent(xpp); 5951 eventType = nextNoWhitespace(xpp); 5952 } 5953 next(xpp); 5954 parseElementClose(res); 5955 return res; 5956 } 5957 5958 protected ImplementationGuide.ImplementationGuideContactComponent parseImplementationGuideImplementationGuideContactComponent(XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 5959 ImplementationGuide.ImplementationGuideContactComponent res = new ImplementationGuide.ImplementationGuideContactComponent(); 5960 parseBackboneAttributes(xpp, res); 5961 next(xpp); 5962 int eventType = nextNoWhitespace(xpp); 5963 while (eventType != XmlPullParser.END_TAG) { 5964 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 5965 res.setNameElement(parseString(xpp)); 5966 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 5967 res.getTelecom().add(parseContactPoint(xpp)); 5968 } else if (!parseBackboneContent(eventType, xpp, res)) 5969 unknownContent(xpp); 5970 eventType = nextNoWhitespace(xpp); 5971 } 5972 next(xpp); 5973 parseElementClose(res); 5974 return res; 5975 } 5976 5977 protected ImplementationGuide.ImplementationGuideDependencyComponent parseImplementationGuideImplementationGuideDependencyComponent(XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 5978 ImplementationGuide.ImplementationGuideDependencyComponent res = new ImplementationGuide.ImplementationGuideDependencyComponent(); 5979 parseBackboneAttributes(xpp, res); 5980 next(xpp); 5981 int eventType = nextNoWhitespace(xpp); 5982 while (eventType != XmlPullParser.END_TAG) { 5983 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 5984 res.setTypeElement(parseEnumeration(xpp, ImplementationGuide.GuideDependencyType.NULL, new ImplementationGuide.GuideDependencyTypeEnumFactory())); 5985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 5986 res.setUriElement(parseUri(xpp)); 5987 } else if (!parseBackboneContent(eventType, xpp, res)) 5988 unknownContent(xpp); 5989 eventType = nextNoWhitespace(xpp); 5990 } 5991 next(xpp); 5992 parseElementClose(res); 5993 return res; 5994 } 5995 5996 protected ImplementationGuide.ImplementationGuidePackageComponent parseImplementationGuideImplementationGuidePackageComponent(XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 5997 ImplementationGuide.ImplementationGuidePackageComponent res = new ImplementationGuide.ImplementationGuidePackageComponent(); 5998 parseBackboneAttributes(xpp, res); 5999 next(xpp); 6000 int eventType = nextNoWhitespace(xpp); 6001 while (eventType != XmlPullParser.END_TAG) { 6002 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6003 res.setNameElement(parseString(xpp)); 6004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6005 res.setDescriptionElement(parseString(xpp)); 6006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 6007 res.getResource().add(parseImplementationGuideImplementationGuidePackageResourceComponent(xpp, owner)); 6008 } else if (!parseBackboneContent(eventType, xpp, res)) 6009 unknownContent(xpp); 6010 eventType = nextNoWhitespace(xpp); 6011 } 6012 next(xpp); 6013 parseElementClose(res); 6014 return res; 6015 } 6016 6017 protected ImplementationGuide.ImplementationGuidePackageResourceComponent parseImplementationGuideImplementationGuidePackageResourceComponent(XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6018 ImplementationGuide.ImplementationGuidePackageResourceComponent res = new ImplementationGuide.ImplementationGuidePackageResourceComponent(); 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("purpose")) { 6024 res.setPurposeElement(parseEnumeration(xpp, ImplementationGuide.GuideResourcePurpose.NULL, new ImplementationGuide.GuideResourcePurposeEnumFactory())); 6025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6026 res.setNameElement(parseString(xpp)); 6027 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6028 res.setDescriptionElement(parseString(xpp)); 6029 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("acronym")) { 6030 res.setAcronymElement(parseString(xpp)); 6031 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "source")) { 6032 res.setSource(parseType("source", xpp)); 6033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exampleFor")) { 6034 res.setExampleFor(parseReference(xpp)); 6035 } else if (!parseBackboneContent(eventType, xpp, res)) 6036 unknownContent(xpp); 6037 eventType = nextNoWhitespace(xpp); 6038 } 6039 next(xpp); 6040 parseElementClose(res); 6041 return res; 6042 } 6043 6044 protected ImplementationGuide.ImplementationGuideGlobalComponent parseImplementationGuideImplementationGuideGlobalComponent(XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6045 ImplementationGuide.ImplementationGuideGlobalComponent res = new ImplementationGuide.ImplementationGuideGlobalComponent(); 6046 parseBackboneAttributes(xpp, res); 6047 next(xpp); 6048 int eventType = nextNoWhitespace(xpp); 6049 while (eventType != XmlPullParser.END_TAG) { 6050 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6051 res.setTypeElement(parseCode(xpp)); 6052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 6053 res.setProfile(parseReference(xpp)); 6054 } else if (!parseBackboneContent(eventType, xpp, res)) 6055 unknownContent(xpp); 6056 eventType = nextNoWhitespace(xpp); 6057 } 6058 next(xpp); 6059 parseElementClose(res); 6060 return res; 6061 } 6062 6063 protected ImplementationGuide.ImplementationGuidePageComponent parseImplementationGuideImplementationGuidePageComponent(XmlPullParser xpp, ImplementationGuide owner) throws XmlPullParserException, IOException, FHIRFormatError { 6064 ImplementationGuide.ImplementationGuidePageComponent res = new ImplementationGuide.ImplementationGuidePageComponent(); 6065 parseBackboneAttributes(xpp, res); 6066 next(xpp); 6067 int eventType = nextNoWhitespace(xpp); 6068 while (eventType != XmlPullParser.END_TAG) { 6069 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 6070 res.setSourceElement(parseUri(xpp)); 6071 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6072 res.setNameElement(parseString(xpp)); 6073 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 6074 res.setKindElement(parseEnumeration(xpp, ImplementationGuide.GuidePageKind.NULL, new ImplementationGuide.GuidePageKindEnumFactory())); 6075 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6076 res.getType().add(parseCode(xpp)); 6077 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 6078 res.getPackage().add(parseString(xpp)); 6079 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { 6080 res.setFormatElement(parseCode(xpp)); 6081 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("page")) { 6082 res.getPage().add(parseImplementationGuideImplementationGuidePageComponent(xpp, owner)); 6083 } else if (!parseBackboneContent(eventType, xpp, res)) 6084 unknownContent(xpp); 6085 eventType = nextNoWhitespace(xpp); 6086 } 6087 next(xpp); 6088 parseElementClose(res); 6089 return res; 6090 } 6091 6092 protected List_ parseList_(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6093 List_ res = new List_(); 6094 parseDomainResourceAttributes(xpp, res); 6095 next(xpp); 6096 int eventType = nextNoWhitespace(xpp); 6097 while (eventType != XmlPullParser.END_TAG) { 6098 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6099 res.getIdentifier().add(parseIdentifier(xpp)); 6100 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 6101 res.setTitleElement(parseString(xpp)); 6102 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6103 res.setCode(parseCodeableConcept(xpp)); 6104 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 6105 res.setSubject(parseReference(xpp)); 6106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 6107 res.setSource(parseReference(xpp)); 6108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6109 res.setEncounter(parseReference(xpp)); 6110 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6111 res.setStatusElement(parseEnumeration(xpp, List_.ListStatus.NULL, new List_.ListStatusEnumFactory())); 6112 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6113 res.setDateElement(parseDateTime(xpp)); 6114 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedBy")) { 6115 res.setOrderedBy(parseCodeableConcept(xpp)); 6116 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 6117 res.setModeElement(parseEnumeration(xpp, List_.ListMode.NULL, new List_.ListModeEnumFactory())); 6118 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6119 res.setNoteElement(parseString(xpp)); 6120 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entry")) { 6121 res.getEntry().add(parseList_ListEntryComponent(xpp, res)); 6122 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("emptyReason")) { 6123 res.setEmptyReason(parseCodeableConcept(xpp)); 6124 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6125 unknownContent(xpp); 6126 eventType = nextNoWhitespace(xpp); 6127 } 6128 next(xpp); 6129 parseElementClose(res); 6130 return res; 6131 } 6132 6133 protected List_.ListEntryComponent parseList_ListEntryComponent(XmlPullParser xpp, List_ owner) throws XmlPullParserException, IOException, FHIRFormatError { 6134 List_.ListEntryComponent res = new List_.ListEntryComponent(); 6135 parseBackboneAttributes(xpp, res); 6136 next(xpp); 6137 int eventType = nextNoWhitespace(xpp); 6138 while (eventType != XmlPullParser.END_TAG) { 6139 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("flag")) { 6140 res.setFlag(parseCodeableConcept(xpp)); 6141 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deleted")) { 6142 res.setDeletedElement(parseBoolean(xpp)); 6143 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6144 res.setDateElement(parseDateTime(xpp)); 6145 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 6146 res.setItem(parseReference(xpp)); 6147 } else if (!parseBackboneContent(eventType, xpp, res)) 6148 unknownContent(xpp); 6149 eventType = nextNoWhitespace(xpp); 6150 } 6151 next(xpp); 6152 parseElementClose(res); 6153 return res; 6154 } 6155 6156 protected Location parseLocation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6157 Location res = new Location(); 6158 parseDomainResourceAttributes(xpp, res); 6159 next(xpp); 6160 int eventType = nextNoWhitespace(xpp); 6161 while (eventType != XmlPullParser.END_TAG) { 6162 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6163 res.getIdentifier().add(parseIdentifier(xpp)); 6164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6165 res.setStatusElement(parseEnumeration(xpp, Location.LocationStatus.NULL, new Location.LocationStatusEnumFactory())); 6166 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6167 res.setNameElement(parseString(xpp)); 6168 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6169 res.setDescriptionElement(parseString(xpp)); 6170 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { 6171 res.setModeElement(parseEnumeration(xpp, Location.LocationMode.NULL, new Location.LocationModeEnumFactory())); 6172 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6173 res.setType(parseCodeableConcept(xpp)); 6174 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 6175 res.getTelecom().add(parseContactPoint(xpp)); 6176 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 6177 res.setAddress(parseAddress(xpp)); 6178 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physicalType")) { 6179 res.setPhysicalType(parseCodeableConcept(xpp)); 6180 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("position")) { 6181 res.setPosition(parseLocationLocationPositionComponent(xpp, res)); 6182 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 6183 res.setManagingOrganization(parseReference(xpp)); 6184 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 6185 res.setPartOf(parseReference(xpp)); 6186 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6187 unknownContent(xpp); 6188 eventType = nextNoWhitespace(xpp); 6189 } 6190 next(xpp); 6191 parseElementClose(res); 6192 return res; 6193 } 6194 6195 protected Location.LocationPositionComponent parseLocationLocationPositionComponent(XmlPullParser xpp, Location owner) throws XmlPullParserException, IOException, FHIRFormatError { 6196 Location.LocationPositionComponent res = new Location.LocationPositionComponent(); 6197 parseBackboneAttributes(xpp, res); 6198 next(xpp); 6199 int eventType = nextNoWhitespace(xpp); 6200 while (eventType != XmlPullParser.END_TAG) { 6201 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("longitude")) { 6202 res.setLongitudeElement(parseDecimal(xpp)); 6203 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("latitude")) { 6204 res.setLatitudeElement(parseDecimal(xpp)); 6205 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("altitude")) { 6206 res.setAltitudeElement(parseDecimal(xpp)); 6207 } else if (!parseBackboneContent(eventType, xpp, res)) 6208 unknownContent(xpp); 6209 eventType = nextNoWhitespace(xpp); 6210 } 6211 next(xpp); 6212 parseElementClose(res); 6213 return res; 6214 } 6215 6216 protected Media parseMedia(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6217 Media res = new Media(); 6218 parseDomainResourceAttributes(xpp, res); 6219 next(xpp); 6220 int eventType = nextNoWhitespace(xpp); 6221 while (eventType != XmlPullParser.END_TAG) { 6222 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6223 res.setTypeElement(parseEnumeration(xpp, Media.DigitalMediaType.NULL, new Media.DigitalMediaTypeEnumFactory())); 6224 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subtype")) { 6225 res.setSubtype(parseCodeableConcept(xpp)); 6226 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6227 res.getIdentifier().add(parseIdentifier(xpp)); 6228 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 6229 res.setSubject(parseReference(xpp)); 6230 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 6231 res.setOperator(parseReference(xpp)); 6232 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("view")) { 6233 res.setView(parseCodeableConcept(xpp)); 6234 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceName")) { 6235 res.setDeviceNameElement(parseString(xpp)); 6236 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("height")) { 6237 res.setHeightElement(parsePositiveInt(xpp)); 6238 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("width")) { 6239 res.setWidthElement(parsePositiveInt(xpp)); 6240 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frames")) { 6241 res.setFramesElement(parsePositiveInt(xpp)); 6242 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 6243 res.setDurationElement(parseUnsignedInt(xpp)); 6244 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 6245 res.setContent(parseAttachment(xpp)); 6246 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6247 unknownContent(xpp); 6248 eventType = nextNoWhitespace(xpp); 6249 } 6250 next(xpp); 6251 parseElementClose(res); 6252 return res; 6253 } 6254 6255 protected Medication parseMedication(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6256 Medication res = new Medication(); 6257 parseDomainResourceAttributes(xpp, res); 6258 next(xpp); 6259 int eventType = nextNoWhitespace(xpp); 6260 while (eventType != XmlPullParser.END_TAG) { 6261 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6262 res.setCode(parseCodeableConcept(xpp)); 6263 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isBrand")) { 6264 res.setIsBrandElement(parseBoolean(xpp)); 6265 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { 6266 res.setManufacturer(parseReference(xpp)); 6267 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 6268 res.setProduct(parseMedicationMedicationProductComponent(xpp, res)); 6269 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("package")) { 6270 res.setPackage(parseMedicationMedicationPackageComponent(xpp, res)); 6271 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6272 unknownContent(xpp); 6273 eventType = nextNoWhitespace(xpp); 6274 } 6275 next(xpp); 6276 parseElementClose(res); 6277 return res; 6278 } 6279 6280 protected Medication.MedicationProductComponent parseMedicationMedicationProductComponent(XmlPullParser xpp, Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6281 Medication.MedicationProductComponent res = new Medication.MedicationProductComponent(); 6282 parseBackboneAttributes(xpp, res); 6283 next(xpp); 6284 int eventType = nextNoWhitespace(xpp); 6285 while (eventType != XmlPullParser.END_TAG) { 6286 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 6287 res.setForm(parseCodeableConcept(xpp)); 6288 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 6289 res.getIngredient().add(parseMedicationMedicationProductIngredientComponent(xpp, owner)); 6290 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("batch")) { 6291 res.getBatch().add(parseMedicationMedicationProductBatchComponent(xpp, owner)); 6292 } else if (!parseBackboneContent(eventType, xpp, res)) 6293 unknownContent(xpp); 6294 eventType = nextNoWhitespace(xpp); 6295 } 6296 next(xpp); 6297 parseElementClose(res); 6298 return res; 6299 } 6300 6301 protected Medication.MedicationProductIngredientComponent parseMedicationMedicationProductIngredientComponent(XmlPullParser xpp, Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6302 Medication.MedicationProductIngredientComponent res = new Medication.MedicationProductIngredientComponent(); 6303 parseBackboneAttributes(xpp, res); 6304 next(xpp); 6305 int eventType = nextNoWhitespace(xpp); 6306 while (eventType != XmlPullParser.END_TAG) { 6307 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 6308 res.setItem(parseReference(xpp)); 6309 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 6310 res.setAmount(parseRatio(xpp)); 6311 } else if (!parseBackboneContent(eventType, xpp, res)) 6312 unknownContent(xpp); 6313 eventType = nextNoWhitespace(xpp); 6314 } 6315 next(xpp); 6316 parseElementClose(res); 6317 return res; 6318 } 6319 6320 protected Medication.MedicationProductBatchComponent parseMedicationMedicationProductBatchComponent(XmlPullParser xpp, Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6321 Medication.MedicationProductBatchComponent res = new Medication.MedicationProductBatchComponent(); 6322 parseBackboneAttributes(xpp, res); 6323 next(xpp); 6324 int eventType = nextNoWhitespace(xpp); 6325 while (eventType != XmlPullParser.END_TAG) { 6326 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { 6327 res.setLotNumberElement(parseString(xpp)); 6328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { 6329 res.setExpirationDateElement(parseDateTime(xpp)); 6330 } else if (!parseBackboneContent(eventType, xpp, res)) 6331 unknownContent(xpp); 6332 eventType = nextNoWhitespace(xpp); 6333 } 6334 next(xpp); 6335 parseElementClose(res); 6336 return res; 6337 } 6338 6339 protected Medication.MedicationPackageComponent parseMedicationMedicationPackageComponent(XmlPullParser xpp, Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6340 Medication.MedicationPackageComponent res = new Medication.MedicationPackageComponent(); 6341 parseBackboneAttributes(xpp, res); 6342 next(xpp); 6343 int eventType = nextNoWhitespace(xpp); 6344 while (eventType != XmlPullParser.END_TAG) { 6345 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("container")) { 6346 res.setContainer(parseCodeableConcept(xpp)); 6347 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { 6348 res.getContent().add(parseMedicationMedicationPackageContentComponent(xpp, owner)); 6349 } else if (!parseBackboneContent(eventType, xpp, res)) 6350 unknownContent(xpp); 6351 eventType = nextNoWhitespace(xpp); 6352 } 6353 next(xpp); 6354 parseElementClose(res); 6355 return res; 6356 } 6357 6358 protected Medication.MedicationPackageContentComponent parseMedicationMedicationPackageContentComponent(XmlPullParser xpp, Medication owner) throws XmlPullParserException, IOException, FHIRFormatError { 6359 Medication.MedicationPackageContentComponent res = new Medication.MedicationPackageContentComponent(); 6360 parseBackboneAttributes(xpp, res); 6361 next(xpp); 6362 int eventType = nextNoWhitespace(xpp); 6363 while (eventType != XmlPullParser.END_TAG) { 6364 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 6365 res.setItem(parseReference(xpp)); 6366 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 6367 res.setAmount(parseSimpleQuantity(xpp)); 6368 } else if (!parseBackboneContent(eventType, xpp, res)) 6369 unknownContent(xpp); 6370 eventType = nextNoWhitespace(xpp); 6371 } 6372 next(xpp); 6373 parseElementClose(res); 6374 return res; 6375 } 6376 6377 protected MedicationAdministration parseMedicationAdministration(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6378 MedicationAdministration res = new MedicationAdministration(); 6379 parseDomainResourceAttributes(xpp, res); 6380 next(xpp); 6381 int eventType = nextNoWhitespace(xpp); 6382 while (eventType != XmlPullParser.END_TAG) { 6383 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6384 res.getIdentifier().add(parseIdentifier(xpp)); 6385 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6386 res.setStatusElement(parseEnumeration(xpp, MedicationAdministration.MedicationAdministrationStatus.NULL, new MedicationAdministration.MedicationAdministrationStatusEnumFactory())); 6387 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6388 res.setPatient(parseReference(xpp)); 6389 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practitioner")) { 6390 res.setPractitioner(parseReference(xpp)); 6391 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6392 res.setEncounter(parseReference(xpp)); 6393 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescription")) { 6394 res.setPrescription(parseReference(xpp)); 6395 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wasNotGiven")) { 6396 res.setWasNotGivenElement(parseBoolean(xpp)); 6397 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotGiven")) { 6398 res.getReasonNotGiven().add(parseCodeableConcept(xpp)); 6399 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonGiven")) { 6400 res.getReasonGiven().add(parseCodeableConcept(xpp)); 6401 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effectiveTime")) { 6402 res.setEffectiveTime(parseType("effectiveTime", xpp)); 6403 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6404 res.setMedication(parseType("medication", xpp)); 6405 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 6406 res.getDevice().add(parseReference(xpp)); 6407 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6408 res.setNoteElement(parseString(xpp)); 6409 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 6410 res.setDosage(parseMedicationAdministrationMedicationAdministrationDosageComponent(xpp, res)); 6411 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6412 unknownContent(xpp); 6413 eventType = nextNoWhitespace(xpp); 6414 } 6415 next(xpp); 6416 parseElementClose(res); 6417 return res; 6418 } 6419 6420 protected MedicationAdministration.MedicationAdministrationDosageComponent parseMedicationAdministrationMedicationAdministrationDosageComponent(XmlPullParser xpp, MedicationAdministration owner) throws XmlPullParserException, IOException, FHIRFormatError { 6421 MedicationAdministration.MedicationAdministrationDosageComponent res = new MedicationAdministration.MedicationAdministrationDosageComponent(); 6422 parseBackboneAttributes(xpp, res); 6423 next(xpp); 6424 int eventType = nextNoWhitespace(xpp); 6425 while (eventType != XmlPullParser.END_TAG) { 6426 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6427 res.setTextElement(parseString(xpp)); 6428 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 6429 res.setSite(parseType("site", xpp)); 6430 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 6431 res.setRoute(parseCodeableConcept(xpp)); 6432 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 6433 res.setMethod(parseCodeableConcept(xpp)); 6434 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6435 res.setQuantity(parseSimpleQuantity(xpp)); 6436 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 6437 res.setRate(parseType("rate", xpp)); 6438 } else if (!parseBackboneContent(eventType, xpp, res)) 6439 unknownContent(xpp); 6440 eventType = nextNoWhitespace(xpp); 6441 } 6442 next(xpp); 6443 parseElementClose(res); 6444 return res; 6445 } 6446 6447 protected MedicationDispense parseMedicationDispense(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6448 MedicationDispense res = new MedicationDispense(); 6449 parseDomainResourceAttributes(xpp, res); 6450 next(xpp); 6451 int eventType = nextNoWhitespace(xpp); 6452 while (eventType != XmlPullParser.END_TAG) { 6453 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6454 res.setIdentifier(parseIdentifier(xpp)); 6455 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6456 res.setStatusElement(parseEnumeration(xpp, MedicationDispense.MedicationDispenseStatus.NULL, new MedicationDispense.MedicationDispenseStatusEnumFactory())); 6457 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6458 res.setPatient(parseReference(xpp)); 6459 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispenser")) { 6460 res.setDispenser(parseReference(xpp)); 6461 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authorizingPrescription")) { 6462 res.getAuthorizingPrescription().add(parseReference(xpp)); 6463 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6464 res.setType(parseCodeableConcept(xpp)); 6465 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6466 res.setQuantity(parseSimpleQuantity(xpp)); 6467 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysSupply")) { 6468 res.setDaysSupply(parseSimpleQuantity(xpp)); 6469 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6470 res.setMedication(parseType("medication", xpp)); 6471 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenPrepared")) { 6472 res.setWhenPreparedElement(parseDateTime(xpp)); 6473 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenHandedOver")) { 6474 res.setWhenHandedOverElement(parseDateTime(xpp)); 6475 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 6476 res.setDestination(parseReference(xpp)); 6477 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 6478 res.getReceiver().add(parseReference(xpp)); 6479 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6480 res.setNoteElement(parseString(xpp)); 6481 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosageInstruction")) { 6482 res.getDosageInstruction().add(parseMedicationDispenseMedicationDispenseDosageInstructionComponent(xpp, res)); 6483 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substitution")) { 6484 res.setSubstitution(parseMedicationDispenseMedicationDispenseSubstitutionComponent(xpp, res)); 6485 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6486 unknownContent(xpp); 6487 eventType = nextNoWhitespace(xpp); 6488 } 6489 next(xpp); 6490 parseElementClose(res); 6491 return res; 6492 } 6493 6494 protected MedicationDispense.MedicationDispenseDosageInstructionComponent parseMedicationDispenseMedicationDispenseDosageInstructionComponent(XmlPullParser xpp, MedicationDispense owner) throws XmlPullParserException, IOException, FHIRFormatError { 6495 MedicationDispense.MedicationDispenseDosageInstructionComponent res = new MedicationDispense.MedicationDispenseDosageInstructionComponent(); 6496 parseBackboneAttributes(xpp, res); 6497 next(xpp); 6498 int eventType = nextNoWhitespace(xpp); 6499 while (eventType != XmlPullParser.END_TAG) { 6500 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6501 res.setTextElement(parseString(xpp)); 6502 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalInstructions")) { 6503 res.setAdditionalInstructions(parseCodeableConcept(xpp)); 6504 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { 6505 res.setTiming(parseTiming(xpp)); 6506 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 6507 res.setAsNeeded(parseType("asNeeded", xpp)); 6508 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 6509 res.setSite(parseType("site", xpp)); 6510 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 6511 res.setRoute(parseCodeableConcept(xpp)); 6512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 6513 res.setMethod(parseCodeableConcept(xpp)); 6514 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "dose")) { 6515 res.setDose(parseType("dose", xpp)); 6516 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 6517 res.setRate(parseType("rate", xpp)); 6518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerPeriod")) { 6519 res.setMaxDosePerPeriod(parseRatio(xpp)); 6520 } else if (!parseBackboneContent(eventType, xpp, res)) 6521 unknownContent(xpp); 6522 eventType = nextNoWhitespace(xpp); 6523 } 6524 next(xpp); 6525 parseElementClose(res); 6526 return res; 6527 } 6528 6529 protected MedicationDispense.MedicationDispenseSubstitutionComponent parseMedicationDispenseMedicationDispenseSubstitutionComponent(XmlPullParser xpp, MedicationDispense owner) throws XmlPullParserException, IOException, FHIRFormatError { 6530 MedicationDispense.MedicationDispenseSubstitutionComponent res = new MedicationDispense.MedicationDispenseSubstitutionComponent(); 6531 parseBackboneAttributes(xpp, res); 6532 next(xpp); 6533 int eventType = nextNoWhitespace(xpp); 6534 while (eventType != XmlPullParser.END_TAG) { 6535 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6536 res.setType(parseCodeableConcept(xpp)); 6537 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 6538 res.getReason().add(parseCodeableConcept(xpp)); 6539 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsibleParty")) { 6540 res.getResponsibleParty().add(parseReference(xpp)); 6541 } else if (!parseBackboneContent(eventType, xpp, res)) 6542 unknownContent(xpp); 6543 eventType = nextNoWhitespace(xpp); 6544 } 6545 next(xpp); 6546 parseElementClose(res); 6547 return res; 6548 } 6549 6550 protected MedicationOrder parseMedicationOrder(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6551 MedicationOrder res = new MedicationOrder(); 6552 parseDomainResourceAttributes(xpp, res); 6553 next(xpp); 6554 int eventType = nextNoWhitespace(xpp); 6555 while (eventType != XmlPullParser.END_TAG) { 6556 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6557 res.getIdentifier().add(parseIdentifier(xpp)); 6558 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateWritten")) { 6559 res.setDateWrittenElement(parseDateTime(xpp)); 6560 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6561 res.setStatusElement(parseEnumeration(xpp, MedicationOrder.MedicationOrderStatus.NULL, new MedicationOrder.MedicationOrderStatusEnumFactory())); 6562 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateEnded")) { 6563 res.setDateEndedElement(parseDateTime(xpp)); 6564 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonEnded")) { 6565 res.setReasonEnded(parseCodeableConcept(xpp)); 6566 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6567 res.setPatient(parseReference(xpp)); 6568 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescriber")) { 6569 res.setPrescriber(parseReference(xpp)); 6570 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6571 res.setEncounter(parseReference(xpp)); 6572 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 6573 res.setReason(parseType("reason", xpp)); 6574 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6575 res.setNoteElement(parseString(xpp)); 6576 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6577 res.setMedication(parseType("medication", xpp)); 6578 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosageInstruction")) { 6579 res.getDosageInstruction().add(parseMedicationOrderMedicationOrderDosageInstructionComponent(xpp, res)); 6580 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispenseRequest")) { 6581 res.setDispenseRequest(parseMedicationOrderMedicationOrderDispenseRequestComponent(xpp, res)); 6582 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substitution")) { 6583 res.setSubstitution(parseMedicationOrderMedicationOrderSubstitutionComponent(xpp, res)); 6584 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorPrescription")) { 6585 res.setPriorPrescription(parseReference(xpp)); 6586 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6587 unknownContent(xpp); 6588 eventType = nextNoWhitespace(xpp); 6589 } 6590 next(xpp); 6591 parseElementClose(res); 6592 return res; 6593 } 6594 6595 protected MedicationOrder.MedicationOrderDosageInstructionComponent parseMedicationOrderMedicationOrderDosageInstructionComponent(XmlPullParser xpp, MedicationOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 6596 MedicationOrder.MedicationOrderDosageInstructionComponent res = new MedicationOrder.MedicationOrderDosageInstructionComponent(); 6597 parseBackboneAttributes(xpp, res); 6598 next(xpp); 6599 int eventType = nextNoWhitespace(xpp); 6600 while (eventType != XmlPullParser.END_TAG) { 6601 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6602 res.setTextElement(parseString(xpp)); 6603 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalInstructions")) { 6604 res.setAdditionalInstructions(parseCodeableConcept(xpp)); 6605 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { 6606 res.setTiming(parseTiming(xpp)); 6607 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 6608 res.setAsNeeded(parseType("asNeeded", xpp)); 6609 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 6610 res.setSite(parseType("site", xpp)); 6611 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 6612 res.setRoute(parseCodeableConcept(xpp)); 6613 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 6614 res.setMethod(parseCodeableConcept(xpp)); 6615 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "dose")) { 6616 res.setDose(parseType("dose", xpp)); 6617 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 6618 res.setRate(parseType("rate", xpp)); 6619 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerPeriod")) { 6620 res.setMaxDosePerPeriod(parseRatio(xpp)); 6621 } else if (!parseBackboneContent(eventType, xpp, res)) 6622 unknownContent(xpp); 6623 eventType = nextNoWhitespace(xpp); 6624 } 6625 next(xpp); 6626 parseElementClose(res); 6627 return res; 6628 } 6629 6630 protected MedicationOrder.MedicationOrderDispenseRequestComponent parseMedicationOrderMedicationOrderDispenseRequestComponent(XmlPullParser xpp, MedicationOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 6631 MedicationOrder.MedicationOrderDispenseRequestComponent res = new MedicationOrder.MedicationOrderDispenseRequestComponent(); 6632 parseBackboneAttributes(xpp, res); 6633 next(xpp); 6634 int eventType = nextNoWhitespace(xpp); 6635 while (eventType != XmlPullParser.END_TAG) { 6636 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6637 res.setMedication(parseType("medication", xpp)); 6638 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validityPeriod")) { 6639 res.setValidityPeriod(parsePeriod(xpp)); 6640 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("numberOfRepeatsAllowed")) { 6641 res.setNumberOfRepeatsAllowedElement(parsePositiveInt(xpp)); 6642 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 6643 res.setQuantity(parseSimpleQuantity(xpp)); 6644 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expectedSupplyDuration")) { 6645 res.setExpectedSupplyDuration(parseDuration(xpp)); 6646 } else if (!parseBackboneContent(eventType, xpp, res)) 6647 unknownContent(xpp); 6648 eventType = nextNoWhitespace(xpp); 6649 } 6650 next(xpp); 6651 parseElementClose(res); 6652 return res; 6653 } 6654 6655 protected MedicationOrder.MedicationOrderSubstitutionComponent parseMedicationOrderMedicationOrderSubstitutionComponent(XmlPullParser xpp, MedicationOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 6656 MedicationOrder.MedicationOrderSubstitutionComponent res = new MedicationOrder.MedicationOrderSubstitutionComponent(); 6657 parseBackboneAttributes(xpp, res); 6658 next(xpp); 6659 int eventType = nextNoWhitespace(xpp); 6660 while (eventType != XmlPullParser.END_TAG) { 6661 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6662 res.setType(parseCodeableConcept(xpp)); 6663 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 6664 res.setReason(parseCodeableConcept(xpp)); 6665 } else if (!parseBackboneContent(eventType, xpp, res)) 6666 unknownContent(xpp); 6667 eventType = nextNoWhitespace(xpp); 6668 } 6669 next(xpp); 6670 parseElementClose(res); 6671 return res; 6672 } 6673 6674 protected MedicationStatement parseMedicationStatement(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6675 MedicationStatement res = new MedicationStatement(); 6676 parseDomainResourceAttributes(xpp, res); 6677 next(xpp); 6678 int eventType = nextNoWhitespace(xpp); 6679 while (eventType != XmlPullParser.END_TAG) { 6680 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6681 res.getIdentifier().add(parseIdentifier(xpp)); 6682 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6683 res.setPatient(parseReference(xpp)); 6684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("informationSource")) { 6685 res.setInformationSource(parseReference(xpp)); 6686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateAsserted")) { 6687 res.setDateAssertedElement(parseDateTime(xpp)); 6688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6689 res.setStatusElement(parseEnumeration(xpp, MedicationStatement.MedicationStatementStatus.NULL, new MedicationStatement.MedicationStatementStatusEnumFactory())); 6690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wasNotTaken")) { 6691 res.setWasNotTakenElement(parseBoolean(xpp)); 6692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotTaken")) { 6693 res.getReasonNotTaken().add(parseCodeableConcept(xpp)); 6694 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reasonForUse")) { 6695 res.setReasonForUse(parseType("reasonForUse", xpp)); 6696 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 6697 res.setEffective(parseType("effective", xpp)); 6698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 6699 res.setNoteElement(parseString(xpp)); 6700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 6701 res.getSupportingInformation().add(parseReference(xpp)); 6702 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "medication")) { 6703 res.setMedication(parseType("medication", xpp)); 6704 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dosage")) { 6705 res.getDosage().add(parseMedicationStatementMedicationStatementDosageComponent(xpp, res)); 6706 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6707 unknownContent(xpp); 6708 eventType = nextNoWhitespace(xpp); 6709 } 6710 next(xpp); 6711 parseElementClose(res); 6712 return res; 6713 } 6714 6715 protected MedicationStatement.MedicationStatementDosageComponent parseMedicationStatementMedicationStatementDosageComponent(XmlPullParser xpp, MedicationStatement owner) throws XmlPullParserException, IOException, FHIRFormatError { 6716 MedicationStatement.MedicationStatementDosageComponent res = new MedicationStatement.MedicationStatementDosageComponent(); 6717 parseBackboneAttributes(xpp, res); 6718 next(xpp); 6719 int eventType = nextNoWhitespace(xpp); 6720 while (eventType != XmlPullParser.END_TAG) { 6721 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 6722 res.setTextElement(parseString(xpp)); 6723 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { 6724 res.setTiming(parseTiming(xpp)); 6725 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 6726 res.setAsNeeded(parseType("asNeeded", xpp)); 6727 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "site")) { 6728 res.setSite(parseType("site", xpp)); 6729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("route")) { 6730 res.setRoute(parseCodeableConcept(xpp)); 6731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 6732 res.setMethod(parseCodeableConcept(xpp)); 6733 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "quantity")) { 6734 res.setQuantity(parseType("quantity", xpp)); 6735 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 6736 res.setRate(parseType("rate", xpp)); 6737 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxDosePerPeriod")) { 6738 res.setMaxDosePerPeriod(parseRatio(xpp)); 6739 } else if (!parseBackboneContent(eventType, xpp, res)) 6740 unknownContent(xpp); 6741 eventType = nextNoWhitespace(xpp); 6742 } 6743 next(xpp); 6744 parseElementClose(res); 6745 return res; 6746 } 6747 6748 protected MessageHeader parseMessageHeader(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6749 MessageHeader res = new MessageHeader(); 6750 parseDomainResourceAttributes(xpp, res); 6751 next(xpp); 6752 int eventType = nextNoWhitespace(xpp); 6753 while (eventType != XmlPullParser.END_TAG) { 6754 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { 6755 res.setTimestampElement(parseInstant(xpp)); 6756 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("event")) { 6757 res.setEvent(parseCoding(xpp)); 6758 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 6759 res.setResponse(parseMessageHeaderMessageHeaderResponseComponent(xpp, res)); 6760 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 6761 res.setSource(parseMessageHeaderMessageSourceComponent(xpp, res)); 6762 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 6763 res.getDestination().add(parseMessageHeaderMessageDestinationComponent(xpp, res)); 6764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { 6765 res.setEnterer(parseReference(xpp)); 6766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 6767 res.setAuthor(parseReference(xpp)); 6768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 6769 res.setReceiver(parseReference(xpp)); 6770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 6771 res.setResponsible(parseReference(xpp)); 6772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 6773 res.setReason(parseCodeableConcept(xpp)); 6774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { 6775 res.getData().add(parseReference(xpp)); 6776 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6777 unknownContent(xpp); 6778 eventType = nextNoWhitespace(xpp); 6779 } 6780 next(xpp); 6781 parseElementClose(res); 6782 return res; 6783 } 6784 6785 protected MessageHeader.MessageHeaderResponseComponent parseMessageHeaderMessageHeaderResponseComponent(XmlPullParser xpp, MessageHeader owner) throws XmlPullParserException, IOException, FHIRFormatError { 6786 MessageHeader.MessageHeaderResponseComponent res = new MessageHeader.MessageHeaderResponseComponent(); 6787 parseBackboneAttributes(xpp, res); 6788 next(xpp); 6789 int eventType = nextNoWhitespace(xpp); 6790 while (eventType != XmlPullParser.END_TAG) { 6791 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6792 res.setIdentifierElement(parseId(xpp)); 6793 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 6794 res.setCodeElement(parseEnumeration(xpp, MessageHeader.ResponseType.NULL, new MessageHeader.ResponseTypeEnumFactory())); 6795 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("details")) { 6796 res.setDetails(parseReference(xpp)); 6797 } else if (!parseBackboneContent(eventType, xpp, res)) 6798 unknownContent(xpp); 6799 eventType = nextNoWhitespace(xpp); 6800 } 6801 next(xpp); 6802 parseElementClose(res); 6803 return res; 6804 } 6805 6806 protected MessageHeader.MessageSourceComponent parseMessageHeaderMessageSourceComponent(XmlPullParser xpp, MessageHeader owner) throws XmlPullParserException, IOException, FHIRFormatError { 6807 MessageHeader.MessageSourceComponent res = new MessageHeader.MessageSourceComponent(); 6808 parseBackboneAttributes(xpp, res); 6809 next(xpp); 6810 int eventType = nextNoWhitespace(xpp); 6811 while (eventType != XmlPullParser.END_TAG) { 6812 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6813 res.setNameElement(parseString(xpp)); 6814 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { 6815 res.setSoftwareElement(parseString(xpp)); 6816 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 6817 res.setVersionElement(parseString(xpp)); 6818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 6819 res.setContact(parseContactPoint(xpp)); 6820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 6821 res.setEndpointElement(parseUri(xpp)); 6822 } else if (!parseBackboneContent(eventType, xpp, res)) 6823 unknownContent(xpp); 6824 eventType = nextNoWhitespace(xpp); 6825 } 6826 next(xpp); 6827 parseElementClose(res); 6828 return res; 6829 } 6830 6831 protected MessageHeader.MessageDestinationComponent parseMessageHeaderMessageDestinationComponent(XmlPullParser xpp, MessageHeader owner) throws XmlPullParserException, IOException, FHIRFormatError { 6832 MessageHeader.MessageDestinationComponent res = new MessageHeader.MessageDestinationComponent(); 6833 parseBackboneAttributes(xpp, res); 6834 next(xpp); 6835 int eventType = nextNoWhitespace(xpp); 6836 while (eventType != XmlPullParser.END_TAG) { 6837 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6838 res.setNameElement(parseString(xpp)); 6839 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 6840 res.setTarget(parseReference(xpp)); 6841 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 6842 res.setEndpointElement(parseUri(xpp)); 6843 } else if (!parseBackboneContent(eventType, xpp, res)) 6844 unknownContent(xpp); 6845 eventType = nextNoWhitespace(xpp); 6846 } 6847 next(xpp); 6848 parseElementClose(res); 6849 return res; 6850 } 6851 6852 protected NamingSystem parseNamingSystem(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6853 NamingSystem res = new NamingSystem(); 6854 parseDomainResourceAttributes(xpp, res); 6855 next(xpp); 6856 int eventType = nextNoWhitespace(xpp); 6857 while (eventType != XmlPullParser.END_TAG) { 6858 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6859 res.setNameElement(parseString(xpp)); 6860 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6861 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 6862 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 6863 res.setKindElement(parseEnumeration(xpp, NamingSystem.NamingSystemType.NULL, new NamingSystem.NamingSystemTypeEnumFactory())); 6864 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 6865 res.setPublisherElement(parseString(xpp)); 6866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 6867 res.getContact().add(parseNamingSystemNamingSystemContactComponent(xpp, res)); 6868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsible")) { 6869 res.setResponsibleElement(parseString(xpp)); 6870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 6871 res.setDateElement(parseDateTime(xpp)); 6872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6873 res.setType(parseCodeableConcept(xpp)); 6874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 6875 res.setDescriptionElement(parseString(xpp)); 6876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 6877 res.getUseContext().add(parseCodeableConcept(xpp)); 6878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { 6879 res.setUsageElement(parseString(xpp)); 6880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uniqueId")) { 6881 res.getUniqueId().add(parseNamingSystemNamingSystemUniqueIdComponent(xpp, res)); 6882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replacedBy")) { 6883 res.setReplacedBy(parseReference(xpp)); 6884 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6885 unknownContent(xpp); 6886 eventType = nextNoWhitespace(xpp); 6887 } 6888 next(xpp); 6889 parseElementClose(res); 6890 return res; 6891 } 6892 6893 protected NamingSystem.NamingSystemContactComponent parseNamingSystemNamingSystemContactComponent(XmlPullParser xpp, NamingSystem owner) throws XmlPullParserException, IOException, FHIRFormatError { 6894 NamingSystem.NamingSystemContactComponent res = new NamingSystem.NamingSystemContactComponent(); 6895 parseBackboneAttributes(xpp, res); 6896 next(xpp); 6897 int eventType = nextNoWhitespace(xpp); 6898 while (eventType != XmlPullParser.END_TAG) { 6899 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 6900 res.setNameElement(parseString(xpp)); 6901 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 6902 res.getTelecom().add(parseContactPoint(xpp)); 6903 } else if (!parseBackboneContent(eventType, xpp, res)) 6904 unknownContent(xpp); 6905 eventType = nextNoWhitespace(xpp); 6906 } 6907 next(xpp); 6908 parseElementClose(res); 6909 return res; 6910 } 6911 6912 protected NamingSystem.NamingSystemUniqueIdComponent parseNamingSystemNamingSystemUniqueIdComponent(XmlPullParser xpp, NamingSystem owner) throws XmlPullParserException, IOException, FHIRFormatError { 6913 NamingSystem.NamingSystemUniqueIdComponent res = new NamingSystem.NamingSystemUniqueIdComponent(); 6914 parseBackboneAttributes(xpp, res); 6915 next(xpp); 6916 int eventType = nextNoWhitespace(xpp); 6917 while (eventType != XmlPullParser.END_TAG) { 6918 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6919 res.setTypeElement(parseEnumeration(xpp, NamingSystem.NamingSystemIdentifierType.NULL, new NamingSystem.NamingSystemIdentifierTypeEnumFactory())); 6920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 6921 res.setValueElement(parseString(xpp)); 6922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 6923 res.setPreferredElement(parseBoolean(xpp)); 6924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 6925 res.setPeriod(parsePeriod(xpp)); 6926 } else if (!parseBackboneContent(eventType, xpp, res)) 6927 unknownContent(xpp); 6928 eventType = nextNoWhitespace(xpp); 6929 } 6930 next(xpp); 6931 parseElementClose(res); 6932 return res; 6933 } 6934 6935 protected NutritionOrder parseNutritionOrder(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 6936 NutritionOrder res = new NutritionOrder(); 6937 parseDomainResourceAttributes(xpp, res); 6938 next(xpp); 6939 int eventType = nextNoWhitespace(xpp); 6940 while (eventType != XmlPullParser.END_TAG) { 6941 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 6942 res.setPatient(parseReference(xpp)); 6943 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { 6944 res.setOrderer(parseReference(xpp)); 6945 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 6946 res.getIdentifier().add(parseIdentifier(xpp)); 6947 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 6948 res.setEncounter(parseReference(xpp)); 6949 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { 6950 res.setDateTimeElement(parseDateTime(xpp)); 6951 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 6952 res.setStatusElement(parseEnumeration(xpp, NutritionOrder.NutritionOrderStatus.NULL, new NutritionOrder.NutritionOrderStatusEnumFactory())); 6953 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allergyIntolerance")) { 6954 res.getAllergyIntolerance().add(parseReference(xpp)); 6955 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("foodPreferenceModifier")) { 6956 res.getFoodPreferenceModifier().add(parseCodeableConcept(xpp)); 6957 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excludeFoodModifier")) { 6958 res.getExcludeFoodModifier().add(parseCodeableConcept(xpp)); 6959 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("oralDiet")) { 6960 res.setOralDiet(parseNutritionOrderNutritionOrderOralDietComponent(xpp, res)); 6961 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplement")) { 6962 res.getSupplement().add(parseNutritionOrderNutritionOrderSupplementComponent(xpp, res)); 6963 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enteralFormula")) { 6964 res.setEnteralFormula(parseNutritionOrderNutritionOrderEnteralFormulaComponent(xpp, res)); 6965 } else if (!parseDomainResourceContent(eventType, xpp, res)) 6966 unknownContent(xpp); 6967 eventType = nextNoWhitespace(xpp); 6968 } 6969 next(xpp); 6970 parseElementClose(res); 6971 return res; 6972 } 6973 6974 protected NutritionOrder.NutritionOrderOralDietComponent parseNutritionOrderNutritionOrderOralDietComponent(XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 6975 NutritionOrder.NutritionOrderOralDietComponent res = new NutritionOrder.NutritionOrderOralDietComponent(); 6976 parseBackboneAttributes(xpp, res); 6977 next(xpp); 6978 int eventType = nextNoWhitespace(xpp); 6979 while (eventType != XmlPullParser.END_TAG) { 6980 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 6981 res.getType().add(parseCodeableConcept(xpp)); 6982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 6983 res.getSchedule().add(parseTiming(xpp)); 6984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nutrient")) { 6985 res.getNutrient().add(parseNutritionOrderNutritionOrderOralDietNutrientComponent(xpp, owner)); 6986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("texture")) { 6987 res.getTexture().add(parseNutritionOrderNutritionOrderOralDietTextureComponent(xpp, owner)); 6988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fluidConsistencyType")) { 6989 res.getFluidConsistencyType().add(parseCodeableConcept(xpp)); 6990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { 6991 res.setInstructionElement(parseString(xpp)); 6992 } else if (!parseBackboneContent(eventType, xpp, res)) 6993 unknownContent(xpp); 6994 eventType = nextNoWhitespace(xpp); 6995 } 6996 next(xpp); 6997 parseElementClose(res); 6998 return res; 6999 } 7000 7001 protected NutritionOrder.NutritionOrderOralDietNutrientComponent parseNutritionOrderNutritionOrderOralDietNutrientComponent(XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7002 NutritionOrder.NutritionOrderOralDietNutrientComponent res = new NutritionOrder.NutritionOrderOralDietNutrientComponent(); 7003 parseBackboneAttributes(xpp, res); 7004 next(xpp); 7005 int eventType = nextNoWhitespace(xpp); 7006 while (eventType != XmlPullParser.END_TAG) { 7007 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 7008 res.setModifier(parseCodeableConcept(xpp)); 7009 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 7010 res.setAmount(parseSimpleQuantity(xpp)); 7011 } else if (!parseBackboneContent(eventType, xpp, res)) 7012 unknownContent(xpp); 7013 eventType = nextNoWhitespace(xpp); 7014 } 7015 next(xpp); 7016 parseElementClose(res); 7017 return res; 7018 } 7019 7020 protected NutritionOrder.NutritionOrderOralDietTextureComponent parseNutritionOrderNutritionOrderOralDietTextureComponent(XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7021 NutritionOrder.NutritionOrderOralDietTextureComponent res = new NutritionOrder.NutritionOrderOralDietTextureComponent(); 7022 parseBackboneAttributes(xpp, res); 7023 next(xpp); 7024 int eventType = nextNoWhitespace(xpp); 7025 while (eventType != XmlPullParser.END_TAG) { 7026 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { 7027 res.setModifier(parseCodeableConcept(xpp)); 7028 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("foodType")) { 7029 res.setFoodType(parseCodeableConcept(xpp)); 7030 } else if (!parseBackboneContent(eventType, xpp, res)) 7031 unknownContent(xpp); 7032 eventType = nextNoWhitespace(xpp); 7033 } 7034 next(xpp); 7035 parseElementClose(res); 7036 return res; 7037 } 7038 7039 protected NutritionOrder.NutritionOrderSupplementComponent parseNutritionOrderNutritionOrderSupplementComponent(XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7040 NutritionOrder.NutritionOrderSupplementComponent res = new NutritionOrder.NutritionOrderSupplementComponent(); 7041 parseBackboneAttributes(xpp, res); 7042 next(xpp); 7043 int eventType = nextNoWhitespace(xpp); 7044 while (eventType != XmlPullParser.END_TAG) { 7045 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7046 res.setType(parseCodeableConcept(xpp)); 7047 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productName")) { 7048 res.setProductNameElement(parseString(xpp)); 7049 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 7050 res.getSchedule().add(parseTiming(xpp)); 7051 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 7052 res.setQuantity(parseSimpleQuantity(xpp)); 7053 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { 7054 res.setInstructionElement(parseString(xpp)); 7055 } else if (!parseBackboneContent(eventType, xpp, res)) 7056 unknownContent(xpp); 7057 eventType = nextNoWhitespace(xpp); 7058 } 7059 next(xpp); 7060 parseElementClose(res); 7061 return res; 7062 } 7063 7064 protected NutritionOrder.NutritionOrderEnteralFormulaComponent parseNutritionOrderNutritionOrderEnteralFormulaComponent(XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7065 NutritionOrder.NutritionOrderEnteralFormulaComponent res = new NutritionOrder.NutritionOrderEnteralFormulaComponent(); 7066 parseBackboneAttributes(xpp, res); 7067 next(xpp); 7068 int eventType = nextNoWhitespace(xpp); 7069 while (eventType != XmlPullParser.END_TAG) { 7070 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaType")) { 7071 res.setBaseFormulaType(parseCodeableConcept(xpp)); 7072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaProductName")) { 7073 res.setBaseFormulaProductNameElement(parseString(xpp)); 7074 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveType")) { 7075 res.setAdditiveType(parseCodeableConcept(xpp)); 7076 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveProductName")) { 7077 res.setAdditiveProductNameElement(parseString(xpp)); 7078 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caloricDensity")) { 7079 res.setCaloricDensity(parseSimpleQuantity(xpp)); 7080 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("routeofAdministration")) { 7081 res.setRouteofAdministration(parseCodeableConcept(xpp)); 7082 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administration")) { 7083 res.getAdministration().add(parseNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent(xpp, owner)); 7084 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxVolumeToDeliver")) { 7085 res.setMaxVolumeToDeliver(parseSimpleQuantity(xpp)); 7086 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administrationInstruction")) { 7087 res.setAdministrationInstructionElement(parseString(xpp)); 7088 } else if (!parseBackboneContent(eventType, xpp, res)) 7089 unknownContent(xpp); 7090 eventType = nextNoWhitespace(xpp); 7091 } 7092 next(xpp); 7093 parseElementClose(res); 7094 return res; 7095 } 7096 7097 protected NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent parseNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent(XmlPullParser xpp, NutritionOrder owner) throws XmlPullParserException, IOException, FHIRFormatError { 7098 NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); 7099 parseBackboneAttributes(xpp, res); 7100 next(xpp); 7101 int eventType = nextNoWhitespace(xpp); 7102 while (eventType != XmlPullParser.END_TAG) { 7103 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 7104 res.setSchedule(parseTiming(xpp)); 7105 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 7106 res.setQuantity(parseSimpleQuantity(xpp)); 7107 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { 7108 res.setRate(parseType("rate", xpp)); 7109 } else if (!parseBackboneContent(eventType, xpp, res)) 7110 unknownContent(xpp); 7111 eventType = nextNoWhitespace(xpp); 7112 } 7113 next(xpp); 7114 parseElementClose(res); 7115 return res; 7116 } 7117 7118 protected Observation parseObservation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7119 Observation res = new Observation(); 7120 parseDomainResourceAttributes(xpp, res); 7121 next(xpp); 7122 int eventType = nextNoWhitespace(xpp); 7123 while (eventType != XmlPullParser.END_TAG) { 7124 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7125 res.getIdentifier().add(parseIdentifier(xpp)); 7126 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7127 res.setStatusElement(parseEnumeration(xpp, Observation.ObservationStatus.NULL, new Observation.ObservationStatusEnumFactory())); 7128 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 7129 res.setCategory(parseCodeableConcept(xpp)); 7130 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7131 res.setCode(parseCodeableConcept(xpp)); 7132 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7133 res.setSubject(parseReference(xpp)); 7134 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 7135 res.setEncounter(parseReference(xpp)); 7136 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "effective")) { 7137 res.setEffective(parseType("effective", xpp)); 7138 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issued")) { 7139 res.setIssuedElement(parseInstant(xpp)); 7140 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 7141 res.getPerformer().add(parseReference(xpp)); 7142 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 7143 res.setValue(parseType("value", xpp)); 7144 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataAbsentReason")) { 7145 res.setDataAbsentReason(parseCodeableConcept(xpp)); 7146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpretation")) { 7147 res.setInterpretation(parseCodeableConcept(xpp)); 7148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 7149 res.setCommentsElement(parseString(xpp)); 7150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 7151 res.setBodySite(parseCodeableConcept(xpp)); 7152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 7153 res.setMethod(parseCodeableConcept(xpp)); 7154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { 7155 res.setSpecimen(parseReference(xpp)); 7156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { 7157 res.setDevice(parseReference(xpp)); 7158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceRange")) { 7159 res.getReferenceRange().add(parseObservationObservationReferenceRangeComponent(xpp, res)); 7160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("related")) { 7161 res.getRelated().add(parseObservationObservationRelatedComponent(xpp, res)); 7162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { 7163 res.getComponent().add(parseObservationObservationComponentComponent(xpp, res)); 7164 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7165 unknownContent(xpp); 7166 eventType = nextNoWhitespace(xpp); 7167 } 7168 next(xpp); 7169 parseElementClose(res); 7170 return res; 7171 } 7172 7173 protected Observation.ObservationReferenceRangeComponent parseObservationObservationReferenceRangeComponent(XmlPullParser xpp, Observation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7174 Observation.ObservationReferenceRangeComponent res = new Observation.ObservationReferenceRangeComponent(); 7175 parseBackboneAttributes(xpp, res); 7176 next(xpp); 7177 int eventType = nextNoWhitespace(xpp); 7178 while (eventType != XmlPullParser.END_TAG) { 7179 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("low")) { 7180 res.setLow(parseSimpleQuantity(xpp)); 7181 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("high")) { 7182 res.setHigh(parseSimpleQuantity(xpp)); 7183 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaning")) { 7184 res.setMeaning(parseCodeableConcept(xpp)); 7185 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("age")) { 7186 res.setAge(parseRange(xpp)); 7187 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 7188 res.setTextElement(parseString(xpp)); 7189 } else if (!parseBackboneContent(eventType, xpp, res)) 7190 unknownContent(xpp); 7191 eventType = nextNoWhitespace(xpp); 7192 } 7193 next(xpp); 7194 parseElementClose(res); 7195 return res; 7196 } 7197 7198 protected Observation.ObservationRelatedComponent parseObservationObservationRelatedComponent(XmlPullParser xpp, Observation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7199 Observation.ObservationRelatedComponent res = new Observation.ObservationRelatedComponent(); 7200 parseBackboneAttributes(xpp, res); 7201 next(xpp); 7202 int eventType = nextNoWhitespace(xpp); 7203 while (eventType != XmlPullParser.END_TAG) { 7204 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7205 res.setTypeElement(parseEnumeration(xpp, Observation.ObservationRelationshipType.NULL, new Observation.ObservationRelationshipTypeEnumFactory())); 7206 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7207 res.setTarget(parseReference(xpp)); 7208 } else if (!parseBackboneContent(eventType, xpp, res)) 7209 unknownContent(xpp); 7210 eventType = nextNoWhitespace(xpp); 7211 } 7212 next(xpp); 7213 parseElementClose(res); 7214 return res; 7215 } 7216 7217 protected Observation.ObservationComponentComponent parseObservationObservationComponentComponent(XmlPullParser xpp, Observation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7218 Observation.ObservationComponentComponent res = new Observation.ObservationComponentComponent(); 7219 parseBackboneAttributes(xpp, res); 7220 next(xpp); 7221 int eventType = nextNoWhitespace(xpp); 7222 while (eventType != XmlPullParser.END_TAG) { 7223 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7224 res.setCode(parseCodeableConcept(xpp)); 7225 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 7226 res.setValue(parseType("value", xpp)); 7227 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataAbsentReason")) { 7228 res.setDataAbsentReason(parseCodeableConcept(xpp)); 7229 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceRange")) { 7230 res.getReferenceRange().add(parseObservationObservationReferenceRangeComponent(xpp, owner)); 7231 } else if (!parseBackboneContent(eventType, xpp, res)) 7232 unknownContent(xpp); 7233 eventType = nextNoWhitespace(xpp); 7234 } 7235 next(xpp); 7236 parseElementClose(res); 7237 return res; 7238 } 7239 7240 protected OperationDefinition parseOperationDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7241 OperationDefinition res = new OperationDefinition(); 7242 parseDomainResourceAttributes(xpp, res); 7243 next(xpp); 7244 int eventType = nextNoWhitespace(xpp); 7245 while (eventType != XmlPullParser.END_TAG) { 7246 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 7247 res.setUrlElement(parseUri(xpp)); 7248 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 7249 res.setVersionElement(parseString(xpp)); 7250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7251 res.setNameElement(parseString(xpp)); 7252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7253 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 7254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 7255 res.setKindElement(parseEnumeration(xpp, OperationDefinition.OperationKind.NULL, new OperationDefinition.OperationKindEnumFactory())); 7256 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 7257 res.setExperimentalElement(parseBoolean(xpp)); 7258 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 7259 res.setPublisherElement(parseString(xpp)); 7260 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7261 res.getContact().add(parseOperationDefinitionOperationDefinitionContactComponent(xpp, res)); 7262 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7263 res.setDateElement(parseDateTime(xpp)); 7264 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 7265 res.setDescriptionElement(parseString(xpp)); 7266 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 7267 res.setRequirementsElement(parseString(xpp)); 7268 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("idempotent")) { 7269 res.setIdempotentElement(parseBoolean(xpp)); 7270 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7271 res.setCodeElement(parseCode(xpp)); 7272 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 7273 res.setNotesElement(parseString(xpp)); 7274 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 7275 res.setBase(parseReference(xpp)); 7276 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 7277 res.setSystemElement(parseBoolean(xpp)); 7278 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7279 res.getType().add(parseCode(xpp)); 7280 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 7281 res.setInstanceElement(parseBoolean(xpp)); 7282 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 7283 res.getParameter().add(parseOperationDefinitionOperationDefinitionParameterComponent(xpp, res)); 7284 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7285 unknownContent(xpp); 7286 eventType = nextNoWhitespace(xpp); 7287 } 7288 next(xpp); 7289 parseElementClose(res); 7290 return res; 7291 } 7292 7293 protected OperationDefinition.OperationDefinitionContactComponent parseOperationDefinitionOperationDefinitionContactComponent(XmlPullParser xpp, OperationDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 7294 OperationDefinition.OperationDefinitionContactComponent res = new OperationDefinition.OperationDefinitionContactComponent(); 7295 parseBackboneAttributes(xpp, res); 7296 next(xpp); 7297 int eventType = nextNoWhitespace(xpp); 7298 while (eventType != XmlPullParser.END_TAG) { 7299 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7300 res.setNameElement(parseString(xpp)); 7301 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7302 res.getTelecom().add(parseContactPoint(xpp)); 7303 } else if (!parseBackboneContent(eventType, xpp, res)) 7304 unknownContent(xpp); 7305 eventType = nextNoWhitespace(xpp); 7306 } 7307 next(xpp); 7308 parseElementClose(res); 7309 return res; 7310 } 7311 7312 protected OperationDefinition.OperationDefinitionParameterComponent parseOperationDefinitionOperationDefinitionParameterComponent(XmlPullParser xpp, OperationDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 7313 OperationDefinition.OperationDefinitionParameterComponent res = new OperationDefinition.OperationDefinitionParameterComponent(); 7314 parseBackboneAttributes(xpp, res); 7315 next(xpp); 7316 int eventType = nextNoWhitespace(xpp); 7317 while (eventType != XmlPullParser.END_TAG) { 7318 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7319 res.setNameElement(parseCode(xpp)); 7320 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 7321 res.setUseElement(parseEnumeration(xpp, OperationDefinition.OperationParameterUse.NULL, new OperationDefinition.OperationParameterUseEnumFactory())); 7322 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { 7323 res.setMinElement(parseInteger(xpp)); 7324 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { 7325 res.setMaxElement(parseString(xpp)); 7326 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { 7327 res.setDocumentationElement(parseString(xpp)); 7328 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7329 res.setTypeElement(parseCode(xpp)); 7330 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 7331 res.setProfile(parseReference(xpp)); 7332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("binding")) { 7333 res.setBinding(parseOperationDefinitionOperationDefinitionParameterBindingComponent(xpp, owner)); 7334 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { 7335 res.getPart().add(parseOperationDefinitionOperationDefinitionParameterComponent(xpp, owner)); 7336 } else if (!parseBackboneContent(eventType, xpp, res)) 7337 unknownContent(xpp); 7338 eventType = nextNoWhitespace(xpp); 7339 } 7340 next(xpp); 7341 parseElementClose(res); 7342 return res; 7343 } 7344 7345 protected OperationDefinition.OperationDefinitionParameterBindingComponent parseOperationDefinitionOperationDefinitionParameterBindingComponent(XmlPullParser xpp, OperationDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 7346 OperationDefinition.OperationDefinitionParameterBindingComponent res = new OperationDefinition.OperationDefinitionParameterBindingComponent(); 7347 parseBackboneAttributes(xpp, res); 7348 next(xpp); 7349 int eventType = nextNoWhitespace(xpp); 7350 while (eventType != XmlPullParser.END_TAG) { 7351 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { 7352 res.setStrengthElement(parseEnumeration(xpp, Enumerations.BindingStrength.NULL, new Enumerations.BindingStrengthEnumFactory())); 7353 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "valueSet")) { 7354 res.setValueSet(parseType("valueSet", xpp)); 7355 } else if (!parseBackboneContent(eventType, xpp, res)) 7356 unknownContent(xpp); 7357 eventType = nextNoWhitespace(xpp); 7358 } 7359 next(xpp); 7360 parseElementClose(res); 7361 return res; 7362 } 7363 7364 protected OperationOutcome parseOperationOutcome(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7365 OperationOutcome res = new OperationOutcome(); 7366 parseDomainResourceAttributes(xpp, res); 7367 next(xpp); 7368 int eventType = nextNoWhitespace(xpp); 7369 while (eventType != XmlPullParser.END_TAG) { 7370 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issue")) { 7371 res.getIssue().add(parseOperationOutcomeOperationOutcomeIssueComponent(xpp, res)); 7372 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7373 unknownContent(xpp); 7374 eventType = nextNoWhitespace(xpp); 7375 } 7376 next(xpp); 7377 parseElementClose(res); 7378 return res; 7379 } 7380 7381 protected OperationOutcome.OperationOutcomeIssueComponent parseOperationOutcomeOperationOutcomeIssueComponent(XmlPullParser xpp, OperationOutcome owner) throws XmlPullParserException, IOException, FHIRFormatError { 7382 OperationOutcome.OperationOutcomeIssueComponent res = new OperationOutcome.OperationOutcomeIssueComponent(); 7383 parseBackboneAttributes(xpp, res); 7384 next(xpp); 7385 int eventType = nextNoWhitespace(xpp); 7386 while (eventType != XmlPullParser.END_TAG) { 7387 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { 7388 res.setSeverityElement(parseEnumeration(xpp, OperationOutcome.IssueSeverity.NULL, new OperationOutcome.IssueSeverityEnumFactory())); 7389 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7390 res.setCodeElement(parseEnumeration(xpp, OperationOutcome.IssueType.NULL, new OperationOutcome.IssueTypeEnumFactory())); 7391 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("details")) { 7392 res.setDetails(parseCodeableConcept(xpp)); 7393 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnostics")) { 7394 res.setDiagnosticsElement(parseString(xpp)); 7395 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 7396 res.getLocation().add(parseString(xpp)); 7397 } else if (!parseBackboneContent(eventType, xpp, res)) 7398 unknownContent(xpp); 7399 eventType = nextNoWhitespace(xpp); 7400 } 7401 next(xpp); 7402 parseElementClose(res); 7403 return res; 7404 } 7405 7406 protected Order parseOrder(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7407 Order res = new Order(); 7408 parseDomainResourceAttributes(xpp, res); 7409 next(xpp); 7410 int eventType = nextNoWhitespace(xpp); 7411 while (eventType != XmlPullParser.END_TAG) { 7412 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7413 res.getIdentifier().add(parseIdentifier(xpp)); 7414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7415 res.setDateElement(parseDateTime(xpp)); 7416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7417 res.setSubject(parseReference(xpp)); 7418 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 7419 res.setSource(parseReference(xpp)); 7420 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7421 res.setTarget(parseReference(xpp)); 7422 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 7423 res.setReason(parseType("reason", xpp)); 7424 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 7425 res.setWhen(parseOrderOrderWhenComponent(xpp, res)); 7426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 7427 res.getDetail().add(parseReference(xpp)); 7428 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7429 unknownContent(xpp); 7430 eventType = nextNoWhitespace(xpp); 7431 } 7432 next(xpp); 7433 parseElementClose(res); 7434 return res; 7435 } 7436 7437 protected Order.OrderWhenComponent parseOrderOrderWhenComponent(XmlPullParser xpp, Order owner) throws XmlPullParserException, IOException, FHIRFormatError { 7438 Order.OrderWhenComponent res = new Order.OrderWhenComponent(); 7439 parseBackboneAttributes(xpp, res); 7440 next(xpp); 7441 int eventType = nextNoWhitespace(xpp); 7442 while (eventType != XmlPullParser.END_TAG) { 7443 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7444 res.setCode(parseCodeableConcept(xpp)); 7445 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 7446 res.setSchedule(parseTiming(xpp)); 7447 } else if (!parseBackboneContent(eventType, xpp, res)) 7448 unknownContent(xpp); 7449 eventType = nextNoWhitespace(xpp); 7450 } 7451 next(xpp); 7452 parseElementClose(res); 7453 return res; 7454 } 7455 7456 protected OrderResponse parseOrderResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7457 OrderResponse res = new OrderResponse(); 7458 parseDomainResourceAttributes(xpp, res); 7459 next(xpp); 7460 int eventType = nextNoWhitespace(xpp); 7461 while (eventType != XmlPullParser.END_TAG) { 7462 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7463 res.getIdentifier().add(parseIdentifier(xpp)); 7464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 7465 res.setRequest(parseReference(xpp)); 7466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7467 res.setDateElement(parseDateTime(xpp)); 7468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("who")) { 7469 res.setWho(parseReference(xpp)); 7470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderStatus")) { 7471 res.setOrderStatusElement(parseEnumeration(xpp, OrderResponse.OrderStatus.NULL, new OrderResponse.OrderStatusEnumFactory())); 7472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 7473 res.setDescriptionElement(parseString(xpp)); 7474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fulfillment")) { 7475 res.getFulfillment().add(parseReference(xpp)); 7476 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7477 unknownContent(xpp); 7478 eventType = nextNoWhitespace(xpp); 7479 } 7480 next(xpp); 7481 parseElementClose(res); 7482 return res; 7483 } 7484 7485 protected Organization parseOrganization(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7486 Organization res = new Organization(); 7487 parseDomainResourceAttributes(xpp, res); 7488 next(xpp); 7489 int eventType = nextNoWhitespace(xpp); 7490 while (eventType != XmlPullParser.END_TAG) { 7491 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7492 res.getIdentifier().add(parseIdentifier(xpp)); 7493 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 7494 res.setActiveElement(parseBoolean(xpp)); 7495 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7496 res.setType(parseCodeableConcept(xpp)); 7497 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7498 res.setNameElement(parseString(xpp)); 7499 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7500 res.getTelecom().add(parseContactPoint(xpp)); 7501 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7502 res.getAddress().add(parseAddress(xpp)); 7503 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { 7504 res.setPartOf(parseReference(xpp)); 7505 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7506 res.getContact().add(parseOrganizationOrganizationContactComponent(xpp, res)); 7507 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7508 unknownContent(xpp); 7509 eventType = nextNoWhitespace(xpp); 7510 } 7511 next(xpp); 7512 parseElementClose(res); 7513 return res; 7514 } 7515 7516 protected Organization.OrganizationContactComponent parseOrganizationOrganizationContactComponent(XmlPullParser xpp, Organization owner) throws XmlPullParserException, IOException, FHIRFormatError { 7517 Organization.OrganizationContactComponent res = new Organization.OrganizationContactComponent(); 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("purpose")) { 7523 res.setPurpose(parseCodeableConcept(xpp)); 7524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7525 res.setName(parseHumanName(xpp)); 7526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7527 res.getTelecom().add(parseContactPoint(xpp)); 7528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7529 res.setAddress(parseAddress(xpp)); 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 Patient parsePatient(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7540 Patient res = new Patient(); 7541 parseDomainResourceAttributes(xpp, res); 7542 next(xpp); 7543 int eventType = nextNoWhitespace(xpp); 7544 while (eventType != XmlPullParser.END_TAG) { 7545 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7546 res.getIdentifier().add(parseIdentifier(xpp)); 7547 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 7548 res.setActiveElement(parseBoolean(xpp)); 7549 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7550 res.getName().add(parseHumanName(xpp)); 7551 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7552 res.getTelecom().add(parseContactPoint(xpp)); 7553 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 7554 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 7555 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 7556 res.setBirthDateElement(parseDate(xpp)); 7557 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { 7558 res.setDeceased(parseType("deceased", xpp)); 7559 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7560 res.getAddress().add(parseAddress(xpp)); 7561 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maritalStatus")) { 7562 res.setMaritalStatus(parseCodeableConcept(xpp)); 7563 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "multipleBirth")) { 7564 res.setMultipleBirth(parseType("multipleBirth", xpp)); 7565 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 7566 res.getPhoto().add(parseAttachment(xpp)); 7567 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 7568 res.getContact().add(parsePatientContactComponent(xpp, res)); 7569 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("animal")) { 7570 res.setAnimal(parsePatientAnimalComponent(xpp, res)); 7571 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 7572 res.getCommunication().add(parsePatientPatientCommunicationComponent(xpp, res)); 7573 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careProvider")) { 7574 res.getCareProvider().add(parseReference(xpp)); 7575 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 7576 res.setManagingOrganization(parseReference(xpp)); 7577 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 7578 res.getLink().add(parsePatientPatientLinkComponent(xpp, res)); 7579 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7580 unknownContent(xpp); 7581 eventType = nextNoWhitespace(xpp); 7582 } 7583 next(xpp); 7584 parseElementClose(res); 7585 return res; 7586 } 7587 7588 protected Patient.ContactComponent parsePatientContactComponent(XmlPullParser xpp, Patient owner) throws XmlPullParserException, IOException, FHIRFormatError { 7589 Patient.ContactComponent res = new Patient.ContactComponent(); 7590 parseBackboneAttributes(xpp, res); 7591 next(xpp); 7592 int eventType = nextNoWhitespace(xpp); 7593 while (eventType != XmlPullParser.END_TAG) { 7594 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 7595 res.getRelationship().add(parseCodeableConcept(xpp)); 7596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7597 res.setName(parseHumanName(xpp)); 7598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7599 res.getTelecom().add(parseContactPoint(xpp)); 7600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7601 res.setAddress(parseAddress(xpp)); 7602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 7603 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 7604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 7605 res.setOrganization(parseReference(xpp)); 7606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7607 res.setPeriod(parsePeriod(xpp)); 7608 } else if (!parseBackboneContent(eventType, xpp, res)) 7609 unknownContent(xpp); 7610 eventType = nextNoWhitespace(xpp); 7611 } 7612 next(xpp); 7613 parseElementClose(res); 7614 return res; 7615 } 7616 7617 protected Patient.AnimalComponent parsePatientAnimalComponent(XmlPullParser xpp, Patient owner) throws XmlPullParserException, IOException, FHIRFormatError { 7618 Patient.AnimalComponent res = new Patient.AnimalComponent(); 7619 parseBackboneAttributes(xpp, res); 7620 next(xpp); 7621 int eventType = nextNoWhitespace(xpp); 7622 while (eventType != XmlPullParser.END_TAG) { 7623 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("species")) { 7624 res.setSpecies(parseCodeableConcept(xpp)); 7625 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("breed")) { 7626 res.setBreed(parseCodeableConcept(xpp)); 7627 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("genderStatus")) { 7628 res.setGenderStatus(parseCodeableConcept(xpp)); 7629 } else if (!parseBackboneContent(eventType, xpp, res)) 7630 unknownContent(xpp); 7631 eventType = nextNoWhitespace(xpp); 7632 } 7633 next(xpp); 7634 parseElementClose(res); 7635 return res; 7636 } 7637 7638 protected Patient.PatientCommunicationComponent parsePatientPatientCommunicationComponent(XmlPullParser xpp, Patient owner) throws XmlPullParserException, IOException, FHIRFormatError { 7639 Patient.PatientCommunicationComponent res = new Patient.PatientCommunicationComponent(); 7640 parseBackboneAttributes(xpp, res); 7641 next(xpp); 7642 int eventType = nextNoWhitespace(xpp); 7643 while (eventType != XmlPullParser.END_TAG) { 7644 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 7645 res.setLanguage(parseCodeableConcept(xpp)); 7646 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preferred")) { 7647 res.setPreferredElement(parseBoolean(xpp)); 7648 } else if (!parseBackboneContent(eventType, xpp, res)) 7649 unknownContent(xpp); 7650 eventType = nextNoWhitespace(xpp); 7651 } 7652 next(xpp); 7653 parseElementClose(res); 7654 return res; 7655 } 7656 7657 protected Patient.PatientLinkComponent parsePatientPatientLinkComponent(XmlPullParser xpp, Patient owner) throws XmlPullParserException, IOException, FHIRFormatError { 7658 Patient.PatientLinkComponent res = new Patient.PatientLinkComponent(); 7659 parseBackboneAttributes(xpp, res); 7660 next(xpp); 7661 int eventType = nextNoWhitespace(xpp); 7662 while (eventType != XmlPullParser.END_TAG) { 7663 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("other")) { 7664 res.setOther(parseReference(xpp)); 7665 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7666 res.setTypeElement(parseEnumeration(xpp, Patient.LinkType.NULL, new Patient.LinkTypeEnumFactory())); 7667 } else if (!parseBackboneContent(eventType, xpp, res)) 7668 unknownContent(xpp); 7669 eventType = nextNoWhitespace(xpp); 7670 } 7671 next(xpp); 7672 parseElementClose(res); 7673 return res; 7674 } 7675 7676 protected PaymentNotice parsePaymentNotice(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7677 PaymentNotice res = new PaymentNotice(); 7678 parseDomainResourceAttributes(xpp, res); 7679 next(xpp); 7680 int eventType = nextNoWhitespace(xpp); 7681 while (eventType != XmlPullParser.END_TAG) { 7682 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7683 res.getIdentifier().add(parseIdentifier(xpp)); 7684 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 7685 res.setRuleset(parseCoding(xpp)); 7686 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 7687 res.setOriginalRuleset(parseCoding(xpp)); 7688 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 7689 res.setCreatedElement(parseDateTime(xpp)); 7690 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7691 res.setTarget(parseReference(xpp)); 7692 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 7693 res.setProvider(parseReference(xpp)); 7694 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 7695 res.setOrganization(parseReference(xpp)); 7696 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 7697 res.setRequest(parseReference(xpp)); 7698 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 7699 res.setResponse(parseReference(xpp)); 7700 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentStatus")) { 7701 res.setPaymentStatus(parseCoding(xpp)); 7702 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7703 unknownContent(xpp); 7704 eventType = nextNoWhitespace(xpp); 7705 } 7706 next(xpp); 7707 parseElementClose(res); 7708 return res; 7709 } 7710 7711 protected PaymentReconciliation parsePaymentReconciliation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7712 PaymentReconciliation res = new PaymentReconciliation(); 7713 parseDomainResourceAttributes(xpp, res); 7714 next(xpp); 7715 int eventType = nextNoWhitespace(xpp); 7716 while (eventType != XmlPullParser.END_TAG) { 7717 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7718 res.getIdentifier().add(parseIdentifier(xpp)); 7719 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 7720 res.setRequest(parseReference(xpp)); 7721 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 7722 res.setOutcomeElement(parseEnumeration(xpp, Enumerations.RemittanceOutcome.NULL, new Enumerations.RemittanceOutcomeEnumFactory())); 7723 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 7724 res.setDispositionElement(parseString(xpp)); 7725 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 7726 res.setRuleset(parseCoding(xpp)); 7727 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 7728 res.setOriginalRuleset(parseCoding(xpp)); 7729 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 7730 res.setCreatedElement(parseDateTime(xpp)); 7731 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7732 res.setPeriod(parsePeriod(xpp)); 7733 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 7734 res.setOrganization(parseReference(xpp)); 7735 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 7736 res.setRequestProvider(parseReference(xpp)); 7737 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 7738 res.setRequestOrganization(parseReference(xpp)); 7739 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { 7740 res.getDetail().add(parsePaymentReconciliationDetailsComponent(xpp, res)); 7741 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 7742 res.setForm(parseCoding(xpp)); 7743 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 7744 res.setTotal(parseMoney(xpp)); 7745 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { 7746 res.getNote().add(parsePaymentReconciliationNotesComponent(xpp, res)); 7747 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7748 unknownContent(xpp); 7749 eventType = nextNoWhitespace(xpp); 7750 } 7751 next(xpp); 7752 parseElementClose(res); 7753 return res; 7754 } 7755 7756 protected PaymentReconciliation.DetailsComponent parsePaymentReconciliationDetailsComponent(XmlPullParser xpp, PaymentReconciliation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7757 PaymentReconciliation.DetailsComponent res = new PaymentReconciliation.DetailsComponent(); 7758 parseBackboneAttributes(xpp, res); 7759 next(xpp); 7760 int eventType = nextNoWhitespace(xpp); 7761 while (eventType != XmlPullParser.END_TAG) { 7762 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7763 res.setType(parseCoding(xpp)); 7764 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 7765 res.setRequest(parseReference(xpp)); 7766 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responce")) { 7767 res.setResponce(parseReference(xpp)); 7768 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("submitter")) { 7769 res.setSubmitter(parseReference(xpp)); 7770 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payee")) { 7771 res.setPayee(parseReference(xpp)); 7772 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 7773 res.setDateElement(parseDate(xpp)); 7774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { 7775 res.setAmount(parseMoney(xpp)); 7776 } else if (!parseBackboneContent(eventType, xpp, res)) 7777 unknownContent(xpp); 7778 eventType = nextNoWhitespace(xpp); 7779 } 7780 next(xpp); 7781 parseElementClose(res); 7782 return res; 7783 } 7784 7785 protected PaymentReconciliation.NotesComponent parsePaymentReconciliationNotesComponent(XmlPullParser xpp, PaymentReconciliation owner) throws XmlPullParserException, IOException, FHIRFormatError { 7786 PaymentReconciliation.NotesComponent res = new PaymentReconciliation.NotesComponent(); 7787 parseBackboneAttributes(xpp, res); 7788 next(xpp); 7789 int eventType = nextNoWhitespace(xpp); 7790 while (eventType != XmlPullParser.END_TAG) { 7791 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 7792 res.setType(parseCoding(xpp)); 7793 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 7794 res.setTextElement(parseString(xpp)); 7795 } else if (!parseBackboneContent(eventType, xpp, res)) 7796 unknownContent(xpp); 7797 eventType = nextNoWhitespace(xpp); 7798 } 7799 next(xpp); 7800 parseElementClose(res); 7801 return res; 7802 } 7803 7804 protected Person parsePerson(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7805 Person res = new Person(); 7806 parseDomainResourceAttributes(xpp, res); 7807 next(xpp); 7808 int eventType = nextNoWhitespace(xpp); 7809 while (eventType != XmlPullParser.END_TAG) { 7810 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7811 res.getIdentifier().add(parseIdentifier(xpp)); 7812 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7813 res.getName().add(parseHumanName(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("gender")) { 7817 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 7818 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 7819 res.setBirthDateElement(parseDate(xpp)); 7820 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7821 res.getAddress().add(parseAddress(xpp)); 7822 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 7823 res.setPhoto(parseAttachment(xpp)); 7824 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 7825 res.setManagingOrganization(parseReference(xpp)); 7826 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 7827 res.setActiveElement(parseBoolean(xpp)); 7828 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 7829 res.getLink().add(parsePersonPersonLinkComponent(xpp, res)); 7830 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7831 unknownContent(xpp); 7832 eventType = nextNoWhitespace(xpp); 7833 } 7834 next(xpp); 7835 parseElementClose(res); 7836 return res; 7837 } 7838 7839 protected Person.PersonLinkComponent parsePersonPersonLinkComponent(XmlPullParser xpp, Person owner) throws XmlPullParserException, IOException, FHIRFormatError { 7840 Person.PersonLinkComponent res = new Person.PersonLinkComponent(); 7841 parseBackboneAttributes(xpp, res); 7842 next(xpp); 7843 int eventType = nextNoWhitespace(xpp); 7844 while (eventType != XmlPullParser.END_TAG) { 7845 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 7846 res.setTarget(parseReference(xpp)); 7847 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assurance")) { 7848 res.setAssuranceElement(parseEnumeration(xpp, Person.IdentityAssuranceLevel.NULL, new Person.IdentityAssuranceLevelEnumFactory())); 7849 } else if (!parseBackboneContent(eventType, xpp, res)) 7850 unknownContent(xpp); 7851 eventType = nextNoWhitespace(xpp); 7852 } 7853 next(xpp); 7854 parseElementClose(res); 7855 return res; 7856 } 7857 7858 protected Practitioner parsePractitioner(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7859 Practitioner res = new Practitioner(); 7860 parseDomainResourceAttributes(xpp, res); 7861 next(xpp); 7862 int eventType = nextNoWhitespace(xpp); 7863 while (eventType != XmlPullParser.END_TAG) { 7864 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7865 res.getIdentifier().add(parseIdentifier(xpp)); 7866 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("active")) { 7867 res.setActiveElement(parseBoolean(xpp)); 7868 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 7869 res.setName(parseHumanName(xpp)); 7870 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 7871 res.getTelecom().add(parseContactPoint(xpp)); 7872 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 7873 res.getAddress().add(parseAddress(xpp)); 7874 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 7875 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 7876 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 7877 res.setBirthDateElement(parseDate(xpp)); 7878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 7879 res.getPhoto().add(parseAttachment(xpp)); 7880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("practitionerRole")) { 7881 res.getPractitionerRole().add(parsePractitionerPractitionerPractitionerRoleComponent(xpp, res)); 7882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { 7883 res.getQualification().add(parsePractitionerPractitionerQualificationComponent(xpp, res)); 7884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { 7885 res.getCommunication().add(parseCodeableConcept(xpp)); 7886 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7887 unknownContent(xpp); 7888 eventType = nextNoWhitespace(xpp); 7889 } 7890 next(xpp); 7891 parseElementClose(res); 7892 return res; 7893 } 7894 7895 protected Practitioner.PractitionerPractitionerRoleComponent parsePractitionerPractitionerPractitionerRoleComponent(XmlPullParser xpp, Practitioner owner) throws XmlPullParserException, IOException, FHIRFormatError { 7896 Practitioner.PractitionerPractitionerRoleComponent res = new Practitioner.PractitionerPractitionerRoleComponent(); 7897 parseBackboneAttributes(xpp, res); 7898 next(xpp); 7899 int eventType = nextNoWhitespace(xpp); 7900 while (eventType != XmlPullParser.END_TAG) { 7901 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { 7902 res.setManagingOrganization(parseReference(xpp)); 7903 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 7904 res.setRole(parseCodeableConcept(xpp)); 7905 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 7906 res.getSpecialty().add(parseCodeableConcept(xpp)); 7907 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7908 res.setPeriod(parsePeriod(xpp)); 7909 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 7910 res.getLocation().add(parseReference(xpp)); 7911 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("healthcareService")) { 7912 res.getHealthcareService().add(parseReference(xpp)); 7913 } else if (!parseBackboneContent(eventType, xpp, res)) 7914 unknownContent(xpp); 7915 eventType = nextNoWhitespace(xpp); 7916 } 7917 next(xpp); 7918 parseElementClose(res); 7919 return res; 7920 } 7921 7922 protected Practitioner.PractitionerQualificationComponent parsePractitionerPractitionerQualificationComponent(XmlPullParser xpp, Practitioner owner) throws XmlPullParserException, IOException, FHIRFormatError { 7923 Practitioner.PractitionerQualificationComponent res = new Practitioner.PractitionerQualificationComponent(); 7924 parseBackboneAttributes(xpp, res); 7925 next(xpp); 7926 int eventType = nextNoWhitespace(xpp); 7927 while (eventType != XmlPullParser.END_TAG) { 7928 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7929 res.getIdentifier().add(parseIdentifier(xpp)); 7930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7931 res.setCode(parseCodeableConcept(xpp)); 7932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 7933 res.setPeriod(parsePeriod(xpp)); 7934 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { 7935 res.setIssuer(parseReference(xpp)); 7936 } else if (!parseBackboneContent(eventType, xpp, res)) 7937 unknownContent(xpp); 7938 eventType = nextNoWhitespace(xpp); 7939 } 7940 next(xpp); 7941 parseElementClose(res); 7942 return res; 7943 } 7944 7945 protected Procedure parseProcedure(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 7946 Procedure res = new Procedure(); 7947 parseDomainResourceAttributes(xpp, res); 7948 next(xpp); 7949 int eventType = nextNoWhitespace(xpp); 7950 while (eventType != XmlPullParser.END_TAG) { 7951 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 7952 res.getIdentifier().add(parseIdentifier(xpp)); 7953 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 7954 res.setSubject(parseReference(xpp)); 7955 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 7956 res.setStatusElement(parseEnumeration(xpp, Procedure.ProcedureStatus.NULL, new Procedure.ProcedureStatusEnumFactory())); 7957 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 7958 res.setCategory(parseCodeableConcept(xpp)); 7959 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 7960 res.setCode(parseCodeableConcept(xpp)); 7961 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notPerformed")) { 7962 res.setNotPerformedElement(parseBoolean(xpp)); 7963 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonNotPerformed")) { 7964 res.getReasonNotPerformed().add(parseCodeableConcept(xpp)); 7965 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 7966 res.getBodySite().add(parseCodeableConcept(xpp)); 7967 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 7968 res.setReason(parseType("reason", xpp)); 7969 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 7970 res.getPerformer().add(parseProcedureProcedurePerformerComponent(xpp, res)); 7971 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "performed")) { 7972 res.setPerformed(parseType("performed", xpp)); 7973 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 7974 res.setEncounter(parseReference(xpp)); 7975 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 7976 res.setLocation(parseReference(xpp)); 7977 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 7978 res.setOutcome(parseCodeableConcept(xpp)); 7979 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("report")) { 7980 res.getReport().add(parseReference(xpp)); 7981 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("complication")) { 7982 res.getComplication().add(parseCodeableConcept(xpp)); 7983 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("followUp")) { 7984 res.getFollowUp().add(parseCodeableConcept(xpp)); 7985 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 7986 res.setRequest(parseReference(xpp)); 7987 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 7988 res.getNotes().add(parseAnnotation(xpp)); 7989 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focalDevice")) { 7990 res.getFocalDevice().add(parseProcedureProcedureFocalDeviceComponent(xpp, res)); 7991 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("used")) { 7992 res.getUsed().add(parseReference(xpp)); 7993 } else if (!parseDomainResourceContent(eventType, xpp, res)) 7994 unknownContent(xpp); 7995 eventType = nextNoWhitespace(xpp); 7996 } 7997 next(xpp); 7998 parseElementClose(res); 7999 return res; 8000 } 8001 8002 protected Procedure.ProcedurePerformerComponent parseProcedureProcedurePerformerComponent(XmlPullParser xpp, Procedure owner) throws XmlPullParserException, IOException, FHIRFormatError { 8003 Procedure.ProcedurePerformerComponent res = new Procedure.ProcedurePerformerComponent(); 8004 parseBackboneAttributes(xpp, res); 8005 next(xpp); 8006 int eventType = nextNoWhitespace(xpp); 8007 while (eventType != XmlPullParser.END_TAG) { 8008 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 8009 res.setActor(parseReference(xpp)); 8010 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8011 res.setRole(parseCodeableConcept(xpp)); 8012 } else if (!parseBackboneContent(eventType, xpp, res)) 8013 unknownContent(xpp); 8014 eventType = nextNoWhitespace(xpp); 8015 } 8016 next(xpp); 8017 parseElementClose(res); 8018 return res; 8019 } 8020 8021 protected Procedure.ProcedureFocalDeviceComponent parseProcedureProcedureFocalDeviceComponent(XmlPullParser xpp, Procedure owner) throws XmlPullParserException, IOException, FHIRFormatError { 8022 Procedure.ProcedureFocalDeviceComponent res = new Procedure.ProcedureFocalDeviceComponent(); 8023 parseBackboneAttributes(xpp, res); 8024 next(xpp); 8025 int eventType = nextNoWhitespace(xpp); 8026 while (eventType != XmlPullParser.END_TAG) { 8027 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 8028 res.setAction(parseCodeableConcept(xpp)); 8029 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manipulated")) { 8030 res.setManipulated(parseReference(xpp)); 8031 } else if (!parseBackboneContent(eventType, xpp, res)) 8032 unknownContent(xpp); 8033 eventType = nextNoWhitespace(xpp); 8034 } 8035 next(xpp); 8036 parseElementClose(res); 8037 return res; 8038 } 8039 8040 protected ProcedureRequest parseProcedureRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8041 ProcedureRequest res = new ProcedureRequest(); 8042 parseDomainResourceAttributes(xpp, res); 8043 next(xpp); 8044 int eventType = nextNoWhitespace(xpp); 8045 while (eventType != XmlPullParser.END_TAG) { 8046 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8047 res.getIdentifier().add(parseIdentifier(xpp)); 8048 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8049 res.setSubject(parseReference(xpp)); 8050 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8051 res.setCode(parseCodeableConcept(xpp)); 8052 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 8053 res.getBodySite().add(parseCodeableConcept(xpp)); 8054 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 8055 res.setReason(parseType("reason", xpp)); 8056 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "scheduled")) { 8057 res.setScheduled(parseType("scheduled", xpp)); 8058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8059 res.setEncounter(parseReference(xpp)); 8060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 8061 res.setPerformer(parseReference(xpp)); 8062 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8063 res.setStatusElement(parseEnumeration(xpp, ProcedureRequest.ProcedureRequestStatus.NULL, new ProcedureRequest.ProcedureRequestStatusEnumFactory())); 8064 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 8065 res.getNotes().add(parseAnnotation(xpp)); 8066 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { 8067 res.setAsNeeded(parseType("asNeeded", xpp)); 8068 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedOn")) { 8069 res.setOrderedOnElement(parseDateTime(xpp)); 8070 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { 8071 res.setOrderer(parseReference(xpp)); 8072 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 8073 res.setPriorityElement(parseEnumeration(xpp, ProcedureRequest.ProcedureRequestPriority.NULL, new ProcedureRequest.ProcedureRequestPriorityEnumFactory())); 8074 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8075 unknownContent(xpp); 8076 eventType = nextNoWhitespace(xpp); 8077 } 8078 next(xpp); 8079 parseElementClose(res); 8080 return res; 8081 } 8082 8083 protected ProcessRequest parseProcessRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8084 ProcessRequest res = new ProcessRequest(); 8085 parseDomainResourceAttributes(xpp, res); 8086 next(xpp); 8087 int eventType = nextNoWhitespace(xpp); 8088 while (eventType != XmlPullParser.END_TAG) { 8089 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 8090 res.setActionElement(parseEnumeration(xpp, ProcessRequest.ActionList.NULL, new ProcessRequest.ActionListEnumFactory())); 8091 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8092 res.getIdentifier().add(parseIdentifier(xpp)); 8093 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 8094 res.setRuleset(parseCoding(xpp)); 8095 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 8096 res.setOriginalRuleset(parseCoding(xpp)); 8097 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8098 res.setCreatedElement(parseDateTime(xpp)); 8099 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8100 res.setTarget(parseReference(xpp)); 8101 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { 8102 res.setProvider(parseReference(xpp)); 8103 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 8104 res.setOrganization(parseReference(xpp)); 8105 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8106 res.setRequest(parseReference(xpp)); 8107 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 8108 res.setResponse(parseReference(xpp)); 8109 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nullify")) { 8110 res.setNullifyElement(parseBoolean(xpp)); 8111 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8112 res.setReferenceElement(parseString(xpp)); 8113 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { 8114 res.getItem().add(parseProcessRequestItemsComponent(xpp, res)); 8115 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("include")) { 8116 res.getInclude().add(parseString(xpp)); 8117 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 8118 res.getExclude().add(parseString(xpp)); 8119 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8120 res.setPeriod(parsePeriod(xpp)); 8121 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8122 unknownContent(xpp); 8123 eventType = nextNoWhitespace(xpp); 8124 } 8125 next(xpp); 8126 parseElementClose(res); 8127 return res; 8128 } 8129 8130 protected ProcessRequest.ItemsComponent parseProcessRequestItemsComponent(XmlPullParser xpp, ProcessRequest owner) throws XmlPullParserException, IOException, FHIRFormatError { 8131 ProcessRequest.ItemsComponent res = new ProcessRequest.ItemsComponent(); 8132 parseBackboneAttributes(xpp, res); 8133 next(xpp); 8134 int eventType = nextNoWhitespace(xpp); 8135 while (eventType != XmlPullParser.END_TAG) { 8136 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceLinkId")) { 8137 res.setSequenceLinkIdElement(parseInteger(xpp)); 8138 } else if (!parseBackboneContent(eventType, xpp, res)) 8139 unknownContent(xpp); 8140 eventType = nextNoWhitespace(xpp); 8141 } 8142 next(xpp); 8143 parseElementClose(res); 8144 return res; 8145 } 8146 8147 protected ProcessResponse parseProcessResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8148 ProcessResponse res = new ProcessResponse(); 8149 parseDomainResourceAttributes(xpp, res); 8150 next(xpp); 8151 int eventType = nextNoWhitespace(xpp); 8152 while (eventType != XmlPullParser.END_TAG) { 8153 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8154 res.getIdentifier().add(parseIdentifier(xpp)); 8155 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { 8156 res.setRequest(parseReference(xpp)); 8157 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 8158 res.setOutcome(parseCoding(xpp)); 8159 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { 8160 res.setDispositionElement(parseString(xpp)); 8161 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ruleset")) { 8162 res.setRuleset(parseCoding(xpp)); 8163 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originalRuleset")) { 8164 res.setOriginalRuleset(parseCoding(xpp)); 8165 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { 8166 res.setCreatedElement(parseDateTime(xpp)); 8167 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("organization")) { 8168 res.setOrganization(parseReference(xpp)); 8169 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestProvider")) { 8170 res.setRequestProvider(parseReference(xpp)); 8171 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestOrganization")) { 8172 res.setRequestOrganization(parseReference(xpp)); 8173 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { 8174 res.setForm(parseCoding(xpp)); 8175 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 8176 res.getNotes().add(parseProcessResponseProcessResponseNotesComponent(xpp, res)); 8177 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 8178 res.getError().add(parseCoding(xpp)); 8179 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8180 unknownContent(xpp); 8181 eventType = nextNoWhitespace(xpp); 8182 } 8183 next(xpp); 8184 parseElementClose(res); 8185 return res; 8186 } 8187 8188 protected ProcessResponse.ProcessResponseNotesComponent parseProcessResponseProcessResponseNotesComponent(XmlPullParser xpp, ProcessResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8189 ProcessResponse.ProcessResponseNotesComponent res = new ProcessResponse.ProcessResponseNotesComponent(); 8190 parseBackboneAttributes(xpp, res); 8191 next(xpp); 8192 int eventType = nextNoWhitespace(xpp); 8193 while (eventType != XmlPullParser.END_TAG) { 8194 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8195 res.setType(parseCoding(xpp)); 8196 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8197 res.setTextElement(parseString(xpp)); 8198 } else if (!parseBackboneContent(eventType, xpp, res)) 8199 unknownContent(xpp); 8200 eventType = nextNoWhitespace(xpp); 8201 } 8202 next(xpp); 8203 parseElementClose(res); 8204 return res; 8205 } 8206 8207 protected Provenance parseProvenance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8208 Provenance res = new Provenance(); 8209 parseDomainResourceAttributes(xpp, res); 8210 next(xpp); 8211 int eventType = nextNoWhitespace(xpp); 8212 while (eventType != XmlPullParser.END_TAG) { 8213 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8214 res.getTarget().add(parseReference(xpp)); 8215 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8216 res.setPeriod(parsePeriod(xpp)); 8217 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recorded")) { 8218 res.setRecordedElement(parseInstant(xpp)); 8219 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 8220 res.getReason().add(parseCodeableConcept(xpp)); 8221 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { 8222 res.setActivity(parseCodeableConcept(xpp)); 8223 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { 8224 res.setLocation(parseReference(xpp)); 8225 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policy")) { 8226 res.getPolicy().add(parseUri(xpp)); 8227 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("agent")) { 8228 res.getAgent().add(parseProvenanceProvenanceAgentComponent(xpp, res)); 8229 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("entity")) { 8230 res.getEntity().add(parseProvenanceProvenanceEntityComponent(xpp, res)); 8231 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { 8232 res.getSignature().add(parseSignature(xpp)); 8233 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8234 unknownContent(xpp); 8235 eventType = nextNoWhitespace(xpp); 8236 } 8237 next(xpp); 8238 parseElementClose(res); 8239 return res; 8240 } 8241 8242 protected Provenance.ProvenanceAgentComponent parseProvenanceProvenanceAgentComponent(XmlPullParser xpp, Provenance owner) throws XmlPullParserException, IOException, FHIRFormatError { 8243 Provenance.ProvenanceAgentComponent res = new Provenance.ProvenanceAgentComponent(); 8244 parseBackboneAttributes(xpp, res); 8245 next(xpp); 8246 int eventType = nextNoWhitespace(xpp); 8247 while (eventType != XmlPullParser.END_TAG) { 8248 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8249 res.setRole(parseCoding(xpp)); 8250 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 8251 res.setActor(parseReference(xpp)); 8252 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("userId")) { 8253 res.setUserId(parseIdentifier(xpp)); 8254 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedAgent")) { 8255 res.getRelatedAgent().add(parseProvenanceProvenanceAgentRelatedAgentComponent(xpp, owner)); 8256 } else if (!parseBackboneContent(eventType, xpp, res)) 8257 unknownContent(xpp); 8258 eventType = nextNoWhitespace(xpp); 8259 } 8260 next(xpp); 8261 parseElementClose(res); 8262 return res; 8263 } 8264 8265 protected Provenance.ProvenanceAgentRelatedAgentComponent parseProvenanceProvenanceAgentRelatedAgentComponent(XmlPullParser xpp, Provenance owner) throws XmlPullParserException, IOException, FHIRFormatError { 8266 Provenance.ProvenanceAgentRelatedAgentComponent res = new Provenance.ProvenanceAgentRelatedAgentComponent(); 8267 parseBackboneAttributes(xpp, res); 8268 next(xpp); 8269 int eventType = nextNoWhitespace(xpp); 8270 while (eventType != XmlPullParser.END_TAG) { 8271 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8272 res.setType(parseCodeableConcept(xpp)); 8273 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8274 res.setTargetElement(parseUri(xpp)); 8275 } else if (!parseBackboneContent(eventType, xpp, res)) 8276 unknownContent(xpp); 8277 eventType = nextNoWhitespace(xpp); 8278 } 8279 next(xpp); 8280 parseElementClose(res); 8281 return res; 8282 } 8283 8284 protected Provenance.ProvenanceEntityComponent parseProvenanceProvenanceEntityComponent(XmlPullParser xpp, Provenance owner) throws XmlPullParserException, IOException, FHIRFormatError { 8285 Provenance.ProvenanceEntityComponent res = new Provenance.ProvenanceEntityComponent(); 8286 parseBackboneAttributes(xpp, res); 8287 next(xpp); 8288 int eventType = nextNoWhitespace(xpp); 8289 while (eventType != XmlPullParser.END_TAG) { 8290 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { 8291 res.setRoleElement(parseEnumeration(xpp, Provenance.ProvenanceEntityRole.NULL, new Provenance.ProvenanceEntityRoleEnumFactory())); 8292 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8293 res.setType(parseCoding(xpp)); 8294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { 8295 res.setReferenceElement(parseUri(xpp)); 8296 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 8297 res.setDisplayElement(parseString(xpp)); 8298 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("agent")) { 8299 res.setAgent(parseProvenanceProvenanceAgentComponent(xpp, owner)); 8300 } else if (!parseBackboneContent(eventType, xpp, res)) 8301 unknownContent(xpp); 8302 eventType = nextNoWhitespace(xpp); 8303 } 8304 next(xpp); 8305 parseElementClose(res); 8306 return res; 8307 } 8308 8309 protected Questionnaire parseQuestionnaire(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8310 Questionnaire res = new Questionnaire(); 8311 parseDomainResourceAttributes(xpp, res); 8312 next(xpp); 8313 int eventType = nextNoWhitespace(xpp); 8314 while (eventType != XmlPullParser.END_TAG) { 8315 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8316 res.getIdentifier().add(parseIdentifier(xpp)); 8317 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 8318 res.setVersionElement(parseString(xpp)); 8319 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8320 res.setStatusElement(parseEnumeration(xpp, Questionnaire.QuestionnaireStatus.NULL, new Questionnaire.QuestionnaireStatusEnumFactory())); 8321 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8322 res.setDateElement(parseDateTime(xpp)); 8323 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 8324 res.setPublisherElement(parseString(xpp)); 8325 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8326 res.getTelecom().add(parseContactPoint(xpp)); 8327 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subjectType")) { 8328 res.getSubjectType().add(parseCode(xpp)); 8329 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8330 res.setGroup(parseQuestionnaireGroupComponent(xpp, res)); 8331 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8332 unknownContent(xpp); 8333 eventType = nextNoWhitespace(xpp); 8334 } 8335 next(xpp); 8336 parseElementClose(res); 8337 return res; 8338 } 8339 8340 protected Questionnaire.GroupComponent parseQuestionnaireGroupComponent(XmlPullParser xpp, Questionnaire owner) throws XmlPullParserException, IOException, FHIRFormatError { 8341 Questionnaire.GroupComponent res = new Questionnaire.GroupComponent(); 8342 parseBackboneAttributes(xpp, res); 8343 next(xpp); 8344 int eventType = nextNoWhitespace(xpp); 8345 while (eventType != XmlPullParser.END_TAG) { 8346 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8347 res.setLinkIdElement(parseString(xpp)); 8348 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 8349 res.setTitleElement(parseString(xpp)); 8350 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 8351 res.getConcept().add(parseCoding(xpp)); 8352 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8353 res.setTextElement(parseString(xpp)); 8354 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 8355 res.setRequiredElement(parseBoolean(xpp)); 8356 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeats")) { 8357 res.setRepeatsElement(parseBoolean(xpp)); 8358 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8359 res.getGroup().add(parseQuestionnaireGroupComponent(xpp, owner)); 8360 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("question")) { 8361 res.getQuestion().add(parseQuestionnaireQuestionComponent(xpp, owner)); 8362 } else if (!parseBackboneContent(eventType, xpp, res)) 8363 unknownContent(xpp); 8364 eventType = nextNoWhitespace(xpp); 8365 } 8366 next(xpp); 8367 parseElementClose(res); 8368 return res; 8369 } 8370 8371 protected Questionnaire.QuestionComponent parseQuestionnaireQuestionComponent(XmlPullParser xpp, Questionnaire owner) throws XmlPullParserException, IOException, FHIRFormatError { 8372 Questionnaire.QuestionComponent res = new Questionnaire.QuestionComponent(); 8373 parseBackboneAttributes(xpp, res); 8374 next(xpp); 8375 int eventType = nextNoWhitespace(xpp); 8376 while (eventType != XmlPullParser.END_TAG) { 8377 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8378 res.setLinkIdElement(parseString(xpp)); 8379 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 8380 res.getConcept().add(parseCoding(xpp)); 8381 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8382 res.setTextElement(parseString(xpp)); 8383 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8384 res.setTypeElement(parseEnumeration(xpp, Questionnaire.AnswerFormat.NULL, new Questionnaire.AnswerFormatEnumFactory())); 8385 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 8386 res.setRequiredElement(parseBoolean(xpp)); 8387 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("repeats")) { 8388 res.setRepeatsElement(parseBoolean(xpp)); 8389 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("options")) { 8390 res.setOptions(parseReference(xpp)); 8391 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("option")) { 8392 res.getOption().add(parseCoding(xpp)); 8393 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8394 res.getGroup().add(parseQuestionnaireGroupComponent(xpp, owner)); 8395 } else if (!parseBackboneContent(eventType, xpp, res)) 8396 unknownContent(xpp); 8397 eventType = nextNoWhitespace(xpp); 8398 } 8399 next(xpp); 8400 parseElementClose(res); 8401 return res; 8402 } 8403 8404 protected QuestionnaireResponse parseQuestionnaireResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8405 QuestionnaireResponse res = new QuestionnaireResponse(); 8406 parseDomainResourceAttributes(xpp, res); 8407 next(xpp); 8408 int eventType = nextNoWhitespace(xpp); 8409 while (eventType != XmlPullParser.END_TAG) { 8410 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8411 res.setIdentifier(parseIdentifier(xpp)); 8412 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("questionnaire")) { 8413 res.setQuestionnaire(parseReference(xpp)); 8414 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8415 res.setStatusElement(parseEnumeration(xpp, QuestionnaireResponse.QuestionnaireResponseStatus.NULL, new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory())); 8416 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8417 res.setSubject(parseReference(xpp)); 8418 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { 8419 res.setAuthor(parseReference(xpp)); 8420 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authored")) { 8421 res.setAuthoredElement(parseDateTime(xpp)); 8422 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 8423 res.setSource(parseReference(xpp)); 8424 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8425 res.setEncounter(parseReference(xpp)); 8426 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8427 res.setGroup(parseQuestionnaireResponseGroupComponent(xpp, res)); 8428 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8429 unknownContent(xpp); 8430 eventType = nextNoWhitespace(xpp); 8431 } 8432 next(xpp); 8433 parseElementClose(res); 8434 return res; 8435 } 8436 8437 protected QuestionnaireResponse.GroupComponent parseQuestionnaireResponseGroupComponent(XmlPullParser xpp, QuestionnaireResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8438 QuestionnaireResponse.GroupComponent res = new QuestionnaireResponse.GroupComponent(); 8439 parseBackboneAttributes(xpp, res); 8440 next(xpp); 8441 int eventType = nextNoWhitespace(xpp); 8442 while (eventType != XmlPullParser.END_TAG) { 8443 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8444 res.setLinkIdElement(parseString(xpp)); 8445 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { 8446 res.setTitleElement(parseString(xpp)); 8447 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8448 res.setTextElement(parseString(xpp)); 8449 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8450 res.setSubject(parseReference(xpp)); 8451 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8452 res.getGroup().add(parseQuestionnaireResponseGroupComponent(xpp, owner)); 8453 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("question")) { 8454 res.getQuestion().add(parseQuestionnaireResponseQuestionComponent(xpp, owner)); 8455 } else if (!parseBackboneContent(eventType, xpp, res)) 8456 unknownContent(xpp); 8457 eventType = nextNoWhitespace(xpp); 8458 } 8459 next(xpp); 8460 parseElementClose(res); 8461 return res; 8462 } 8463 8464 protected QuestionnaireResponse.QuestionComponent parseQuestionnaireResponseQuestionComponent(XmlPullParser xpp, QuestionnaireResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8465 QuestionnaireResponse.QuestionComponent res = new QuestionnaireResponse.QuestionComponent(); 8466 parseBackboneAttributes(xpp, res); 8467 next(xpp); 8468 int eventType = nextNoWhitespace(xpp); 8469 while (eventType != XmlPullParser.END_TAG) { 8470 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { 8471 res.setLinkIdElement(parseString(xpp)); 8472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { 8473 res.setTextElement(parseString(xpp)); 8474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("answer")) { 8475 res.getAnswer().add(parseQuestionnaireResponseQuestionAnswerComponent(xpp, owner)); 8476 } else if (!parseBackboneContent(eventType, xpp, res)) 8477 unknownContent(xpp); 8478 eventType = nextNoWhitespace(xpp); 8479 } 8480 next(xpp); 8481 parseElementClose(res); 8482 return res; 8483 } 8484 8485 protected QuestionnaireResponse.QuestionAnswerComponent parseQuestionnaireResponseQuestionAnswerComponent(XmlPullParser xpp, QuestionnaireResponse owner) throws XmlPullParserException, IOException, FHIRFormatError { 8486 QuestionnaireResponse.QuestionAnswerComponent res = new QuestionnaireResponse.QuestionAnswerComponent(); 8487 parseBackboneAttributes(xpp, res); 8488 next(xpp); 8489 int eventType = nextNoWhitespace(xpp); 8490 while (eventType != XmlPullParser.END_TAG) { 8491 if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 8492 res.setValue(parseType("value", xpp)); 8493 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { 8494 res.getGroup().add(parseQuestionnaireResponseGroupComponent(xpp, owner)); 8495 } else if (!parseBackboneContent(eventType, xpp, res)) 8496 unknownContent(xpp); 8497 eventType = nextNoWhitespace(xpp); 8498 } 8499 next(xpp); 8500 parseElementClose(res); 8501 return res; 8502 } 8503 8504 protected ReferralRequest parseReferralRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8505 ReferralRequest res = new ReferralRequest(); 8506 parseDomainResourceAttributes(xpp, res); 8507 next(xpp); 8508 int eventType = nextNoWhitespace(xpp); 8509 while (eventType != XmlPullParser.END_TAG) { 8510 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8511 res.setStatusElement(parseEnumeration(xpp, ReferralRequest.ReferralStatus.NULL, new ReferralRequest.ReferralStatusEnumFactory())); 8512 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8513 res.getIdentifier().add(parseIdentifier(xpp)); 8514 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8515 res.setDateElement(parseDateTime(xpp)); 8516 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8517 res.setType(parseCodeableConcept(xpp)); 8518 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { 8519 res.setSpecialty(parseCodeableConcept(xpp)); 8520 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { 8521 res.setPriority(parseCodeableConcept(xpp)); 8522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 8523 res.setPatient(parseReference(xpp)); 8524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { 8525 res.setRequester(parseReference(xpp)); 8526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recipient")) { 8527 res.getRecipient().add(parseReference(xpp)); 8528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8529 res.setEncounter(parseReference(xpp)); 8530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateSent")) { 8531 res.setDateSentElement(parseDateTime(xpp)); 8532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 8533 res.setReason(parseCodeableConcept(xpp)); 8534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 8535 res.setDescriptionElement(parseString(xpp)); 8536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceRequested")) { 8537 res.getServiceRequested().add(parseCodeableConcept(xpp)); 8538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { 8539 res.getSupportingInformation().add(parseReference(xpp)); 8540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fulfillmentTime")) { 8541 res.setFulfillmentTime(parsePeriod(xpp)); 8542 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8543 unknownContent(xpp); 8544 eventType = nextNoWhitespace(xpp); 8545 } 8546 next(xpp); 8547 parseElementClose(res); 8548 return res; 8549 } 8550 8551 protected RelatedPerson parseRelatedPerson(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8552 RelatedPerson res = new RelatedPerson(); 8553 parseDomainResourceAttributes(xpp, res); 8554 next(xpp); 8555 int eventType = nextNoWhitespace(xpp); 8556 while (eventType != XmlPullParser.END_TAG) { 8557 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8558 res.getIdentifier().add(parseIdentifier(xpp)); 8559 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 8560 res.setPatient(parseReference(xpp)); 8561 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { 8562 res.setRelationship(parseCodeableConcept(xpp)); 8563 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8564 res.setName(parseHumanName(xpp)); 8565 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8566 res.getTelecom().add(parseContactPoint(xpp)); 8567 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { 8568 res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); 8569 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { 8570 res.setBirthDateElement(parseDate(xpp)); 8571 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { 8572 res.getAddress().add(parseAddress(xpp)); 8573 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { 8574 res.getPhoto().add(parseAttachment(xpp)); 8575 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { 8576 res.setPeriod(parsePeriod(xpp)); 8577 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8578 unknownContent(xpp); 8579 eventType = nextNoWhitespace(xpp); 8580 } 8581 next(xpp); 8582 parseElementClose(res); 8583 return res; 8584 } 8585 8586 protected RiskAssessment parseRiskAssessment(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8587 RiskAssessment res = new RiskAssessment(); 8588 parseDomainResourceAttributes(xpp, res); 8589 next(xpp); 8590 int eventType = nextNoWhitespace(xpp); 8591 while (eventType != XmlPullParser.END_TAG) { 8592 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8593 res.setSubject(parseReference(xpp)); 8594 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8595 res.setDateElement(parseDateTime(xpp)); 8596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { 8597 res.setCondition(parseReference(xpp)); 8598 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 8599 res.setEncounter(parseReference(xpp)); 8600 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { 8601 res.setPerformer(parseReference(xpp)); 8602 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8603 res.setIdentifier(parseIdentifier(xpp)); 8604 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 8605 res.setMethod(parseCodeableConcept(xpp)); 8606 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { 8607 res.getBasis().add(parseReference(xpp)); 8608 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prediction")) { 8609 res.getPrediction().add(parseRiskAssessmentRiskAssessmentPredictionComponent(xpp, res)); 8610 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mitigation")) { 8611 res.setMitigationElement(parseString(xpp)); 8612 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8613 unknownContent(xpp); 8614 eventType = nextNoWhitespace(xpp); 8615 } 8616 next(xpp); 8617 parseElementClose(res); 8618 return res; 8619 } 8620 8621 protected RiskAssessment.RiskAssessmentPredictionComponent parseRiskAssessmentRiskAssessmentPredictionComponent(XmlPullParser xpp, RiskAssessment owner) throws XmlPullParserException, IOException, FHIRFormatError { 8622 RiskAssessment.RiskAssessmentPredictionComponent res = new RiskAssessment.RiskAssessmentPredictionComponent(); 8623 parseBackboneAttributes(xpp, res); 8624 next(xpp); 8625 int eventType = nextNoWhitespace(xpp); 8626 while (eventType != XmlPullParser.END_TAG) { 8627 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { 8628 res.setOutcome(parseCodeableConcept(xpp)); 8629 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "probability")) { 8630 res.setProbability(parseType("probability", xpp)); 8631 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relativeRisk")) { 8632 res.setRelativeRiskElement(parseDecimal(xpp)); 8633 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "when")) { 8634 res.setWhen(parseType("when", xpp)); 8635 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rationale")) { 8636 res.setRationaleElement(parseString(xpp)); 8637 } else if (!parseBackboneContent(eventType, xpp, res)) 8638 unknownContent(xpp); 8639 eventType = nextNoWhitespace(xpp); 8640 } 8641 next(xpp); 8642 parseElementClose(res); 8643 return res; 8644 } 8645 8646 protected Schedule parseSchedule(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8647 Schedule res = new Schedule(); 8648 parseDomainResourceAttributes(xpp, res); 8649 next(xpp); 8650 int eventType = nextNoWhitespace(xpp); 8651 while (eventType != XmlPullParser.END_TAG) { 8652 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8653 res.getIdentifier().add(parseIdentifier(xpp)); 8654 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8655 res.getType().add(parseCodeableConcept(xpp)); 8656 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { 8657 res.setActor(parseReference(xpp)); 8658 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("planningHorizon")) { 8659 res.setPlanningHorizon(parsePeriod(xpp)); 8660 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 8661 res.setCommentElement(parseString(xpp)); 8662 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8663 unknownContent(xpp); 8664 eventType = nextNoWhitespace(xpp); 8665 } 8666 next(xpp); 8667 parseElementClose(res); 8668 return res; 8669 } 8670 8671 protected SearchParameter parseSearchParameter(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8672 SearchParameter res = new SearchParameter(); 8673 parseDomainResourceAttributes(xpp, res); 8674 next(xpp); 8675 int eventType = nextNoWhitespace(xpp); 8676 while (eventType != XmlPullParser.END_TAG) { 8677 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 8678 res.setUrlElement(parseUri(xpp)); 8679 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8680 res.setNameElement(parseString(xpp)); 8681 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8682 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 8683 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 8684 res.setExperimentalElement(parseBoolean(xpp)); 8685 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 8686 res.setPublisherElement(parseString(xpp)); 8687 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 8688 res.getContact().add(parseSearchParameterSearchParameterContactComponent(xpp, res)); 8689 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8690 res.setDateElement(parseDateTime(xpp)); 8691 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 8692 res.setRequirementsElement(parseString(xpp)); 8693 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8694 res.setCodeElement(parseCode(xpp)); 8695 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 8696 res.setBaseElement(parseCode(xpp)); 8697 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8698 res.setTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); 8699 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 8700 res.setDescriptionElement(parseString(xpp)); 8701 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpath")) { 8702 res.setXpathElement(parseString(xpp)); 8703 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpathUsage")) { 8704 res.setXpathUsageElement(parseEnumeration(xpp, SearchParameter.XPathUsageType.NULL, new SearchParameter.XPathUsageTypeEnumFactory())); 8705 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { 8706 res.getTarget().add(parseCode(xpp)); 8707 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8708 unknownContent(xpp); 8709 eventType = nextNoWhitespace(xpp); 8710 } 8711 next(xpp); 8712 parseElementClose(res); 8713 return res; 8714 } 8715 8716 protected SearchParameter.SearchParameterContactComponent parseSearchParameterSearchParameterContactComponent(XmlPullParser xpp, SearchParameter owner) throws XmlPullParserException, IOException, FHIRFormatError { 8717 SearchParameter.SearchParameterContactComponent res = new SearchParameter.SearchParameterContactComponent(); 8718 parseBackboneAttributes(xpp, res); 8719 next(xpp); 8720 int eventType = nextNoWhitespace(xpp); 8721 while (eventType != XmlPullParser.END_TAG) { 8722 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8723 res.setNameElement(parseString(xpp)); 8724 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8725 res.getTelecom().add(parseContactPoint(xpp)); 8726 } else if (!parseBackboneContent(eventType, xpp, res)) 8727 unknownContent(xpp); 8728 eventType = nextNoWhitespace(xpp); 8729 } 8730 next(xpp); 8731 parseElementClose(res); 8732 return res; 8733 } 8734 8735 protected Slot parseSlot(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8736 Slot res = new Slot(); 8737 parseDomainResourceAttributes(xpp, res); 8738 next(xpp); 8739 int eventType = nextNoWhitespace(xpp); 8740 while (eventType != XmlPullParser.END_TAG) { 8741 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8742 res.getIdentifier().add(parseIdentifier(xpp)); 8743 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8744 res.setType(parseCodeableConcept(xpp)); 8745 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 8746 res.setSchedule(parseReference(xpp)); 8747 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("freeBusyType")) { 8748 res.setFreeBusyTypeElement(parseEnumeration(xpp, Slot.SlotStatus.NULL, new Slot.SlotStatusEnumFactory())); 8749 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { 8750 res.setStartElement(parseInstant(xpp)); 8751 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 8752 res.setEndElement(parseInstant(xpp)); 8753 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("overbooked")) { 8754 res.setOverbookedElement(parseBoolean(xpp)); 8755 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 8756 res.setCommentElement(parseString(xpp)); 8757 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8758 unknownContent(xpp); 8759 eventType = nextNoWhitespace(xpp); 8760 } 8761 next(xpp); 8762 parseElementClose(res); 8763 return res; 8764 } 8765 8766 protected Specimen parseSpecimen(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8767 Specimen res = new Specimen(); 8768 parseDomainResourceAttributes(xpp, res); 8769 next(xpp); 8770 int eventType = nextNoWhitespace(xpp); 8771 while (eventType != XmlPullParser.END_TAG) { 8772 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8773 res.getIdentifier().add(parseIdentifier(xpp)); 8774 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8775 res.setStatusElement(parseEnumeration(xpp, Specimen.SpecimenStatus.NULL, new Specimen.SpecimenStatusEnumFactory())); 8776 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8777 res.setType(parseCodeableConcept(xpp)); 8778 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { 8779 res.getParent().add(parseReference(xpp)); 8780 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { 8781 res.setSubject(parseReference(xpp)); 8782 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accessionIdentifier")) { 8783 res.setAccessionIdentifier(parseIdentifier(xpp)); 8784 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receivedTime")) { 8785 res.setReceivedTimeElement(parseDateTime(xpp)); 8786 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collection")) { 8787 res.setCollection(parseSpecimenSpecimenCollectionComponent(xpp, res)); 8788 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("treatment")) { 8789 res.getTreatment().add(parseSpecimenSpecimenTreatmentComponent(xpp, res)); 8790 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("container")) { 8791 res.getContainer().add(parseSpecimenSpecimenContainerComponent(xpp, res)); 8792 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8793 unknownContent(xpp); 8794 eventType = nextNoWhitespace(xpp); 8795 } 8796 next(xpp); 8797 parseElementClose(res); 8798 return res; 8799 } 8800 8801 protected Specimen.SpecimenCollectionComponent parseSpecimenSpecimenCollectionComponent(XmlPullParser xpp, Specimen owner) throws XmlPullParserException, IOException, FHIRFormatError { 8802 Specimen.SpecimenCollectionComponent res = new Specimen.SpecimenCollectionComponent(); 8803 parseBackboneAttributes(xpp, res); 8804 next(xpp); 8805 int eventType = nextNoWhitespace(xpp); 8806 while (eventType != XmlPullParser.END_TAG) { 8807 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collector")) { 8808 res.setCollector(parseReference(xpp)); 8809 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { 8810 res.getComment().add(parseString(xpp)); 8811 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "collected")) { 8812 res.setCollected(parseType("collected", xpp)); 8813 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 8814 res.setQuantity(parseSimpleQuantity(xpp)); 8815 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { 8816 res.setMethod(parseCodeableConcept(xpp)); 8817 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { 8818 res.setBodySite(parseCodeableConcept(xpp)); 8819 } else if (!parseBackboneContent(eventType, xpp, res)) 8820 unknownContent(xpp); 8821 eventType = nextNoWhitespace(xpp); 8822 } 8823 next(xpp); 8824 parseElementClose(res); 8825 return res; 8826 } 8827 8828 protected Specimen.SpecimenTreatmentComponent parseSpecimenSpecimenTreatmentComponent(XmlPullParser xpp, Specimen owner) throws XmlPullParserException, IOException, FHIRFormatError { 8829 Specimen.SpecimenTreatmentComponent res = new Specimen.SpecimenTreatmentComponent(); 8830 parseBackboneAttributes(xpp, res); 8831 next(xpp); 8832 int eventType = nextNoWhitespace(xpp); 8833 while (eventType != XmlPullParser.END_TAG) { 8834 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 8835 res.setDescriptionElement(parseString(xpp)); 8836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("procedure")) { 8837 res.setProcedure(parseCodeableConcept(xpp)); 8838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additive")) { 8839 res.getAdditive().add(parseReference(xpp)); 8840 } else if (!parseBackboneContent(eventType, xpp, res)) 8841 unknownContent(xpp); 8842 eventType = nextNoWhitespace(xpp); 8843 } 8844 next(xpp); 8845 parseElementClose(res); 8846 return res; 8847 } 8848 8849 protected Specimen.SpecimenContainerComponent parseSpecimenSpecimenContainerComponent(XmlPullParser xpp, Specimen owner) throws XmlPullParserException, IOException, FHIRFormatError { 8850 Specimen.SpecimenContainerComponent res = new Specimen.SpecimenContainerComponent(); 8851 parseBackboneAttributes(xpp, res); 8852 next(xpp); 8853 int eventType = nextNoWhitespace(xpp); 8854 while (eventType != XmlPullParser.END_TAG) { 8855 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8856 res.getIdentifier().add(parseIdentifier(xpp)); 8857 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 8858 res.setDescriptionElement(parseString(xpp)); 8859 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 8860 res.setType(parseCodeableConcept(xpp)); 8861 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capacity")) { 8862 res.setCapacity(parseSimpleQuantity(xpp)); 8863 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimenQuantity")) { 8864 res.setSpecimenQuantity(parseSimpleQuantity(xpp)); 8865 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "additive")) { 8866 res.setAdditive(parseType("additive", xpp)); 8867 } else if (!parseBackboneContent(eventType, xpp, res)) 8868 unknownContent(xpp); 8869 eventType = nextNoWhitespace(xpp); 8870 } 8871 next(xpp); 8872 parseElementClose(res); 8873 return res; 8874 } 8875 8876 protected StructureDefinition parseStructureDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 8877 StructureDefinition res = new StructureDefinition(); 8878 parseDomainResourceAttributes(xpp, res); 8879 next(xpp); 8880 int eventType = nextNoWhitespace(xpp); 8881 while (eventType != XmlPullParser.END_TAG) { 8882 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 8883 res.setUrlElement(parseUri(xpp)); 8884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 8885 res.getIdentifier().add(parseIdentifier(xpp)); 8886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 8887 res.setVersionElement(parseString(xpp)); 8888 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8889 res.setNameElement(parseString(xpp)); 8890 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 8891 res.setDisplayElement(parseString(xpp)); 8892 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 8893 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 8894 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 8895 res.setExperimentalElement(parseBoolean(xpp)); 8896 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 8897 res.setPublisherElement(parseString(xpp)); 8898 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 8899 res.getContact().add(parseStructureDefinitionStructureDefinitionContactComponent(xpp, res)); 8900 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 8901 res.setDateElement(parseDateTime(xpp)); 8902 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 8903 res.setDescriptionElement(parseString(xpp)); 8904 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 8905 res.getUseContext().add(parseCodeableConcept(xpp)); 8906 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 8907 res.setRequirementsElement(parseString(xpp)); 8908 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 8909 res.setCopyrightElement(parseString(xpp)); 8910 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 8911 res.getCode().add(parseCoding(xpp)); 8912 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { 8913 res.setFhirVersionElement(parseId(xpp)); 8914 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mapping")) { 8915 res.getMapping().add(parseStructureDefinitionStructureDefinitionMappingComponent(xpp, res)); 8916 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 8917 res.setKindElement(parseEnumeration(xpp, StructureDefinition.StructureDefinitionKind.NULL, new StructureDefinition.StructureDefinitionKindEnumFactory())); 8918 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("constrainedType")) { 8919 res.setConstrainedTypeElement(parseCode(xpp)); 8920 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 8921 res.setAbstractElement(parseBoolean(xpp)); 8922 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contextType")) { 8923 res.setContextTypeElement(parseEnumeration(xpp, StructureDefinition.ExtensionContext.NULL, new StructureDefinition.ExtensionContextEnumFactory())); 8924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { 8925 res.getContext().add(parseString(xpp)); 8926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 8927 res.setBaseElement(parseUri(xpp)); 8928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("snapshot")) { 8929 res.setSnapshot(parseStructureDefinitionStructureDefinitionSnapshotComponent(xpp, res)); 8930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("differential")) { 8931 res.setDifferential(parseStructureDefinitionStructureDefinitionDifferentialComponent(xpp, res)); 8932 } else if (!parseDomainResourceContent(eventType, xpp, res)) 8933 unknownContent(xpp); 8934 eventType = nextNoWhitespace(xpp); 8935 } 8936 next(xpp); 8937 parseElementClose(res); 8938 return res; 8939 } 8940 8941 protected StructureDefinition.StructureDefinitionContactComponent parseStructureDefinitionStructureDefinitionContactComponent(XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 8942 StructureDefinition.StructureDefinitionContactComponent res = new StructureDefinition.StructureDefinitionContactComponent(); 8943 parseBackboneAttributes(xpp, res); 8944 next(xpp); 8945 int eventType = nextNoWhitespace(xpp); 8946 while (eventType != XmlPullParser.END_TAG) { 8947 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8948 res.setNameElement(parseString(xpp)); 8949 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 8950 res.getTelecom().add(parseContactPoint(xpp)); 8951 } else if (!parseBackboneContent(eventType, xpp, res)) 8952 unknownContent(xpp); 8953 eventType = nextNoWhitespace(xpp); 8954 } 8955 next(xpp); 8956 parseElementClose(res); 8957 return res; 8958 } 8959 8960 protected StructureDefinition.StructureDefinitionMappingComponent parseStructureDefinitionStructureDefinitionMappingComponent(XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 8961 StructureDefinition.StructureDefinitionMappingComponent res = new StructureDefinition.StructureDefinitionMappingComponent(); 8962 parseBackboneAttributes(xpp, res); 8963 next(xpp); 8964 int eventType = nextNoWhitespace(xpp); 8965 while (eventType != XmlPullParser.END_TAG) { 8966 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identity")) { 8967 res.setIdentityElement(parseId(xpp)); 8968 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uri")) { 8969 res.setUriElement(parseUri(xpp)); 8970 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 8971 res.setNameElement(parseString(xpp)); 8972 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comments")) { 8973 res.setCommentsElement(parseString(xpp)); 8974 } else if (!parseBackboneContent(eventType, xpp, res)) 8975 unknownContent(xpp); 8976 eventType = nextNoWhitespace(xpp); 8977 } 8978 next(xpp); 8979 parseElementClose(res); 8980 return res; 8981 } 8982 8983 protected StructureDefinition.StructureDefinitionSnapshotComponent parseStructureDefinitionStructureDefinitionSnapshotComponent(XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 8984 StructureDefinition.StructureDefinitionSnapshotComponent res = new StructureDefinition.StructureDefinitionSnapshotComponent(); 8985 parseBackboneAttributes(xpp, res); 8986 next(xpp); 8987 int eventType = nextNoWhitespace(xpp); 8988 while (eventType != XmlPullParser.END_TAG) { 8989 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 8990 res.getElement().add(parseElementDefinition(xpp)); 8991 } else if (!parseBackboneContent(eventType, xpp, res)) 8992 unknownContent(xpp); 8993 eventType = nextNoWhitespace(xpp); 8994 } 8995 next(xpp); 8996 parseElementClose(res); 8997 return res; 8998 } 8999 9000 protected StructureDefinition.StructureDefinitionDifferentialComponent parseStructureDefinitionStructureDefinitionDifferentialComponent(XmlPullParser xpp, StructureDefinition owner) throws XmlPullParserException, IOException, FHIRFormatError { 9001 StructureDefinition.StructureDefinitionDifferentialComponent res = new StructureDefinition.StructureDefinitionDifferentialComponent(); 9002 parseBackboneAttributes(xpp, res); 9003 next(xpp); 9004 int eventType = nextNoWhitespace(xpp); 9005 while (eventType != XmlPullParser.END_TAG) { 9006 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("element")) { 9007 res.getElement().add(parseElementDefinition(xpp)); 9008 } else if (!parseBackboneContent(eventType, xpp, res)) 9009 unknownContent(xpp); 9010 eventType = nextNoWhitespace(xpp); 9011 } 9012 next(xpp); 9013 parseElementClose(res); 9014 return res; 9015 } 9016 9017 protected Subscription parseSubscription(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9018 Subscription res = new Subscription(); 9019 parseDomainResourceAttributes(xpp, res); 9020 next(xpp); 9021 int eventType = nextNoWhitespace(xpp); 9022 while (eventType != XmlPullParser.END_TAG) { 9023 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("criteria")) { 9024 res.setCriteriaElement(parseString(xpp)); 9025 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9026 res.getContact().add(parseContactPoint(xpp)); 9027 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { 9028 res.setReasonElement(parseString(xpp)); 9029 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9030 res.setStatusElement(parseEnumeration(xpp, Subscription.SubscriptionStatus.NULL, new Subscription.SubscriptionStatusEnumFactory())); 9031 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("error")) { 9032 res.setErrorElement(parseString(xpp)); 9033 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("channel")) { 9034 res.setChannel(parseSubscriptionSubscriptionChannelComponent(xpp, res)); 9035 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { 9036 res.setEndElement(parseInstant(xpp)); 9037 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tag")) { 9038 res.getTag().add(parseCoding(xpp)); 9039 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9040 unknownContent(xpp); 9041 eventType = nextNoWhitespace(xpp); 9042 } 9043 next(xpp); 9044 parseElementClose(res); 9045 return res; 9046 } 9047 9048 protected Subscription.SubscriptionChannelComponent parseSubscriptionSubscriptionChannelComponent(XmlPullParser xpp, Subscription owner) throws XmlPullParserException, IOException, FHIRFormatError { 9049 Subscription.SubscriptionChannelComponent res = new Subscription.SubscriptionChannelComponent(); 9050 parseBackboneAttributes(xpp, res); 9051 next(xpp); 9052 int eventType = nextNoWhitespace(xpp); 9053 while (eventType != XmlPullParser.END_TAG) { 9054 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9055 res.setTypeElement(parseEnumeration(xpp, Subscription.SubscriptionChannelType.NULL, new Subscription.SubscriptionChannelTypeEnumFactory())); 9056 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { 9057 res.setEndpointElement(parseUri(xpp)); 9058 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payload")) { 9059 res.setPayloadElement(parseString(xpp)); 9060 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("header")) { 9061 res.setHeaderElement(parseString(xpp)); 9062 } else if (!parseBackboneContent(eventType, xpp, res)) 9063 unknownContent(xpp); 9064 eventType = nextNoWhitespace(xpp); 9065 } 9066 next(xpp); 9067 parseElementClose(res); 9068 return res; 9069 } 9070 9071 protected Substance parseSubstance(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9072 Substance res = new Substance(); 9073 parseDomainResourceAttributes(xpp, res); 9074 next(xpp); 9075 int eventType = nextNoWhitespace(xpp); 9076 while (eventType != XmlPullParser.END_TAG) { 9077 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9078 res.getIdentifier().add(parseIdentifier(xpp)); 9079 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { 9080 res.getCategory().add(parseCodeableConcept(xpp)); 9081 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9082 res.setCode(parseCodeableConcept(xpp)); 9083 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9084 res.setDescriptionElement(parseString(xpp)); 9085 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { 9086 res.getInstance().add(parseSubstanceSubstanceInstanceComponent(xpp, res)); 9087 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { 9088 res.getIngredient().add(parseSubstanceSubstanceIngredientComponent(xpp, res)); 9089 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9090 unknownContent(xpp); 9091 eventType = nextNoWhitespace(xpp); 9092 } 9093 next(xpp); 9094 parseElementClose(res); 9095 return res; 9096 } 9097 9098 protected Substance.SubstanceInstanceComponent parseSubstanceSubstanceInstanceComponent(XmlPullParser xpp, Substance owner) throws XmlPullParserException, IOException, FHIRFormatError { 9099 Substance.SubstanceInstanceComponent res = new Substance.SubstanceInstanceComponent(); 9100 parseBackboneAttributes(xpp, res); 9101 next(xpp); 9102 int eventType = nextNoWhitespace(xpp); 9103 while (eventType != XmlPullParser.END_TAG) { 9104 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9105 res.setIdentifier(parseIdentifier(xpp)); 9106 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expiry")) { 9107 res.setExpiryElement(parseDateTime(xpp)); 9108 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9109 res.setQuantity(parseSimpleQuantity(xpp)); 9110 } else if (!parseBackboneContent(eventType, xpp, res)) 9111 unknownContent(xpp); 9112 eventType = nextNoWhitespace(xpp); 9113 } 9114 next(xpp); 9115 parseElementClose(res); 9116 return res; 9117 } 9118 9119 protected Substance.SubstanceIngredientComponent parseSubstanceSubstanceIngredientComponent(XmlPullParser xpp, Substance owner) throws XmlPullParserException, IOException, FHIRFormatError { 9120 Substance.SubstanceIngredientComponent res = new Substance.SubstanceIngredientComponent(); 9121 parseBackboneAttributes(xpp, res); 9122 next(xpp); 9123 int eventType = nextNoWhitespace(xpp); 9124 while (eventType != XmlPullParser.END_TAG) { 9125 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9126 res.setQuantity(parseRatio(xpp)); 9127 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("substance")) { 9128 res.setSubstance(parseReference(xpp)); 9129 } else if (!parseBackboneContent(eventType, xpp, res)) 9130 unknownContent(xpp); 9131 eventType = nextNoWhitespace(xpp); 9132 } 9133 next(xpp); 9134 parseElementClose(res); 9135 return res; 9136 } 9137 9138 protected SupplyDelivery parseSupplyDelivery(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9139 SupplyDelivery res = new SupplyDelivery(); 9140 parseDomainResourceAttributes(xpp, res); 9141 next(xpp); 9142 int eventType = nextNoWhitespace(xpp); 9143 while (eventType != XmlPullParser.END_TAG) { 9144 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9145 res.setIdentifier(parseIdentifier(xpp)); 9146 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9147 res.setStatusElement(parseEnumeration(xpp, SupplyDelivery.SupplyDeliveryStatus.NULL, new SupplyDelivery.SupplyDeliveryStatusEnumFactory())); 9148 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 9149 res.setPatient(parseReference(xpp)); 9150 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9151 res.setType(parseCodeableConcept(xpp)); 9152 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { 9153 res.setQuantity(parseSimpleQuantity(xpp)); 9154 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suppliedItem")) { 9155 res.setSuppliedItem(parseReference(xpp)); 9156 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { 9157 res.setSupplier(parseReference(xpp)); 9158 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whenPrepared")) { 9159 res.setWhenPrepared(parsePeriod(xpp)); 9160 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("time")) { 9161 res.setTimeElement(parseDateTime(xpp)); 9162 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 9163 res.setDestination(parseReference(xpp)); 9164 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { 9165 res.getReceiver().add(parseReference(xpp)); 9166 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9167 unknownContent(xpp); 9168 eventType = nextNoWhitespace(xpp); 9169 } 9170 next(xpp); 9171 parseElementClose(res); 9172 return res; 9173 } 9174 9175 protected SupplyRequest parseSupplyRequest(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9176 SupplyRequest res = new SupplyRequest(); 9177 parseDomainResourceAttributes(xpp, res); 9178 next(xpp); 9179 int eventType = nextNoWhitespace(xpp); 9180 while (eventType != XmlPullParser.END_TAG) { 9181 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 9182 res.setPatient(parseReference(xpp)); 9183 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { 9184 res.setSource(parseReference(xpp)); 9185 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9186 res.setDateElement(parseDateTime(xpp)); 9187 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9188 res.setIdentifier(parseIdentifier(xpp)); 9189 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9190 res.setStatusElement(parseEnumeration(xpp, SupplyRequest.SupplyRequestStatus.NULL, new SupplyRequest.SupplyRequestStatusEnumFactory())); 9191 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { 9192 res.setKind(parseCodeableConcept(xpp)); 9193 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderedItem")) { 9194 res.setOrderedItem(parseReference(xpp)); 9195 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { 9196 res.getSupplier().add(parseReference(xpp)); 9197 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 9198 res.setReason(parseType("reason", xpp)); 9199 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("when")) { 9200 res.setWhen(parseSupplyRequestSupplyRequestWhenComponent(xpp, res)); 9201 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9202 unknownContent(xpp); 9203 eventType = nextNoWhitespace(xpp); 9204 } 9205 next(xpp); 9206 parseElementClose(res); 9207 return res; 9208 } 9209 9210 protected SupplyRequest.SupplyRequestWhenComponent parseSupplyRequestSupplyRequestWhenComponent(XmlPullParser xpp, SupplyRequest owner) throws XmlPullParserException, IOException, FHIRFormatError { 9211 SupplyRequest.SupplyRequestWhenComponent res = new SupplyRequest.SupplyRequestWhenComponent(); 9212 parseBackboneAttributes(xpp, res); 9213 next(xpp); 9214 int eventType = nextNoWhitespace(xpp); 9215 while (eventType != XmlPullParser.END_TAG) { 9216 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9217 res.setCode(parseCodeableConcept(xpp)); 9218 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { 9219 res.setSchedule(parseTiming(xpp)); 9220 } else if (!parseBackboneContent(eventType, xpp, res)) 9221 unknownContent(xpp); 9222 eventType = nextNoWhitespace(xpp); 9223 } 9224 next(xpp); 9225 parseElementClose(res); 9226 return res; 9227 } 9228 9229 protected TestScript parseTestScript(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9230 TestScript res = new TestScript(); 9231 parseDomainResourceAttributes(xpp, res); 9232 next(xpp); 9233 int eventType = nextNoWhitespace(xpp); 9234 while (eventType != XmlPullParser.END_TAG) { 9235 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9236 res.setUrlElement(parseUri(xpp)); 9237 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9238 res.setVersionElement(parseString(xpp)); 9239 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9240 res.setNameElement(parseString(xpp)); 9241 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9242 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 9243 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9244 res.setIdentifier(parseIdentifier(xpp)); 9245 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 9246 res.setExperimentalElement(parseBoolean(xpp)); 9247 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 9248 res.setPublisherElement(parseString(xpp)); 9249 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9250 res.getContact().add(parseTestScriptTestScriptContactComponent(xpp, res)); 9251 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9252 res.setDateElement(parseDateTime(xpp)); 9253 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9254 res.setDescriptionElement(parseString(xpp)); 9255 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 9256 res.getUseContext().add(parseCodeableConcept(xpp)); 9257 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 9258 res.setRequirementsElement(parseString(xpp)); 9259 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 9260 res.setCopyrightElement(parseString(xpp)); 9261 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("metadata")) { 9262 res.setMetadata(parseTestScriptTestScriptMetadataComponent(xpp, res)); 9263 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("multiserver")) { 9264 res.setMultiserverElement(parseBoolean(xpp)); 9265 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fixture")) { 9266 res.getFixture().add(parseTestScriptTestScriptFixtureComponent(xpp, res)); 9267 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { 9268 res.getProfile().add(parseReference(xpp)); 9269 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("variable")) { 9270 res.getVariable().add(parseTestScriptTestScriptVariableComponent(xpp, res)); 9271 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("setup")) { 9272 res.setSetup(parseTestScriptTestScriptSetupComponent(xpp, res)); 9273 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("test")) { 9274 res.getTest().add(parseTestScriptTestScriptTestComponent(xpp, res)); 9275 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("teardown")) { 9276 res.setTeardown(parseTestScriptTestScriptTeardownComponent(xpp, res)); 9277 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9278 unknownContent(xpp); 9279 eventType = nextNoWhitespace(xpp); 9280 } 9281 next(xpp); 9282 parseElementClose(res); 9283 return res; 9284 } 9285 9286 protected TestScript.TestScriptContactComponent parseTestScriptTestScriptContactComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9287 TestScript.TestScriptContactComponent res = new TestScript.TestScriptContactComponent(); 9288 parseBackboneAttributes(xpp, res); 9289 next(xpp); 9290 int eventType = nextNoWhitespace(xpp); 9291 while (eventType != XmlPullParser.END_TAG) { 9292 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9293 res.setNameElement(parseString(xpp)); 9294 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 9295 res.getTelecom().add(parseContactPoint(xpp)); 9296 } else if (!parseBackboneContent(eventType, xpp, res)) 9297 unknownContent(xpp); 9298 eventType = nextNoWhitespace(xpp); 9299 } 9300 next(xpp); 9301 parseElementClose(res); 9302 return res; 9303 } 9304 9305 protected TestScript.TestScriptMetadataComponent parseTestScriptTestScriptMetadataComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9306 TestScript.TestScriptMetadataComponent res = new TestScript.TestScriptMetadataComponent(); 9307 parseBackboneAttributes(xpp, res); 9308 next(xpp); 9309 int eventType = nextNoWhitespace(xpp); 9310 while (eventType != XmlPullParser.END_TAG) { 9311 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 9312 res.getLink().add(parseTestScriptTestScriptMetadataLinkComponent(xpp, owner)); 9313 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capability")) { 9314 res.getCapability().add(parseTestScriptTestScriptMetadataCapabilityComponent(xpp, owner)); 9315 } else if (!parseBackboneContent(eventType, xpp, res)) 9316 unknownContent(xpp); 9317 eventType = nextNoWhitespace(xpp); 9318 } 9319 next(xpp); 9320 parseElementClose(res); 9321 return res; 9322 } 9323 9324 protected TestScript.TestScriptMetadataLinkComponent parseTestScriptTestScriptMetadataLinkComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9325 TestScript.TestScriptMetadataLinkComponent res = new TestScript.TestScriptMetadataLinkComponent(); 9326 parseBackboneAttributes(xpp, res); 9327 next(xpp); 9328 int eventType = nextNoWhitespace(xpp); 9329 while (eventType != XmlPullParser.END_TAG) { 9330 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9331 res.setUrlElement(parseUri(xpp)); 9332 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9333 res.setDescriptionElement(parseString(xpp)); 9334 } else if (!parseBackboneContent(eventType, xpp, res)) 9335 unknownContent(xpp); 9336 eventType = nextNoWhitespace(xpp); 9337 } 9338 next(xpp); 9339 parseElementClose(res); 9340 return res; 9341 } 9342 9343 protected TestScript.TestScriptMetadataCapabilityComponent parseTestScriptTestScriptMetadataCapabilityComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9344 TestScript.TestScriptMetadataCapabilityComponent res = new TestScript.TestScriptMetadataCapabilityComponent(); 9345 parseBackboneAttributes(xpp, res); 9346 next(xpp); 9347 int eventType = nextNoWhitespace(xpp); 9348 while (eventType != XmlPullParser.END_TAG) { 9349 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("required")) { 9350 res.setRequiredElement(parseBoolean(xpp)); 9351 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validated")) { 9352 res.setValidatedElement(parseBoolean(xpp)); 9353 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9354 res.setDescriptionElement(parseString(xpp)); 9355 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 9356 res.setDestinationElement(parseInteger(xpp)); 9357 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { 9358 res.getLink().add(parseUri(xpp)); 9359 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conformance")) { 9360 res.setConformance(parseReference(xpp)); 9361 } else if (!parseBackboneContent(eventType, xpp, res)) 9362 unknownContent(xpp); 9363 eventType = nextNoWhitespace(xpp); 9364 } 9365 next(xpp); 9366 parseElementClose(res); 9367 return res; 9368 } 9369 9370 protected TestScript.TestScriptFixtureComponent parseTestScriptTestScriptFixtureComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9371 TestScript.TestScriptFixtureComponent res = new TestScript.TestScriptFixtureComponent(); 9372 parseBackboneAttributes(xpp, res); 9373 next(xpp); 9374 int eventType = nextNoWhitespace(xpp); 9375 while (eventType != XmlPullParser.END_TAG) { 9376 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("autocreate")) { 9377 res.setAutocreateElement(parseBoolean(xpp)); 9378 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("autodelete")) { 9379 res.setAutodeleteElement(parseBoolean(xpp)); 9380 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 9381 res.setResource(parseReference(xpp)); 9382 } else if (!parseBackboneContent(eventType, xpp, res)) 9383 unknownContent(xpp); 9384 eventType = nextNoWhitespace(xpp); 9385 } 9386 next(xpp); 9387 parseElementClose(res); 9388 return res; 9389 } 9390 9391 protected TestScript.TestScriptVariableComponent parseTestScriptTestScriptVariableComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9392 TestScript.TestScriptVariableComponent res = new TestScript.TestScriptVariableComponent(); 9393 parseBackboneAttributes(xpp, res); 9394 next(xpp); 9395 int eventType = nextNoWhitespace(xpp); 9396 while (eventType != XmlPullParser.END_TAG) { 9397 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9398 res.setNameElement(parseString(xpp)); 9399 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("headerField")) { 9400 res.setHeaderFieldElement(parseString(xpp)); 9401 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 9402 res.setPathElement(parseString(xpp)); 9403 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 9404 res.setSourceIdElement(parseId(xpp)); 9405 } else if (!parseBackboneContent(eventType, xpp, res)) 9406 unknownContent(xpp); 9407 eventType = nextNoWhitespace(xpp); 9408 } 9409 next(xpp); 9410 parseElementClose(res); 9411 return res; 9412 } 9413 9414 protected TestScript.TestScriptSetupComponent parseTestScriptTestScriptSetupComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9415 TestScript.TestScriptSetupComponent res = new TestScript.TestScriptSetupComponent(); 9416 parseBackboneAttributes(xpp, res); 9417 next(xpp); 9418 int eventType = nextNoWhitespace(xpp); 9419 while (eventType != XmlPullParser.END_TAG) { 9420 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("metadata")) { 9421 res.setMetadata(parseTestScriptTestScriptMetadataComponent(xpp, owner)); 9422 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 9423 res.getAction().add(parseTestScriptTestScriptSetupActionComponent(xpp, owner)); 9424 } else if (!parseBackboneContent(eventType, xpp, res)) 9425 unknownContent(xpp); 9426 eventType = nextNoWhitespace(xpp); 9427 } 9428 next(xpp); 9429 parseElementClose(res); 9430 return res; 9431 } 9432 9433 protected TestScript.TestScriptSetupActionComponent parseTestScriptTestScriptSetupActionComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9434 TestScript.TestScriptSetupActionComponent res = new TestScript.TestScriptSetupActionComponent(); 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("operation")) { 9440 res.setOperation(parseTestScriptTestScriptSetupActionOperationComponent(xpp, owner)); 9441 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 9442 res.setAssert(parseTestScriptTestScriptSetupActionAssertComponent(xpp, owner)); 9443 } else if (!parseBackboneContent(eventType, xpp, res)) 9444 unknownContent(xpp); 9445 eventType = nextNoWhitespace(xpp); 9446 } 9447 next(xpp); 9448 parseElementClose(res); 9449 return res; 9450 } 9451 9452 protected TestScript.TestScriptSetupActionOperationComponent parseTestScriptTestScriptSetupActionOperationComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9453 TestScript.TestScriptSetupActionOperationComponent res = new TestScript.TestScriptSetupActionOperationComponent(); 9454 parseBackboneAttributes(xpp, res); 9455 next(xpp); 9456 int eventType = nextNoWhitespace(xpp); 9457 while (eventType != XmlPullParser.END_TAG) { 9458 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { 9459 res.setType(parseCoding(xpp)); 9460 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 9461 res.setResourceElement(parseCode(xpp)); 9462 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 9463 res.setLabelElement(parseString(xpp)); 9464 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9465 res.setDescriptionElement(parseString(xpp)); 9466 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accept")) { 9467 res.setAcceptElement(parseEnumeration(xpp, TestScript.ContentType.NULL, new TestScript.ContentTypeEnumFactory())); 9468 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 9469 res.setContentTypeElement(parseEnumeration(xpp, TestScript.ContentType.NULL, new TestScript.ContentTypeEnumFactory())); 9470 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { 9471 res.setDestinationElement(parseInteger(xpp)); 9472 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encodeRequestUrl")) { 9473 res.setEncodeRequestUrlElement(parseBoolean(xpp)); 9474 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("params")) { 9475 res.setParamsElement(parseString(xpp)); 9476 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestHeader")) { 9477 res.getRequestHeader().add(parseTestScriptTestScriptSetupActionOperationRequestHeaderComponent(xpp, owner)); 9478 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseId")) { 9479 res.setResponseIdElement(parseId(xpp)); 9480 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 9481 res.setSourceIdElement(parseId(xpp)); 9482 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetId")) { 9483 res.setTargetIdElement(parseId(xpp)); 9484 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9485 res.setUrlElement(parseString(xpp)); 9486 } else if (!parseBackboneContent(eventType, xpp, res)) 9487 unknownContent(xpp); 9488 eventType = nextNoWhitespace(xpp); 9489 } 9490 next(xpp); 9491 parseElementClose(res); 9492 return res; 9493 } 9494 9495 protected TestScript.TestScriptSetupActionOperationRequestHeaderComponent parseTestScriptTestScriptSetupActionOperationRequestHeaderComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9496 TestScript.TestScriptSetupActionOperationRequestHeaderComponent res = new TestScript.TestScriptSetupActionOperationRequestHeaderComponent(); 9497 parseBackboneAttributes(xpp, res); 9498 next(xpp); 9499 int eventType = nextNoWhitespace(xpp); 9500 while (eventType != XmlPullParser.END_TAG) { 9501 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("field")) { 9502 res.setFieldElement(parseString(xpp)); 9503 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 9504 res.setValueElement(parseString(xpp)); 9505 } else if (!parseBackboneContent(eventType, xpp, res)) 9506 unknownContent(xpp); 9507 eventType = nextNoWhitespace(xpp); 9508 } 9509 next(xpp); 9510 parseElementClose(res); 9511 return res; 9512 } 9513 9514 protected TestScript.TestScriptSetupActionAssertComponent parseTestScriptTestScriptSetupActionAssertComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9515 TestScript.TestScriptSetupActionAssertComponent res = new TestScript.TestScriptSetupActionAssertComponent(); 9516 parseBackboneAttributes(xpp, res); 9517 next(xpp); 9518 int eventType = nextNoWhitespace(xpp); 9519 while (eventType != XmlPullParser.END_TAG) { 9520 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { 9521 res.setLabelElement(parseString(xpp)); 9522 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9523 res.setDescriptionElement(parseString(xpp)); 9524 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("direction")) { 9525 res.setDirectionElement(parseEnumeration(xpp, TestScript.AssertionDirectionType.NULL, new TestScript.AssertionDirectionTypeEnumFactory())); 9526 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compareToSourceId")) { 9527 res.setCompareToSourceIdElement(parseString(xpp)); 9528 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compareToSourcePath")) { 9529 res.setCompareToSourcePathElement(parseString(xpp)); 9530 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contentType")) { 9531 res.setContentTypeElement(parseEnumeration(xpp, TestScript.ContentType.NULL, new TestScript.ContentTypeEnumFactory())); 9532 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("headerField")) { 9533 res.setHeaderFieldElement(parseString(xpp)); 9534 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("minimumId")) { 9535 res.setMinimumIdElement(parseString(xpp)); 9536 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("navigationLinks")) { 9537 res.setNavigationLinksElement(parseBoolean(xpp)); 9538 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operator")) { 9539 res.setOperatorElement(parseEnumeration(xpp, TestScript.AssertionOperatorType.NULL, new TestScript.AssertionOperatorTypeEnumFactory())); 9540 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { 9541 res.setPathElement(parseString(xpp)); 9542 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { 9543 res.setResourceElement(parseCode(xpp)); 9544 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { 9545 res.setResponseElement(parseEnumeration(xpp, TestScript.AssertionResponseTypes.NULL, new TestScript.AssertionResponseTypesEnumFactory())); 9546 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseCode")) { 9547 res.setResponseCodeElement(parseString(xpp)); 9548 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourceId")) { 9549 res.setSourceIdElement(parseId(xpp)); 9550 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validateProfileId")) { 9551 res.setValidateProfileIdElement(parseId(xpp)); 9552 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 9553 res.setValueElement(parseString(xpp)); 9554 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("warningOnly")) { 9555 res.setWarningOnlyElement(parseBoolean(xpp)); 9556 } else if (!parseBackboneContent(eventType, xpp, res)) 9557 unknownContent(xpp); 9558 eventType = nextNoWhitespace(xpp); 9559 } 9560 next(xpp); 9561 parseElementClose(res); 9562 return res; 9563 } 9564 9565 protected TestScript.TestScriptTestComponent parseTestScriptTestScriptTestComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9566 TestScript.TestScriptTestComponent res = new TestScript.TestScriptTestComponent(); 9567 parseBackboneAttributes(xpp, res); 9568 next(xpp); 9569 int eventType = nextNoWhitespace(xpp); 9570 while (eventType != XmlPullParser.END_TAG) { 9571 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9572 res.setNameElement(parseString(xpp)); 9573 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9574 res.setDescriptionElement(parseString(xpp)); 9575 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("metadata")) { 9576 res.setMetadata(parseTestScriptTestScriptMetadataComponent(xpp, owner)); 9577 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 9578 res.getAction().add(parseTestScriptTestScriptTestActionComponent(xpp, owner)); 9579 } else if (!parseBackboneContent(eventType, xpp, res)) 9580 unknownContent(xpp); 9581 eventType = nextNoWhitespace(xpp); 9582 } 9583 next(xpp); 9584 parseElementClose(res); 9585 return res; 9586 } 9587 9588 protected TestScript.TestScriptTestActionComponent parseTestScriptTestScriptTestActionComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9589 TestScript.TestScriptTestActionComponent res = new TestScript.TestScriptTestActionComponent(); 9590 parseBackboneAttributes(xpp, res); 9591 next(xpp); 9592 int eventType = nextNoWhitespace(xpp); 9593 while (eventType != XmlPullParser.END_TAG) { 9594 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 9595 res.setOperation(parseTestScriptTestScriptSetupActionOperationComponent(xpp, owner)); 9596 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assert")) { 9597 res.setAssert(parseTestScriptTestScriptSetupActionAssertComponent(xpp, owner)); 9598 } else if (!parseBackboneContent(eventType, xpp, res)) 9599 unknownContent(xpp); 9600 eventType = nextNoWhitespace(xpp); 9601 } 9602 next(xpp); 9603 parseElementClose(res); 9604 return res; 9605 } 9606 9607 protected TestScript.TestScriptTeardownComponent parseTestScriptTestScriptTeardownComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9608 TestScript.TestScriptTeardownComponent res = new TestScript.TestScriptTeardownComponent(); 9609 parseBackboneAttributes(xpp, res); 9610 next(xpp); 9611 int eventType = nextNoWhitespace(xpp); 9612 while (eventType != XmlPullParser.END_TAG) { 9613 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { 9614 res.getAction().add(parseTestScriptTestScriptTeardownActionComponent(xpp, owner)); 9615 } else if (!parseBackboneContent(eventType, xpp, res)) 9616 unknownContent(xpp); 9617 eventType = nextNoWhitespace(xpp); 9618 } 9619 next(xpp); 9620 parseElementClose(res); 9621 return res; 9622 } 9623 9624 protected TestScript.TestScriptTeardownActionComponent parseTestScriptTestScriptTeardownActionComponent(XmlPullParser xpp, TestScript owner) throws XmlPullParserException, IOException, FHIRFormatError { 9625 TestScript.TestScriptTeardownActionComponent res = new TestScript.TestScriptTeardownActionComponent(); 9626 parseBackboneAttributes(xpp, res); 9627 next(xpp); 9628 int eventType = nextNoWhitespace(xpp); 9629 while (eventType != XmlPullParser.END_TAG) { 9630 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { 9631 res.setOperation(parseTestScriptTestScriptSetupActionOperationComponent(xpp, owner)); 9632 } else if (!parseBackboneContent(eventType, xpp, res)) 9633 unknownContent(xpp); 9634 eventType = nextNoWhitespace(xpp); 9635 } 9636 next(xpp); 9637 parseElementClose(res); 9638 return res; 9639 } 9640 9641 protected ValueSet parseValueSet(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9642 ValueSet res = new ValueSet(); 9643 parseDomainResourceAttributes(xpp, res); 9644 next(xpp); 9645 int eventType = nextNoWhitespace(xpp); 9646 while (eventType != XmlPullParser.END_TAG) { 9647 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { 9648 res.setUrlElement(parseUri(xpp)); 9649 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9650 res.setIdentifier(parseIdentifier(xpp)); 9651 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9652 res.setVersionElement(parseString(xpp)); 9653 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9654 res.setNameElement(parseString(xpp)); 9655 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { 9656 res.setStatusElement(parseEnumeration(xpp, Enumerations.ConformanceResourceStatus.NULL, new Enumerations.ConformanceResourceStatusEnumFactory())); 9657 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { 9658 res.setExperimentalElement(parseBoolean(xpp)); 9659 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { 9660 res.setPublisherElement(parseString(xpp)); 9661 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { 9662 res.getContact().add(parseValueSetValueSetContactComponent(xpp, res)); 9663 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { 9664 res.setDateElement(parseDateTime(xpp)); 9665 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lockedDate")) { 9666 res.setLockedDateElement(parseDate(xpp)); 9667 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { 9668 res.setDescriptionElement(parseString(xpp)); 9669 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { 9670 res.getUseContext().add(parseCodeableConcept(xpp)); 9671 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("immutable")) { 9672 res.setImmutableElement(parseBoolean(xpp)); 9673 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { 9674 res.setRequirementsElement(parseString(xpp)); 9675 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { 9676 res.setCopyrightElement(parseString(xpp)); 9677 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("extensible")) { 9678 res.setExtensibleElement(parseBoolean(xpp)); 9679 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("codeSystem")) { 9680 res.setCodeSystem(parseValueSetValueSetCodeSystemComponent(xpp, res)); 9681 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compose")) { 9682 res.setCompose(parseValueSetValueSetComposeComponent(xpp, res)); 9683 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expansion")) { 9684 res.setExpansion(parseValueSetValueSetExpansionComponent(xpp, res)); 9685 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9686 unknownContent(xpp); 9687 eventType = nextNoWhitespace(xpp); 9688 } 9689 next(xpp); 9690 parseElementClose(res); 9691 return res; 9692 } 9693 9694 protected ValueSet.ValueSetContactComponent parseValueSetValueSetContactComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9695 ValueSet.ValueSetContactComponent res = new ValueSet.ValueSetContactComponent(); 9696 parseBackboneAttributes(xpp, res); 9697 next(xpp); 9698 int eventType = nextNoWhitespace(xpp); 9699 while (eventType != XmlPullParser.END_TAG) { 9700 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9701 res.setNameElement(parseString(xpp)); 9702 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { 9703 res.getTelecom().add(parseContactPoint(xpp)); 9704 } else if (!parseBackboneContent(eventType, xpp, res)) 9705 unknownContent(xpp); 9706 eventType = nextNoWhitespace(xpp); 9707 } 9708 next(xpp); 9709 parseElementClose(res); 9710 return res; 9711 } 9712 9713 protected ValueSet.ValueSetCodeSystemComponent parseValueSetValueSetCodeSystemComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9714 ValueSet.ValueSetCodeSystemComponent res = new ValueSet.ValueSetCodeSystemComponent(); 9715 parseBackboneAttributes(xpp, res); 9716 next(xpp); 9717 int eventType = nextNoWhitespace(xpp); 9718 while (eventType != XmlPullParser.END_TAG) { 9719 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 9720 res.setSystemElement(parseUri(xpp)); 9721 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9722 res.setVersionElement(parseString(xpp)); 9723 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caseSensitive")) { 9724 res.setCaseSensitiveElement(parseBoolean(xpp)); 9725 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 9726 res.getConcept().add(parseValueSetConceptDefinitionComponent(xpp, owner)); 9727 } else if (!parseBackboneContent(eventType, xpp, res)) 9728 unknownContent(xpp); 9729 eventType = nextNoWhitespace(xpp); 9730 } 9731 next(xpp); 9732 parseElementClose(res); 9733 return res; 9734 } 9735 9736 protected ValueSet.ConceptDefinitionComponent parseValueSetConceptDefinitionComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9737 ValueSet.ConceptDefinitionComponent res = new ValueSet.ConceptDefinitionComponent(); 9738 parseBackboneAttributes(xpp, res); 9739 next(xpp); 9740 int eventType = nextNoWhitespace(xpp); 9741 while (eventType != XmlPullParser.END_TAG) { 9742 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9743 res.setCodeElement(parseCode(xpp)); 9744 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 9745 res.setAbstractElement(parseBoolean(xpp)); 9746 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 9747 res.setDisplayElement(parseString(xpp)); 9748 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { 9749 res.setDefinitionElement(parseString(xpp)); 9750 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("designation")) { 9751 res.getDesignation().add(parseValueSetConceptDefinitionDesignationComponent(xpp, owner)); 9752 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 9753 res.getConcept().add(parseValueSetConceptDefinitionComponent(xpp, owner)); 9754 } else if (!parseBackboneContent(eventType, xpp, res)) 9755 unknownContent(xpp); 9756 eventType = nextNoWhitespace(xpp); 9757 } 9758 next(xpp); 9759 parseElementClose(res); 9760 return res; 9761 } 9762 9763 protected ValueSet.ConceptDefinitionDesignationComponent parseValueSetConceptDefinitionDesignationComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9764 ValueSet.ConceptDefinitionDesignationComponent res = new ValueSet.ConceptDefinitionDesignationComponent(); 9765 parseBackboneAttributes(xpp, res); 9766 next(xpp); 9767 int eventType = nextNoWhitespace(xpp); 9768 while (eventType != XmlPullParser.END_TAG) { 9769 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { 9770 res.setLanguageElement(parseCode(xpp)); 9771 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { 9772 res.setUse(parseCoding(xpp)); 9773 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 9774 res.setValueElement(parseString(xpp)); 9775 } else if (!parseBackboneContent(eventType, xpp, res)) 9776 unknownContent(xpp); 9777 eventType = nextNoWhitespace(xpp); 9778 } 9779 next(xpp); 9780 parseElementClose(res); 9781 return res; 9782 } 9783 9784 protected ValueSet.ValueSetComposeComponent parseValueSetValueSetComposeComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9785 ValueSet.ValueSetComposeComponent res = new ValueSet.ValueSetComposeComponent(); 9786 parseBackboneAttributes(xpp, res); 9787 next(xpp); 9788 int eventType = nextNoWhitespace(xpp); 9789 while (eventType != XmlPullParser.END_TAG) { 9790 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("import")) { 9791 res.getImport().add(parseUri(xpp)); 9792 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("include")) { 9793 res.getInclude().add(parseValueSetConceptSetComponent(xpp, owner)); 9794 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exclude")) { 9795 res.getExclude().add(parseValueSetConceptSetComponent(xpp, owner)); 9796 } else if (!parseBackboneContent(eventType, xpp, res)) 9797 unknownContent(xpp); 9798 eventType = nextNoWhitespace(xpp); 9799 } 9800 next(xpp); 9801 parseElementClose(res); 9802 return res; 9803 } 9804 9805 protected ValueSet.ConceptSetComponent parseValueSetConceptSetComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9806 ValueSet.ConceptSetComponent res = new ValueSet.ConceptSetComponent(); 9807 parseBackboneAttributes(xpp, res); 9808 next(xpp); 9809 int eventType = nextNoWhitespace(xpp); 9810 while (eventType != XmlPullParser.END_TAG) { 9811 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 9812 res.setSystemElement(parseUri(xpp)); 9813 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9814 res.setVersionElement(parseString(xpp)); 9815 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { 9816 res.getConcept().add(parseValueSetConceptReferenceComponent(xpp, owner)); 9817 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filter")) { 9818 res.getFilter().add(parseValueSetConceptSetFilterComponent(xpp, owner)); 9819 } else if (!parseBackboneContent(eventType, xpp, res)) 9820 unknownContent(xpp); 9821 eventType = nextNoWhitespace(xpp); 9822 } 9823 next(xpp); 9824 parseElementClose(res); 9825 return res; 9826 } 9827 9828 protected ValueSet.ConceptReferenceComponent parseValueSetConceptReferenceComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9829 ValueSet.ConceptReferenceComponent res = new ValueSet.ConceptReferenceComponent(); 9830 parseBackboneAttributes(xpp, res); 9831 next(xpp); 9832 int eventType = nextNoWhitespace(xpp); 9833 while (eventType != XmlPullParser.END_TAG) { 9834 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9835 res.setCodeElement(parseCode(xpp)); 9836 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 9837 res.setDisplayElement(parseString(xpp)); 9838 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("designation")) { 9839 res.getDesignation().add(parseValueSetConceptDefinitionDesignationComponent(xpp, owner)); 9840 } else if (!parseBackboneContent(eventType, xpp, res)) 9841 unknownContent(xpp); 9842 eventType = nextNoWhitespace(xpp); 9843 } 9844 next(xpp); 9845 parseElementClose(res); 9846 return res; 9847 } 9848 9849 protected ValueSet.ConceptSetFilterComponent parseValueSetConceptSetFilterComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9850 ValueSet.ConceptSetFilterComponent res = new ValueSet.ConceptSetFilterComponent(); 9851 parseBackboneAttributes(xpp, res); 9852 next(xpp); 9853 int eventType = nextNoWhitespace(xpp); 9854 while (eventType != XmlPullParser.END_TAG) { 9855 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { 9856 res.setPropertyElement(parseCode(xpp)); 9857 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("op")) { 9858 res.setOpElement(parseEnumeration(xpp, ValueSet.FilterOperator.NULL, new ValueSet.FilterOperatorEnumFactory())); 9859 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { 9860 res.setValueElement(parseCode(xpp)); 9861 } else if (!parseBackboneContent(eventType, xpp, res)) 9862 unknownContent(xpp); 9863 eventType = nextNoWhitespace(xpp); 9864 } 9865 next(xpp); 9866 parseElementClose(res); 9867 return res; 9868 } 9869 9870 protected ValueSet.ValueSetExpansionComponent parseValueSetValueSetExpansionComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9871 ValueSet.ValueSetExpansionComponent res = new ValueSet.ValueSetExpansionComponent(); 9872 parseBackboneAttributes(xpp, res); 9873 next(xpp); 9874 int eventType = nextNoWhitespace(xpp); 9875 while (eventType != XmlPullParser.END_TAG) { 9876 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9877 res.setIdentifierElement(parseUri(xpp)); 9878 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { 9879 res.setTimestampElement(parseDateTime(xpp)); 9880 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { 9881 res.setTotalElement(parseInteger(xpp)); 9882 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("offset")) { 9883 res.setOffsetElement(parseInteger(xpp)); 9884 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parameter")) { 9885 res.getParameter().add(parseValueSetValueSetExpansionParameterComponent(xpp, owner)); 9886 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contains")) { 9887 res.getContains().add(parseValueSetValueSetExpansionContainsComponent(xpp, owner)); 9888 } else if (!parseBackboneContent(eventType, xpp, res)) 9889 unknownContent(xpp); 9890 eventType = nextNoWhitespace(xpp); 9891 } 9892 next(xpp); 9893 parseElementClose(res); 9894 return res; 9895 } 9896 9897 protected ValueSet.ValueSetExpansionParameterComponent parseValueSetValueSetExpansionParameterComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9898 ValueSet.ValueSetExpansionParameterComponent res = new ValueSet.ValueSetExpansionParameterComponent(); 9899 parseBackboneAttributes(xpp, res); 9900 next(xpp); 9901 int eventType = nextNoWhitespace(xpp); 9902 while (eventType != XmlPullParser.END_TAG) { 9903 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { 9904 res.setNameElement(parseString(xpp)); 9905 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { 9906 res.setValue(parseType("value", xpp)); 9907 } else if (!parseBackboneContent(eventType, xpp, res)) 9908 unknownContent(xpp); 9909 eventType = nextNoWhitespace(xpp); 9910 } 9911 next(xpp); 9912 parseElementClose(res); 9913 return res; 9914 } 9915 9916 protected ValueSet.ValueSetExpansionContainsComponent parseValueSetValueSetExpansionContainsComponent(XmlPullParser xpp, ValueSet owner) throws XmlPullParserException, IOException, FHIRFormatError { 9917 ValueSet.ValueSetExpansionContainsComponent res = new ValueSet.ValueSetExpansionContainsComponent(); 9918 parseBackboneAttributes(xpp, res); 9919 next(xpp); 9920 int eventType = nextNoWhitespace(xpp); 9921 while (eventType != XmlPullParser.END_TAG) { 9922 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("system")) { 9923 res.setSystemElement(parseUri(xpp)); 9924 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("abstract")) { 9925 res.setAbstractElement(parseBoolean(xpp)); 9926 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { 9927 res.setVersionElement(parseString(xpp)); 9928 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { 9929 res.setCodeElement(parseCode(xpp)); 9930 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("display")) { 9931 res.setDisplayElement(parseString(xpp)); 9932 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contains")) { 9933 res.getContains().add(parseValueSetValueSetExpansionContainsComponent(xpp, owner)); 9934 } else if (!parseBackboneContent(eventType, xpp, res)) 9935 unknownContent(xpp); 9936 eventType = nextNoWhitespace(xpp); 9937 } 9938 next(xpp); 9939 parseElementClose(res); 9940 return res; 9941 } 9942 9943 protected VisionPrescription parseVisionPrescription(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 9944 VisionPrescription res = new VisionPrescription(); 9945 parseDomainResourceAttributes(xpp, res); 9946 next(xpp); 9947 int eventType = nextNoWhitespace(xpp); 9948 while (eventType != XmlPullParser.END_TAG) { 9949 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { 9950 res.getIdentifier().add(parseIdentifier(xpp)); 9951 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateWritten")) { 9952 res.setDateWrittenElement(parseDateTime(xpp)); 9953 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { 9954 res.setPatient(parseReference(xpp)); 9955 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prescriber")) { 9956 res.setPrescriber(parseReference(xpp)); 9957 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { 9958 res.setEncounter(parseReference(xpp)); 9959 } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "reason")) { 9960 res.setReason(parseType("reason", xpp)); 9961 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dispense")) { 9962 res.getDispense().add(parseVisionPrescriptionVisionPrescriptionDispenseComponent(xpp, res)); 9963 } else if (!parseDomainResourceContent(eventType, xpp, res)) 9964 unknownContent(xpp); 9965 eventType = nextNoWhitespace(xpp); 9966 } 9967 next(xpp); 9968 parseElementClose(res); 9969 return res; 9970 } 9971 9972 protected VisionPrescription.VisionPrescriptionDispenseComponent parseVisionPrescriptionVisionPrescriptionDispenseComponent(XmlPullParser xpp, VisionPrescription owner) throws XmlPullParserException, IOException, FHIRFormatError { 9973 VisionPrescription.VisionPrescriptionDispenseComponent res = new VisionPrescription.VisionPrescriptionDispenseComponent(); 9974 parseBackboneAttributes(xpp, res); 9975 next(xpp); 9976 int eventType = nextNoWhitespace(xpp); 9977 while (eventType != XmlPullParser.END_TAG) { 9978 if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { 9979 res.setProduct(parseCoding(xpp)); 9980 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("eye")) { 9981 res.setEyeElement(parseEnumeration(xpp, VisionPrescription.VisionEyes.NULL, new VisionPrescription.VisionEyesEnumFactory())); 9982 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sphere")) { 9983 res.setSphereElement(parseDecimal(xpp)); 9984 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cylinder")) { 9985 res.setCylinderElement(parseDecimal(xpp)); 9986 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("axis")) { 9987 res.setAxisElement(parseInteger(xpp)); 9988 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prism")) { 9989 res.setPrismElement(parseDecimal(xpp)); 9990 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { 9991 res.setBaseElement(parseEnumeration(xpp, VisionPrescription.VisionBase.NULL, new VisionPrescription.VisionBaseEnumFactory())); 9992 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("add")) { 9993 res.setAddElement(parseDecimal(xpp)); 9994 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("power")) { 9995 res.setPowerElement(parseDecimal(xpp)); 9996 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("backCurve")) { 9997 res.setBackCurveElement(parseDecimal(xpp)); 9998 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diameter")) { 9999 res.setDiameterElement(parseDecimal(xpp)); 10000 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { 10001 res.setDuration(parseSimpleQuantity(xpp)); 10002 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("color")) { 10003 res.setColorElement(parseString(xpp)); 10004 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("brand")) { 10005 res.setBrandElement(parseString(xpp)); 10006 } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notes")) { 10007 res.setNotesElement(parseString(xpp)); 10008 } else if (!parseBackboneContent(eventType, xpp, res)) 10009 unknownContent(xpp); 10010 eventType = nextNoWhitespace(xpp); 10011 } 10012 next(xpp); 10013 parseElementClose(res); 10014 return res; 10015 } 10016 10017 @Override 10018 protected Resource parseResource(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10019 if (xpp.getName().equals("Parameters")) 10020 return parseParameters(xpp); 10021 else if (xpp.getName().equals("Account")) 10022 return parseAccount(xpp); 10023 else if (xpp.getName().equals("AllergyIntolerance")) 10024 return parseAllergyIntolerance(xpp); 10025 else if (xpp.getName().equals("Appointment")) 10026 return parseAppointment(xpp); 10027 else if (xpp.getName().equals("AppointmentResponse")) 10028 return parseAppointmentResponse(xpp); 10029 else if (xpp.getName().equals("AuditEvent")) 10030 return parseAuditEvent(xpp); 10031 else if (xpp.getName().equals("Basic")) 10032 return parseBasic(xpp); 10033 else if (xpp.getName().equals("Binary")) 10034 return parseBinary(xpp); 10035 else if (xpp.getName().equals("BodySite")) 10036 return parseBodySite(xpp); 10037 else if (xpp.getName().equals("Bundle")) 10038 return parseBundle(xpp); 10039 else if (xpp.getName().equals("CarePlan")) 10040 return parseCarePlan(xpp); 10041 else if (xpp.getName().equals("Claim")) 10042 return parseClaim(xpp); 10043 else if (xpp.getName().equals("ClaimResponse")) 10044 return parseClaimResponse(xpp); 10045 else if (xpp.getName().equals("ClinicalImpression")) 10046 return parseClinicalImpression(xpp); 10047 else if (xpp.getName().equals("Communication")) 10048 return parseCommunication(xpp); 10049 else if (xpp.getName().equals("CommunicationRequest")) 10050 return parseCommunicationRequest(xpp); 10051 else if (xpp.getName().equals("Composition")) 10052 return parseComposition(xpp); 10053 else if (xpp.getName().equals("ConceptMap")) 10054 return parseConceptMap(xpp); 10055 else if (xpp.getName().equals("Condition")) 10056 return parseCondition(xpp); 10057 else if (xpp.getName().equals("Conformance")) 10058 return parseConformance(xpp); 10059 else if (xpp.getName().equals("Contract")) 10060 return parseContract(xpp); 10061 else if (xpp.getName().equals("Coverage")) 10062 return parseCoverage(xpp); 10063 else if (xpp.getName().equals("DataElement")) 10064 return parseDataElement(xpp); 10065 else if (xpp.getName().equals("DetectedIssue")) 10066 return parseDetectedIssue(xpp); 10067 else if (xpp.getName().equals("Device")) 10068 return parseDevice(xpp); 10069 else if (xpp.getName().equals("DeviceComponent")) 10070 return parseDeviceComponent(xpp); 10071 else if (xpp.getName().equals("DeviceMetric")) 10072 return parseDeviceMetric(xpp); 10073 else if (xpp.getName().equals("DeviceUseRequest")) 10074 return parseDeviceUseRequest(xpp); 10075 else if (xpp.getName().equals("DeviceUseStatement")) 10076 return parseDeviceUseStatement(xpp); 10077 else if (xpp.getName().equals("DiagnosticOrder")) 10078 return parseDiagnosticOrder(xpp); 10079 else if (xpp.getName().equals("DiagnosticReport")) 10080 return parseDiagnosticReport(xpp); 10081 else if (xpp.getName().equals("DocumentManifest")) 10082 return parseDocumentManifest(xpp); 10083 else if (xpp.getName().equals("DocumentReference")) 10084 return parseDocumentReference(xpp); 10085 else if (xpp.getName().equals("EligibilityRequest")) 10086 return parseEligibilityRequest(xpp); 10087 else if (xpp.getName().equals("EligibilityResponse")) 10088 return parseEligibilityResponse(xpp); 10089 else if (xpp.getName().equals("Encounter")) 10090 return parseEncounter(xpp); 10091 else if (xpp.getName().equals("EnrollmentRequest")) 10092 return parseEnrollmentRequest(xpp); 10093 else if (xpp.getName().equals("EnrollmentResponse")) 10094 return parseEnrollmentResponse(xpp); 10095 else if (xpp.getName().equals("EpisodeOfCare")) 10096 return parseEpisodeOfCare(xpp); 10097 else if (xpp.getName().equals("ExplanationOfBenefit")) 10098 return parseExplanationOfBenefit(xpp); 10099 else if (xpp.getName().equals("FamilyMemberHistory")) 10100 return parseFamilyMemberHistory(xpp); 10101 else if (xpp.getName().equals("Flag")) 10102 return parseFlag(xpp); 10103 else if (xpp.getName().equals("Goal")) 10104 return parseGoal(xpp); 10105 else if (xpp.getName().equals("Group")) 10106 return parseGroup(xpp); 10107 else if (xpp.getName().equals("HealthcareService")) 10108 return parseHealthcareService(xpp); 10109 else if (xpp.getName().equals("ImagingObjectSelection")) 10110 return parseImagingObjectSelection(xpp); 10111 else if (xpp.getName().equals("ImagingStudy")) 10112 return parseImagingStudy(xpp); 10113 else if (xpp.getName().equals("Immunization")) 10114 return parseImmunization(xpp); 10115 else if (xpp.getName().equals("ImmunizationRecommendation")) 10116 return parseImmunizationRecommendation(xpp); 10117 else if (xpp.getName().equals("ImplementationGuide")) 10118 return parseImplementationGuide(xpp); 10119 else if (xpp.getName().equals("List")) 10120 return parseList_(xpp); 10121 else if (xpp.getName().equals("Location")) 10122 return parseLocation(xpp); 10123 else if (xpp.getName().equals("Media")) 10124 return parseMedia(xpp); 10125 else if (xpp.getName().equals("Medication")) 10126 return parseMedication(xpp); 10127 else if (xpp.getName().equals("MedicationAdministration")) 10128 return parseMedicationAdministration(xpp); 10129 else if (xpp.getName().equals("MedicationDispense")) 10130 return parseMedicationDispense(xpp); 10131 else if (xpp.getName().equals("MedicationOrder")) 10132 return parseMedicationOrder(xpp); 10133 else if (xpp.getName().equals("MedicationStatement")) 10134 return parseMedicationStatement(xpp); 10135 else if (xpp.getName().equals("MessageHeader")) 10136 return parseMessageHeader(xpp); 10137 else if (xpp.getName().equals("NamingSystem")) 10138 return parseNamingSystem(xpp); 10139 else if (xpp.getName().equals("NutritionOrder")) 10140 return parseNutritionOrder(xpp); 10141 else if (xpp.getName().equals("Observation")) 10142 return parseObservation(xpp); 10143 else if (xpp.getName().equals("OperationDefinition")) 10144 return parseOperationDefinition(xpp); 10145 else if (xpp.getName().equals("OperationOutcome")) 10146 return parseOperationOutcome(xpp); 10147 else if (xpp.getName().equals("Order")) 10148 return parseOrder(xpp); 10149 else if (xpp.getName().equals("OrderResponse")) 10150 return parseOrderResponse(xpp); 10151 else if (xpp.getName().equals("Organization")) 10152 return parseOrganization(xpp); 10153 else if (xpp.getName().equals("Patient")) 10154 return parsePatient(xpp); 10155 else if (xpp.getName().equals("PaymentNotice")) 10156 return parsePaymentNotice(xpp); 10157 else if (xpp.getName().equals("PaymentReconciliation")) 10158 return parsePaymentReconciliation(xpp); 10159 else if (xpp.getName().equals("Person")) 10160 return parsePerson(xpp); 10161 else if (xpp.getName().equals("Practitioner")) 10162 return parsePractitioner(xpp); 10163 else if (xpp.getName().equals("Procedure")) 10164 return parseProcedure(xpp); 10165 else if (xpp.getName().equals("ProcedureRequest")) 10166 return parseProcedureRequest(xpp); 10167 else if (xpp.getName().equals("ProcessRequest")) 10168 return parseProcessRequest(xpp); 10169 else if (xpp.getName().equals("ProcessResponse")) 10170 return parseProcessResponse(xpp); 10171 else if (xpp.getName().equals("Provenance")) 10172 return parseProvenance(xpp); 10173 else if (xpp.getName().equals("Questionnaire")) 10174 return parseQuestionnaire(xpp); 10175 else if (xpp.getName().equals("QuestionnaireResponse")) 10176 return parseQuestionnaireResponse(xpp); 10177 else if (xpp.getName().equals("ReferralRequest")) 10178 return parseReferralRequest(xpp); 10179 else if (xpp.getName().equals("RelatedPerson")) 10180 return parseRelatedPerson(xpp); 10181 else if (xpp.getName().equals("RiskAssessment")) 10182 return parseRiskAssessment(xpp); 10183 else if (xpp.getName().equals("Schedule")) 10184 return parseSchedule(xpp); 10185 else if (xpp.getName().equals("SearchParameter")) 10186 return parseSearchParameter(xpp); 10187 else if (xpp.getName().equals("Slot")) 10188 return parseSlot(xpp); 10189 else if (xpp.getName().equals("Specimen")) 10190 return parseSpecimen(xpp); 10191 else if (xpp.getName().equals("StructureDefinition")) 10192 return parseStructureDefinition(xpp); 10193 else if (xpp.getName().equals("Subscription")) 10194 return parseSubscription(xpp); 10195 else if (xpp.getName().equals("Substance")) 10196 return parseSubstance(xpp); 10197 else if (xpp.getName().equals("SupplyDelivery")) 10198 return parseSupplyDelivery(xpp); 10199 else if (xpp.getName().equals("SupplyRequest")) 10200 return parseSupplyRequest(xpp); 10201 else if (xpp.getName().equals("TestScript")) 10202 return parseTestScript(xpp); 10203 else if (xpp.getName().equals("ValueSet")) 10204 return parseValueSet(xpp); 10205 else if (xpp.getName().equals("VisionPrescription")) 10206 return parseVisionPrescription(xpp); 10207 else if (xpp.getName().equals("Binary")) 10208 return parseBinary(xpp); 10209 throw new FHIRFormatError("Unknown resource type "+xpp.getName()+""); 10210 } 10211 10212 protected Type parseType(String prefix, XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { 10213 if (xpp.getName().equals(prefix+"date")) 10214 return parseDate(xpp); 10215 else if (xpp.getName().equals(prefix+"dateTime")) 10216 return parseDateTime(xpp); 10217 else if (xpp.getName().equals(prefix+"code")) 10218 return parseCode(xpp); 10219 else if (xpp.getName().equals(prefix+"string")) 10220 return parseString(xpp); 10221 else if (xpp.getName().equals(prefix+"integer")) 10222 return parseInteger(xpp); 10223 else if (xpp.getName().equals(prefix+"oid")) 10224 return parseOid(xpp); 10225 else if (xpp.getName().equals(prefix+"uri")) 10226 return parseUri(xpp); 10227 else if (xpp.getName().equals(prefix+"uuid")) 10228 return parseUuid(xpp); 10229 else if (xpp.getName().equals(prefix+"instant")) 10230 return parseInstant(xpp); 10231 else if (xpp.getName().equals(prefix+"boolean")) 10232 return parseBoolean(xpp); 10233 else if (xpp.getName().equals(prefix+"base64Binary")) 10234 return parseBase64Binary(xpp); 10235 else if (xpp.getName().equals(prefix+"unsignedInt")) 10236 return parseUnsignedInt(xpp); 10237 else if (xpp.getName().equals(prefix+"markdown")) 10238 return parseMarkdown(xpp); 10239 else if (xpp.getName().equals(prefix+"time")) 10240 return parseTime(xpp); 10241 else if (xpp.getName().equals(prefix+"id")) 10242 return parseId(xpp); 10243 else if (xpp.getName().equals(prefix+"positiveInt")) 10244 return parsePositiveInt(xpp); 10245 else if (xpp.getName().equals(prefix+"decimal")) 10246 return parseDecimal(xpp); 10247 else if (xpp.getName().equals(prefix+"Extension")) 10248 return parseExtension(xpp); 10249 else if (xpp.getName().equals(prefix+"Narrative")) 10250 return parseNarrative(xpp); 10251 else if (xpp.getName().equals(prefix+"Identifier")) 10252 return parseIdentifier(xpp); 10253 else if (xpp.getName().equals(prefix+"Coding")) 10254 return parseCoding(xpp); 10255 else if (xpp.getName().equals(prefix+"Reference")) 10256 return parseReference(xpp); 10257 else if (xpp.getName().equals(prefix+"Signature")) 10258 return parseSignature(xpp); 10259 else if (xpp.getName().equals(prefix+"SampledData")) 10260 return parseSampledData(xpp); 10261 else if (xpp.getName().equals(prefix+"Quantity")) 10262 return parseQuantity(xpp); 10263 else if (xpp.getName().equals(prefix+"Period")) 10264 return parsePeriod(xpp); 10265 else if (xpp.getName().equals(prefix+"Attachment")) 10266 return parseAttachment(xpp); 10267 else if (xpp.getName().equals(prefix+"Ratio")) 10268 return parseRatio(xpp); 10269 else if (xpp.getName().equals(prefix+"Range")) 10270 return parseRange(xpp); 10271 else if (xpp.getName().equals(prefix+"Annotation")) 10272 return parseAnnotation(xpp); 10273 else if (xpp.getName().equals(prefix+"CodeableConcept")) 10274 return parseCodeableConcept(xpp); 10275 else if (xpp.getName().equals(prefix+"Money")) 10276 return parseMoney(xpp); 10277 else if (xpp.getName().equals(prefix+"SimpleQuantity")) 10278 return parseSimpleQuantity(xpp); 10279 else if (xpp.getName().equals(prefix+"Duration")) 10280 return parseDuration(xpp); 10281 else if (xpp.getName().equals(prefix+"Count")) 10282 return parseCount(xpp); 10283 else if (xpp.getName().equals(prefix+"Distance")) 10284 return parseDistance(xpp); 10285 else if (xpp.getName().equals(prefix+"Age")) 10286 return parseAge(xpp); 10287 else if (xpp.getName().equals(prefix+"HumanName")) 10288 return parseHumanName(xpp); 10289 else if (xpp.getName().equals(prefix+"ContactPoint")) 10290 return parseContactPoint(xpp); 10291 else if (xpp.getName().equals(prefix+"Meta")) 10292 return parseMeta(xpp); 10293 else if (xpp.getName().equals(prefix+"Address")) 10294 return parseAddress(xpp); 10295 else if (xpp.getName().equals(prefix+"Timing")) 10296 return parseTiming(xpp); 10297 else if (xpp.getName().equals(prefix+"ElementDefinition")) 10298 return parseElementDefinition(xpp); 10299 else if (xpp.getName().equals(prefix+"Date")) 10300 return parseDate(xpp); 10301 else if (xpp.getName().equals(prefix+"DateTime")) 10302 return parseDateTime(xpp); 10303 else if (xpp.getName().equals(prefix+"Code")) 10304 return parseCode(xpp); 10305 else if (xpp.getName().equals(prefix+"String")) 10306 return parseString(xpp); 10307 else if (xpp.getName().equals(prefix+"Integer")) 10308 return parseInteger(xpp); 10309 else if (xpp.getName().equals(prefix+"Oid")) 10310 return parseOid(xpp); 10311 else if (xpp.getName().equals(prefix+"Uri")) 10312 return parseUri(xpp); 10313 else if (xpp.getName().equals(prefix+"Uuid")) 10314 return parseUuid(xpp); 10315 else if (xpp.getName().equals(prefix+"Instant")) 10316 return parseInstant(xpp); 10317 else if (xpp.getName().equals(prefix+"Boolean")) 10318 return parseBoolean(xpp); 10319 else if (xpp.getName().equals(prefix+"Base64Binary")) 10320 return parseBase64Binary(xpp); 10321 else if (xpp.getName().equals(prefix+"UnsignedInt")) 10322 return parseUnsignedInt(xpp); 10323 else if (xpp.getName().equals(prefix+"Markdown")) 10324 return parseMarkdown(xpp); 10325 else if (xpp.getName().equals(prefix+"Time")) 10326 return parseTime(xpp); 10327 else if (xpp.getName().equals(prefix+"Id")) 10328 return parseId(xpp); 10329 else if (xpp.getName().equals(prefix+"PositiveInt")) 10330 return parsePositiveInt(xpp); 10331 else if (xpp.getName().equals(prefix+"Decimal")) 10332 return parseDecimal(xpp); 10333 throw new FHIRFormatError("Unknown type "+xpp.getName()); 10334 } 10335 10336 protected Type parseType(XmlPullParser xpp, String type) throws XmlPullParserException, IOException, FHIRFormatError { 10337 if (type.equals("date")) 10338 return parseDate(xpp); 10339 else if (type.equals("dateTime")) 10340 return parseDateTime(xpp); 10341 else if (type.equals("code")) 10342 return parseCode(xpp); 10343 else if (type.equals("string")) 10344 return parseString(xpp); 10345 else if (type.equals("integer")) 10346 return parseInteger(xpp); 10347 else if (type.equals("oid")) 10348 return parseOid(xpp); 10349 else if (type.equals("uri")) 10350 return parseUri(xpp); 10351 else if (type.equals("uuid")) 10352 return parseUuid(xpp); 10353 else if (type.equals("instant")) 10354 return parseInstant(xpp); 10355 else if (type.equals("boolean")) 10356 return parseBoolean(xpp); 10357 else if (type.equals("base64Binary")) 10358 return parseBase64Binary(xpp); 10359 else if (type.equals("unsignedInt")) 10360 return parseUnsignedInt(xpp); 10361 else if (type.equals("markdown")) 10362 return parseMarkdown(xpp); 10363 else if (type.equals("time")) 10364 return parseTime(xpp); 10365 else if (type.equals("id")) 10366 return parseId(xpp); 10367 else if (type.equals("positiveInt")) 10368 return parsePositiveInt(xpp); 10369 else if (type.equals("decimal")) 10370 return parseDecimal(xpp); 10371 else if (type.equals("Extension")) 10372 return parseExtension(xpp); 10373 else if (type.equals("Narrative")) 10374 return parseNarrative(xpp); 10375 else if (type.equals("Identifier")) 10376 return parseIdentifier(xpp); 10377 else if (type.equals("Coding")) 10378 return parseCoding(xpp); 10379 else if (type.equals("Reference")) 10380 return parseReference(xpp); 10381 else if (type.equals("Signature")) 10382 return parseSignature(xpp); 10383 else if (type.equals("SampledData")) 10384 return parseSampledData(xpp); 10385 else if (type.equals("Quantity")) 10386 return parseQuantity(xpp); 10387 else if (type.equals("Period")) 10388 return parsePeriod(xpp); 10389 else if (type.equals("Attachment")) 10390 return parseAttachment(xpp); 10391 else if (type.equals("Ratio")) 10392 return parseRatio(xpp); 10393 else if (type.equals("Range")) 10394 return parseRange(xpp); 10395 else if (type.equals("Annotation")) 10396 return parseAnnotation(xpp); 10397 else if (type.equals("CodeableConcept")) 10398 return parseCodeableConcept(xpp); 10399 else if (type.equals("Money")) 10400 return parseMoney(xpp); 10401 else if (type.equals("SimpleQuantity")) 10402 return parseSimpleQuantity(xpp); 10403 else if (type.equals("Duration")) 10404 return parseDuration(xpp); 10405 else if (type.equals("Count")) 10406 return parseCount(xpp); 10407 else if (type.equals("Distance")) 10408 return parseDistance(xpp); 10409 else if (type.equals("Age")) 10410 return parseAge(xpp); 10411 else if (type.equals("HumanName")) 10412 return parseHumanName(xpp); 10413 else if (type.equals("ContactPoint")) 10414 return parseContactPoint(xpp); 10415 else if (type.equals("Meta")) 10416 return parseMeta(xpp); 10417 else if (type.equals("Address")) 10418 return parseAddress(xpp); 10419 else if (type.equals("Timing")) 10420 return parseTiming(xpp); 10421 else if (type.equals("ElementDefinition")) 10422 return parseElementDefinition(xpp); 10423 throw new FHIRFormatError("Unknown type "+type); 10424 } 10425 10426 public Base parseFragment(XmlPullParser xpp, String type) throws XmlPullParserException, IOException, FHIRFormatError { 10427 if (type.equals("Extension")) 10428 return parseExtension(xpp); 10429 else if (type.equals("Narrative")) 10430 return parseNarrative(xpp); 10431 else if (type.equals("Identifier")) 10432 return parseIdentifier(xpp); 10433 else if (type.equals("Coding")) 10434 return parseCoding(xpp); 10435 else if (type.equals("Reference")) 10436 return parseReference(xpp); 10437 else if (type.equals("Signature")) 10438 return parseSignature(xpp); 10439 else if (type.equals("SampledData")) 10440 return parseSampledData(xpp); 10441 else if (type.equals("Quantity")) 10442 return parseQuantity(xpp); 10443 else if (type.equals("Period")) 10444 return parsePeriod(xpp); 10445 else if (type.equals("Attachment")) 10446 return parseAttachment(xpp); 10447 else if (type.equals("Ratio")) 10448 return parseRatio(xpp); 10449 else if (type.equals("Range")) 10450 return parseRange(xpp); 10451 else if (type.equals("Annotation")) 10452 return parseAnnotation(xpp); 10453 else if (type.equals("CodeableConcept")) 10454 return parseCodeableConcept(xpp); 10455 else if (type.equals("Money")) 10456 return parseMoney(xpp); 10457 else if (type.equals("SimpleQuantity")) 10458 return parseSimpleQuantity(xpp); 10459 else if (type.equals("Duration")) 10460 return parseDuration(xpp); 10461 else if (type.equals("Count")) 10462 return parseCount(xpp); 10463 else if (type.equals("Distance")) 10464 return parseDistance(xpp); 10465 else if (type.equals("Age")) 10466 return parseAge(xpp); 10467 else if (type.equals("HumanName")) 10468 return parseHumanName(xpp); 10469 else if (type.equals("ContactPoint")) 10470 return parseContactPoint(xpp); 10471 else if (type.equals("Meta")) 10472 return parseMeta(xpp); 10473 else if (type.equals("Address")) 10474 return parseAddress(xpp); 10475 else if (type.equals("Timing")) 10476 return parseTiming(xpp); 10477 else if (type.equals("ElementDefinition")) 10478 return parseElementDefinition(xpp); 10479 else if (type.equals("Parameters")) 10480 return parseParameters(xpp); 10481 else if (type.equals("Account")) 10482 return parseAccount(xpp); 10483 else if (type.equals("AllergyIntolerance")) 10484 return parseAllergyIntolerance(xpp); 10485 else if (type.equals("Appointment")) 10486 return parseAppointment(xpp); 10487 else if (type.equals("AppointmentResponse")) 10488 return parseAppointmentResponse(xpp); 10489 else if (type.equals("AuditEvent")) 10490 return parseAuditEvent(xpp); 10491 else if (type.equals("Basic")) 10492 return parseBasic(xpp); 10493 else if (type.equals("Binary")) 10494 return parseBinary(xpp); 10495 else if (type.equals("BodySite")) 10496 return parseBodySite(xpp); 10497 else if (type.equals("Bundle")) 10498 return parseBundle(xpp); 10499 else if (type.equals("CarePlan")) 10500 return parseCarePlan(xpp); 10501 else if (type.equals("Claim")) 10502 return parseClaim(xpp); 10503 else if (type.equals("ClaimResponse")) 10504 return parseClaimResponse(xpp); 10505 else if (type.equals("ClinicalImpression")) 10506 return parseClinicalImpression(xpp); 10507 else if (type.equals("Communication")) 10508 return parseCommunication(xpp); 10509 else if (type.equals("CommunicationRequest")) 10510 return parseCommunicationRequest(xpp); 10511 else if (type.equals("Composition")) 10512 return parseComposition(xpp); 10513 else if (type.equals("ConceptMap")) 10514 return parseConceptMap(xpp); 10515 else if (type.equals("Condition")) 10516 return parseCondition(xpp); 10517 else if (type.equals("Conformance")) 10518 return parseConformance(xpp); 10519 else if (type.equals("Contract")) 10520 return parseContract(xpp); 10521 else if (type.equals("Coverage")) 10522 return parseCoverage(xpp); 10523 else if (type.equals("DataElement")) 10524 return parseDataElement(xpp); 10525 else if (type.equals("DetectedIssue")) 10526 return parseDetectedIssue(xpp); 10527 else if (type.equals("Device")) 10528 return parseDevice(xpp); 10529 else if (type.equals("DeviceComponent")) 10530 return parseDeviceComponent(xpp); 10531 else if (type.equals("DeviceMetric")) 10532 return parseDeviceMetric(xpp); 10533 else if (type.equals("DeviceUseRequest")) 10534 return parseDeviceUseRequest(xpp); 10535 else if (type.equals("DeviceUseStatement")) 10536 return parseDeviceUseStatement(xpp); 10537 else if (type.equals("DiagnosticOrder")) 10538 return parseDiagnosticOrder(xpp); 10539 else if (type.equals("DiagnosticReport")) 10540 return parseDiagnosticReport(xpp); 10541 else if (type.equals("DocumentManifest")) 10542 return parseDocumentManifest(xpp); 10543 else if (type.equals("DocumentReference")) 10544 return parseDocumentReference(xpp); 10545 else if (type.equals("EligibilityRequest")) 10546 return parseEligibilityRequest(xpp); 10547 else if (type.equals("EligibilityResponse")) 10548 return parseEligibilityResponse(xpp); 10549 else if (type.equals("Encounter")) 10550 return parseEncounter(xpp); 10551 else if (type.equals("EnrollmentRequest")) 10552 return parseEnrollmentRequest(xpp); 10553 else if (type.equals("EnrollmentResponse")) 10554 return parseEnrollmentResponse(xpp); 10555 else if (type.equals("EpisodeOfCare")) 10556 return parseEpisodeOfCare(xpp); 10557 else if (type.equals("ExplanationOfBenefit")) 10558 return parseExplanationOfBenefit(xpp); 10559 else if (type.equals("FamilyMemberHistory")) 10560 return parseFamilyMemberHistory(xpp); 10561 else if (type.equals("Flag")) 10562 return parseFlag(xpp); 10563 else if (type.equals("Goal")) 10564 return parseGoal(xpp); 10565 else if (type.equals("Group")) 10566 return parseGroup(xpp); 10567 else if (type.equals("HealthcareService")) 10568 return parseHealthcareService(xpp); 10569 else if (type.equals("ImagingObjectSelection")) 10570 return parseImagingObjectSelection(xpp); 10571 else if (type.equals("ImagingStudy")) 10572 return parseImagingStudy(xpp); 10573 else if (type.equals("Immunization")) 10574 return parseImmunization(xpp); 10575 else if (type.equals("ImmunizationRecommendation")) 10576 return parseImmunizationRecommendation(xpp); 10577 else if (type.equals("ImplementationGuide")) 10578 return parseImplementationGuide(xpp); 10579 else if (type.equals("List")) 10580 return parseList_(xpp); 10581 else if (type.equals("Location")) 10582 return parseLocation(xpp); 10583 else if (type.equals("Media")) 10584 return parseMedia(xpp); 10585 else if (type.equals("Medication")) 10586 return parseMedication(xpp); 10587 else if (type.equals("MedicationAdministration")) 10588 return parseMedicationAdministration(xpp); 10589 else if (type.equals("MedicationDispense")) 10590 return parseMedicationDispense(xpp); 10591 else if (type.equals("MedicationOrder")) 10592 return parseMedicationOrder(xpp); 10593 else if (type.equals("MedicationStatement")) 10594 return parseMedicationStatement(xpp); 10595 else if (type.equals("MessageHeader")) 10596 return parseMessageHeader(xpp); 10597 else if (type.equals("NamingSystem")) 10598 return parseNamingSystem(xpp); 10599 else if (type.equals("NutritionOrder")) 10600 return parseNutritionOrder(xpp); 10601 else if (type.equals("Observation")) 10602 return parseObservation(xpp); 10603 else if (type.equals("OperationDefinition")) 10604 return parseOperationDefinition(xpp); 10605 else if (type.equals("OperationOutcome")) 10606 return parseOperationOutcome(xpp); 10607 else if (type.equals("Order")) 10608 return parseOrder(xpp); 10609 else if (type.equals("OrderResponse")) 10610 return parseOrderResponse(xpp); 10611 else if (type.equals("Organization")) 10612 return parseOrganization(xpp); 10613 else if (type.equals("Patient")) 10614 return parsePatient(xpp); 10615 else if (type.equals("PaymentNotice")) 10616 return parsePaymentNotice(xpp); 10617 else if (type.equals("PaymentReconciliation")) 10618 return parsePaymentReconciliation(xpp); 10619 else if (type.equals("Person")) 10620 return parsePerson(xpp); 10621 else if (type.equals("Practitioner")) 10622 return parsePractitioner(xpp); 10623 else if (type.equals("Procedure")) 10624 return parseProcedure(xpp); 10625 else if (type.equals("ProcedureRequest")) 10626 return parseProcedureRequest(xpp); 10627 else if (type.equals("ProcessRequest")) 10628 return parseProcessRequest(xpp); 10629 else if (type.equals("ProcessResponse")) 10630 return parseProcessResponse(xpp); 10631 else if (type.equals("Provenance")) 10632 return parseProvenance(xpp); 10633 else if (type.equals("Questionnaire")) 10634 return parseQuestionnaire(xpp); 10635 else if (type.equals("QuestionnaireResponse")) 10636 return parseQuestionnaireResponse(xpp); 10637 else if (type.equals("ReferralRequest")) 10638 return parseReferralRequest(xpp); 10639 else if (type.equals("RelatedPerson")) 10640 return parseRelatedPerson(xpp); 10641 else if (type.equals("RiskAssessment")) 10642 return parseRiskAssessment(xpp); 10643 else if (type.equals("Schedule")) 10644 return parseSchedule(xpp); 10645 else if (type.equals("SearchParameter")) 10646 return parseSearchParameter(xpp); 10647 else if (type.equals("Slot")) 10648 return parseSlot(xpp); 10649 else if (type.equals("Specimen")) 10650 return parseSpecimen(xpp); 10651 else if (type.equals("StructureDefinition")) 10652 return parseStructureDefinition(xpp); 10653 else if (type.equals("Subscription")) 10654 return parseSubscription(xpp); 10655 else if (type.equals("Substance")) 10656 return parseSubstance(xpp); 10657 else if (type.equals("SupplyDelivery")) 10658 return parseSupplyDelivery(xpp); 10659 else if (type.equals("SupplyRequest")) 10660 return parseSupplyRequest(xpp); 10661 else if (type.equals("TestScript")) 10662 return parseTestScript(xpp); 10663 else if (type.equals("ValueSet")) 10664 return parseValueSet(xpp); 10665 else if (type.equals("VisionPrescription")) 10666 return parseVisionPrescription(xpp); 10667 else if (type.equals("date")) 10668 return parseDate(xpp); 10669 else if (type.equals("dateTime")) 10670 return parseDateTime(xpp); 10671 else if (type.equals("code")) 10672 return parseCode(xpp); 10673 else if (type.equals("string")) 10674 return parseString(xpp); 10675 else if (type.equals("integer")) 10676 return parseInteger(xpp); 10677 else if (type.equals("oid")) 10678 return parseOid(xpp); 10679 else if (type.equals("uri")) 10680 return parseUri(xpp); 10681 else if (type.equals("uuid")) 10682 return parseUuid(xpp); 10683 else if (type.equals("instant")) 10684 return parseInstant(xpp); 10685 else if (type.equals("boolean")) 10686 return parseBoolean(xpp); 10687 else if (type.equals("base64Binary")) 10688 return parseBase64Binary(xpp); 10689 else if (type.equals("unsignedInt")) 10690 return parseUnsignedInt(xpp); 10691 else if (type.equals("markdown")) 10692 return parseMarkdown(xpp); 10693 else if (type.equals("time")) 10694 return parseTime(xpp); 10695 else if (type.equals("id")) 10696 return parseId(xpp); 10697 else if (type.equals("positiveInt")) 10698 return parsePositiveInt(xpp); 10699 else if (type.equals("decimal")) 10700 return parseDecimal(xpp); 10701 throw new FHIRFormatError("Unknown type "+type); 10702 } 10703 10704 private boolean nameIsTypeName(XmlPullParser xpp, String prefix) { 10705 if (xpp.getName().equals(prefix+"Identifier")) 10706 return true; 10707 if (xpp.getName().equals(prefix+"Coding")) 10708 return true; 10709 if (xpp.getName().equals(prefix+"Reference")) 10710 return true; 10711 if (xpp.getName().equals(prefix+"Signature")) 10712 return true; 10713 if (xpp.getName().equals(prefix+"SampledData")) 10714 return true; 10715 if (xpp.getName().equals(prefix+"Quantity")) 10716 return true; 10717 if (xpp.getName().equals(prefix+"Period")) 10718 return true; 10719 if (xpp.getName().equals(prefix+"Attachment")) 10720 return true; 10721 if (xpp.getName().equals(prefix+"Ratio")) 10722 return true; 10723 if (xpp.getName().equals(prefix+"Range")) 10724 return true; 10725 if (xpp.getName().equals(prefix+"Annotation")) 10726 return true; 10727 if (xpp.getName().equals(prefix+"CodeableConcept")) 10728 return true; 10729 if (xpp.getName().equals(prefix+"Money")) 10730 return true; 10731 if (xpp.getName().equals(prefix+"SimpleQuantity")) 10732 return true; 10733 if (xpp.getName().equals(prefix+"Duration")) 10734 return true; 10735 if (xpp.getName().equals(prefix+"Count")) 10736 return true; 10737 if (xpp.getName().equals(prefix+"Distance")) 10738 return true; 10739 if (xpp.getName().equals(prefix+"Age")) 10740 return true; 10741 if (xpp.getName().equals(prefix+"HumanName")) 10742 return true; 10743 if (xpp.getName().equals(prefix+"ContactPoint")) 10744 return true; 10745 if (xpp.getName().equals(prefix+"Meta")) 10746 return true; 10747 if (xpp.getName().equals(prefix+"Address")) 10748 return true; 10749 if (xpp.getName().equals(prefix+"Timing")) 10750 return true; 10751 if (xpp.getName().equals(prefix+"ElementDefinition")) 10752 return true; 10753 if (xpp.getName().equals(prefix+"Parameters")) 10754 return true; 10755 if (xpp.getName().equals(prefix+"Account")) 10756 return true; 10757 if (xpp.getName().equals(prefix+"AllergyIntolerance")) 10758 return true; 10759 if (xpp.getName().equals(prefix+"Appointment")) 10760 return true; 10761 if (xpp.getName().equals(prefix+"AppointmentResponse")) 10762 return true; 10763 if (xpp.getName().equals(prefix+"AuditEvent")) 10764 return true; 10765 if (xpp.getName().equals(prefix+"Basic")) 10766 return true; 10767 if (xpp.getName().equals(prefix+"Binary")) 10768 return true; 10769 if (xpp.getName().equals(prefix+"BodySite")) 10770 return true; 10771 if (xpp.getName().equals(prefix+"Bundle")) 10772 return true; 10773 if (xpp.getName().equals(prefix+"CarePlan")) 10774 return true; 10775 if (xpp.getName().equals(prefix+"Claim")) 10776 return true; 10777 if (xpp.getName().equals(prefix+"ClaimResponse")) 10778 return true; 10779 if (xpp.getName().equals(prefix+"ClinicalImpression")) 10780 return true; 10781 if (xpp.getName().equals(prefix+"Communication")) 10782 return true; 10783 if (xpp.getName().equals(prefix+"CommunicationRequest")) 10784 return true; 10785 if (xpp.getName().equals(prefix+"Composition")) 10786 return true; 10787 if (xpp.getName().equals(prefix+"ConceptMap")) 10788 return true; 10789 if (xpp.getName().equals(prefix+"Condition")) 10790 return true; 10791 if (xpp.getName().equals(prefix+"Conformance")) 10792 return true; 10793 if (xpp.getName().equals(prefix+"Contract")) 10794 return true; 10795 if (xpp.getName().equals(prefix+"Coverage")) 10796 return true; 10797 if (xpp.getName().equals(prefix+"DataElement")) 10798 return true; 10799 if (xpp.getName().equals(prefix+"DetectedIssue")) 10800 return true; 10801 if (xpp.getName().equals(prefix+"Device")) 10802 return true; 10803 if (xpp.getName().equals(prefix+"DeviceComponent")) 10804 return true; 10805 if (xpp.getName().equals(prefix+"DeviceMetric")) 10806 return true; 10807 if (xpp.getName().equals(prefix+"DeviceUseRequest")) 10808 return true; 10809 if (xpp.getName().equals(prefix+"DeviceUseStatement")) 10810 return true; 10811 if (xpp.getName().equals(prefix+"DiagnosticOrder")) 10812 return true; 10813 if (xpp.getName().equals(prefix+"DiagnosticReport")) 10814 return true; 10815 if (xpp.getName().equals(prefix+"DocumentManifest")) 10816 return true; 10817 if (xpp.getName().equals(prefix+"DocumentReference")) 10818 return true; 10819 if (xpp.getName().equals(prefix+"EligibilityRequest")) 10820 return true; 10821 if (xpp.getName().equals(prefix+"EligibilityResponse")) 10822 return true; 10823 if (xpp.getName().equals(prefix+"Encounter")) 10824 return true; 10825 if (xpp.getName().equals(prefix+"EnrollmentRequest")) 10826 return true; 10827 if (xpp.getName().equals(prefix+"EnrollmentResponse")) 10828 return true; 10829 if (xpp.getName().equals(prefix+"EpisodeOfCare")) 10830 return true; 10831 if (xpp.getName().equals(prefix+"ExplanationOfBenefit")) 10832 return true; 10833 if (xpp.getName().equals(prefix+"FamilyMemberHistory")) 10834 return true; 10835 if (xpp.getName().equals(prefix+"Flag")) 10836 return true; 10837 if (xpp.getName().equals(prefix+"Goal")) 10838 return true; 10839 if (xpp.getName().equals(prefix+"Group")) 10840 return true; 10841 if (xpp.getName().equals(prefix+"HealthcareService")) 10842 return true; 10843 if (xpp.getName().equals(prefix+"ImagingObjectSelection")) 10844 return true; 10845 if (xpp.getName().equals(prefix+"ImagingStudy")) 10846 return true; 10847 if (xpp.getName().equals(prefix+"Immunization")) 10848 return true; 10849 if (xpp.getName().equals(prefix+"ImmunizationRecommendation")) 10850 return true; 10851 if (xpp.getName().equals(prefix+"ImplementationGuide")) 10852 return true; 10853 if (xpp.getName().equals(prefix+"List")) 10854 return true; 10855 if (xpp.getName().equals(prefix+"Location")) 10856 return true; 10857 if (xpp.getName().equals(prefix+"Media")) 10858 return true; 10859 if (xpp.getName().equals(prefix+"Medication")) 10860 return true; 10861 if (xpp.getName().equals(prefix+"MedicationAdministration")) 10862 return true; 10863 if (xpp.getName().equals(prefix+"MedicationDispense")) 10864 return true; 10865 if (xpp.getName().equals(prefix+"MedicationOrder")) 10866 return true; 10867 if (xpp.getName().equals(prefix+"MedicationStatement")) 10868 return true; 10869 if (xpp.getName().equals(prefix+"MessageHeader")) 10870 return true; 10871 if (xpp.getName().equals(prefix+"NamingSystem")) 10872 return true; 10873 if (xpp.getName().equals(prefix+"NutritionOrder")) 10874 return true; 10875 if (xpp.getName().equals(prefix+"Observation")) 10876 return true; 10877 if (xpp.getName().equals(prefix+"OperationDefinition")) 10878 return true; 10879 if (xpp.getName().equals(prefix+"OperationOutcome")) 10880 return true; 10881 if (xpp.getName().equals(prefix+"Order")) 10882 return true; 10883 if (xpp.getName().equals(prefix+"OrderResponse")) 10884 return true; 10885 if (xpp.getName().equals(prefix+"Organization")) 10886 return true; 10887 if (xpp.getName().equals(prefix+"Patient")) 10888 return true; 10889 if (xpp.getName().equals(prefix+"PaymentNotice")) 10890 return true; 10891 if (xpp.getName().equals(prefix+"PaymentReconciliation")) 10892 return true; 10893 if (xpp.getName().equals(prefix+"Person")) 10894 return true; 10895 if (xpp.getName().equals(prefix+"Practitioner")) 10896 return true; 10897 if (xpp.getName().equals(prefix+"Procedure")) 10898 return true; 10899 if (xpp.getName().equals(prefix+"ProcedureRequest")) 10900 return true; 10901 if (xpp.getName().equals(prefix+"ProcessRequest")) 10902 return true; 10903 if (xpp.getName().equals(prefix+"ProcessResponse")) 10904 return true; 10905 if (xpp.getName().equals(prefix+"Provenance")) 10906 return true; 10907 if (xpp.getName().equals(prefix+"Questionnaire")) 10908 return true; 10909 if (xpp.getName().equals(prefix+"QuestionnaireResponse")) 10910 return true; 10911 if (xpp.getName().equals(prefix+"ReferralRequest")) 10912 return true; 10913 if (xpp.getName().equals(prefix+"RelatedPerson")) 10914 return true; 10915 if (xpp.getName().equals(prefix+"RiskAssessment")) 10916 return true; 10917 if (xpp.getName().equals(prefix+"Schedule")) 10918 return true; 10919 if (xpp.getName().equals(prefix+"SearchParameter")) 10920 return true; 10921 if (xpp.getName().equals(prefix+"Slot")) 10922 return true; 10923 if (xpp.getName().equals(prefix+"Specimen")) 10924 return true; 10925 if (xpp.getName().equals(prefix+"StructureDefinition")) 10926 return true; 10927 if (xpp.getName().equals(prefix+"Subscription")) 10928 return true; 10929 if (xpp.getName().equals(prefix+"Substance")) 10930 return true; 10931 if (xpp.getName().equals(prefix+"SupplyDelivery")) 10932 return true; 10933 if (xpp.getName().equals(prefix+"SupplyRequest")) 10934 return true; 10935 if (xpp.getName().equals(prefix+"TestScript")) 10936 return true; 10937 if (xpp.getName().equals(prefix+"ValueSet")) 10938 return true; 10939 if (xpp.getName().equals(prefix+"VisionPrescription")) 10940 return true; 10941 if (xpp.getName().equals(prefix+"Date")) 10942 return true; 10943 if (xpp.getName().equals(prefix+"DateTime")) 10944 return true; 10945 if (xpp.getName().equals(prefix+"Code")) 10946 return true; 10947 if (xpp.getName().equals(prefix+"String")) 10948 return true; 10949 if (xpp.getName().equals(prefix+"Integer")) 10950 return true; 10951 if (xpp.getName().equals(prefix+"Oid")) 10952 return true; 10953 if (xpp.getName().equals(prefix+"Uri")) 10954 return true; 10955 if (xpp.getName().equals(prefix+"Uuid")) 10956 return true; 10957 if (xpp.getName().equals(prefix+"Instant")) 10958 return true; 10959 if (xpp.getName().equals(prefix+"Boolean")) 10960 return true; 10961 if (xpp.getName().equals(prefix+"Base64Binary")) 10962 return true; 10963 if (xpp.getName().equals(prefix+"UnsignedInt")) 10964 return true; 10965 if (xpp.getName().equals(prefix+"Markdown")) 10966 return true; 10967 if (xpp.getName().equals(prefix+"Time")) 10968 return true; 10969 if (xpp.getName().equals(prefix+"Id")) 10970 return true; 10971 if (xpp.getName().equals(prefix+"PositiveInt")) 10972 return true; 10973 if (xpp.getName().equals(prefix+"Decimal")) 10974 return true; 10975 return false; 10976 } 10977 protected void composeElementElements(Element element) throws IOException { 10978 for (Extension e : element.getExtension()) { 10979 composeExtension("extension", e); 10980 } 10981 } 10982 10983 protected void composeBackboneElements(BackboneElement element) throws IOException { 10984 composeElementElements(element); 10985 for (Extension e : element.getModifierExtension()) { 10986 composeExtension("modifierExtension", e); 10987 } 10988 } 10989 10990 protected <E extends Enum<E>> void composeEnumeration(String name, Enumeration<E> value, EnumFactory e) throws IOException { 10991 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) { 10992 composeElementAttributes(value); 10993 if (value.getValue() != null) 10994 xml.attribute("value", e.toCode(value.getValue())); 10995 10996 xml.enter(FHIR_NS, name); 10997 composeElementElements(value); 10998 composeElementClose(value); 10999 xml.exit(FHIR_NS, name); 11000 } 11001 } 11002 11003 protected void composeDate(String name, DateType value) throws IOException { 11004 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// date 11005 composeElementAttributes(value); 11006 if (value.asStringValue() != null) 11007 xml.attribute("value", value.asStringValue()); 11008 11009 xml.enter(FHIR_NS, name); 11010 composeElementElements(value); 11011 composeElementClose(value); 11012 xml.exit(FHIR_NS, name); 11013 } 11014 } 11015 11016 protected void composeDateTime(String name, DateTimeType value) throws IOException { 11017 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// dateTime 11018 composeElementAttributes(value); 11019 if (value.asStringValue() != null) 11020 xml.attribute("value", value.asStringValue()); 11021 11022 xml.enter(FHIR_NS, name); 11023 composeElementElements(value); 11024 composeElementClose(value); 11025 xml.exit(FHIR_NS, name); 11026 } 11027 } 11028 11029 protected void composeCode(String name, CodeType value) throws IOException { 11030 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// code 11031 composeElementAttributes(value); 11032 if (value.asStringValue() != null) 11033 xml.attribute("value", value.asStringValue()); 11034 11035 xml.enter(FHIR_NS, name); 11036 composeElementElements(value); 11037 composeElementClose(value); 11038 xml.exit(FHIR_NS, name); 11039 } 11040 } 11041 11042 protected void composeString(String name, StringType value) throws IOException { 11043 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// string 11044 composeElementAttributes(value); 11045 if (value.asStringValue() != null) 11046 xml.attribute("value", value.asStringValue()); 11047 11048 xml.enter(FHIR_NS, name); 11049 composeElementElements(value); 11050 composeElementClose(value); 11051 xml.exit(FHIR_NS, name); 11052 } 11053 } 11054 11055 protected void composeInteger(String name, IntegerType value) throws IOException { 11056 if (value != null) { // integer 11057 composeElementAttributes(value); 11058 if (value.asStringValue() != null) 11059 xml.attribute("value", value.asStringValue()); 11060 11061 xml.enter(FHIR_NS, name); 11062 composeElementElements(value); 11063 composeElementClose(value); 11064 xml.exit(FHIR_NS, name); 11065 } 11066 } 11067 11068 protected void composeOid(String name, OidType value) throws IOException { 11069 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// oid 11070 composeElementAttributes(value); 11071 if (value.asStringValue() != null) 11072 xml.attribute("value", value.asStringValue()); 11073 11074 xml.enter(FHIR_NS, name); 11075 composeElementElements(value); 11076 composeElementClose(value); 11077 xml.exit(FHIR_NS, name); 11078 } 11079 } 11080 11081 protected void composeUri(String name, UriType value) throws IOException { 11082 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// uri 11083 composeElementAttributes(value); 11084 if (value.asStringValue() != null) 11085 xml.attribute("value", value.asStringValue()); 11086 11087 xml.enter(FHIR_NS, name); 11088 composeElementElements(value); 11089 composeElementClose(value); 11090 xml.exit(FHIR_NS, name); 11091 } 11092 } 11093 11094 protected void composeUuid(String name, UuidType value) throws IOException { 11095 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// uuid 11096 composeElementAttributes(value); 11097 if (value.asStringValue() != null) 11098 xml.attribute("value", value.asStringValue()); 11099 11100 xml.enter(FHIR_NS, name); 11101 composeElementElements(value); 11102 composeElementClose(value); 11103 xml.exit(FHIR_NS, name); 11104 } 11105 } 11106 11107 protected void composeInstant(String name, InstantType value) throws IOException { 11108 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// instant 11109 composeElementAttributes(value); 11110 if (value.asStringValue() != null) 11111 xml.attribute("value", value.asStringValue()); 11112 11113 xml.enter(FHIR_NS, name); 11114 composeElementElements(value); 11115 composeElementClose(value); 11116 xml.exit(FHIR_NS, name); 11117 } 11118 } 11119 11120 protected void composeBoolean(String name, BooleanType value) throws IOException { 11121 if (value != null) { // boolean 11122 composeElementAttributes(value); 11123 if (value.asStringValue() != null) 11124 xml.attribute("value", value.asStringValue()); 11125 11126 xml.enter(FHIR_NS, name); 11127 composeElementElements(value); 11128 composeElementClose(value); 11129 xml.exit(FHIR_NS, name); 11130 } 11131 } 11132 11133 protected void composeBase64Binary(String name, Base64BinaryType value) throws IOException { 11134 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// base64Binary 11135 composeElementAttributes(value); 11136 if (value.asStringValue() != null) 11137 xml.attribute("value", value.asStringValue()); 11138 11139 xml.enter(FHIR_NS, name); 11140 composeElementElements(value); 11141 composeElementClose(value); 11142 xml.exit(FHIR_NS, name); 11143 } 11144 } 11145 11146 protected void composeUnsignedInt(String name, UnsignedIntType value) throws IOException { 11147 if (value != null) { // unsignedInt 11148 composeElementAttributes(value); 11149 if (value.asStringValue() != null) 11150 xml.attribute("value", value.asStringValue()); 11151 11152 xml.enter(FHIR_NS, name); 11153 composeElementElements(value); 11154 composeElementClose(value); 11155 xml.exit(FHIR_NS, name); 11156 } 11157 } 11158 11159 protected void composeMarkdown(String name, MarkdownType value) throws IOException { 11160 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// markdown 11161 composeElementAttributes(value); 11162 if (value.asStringValue() != null) 11163 xml.attribute("value", value.asStringValue()); 11164 11165 xml.enter(FHIR_NS, name); 11166 composeElementElements(value); 11167 composeElementClose(value); 11168 xml.exit(FHIR_NS, name); 11169 } 11170 } 11171 11172 protected void composeTime(String name, TimeType value) throws IOException { 11173 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// time 11174 composeElementAttributes(value); 11175 if (value.asStringValue() != null) 11176 xml.attribute("value", value.asStringValue()); 11177 11178 xml.enter(FHIR_NS, name); 11179 composeElementElements(value); 11180 composeElementClose(value); 11181 xml.exit(FHIR_NS, name); 11182 } 11183 } 11184 11185 protected void composeId(String name, IdType value) throws IOException { 11186 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || !Utilities.noString(value.getValue()))) {// id 11187 composeElementAttributes(value); 11188 if (value.asStringValue() != null) 11189 xml.attribute("value", value.asStringValue()); 11190 11191 xml.enter(FHIR_NS, name); 11192 composeElementElements(value); 11193 composeElementClose(value); 11194 xml.exit(FHIR_NS, name); 11195 } 11196 } 11197 11198 protected void composePositiveInt(String name, PositiveIntType value) throws IOException { 11199 if (value != null) { // positiveInt 11200 composeElementAttributes(value); 11201 if (value.asStringValue() != null) 11202 xml.attribute("value", value.asStringValue()); 11203 11204 xml.enter(FHIR_NS, name); 11205 composeElementElements(value); 11206 composeElementClose(value); 11207 xml.exit(FHIR_NS, name); 11208 } 11209 } 11210 11211 protected void composeDecimal(String name, DecimalType value) throws IOException { 11212 if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || value.getValue() != null)) {// decimal 11213 composeElementAttributes(value); 11214 if (value.asStringValue() != null) 11215 xml.attribute("value", value.asStringValue()); 11216 11217 xml.enter(FHIR_NS, name); 11218 composeElementElements(value); 11219 composeElementClose(value); 11220 xml.exit(FHIR_NS, name); 11221 } 11222 } 11223 11224 protected void composeExtension(String name, Extension element) throws IOException { 11225 if (element != null) { 11226 composeElementAttributes(element); 11227 if (element.hasUrlElement()) 11228 xml.attribute("url", element.getUrlElement().getValue()); 11229 xml.enter(FHIR_NS, name); 11230 composeElementElements(element); 11231 if (element.hasValue()) { 11232 composeType("value", element.getValue()); 11233 } composeElementClose(element); 11234 xml.exit(FHIR_NS, name); 11235 } 11236 } 11237 11238 protected void composeNarrative(String name, Narrative element) throws IOException { 11239 if (element != null) { 11240 composeElementAttributes(element); 11241 xml.enter(FHIR_NS, name); 11242 composeElementElements(element); 11243 if (element.hasStatusElement()) 11244 composeEnumeration("status", element.getStatusElement(), new Narrative.NarrativeStatusEnumFactory()); 11245 if (element.hasDiv()) { 11246 composeXhtml("div", element.getDiv()); 11247 } 11248 composeElementClose(element); 11249 xml.exit(FHIR_NS, name); 11250 } 11251 } 11252 11253 protected void composeIdentifier(String name, Identifier element) throws IOException { 11254 if (element != null) { 11255 composeTypeAttributes(element); 11256 xml.enter(FHIR_NS, name); 11257 composeElementElements(element); 11258 if (element.hasUseElement()) 11259 composeEnumeration("use", element.getUseElement(), new Identifier.IdentifierUseEnumFactory()); 11260 if (element.hasType()) { 11261 composeCodeableConcept("type", element.getType()); 11262 } 11263 if (element.hasSystemElement()) { 11264 composeUri("system", element.getSystemElement()); 11265 } 11266 if (element.hasValueElement()) { 11267 composeString("value", element.getValueElement()); 11268 } 11269 if (element.hasPeriod()) { 11270 composePeriod("period", element.getPeriod()); 11271 } 11272 if (element.hasAssigner()) { 11273 composeReference("assigner", element.getAssigner()); 11274 } 11275 composeElementClose(element); 11276 xml.exit(FHIR_NS, name); 11277 } 11278 } 11279 11280 protected void composeCoding(String name, Coding element) throws IOException { 11281 if (element != null) { 11282 composeTypeAttributes(element); 11283 xml.enter(FHIR_NS, name); 11284 composeElementElements(element); 11285 if (element.hasSystemElement()) { 11286 composeUri("system", element.getSystemElement()); 11287 } 11288 if (element.hasVersionElement()) { 11289 composeString("version", element.getVersionElement()); 11290 } 11291 if (element.hasCodeElement()) { 11292 composeCode("code", element.getCodeElement()); 11293 } 11294 if (element.hasDisplayElement()) { 11295 composeString("display", element.getDisplayElement()); 11296 } 11297 if (element.hasUserSelectedElement()) { 11298 composeBoolean("userSelected", element.getUserSelectedElement()); 11299 } 11300 composeElementClose(element); 11301 xml.exit(FHIR_NS, name); 11302 } 11303 } 11304 11305 protected void composeReference(String name, Reference element) throws IOException { 11306 if (element != null) { 11307 composeTypeAttributes(element); 11308 xml.enter(FHIR_NS, name); 11309 composeElementElements(element); 11310 if (element.hasReferenceElement()) { 11311 composeString("reference", element.getReferenceElement()); 11312 } 11313 if (element.hasDisplayElement()) { 11314 composeString("display", element.getDisplayElement()); 11315 } 11316 composeElementClose(element); 11317 xml.exit(FHIR_NS, name); 11318 } 11319 } 11320 11321 protected void composeSignature(String name, Signature element) throws IOException { 11322 if (element != null) { 11323 composeTypeAttributes(element); 11324 xml.enter(FHIR_NS, name); 11325 composeElementElements(element); 11326 if (element.hasType()) { 11327 for (Coding e : element.getType()) 11328 composeCoding("type", e); 11329 } 11330 if (element.hasWhenElement()) { 11331 composeInstant("when", element.getWhenElement()); 11332 } 11333 if (element.hasWho()) { 11334 composeType("who", element.getWho()); 11335 } if (element.hasContentTypeElement()) { 11336 composeCode("contentType", element.getContentTypeElement()); 11337 } 11338 if (element.hasBlobElement()) { 11339 composeBase64Binary("blob", element.getBlobElement()); 11340 } 11341 composeElementClose(element); 11342 xml.exit(FHIR_NS, name); 11343 } 11344 } 11345 11346 protected void composeSampledData(String name, SampledData element) throws IOException { 11347 if (element != null) { 11348 composeTypeAttributes(element); 11349 xml.enter(FHIR_NS, name); 11350 composeElementElements(element); 11351 if (element.hasOrigin()) { 11352 composeSimpleQuantity("origin", element.getOrigin()); 11353 } 11354 if (element.hasPeriodElement()) { 11355 composeDecimal("period", element.getPeriodElement()); 11356 } 11357 if (element.hasFactorElement()) { 11358 composeDecimal("factor", element.getFactorElement()); 11359 } 11360 if (element.hasLowerLimitElement()) { 11361 composeDecimal("lowerLimit", element.getLowerLimitElement()); 11362 } 11363 if (element.hasUpperLimitElement()) { 11364 composeDecimal("upperLimit", element.getUpperLimitElement()); 11365 } 11366 if (element.hasDimensionsElement()) { 11367 composePositiveInt("dimensions", element.getDimensionsElement()); 11368 } 11369 if (element.hasDataElement()) { 11370 composeString("data", element.getDataElement()); 11371 } 11372 composeElementClose(element); 11373 xml.exit(FHIR_NS, name); 11374 } 11375 } 11376 11377 protected void composeQuantity(String name, Quantity element) throws IOException { 11378 if (element != null) { 11379 composeTypeAttributes(element); 11380 xml.enter(FHIR_NS, name); 11381 composeElementElements(element); 11382 if (element.hasValueElement()) { 11383 composeDecimal("value", element.getValueElement()); 11384 } 11385 if (element.hasComparatorElement()) 11386 composeEnumeration("comparator", element.getComparatorElement(), new Quantity.QuantityComparatorEnumFactory()); 11387 if (element.hasUnitElement()) { 11388 composeString("unit", element.getUnitElement()); 11389 } 11390 if (element.hasSystemElement()) { 11391 composeUri("system", element.getSystemElement()); 11392 } 11393 if (element.hasCodeElement()) { 11394 composeCode("code", element.getCodeElement()); 11395 } 11396 composeElementClose(element); 11397 xml.exit(FHIR_NS, name); 11398 } 11399 } 11400 11401 protected void composePeriod(String name, Period element) throws IOException { 11402 if (element != null) { 11403 composeTypeAttributes(element); 11404 xml.enter(FHIR_NS, name); 11405 composeElementElements(element); 11406 if (element.hasStartElement()) { 11407 composeDateTime("start", element.getStartElement()); 11408 } 11409 if (element.hasEndElement()) { 11410 composeDateTime("end", element.getEndElement()); 11411 } 11412 composeElementClose(element); 11413 xml.exit(FHIR_NS, name); 11414 } 11415 } 11416 11417 protected void composeAttachment(String name, Attachment element) throws IOException { 11418 if (element != null) { 11419 composeTypeAttributes(element); 11420 xml.enter(FHIR_NS, name); 11421 composeElementElements(element); 11422 if (element.hasContentTypeElement()) { 11423 composeCode("contentType", element.getContentTypeElement()); 11424 } 11425 if (element.hasLanguageElement()) { 11426 composeCode("language", element.getLanguageElement()); 11427 } 11428 if (element.hasDataElement()) { 11429 composeBase64Binary("data", element.getDataElement()); 11430 } 11431 if (element.hasUrlElement()) { 11432 composeUri("url", element.getUrlElement()); 11433 } 11434 if (element.hasSizeElement()) { 11435 composeUnsignedInt("size", element.getSizeElement()); 11436 } 11437 if (element.hasHashElement()) { 11438 composeBase64Binary("hash", element.getHashElement()); 11439 } 11440 if (element.hasTitleElement()) { 11441 composeString("title", element.getTitleElement()); 11442 } 11443 if (element.hasCreationElement()) { 11444 composeDateTime("creation", element.getCreationElement()); 11445 } 11446 composeElementClose(element); 11447 xml.exit(FHIR_NS, name); 11448 } 11449 } 11450 11451 protected void composeRatio(String name, Ratio element) throws IOException { 11452 if (element != null) { 11453 composeTypeAttributes(element); 11454 xml.enter(FHIR_NS, name); 11455 composeElementElements(element); 11456 if (element.hasNumerator()) { 11457 composeQuantity("numerator", element.getNumerator()); 11458 } 11459 if (element.hasDenominator()) { 11460 composeQuantity("denominator", element.getDenominator()); 11461 } 11462 composeElementClose(element); 11463 xml.exit(FHIR_NS, name); 11464 } 11465 } 11466 11467 protected void composeRange(String name, Range element) throws IOException { 11468 if (element != null) { 11469 composeTypeAttributes(element); 11470 xml.enter(FHIR_NS, name); 11471 composeElementElements(element); 11472 if (element.hasLow()) { 11473 composeSimpleQuantity("low", element.getLow()); 11474 } 11475 if (element.hasHigh()) { 11476 composeSimpleQuantity("high", element.getHigh()); 11477 } 11478 composeElementClose(element); 11479 xml.exit(FHIR_NS, name); 11480 } 11481 } 11482 11483 protected void composeAnnotation(String name, Annotation element) throws IOException { 11484 if (element != null) { 11485 composeTypeAttributes(element); 11486 xml.enter(FHIR_NS, name); 11487 composeElementElements(element); 11488 if (element.hasAuthor()) { 11489 composeType("author", element.getAuthor()); 11490 } if (element.hasTimeElement()) { 11491 composeDateTime("time", element.getTimeElement()); 11492 } 11493 if (element.hasTextElement()) { 11494 composeString("text", element.getTextElement()); 11495 } 11496 composeElementClose(element); 11497 xml.exit(FHIR_NS, name); 11498 } 11499 } 11500 11501 protected void composeCodeableConcept(String name, CodeableConcept element) throws IOException { 11502 if (element != null) { 11503 composeTypeAttributes(element); 11504 xml.enter(FHIR_NS, name); 11505 composeElementElements(element); 11506 if (element.hasCoding()) { 11507 for (Coding e : element.getCoding()) 11508 composeCoding("coding", e); 11509 } 11510 if (element.hasTextElement()) { 11511 composeString("text", element.getTextElement()); 11512 } 11513 composeElementClose(element); 11514 xml.exit(FHIR_NS, name); 11515 } 11516 } 11517 11518 protected void composeMoney(String name, Money element) throws IOException { 11519 if (element != null) { 11520 composeTypeAttributes(element); 11521 xml.enter(FHIR_NS, name); 11522 composeElementElements(element); 11523 if (element.hasValueElement()) { 11524 composeDecimal("value", element.getValueElement()); 11525 } 11526 if (element.hasComparatorElement()) 11527 composeEnumeration("comparator", element.getComparatorElement(), new Money.QuantityComparatorEnumFactory()); 11528 if (element.hasUnitElement()) { 11529 composeString("unit", element.getUnitElement()); 11530 } 11531 if (element.hasSystemElement()) { 11532 composeUri("system", element.getSystemElement()); 11533 } 11534 if (element.hasCodeElement()) { 11535 composeCode("code", element.getCodeElement()); 11536 } 11537 composeElementClose(element); 11538 xml.exit(FHIR_NS, name); 11539 } 11540 } 11541 11542 protected void composeSimpleQuantity(String name, SimpleQuantity element) throws IOException { 11543 if (element != null) { 11544 composeTypeAttributes(element); 11545 xml.enter(FHIR_NS, name); 11546 composeElementElements(element); 11547 if (element.hasValueElement()) { 11548 composeDecimal("value", element.getValueElement()); 11549 } 11550 if (element.hasComparatorElement()) 11551 composeEnumeration("comparator", element.getComparatorElement(), new SimpleQuantity.QuantityComparatorEnumFactory()); 11552 if (element.hasUnitElement()) { 11553 composeString("unit", element.getUnitElement()); 11554 } 11555 if (element.hasSystemElement()) { 11556 composeUri("system", element.getSystemElement()); 11557 } 11558 if (element.hasCodeElement()) { 11559 composeCode("code", element.getCodeElement()); 11560 } 11561 composeElementClose(element); 11562 xml.exit(FHIR_NS, name); 11563 } 11564 } 11565 11566 protected void composeDuration(String name, Duration element) throws IOException { 11567 if (element != null) { 11568 composeTypeAttributes(element); 11569 xml.enter(FHIR_NS, name); 11570 composeElementElements(element); 11571 if (element.hasValueElement()) { 11572 composeDecimal("value", element.getValueElement()); 11573 } 11574 if (element.hasComparatorElement()) 11575 composeEnumeration("comparator", element.getComparatorElement(), new Duration.QuantityComparatorEnumFactory()); 11576 if (element.hasUnitElement()) { 11577 composeString("unit", element.getUnitElement()); 11578 } 11579 if (element.hasSystemElement()) { 11580 composeUri("system", element.getSystemElement()); 11581 } 11582 if (element.hasCodeElement()) { 11583 composeCode("code", element.getCodeElement()); 11584 } 11585 composeElementClose(element); 11586 xml.exit(FHIR_NS, name); 11587 } 11588 } 11589 11590 protected void composeCount(String name, Count element) throws IOException { 11591 if (element != null) { 11592 composeTypeAttributes(element); 11593 xml.enter(FHIR_NS, name); 11594 composeElementElements(element); 11595 if (element.hasValueElement()) { 11596 composeDecimal("value", element.getValueElement()); 11597 } 11598 if (element.hasComparatorElement()) 11599 composeEnumeration("comparator", element.getComparatorElement(), new Count.QuantityComparatorEnumFactory()); 11600 if (element.hasUnitElement()) { 11601 composeString("unit", element.getUnitElement()); 11602 } 11603 if (element.hasSystemElement()) { 11604 composeUri("system", element.getSystemElement()); 11605 } 11606 if (element.hasCodeElement()) { 11607 composeCode("code", element.getCodeElement()); 11608 } 11609 composeElementClose(element); 11610 xml.exit(FHIR_NS, name); 11611 } 11612 } 11613 11614 protected void composeDistance(String name, Distance element) throws IOException { 11615 if (element != null) { 11616 composeTypeAttributes(element); 11617 xml.enter(FHIR_NS, name); 11618 composeElementElements(element); 11619 if (element.hasValueElement()) { 11620 composeDecimal("value", element.getValueElement()); 11621 } 11622 if (element.hasComparatorElement()) 11623 composeEnumeration("comparator", element.getComparatorElement(), new Distance.QuantityComparatorEnumFactory()); 11624 if (element.hasUnitElement()) { 11625 composeString("unit", element.getUnitElement()); 11626 } 11627 if (element.hasSystemElement()) { 11628 composeUri("system", element.getSystemElement()); 11629 } 11630 if (element.hasCodeElement()) { 11631 composeCode("code", element.getCodeElement()); 11632 } 11633 composeElementClose(element); 11634 xml.exit(FHIR_NS, name); 11635 } 11636 } 11637 11638 protected void composeAge(String name, Age element) throws IOException { 11639 if (element != null) { 11640 composeTypeAttributes(element); 11641 xml.enter(FHIR_NS, name); 11642 composeElementElements(element); 11643 if (element.hasValueElement()) { 11644 composeDecimal("value", element.getValueElement()); 11645 } 11646 if (element.hasComparatorElement()) 11647 composeEnumeration("comparator", element.getComparatorElement(), new Age.QuantityComparatorEnumFactory()); 11648 if (element.hasUnitElement()) { 11649 composeString("unit", element.getUnitElement()); 11650 } 11651 if (element.hasSystemElement()) { 11652 composeUri("system", element.getSystemElement()); 11653 } 11654 if (element.hasCodeElement()) { 11655 composeCode("code", element.getCodeElement()); 11656 } 11657 composeElementClose(element); 11658 xml.exit(FHIR_NS, name); 11659 } 11660 } 11661 11662 protected void composeHumanName(String name, HumanName element) throws IOException { 11663 if (element != null) { 11664 composeElementAttributes(element); 11665 xml.enter(FHIR_NS, name); 11666 composeElementElements(element); 11667 if (element.hasUseElement()) 11668 composeEnumeration("use", element.getUseElement(), new HumanName.NameUseEnumFactory()); 11669 if (element.hasTextElement()) { 11670 composeString("text", element.getTextElement()); 11671 } 11672 if (element.hasFamily()) { 11673 for (StringType e : element.getFamily()) 11674 composeString("family", e); 11675 } 11676 if (element.hasGiven()) { 11677 for (StringType e : element.getGiven()) 11678 composeString("given", e); 11679 } 11680 if (element.hasPrefix()) { 11681 for (StringType e : element.getPrefix()) 11682 composeString("prefix", e); 11683 } 11684 if (element.hasSuffix()) { 11685 for (StringType e : element.getSuffix()) 11686 composeString("suffix", e); 11687 } 11688 if (element.hasPeriod()) { 11689 composePeriod("period", element.getPeriod()); 11690 } 11691 composeElementClose(element); 11692 xml.exit(FHIR_NS, name); 11693 } 11694 } 11695 11696 protected void composeContactPoint(String name, ContactPoint element) throws IOException { 11697 if (element != null) { 11698 composeElementAttributes(element); 11699 xml.enter(FHIR_NS, name); 11700 composeElementElements(element); 11701 if (element.hasSystemElement()) 11702 composeEnumeration("system", element.getSystemElement(), new ContactPoint.ContactPointSystemEnumFactory()); 11703 if (element.hasValueElement()) { 11704 composeString("value", element.getValueElement()); 11705 } 11706 if (element.hasUseElement()) 11707 composeEnumeration("use", element.getUseElement(), new ContactPoint.ContactPointUseEnumFactory()); 11708 if (element.hasRankElement()) { 11709 composePositiveInt("rank", element.getRankElement()); 11710 } 11711 if (element.hasPeriod()) { 11712 composePeriod("period", element.getPeriod()); 11713 } 11714 composeElementClose(element); 11715 xml.exit(FHIR_NS, name); 11716 } 11717 } 11718 11719 protected void composeMeta(String name, Meta element) throws IOException { 11720 if (element != null) { 11721 composeElementAttributes(element); 11722 xml.enter(FHIR_NS, name); 11723 composeElementElements(element); 11724 if (element.hasVersionIdElement()) { 11725 composeId("versionId", element.getVersionIdElement()); 11726 } 11727 if (element.hasLastUpdatedElement()) { 11728 composeInstant("lastUpdated", element.getLastUpdatedElement()); 11729 } 11730 if (element.hasProfile()) { 11731 for (UriType e : element.getProfile()) 11732 composeUri("profile", e); 11733 } 11734 if (element.hasSecurity()) { 11735 for (Coding e : element.getSecurity()) 11736 composeCoding("security", e); 11737 } 11738 if (element.hasTag()) { 11739 for (Coding e : element.getTag()) 11740 composeCoding("tag", e); 11741 } 11742 composeElementClose(element); 11743 xml.exit(FHIR_NS, name); 11744 } 11745 } 11746 11747 protected void composeAddress(String name, Address element) throws IOException { 11748 if (element != null) { 11749 composeElementAttributes(element); 11750 xml.enter(FHIR_NS, name); 11751 composeElementElements(element); 11752 if (element.hasUseElement()) 11753 composeEnumeration("use", element.getUseElement(), new Address.AddressUseEnumFactory()); 11754 if (element.hasTypeElement()) 11755 composeEnumeration("type", element.getTypeElement(), new Address.AddressTypeEnumFactory()); 11756 if (element.hasTextElement()) { 11757 composeString("text", element.getTextElement()); 11758 } 11759 if (element.hasLine()) { 11760 for (StringType e : element.getLine()) 11761 composeString("line", e); 11762 } 11763 if (element.hasCityElement()) { 11764 composeString("city", element.getCityElement()); 11765 } 11766 if (element.hasDistrictElement()) { 11767 composeString("district", element.getDistrictElement()); 11768 } 11769 if (element.hasStateElement()) { 11770 composeString("state", element.getStateElement()); 11771 } 11772 if (element.hasPostalCodeElement()) { 11773 composeString("postalCode", element.getPostalCodeElement()); 11774 } 11775 if (element.hasCountryElement()) { 11776 composeString("country", element.getCountryElement()); 11777 } 11778 if (element.hasPeriod()) { 11779 composePeriod("period", element.getPeriod()); 11780 } 11781 composeElementClose(element); 11782 xml.exit(FHIR_NS, name); 11783 } 11784 } 11785 11786 protected void composeTiming(String name, Timing element) throws IOException { 11787 if (element != null) { 11788 composeElementAttributes(element); 11789 xml.enter(FHIR_NS, name); 11790 composeElementElements(element); 11791 if (element.hasEvent()) { 11792 for (DateTimeType e : element.getEvent()) 11793 composeDateTime("event", e); 11794 } 11795 if (element.hasRepeat()) { 11796 composeTimingTimingRepeatComponent("repeat", element.getRepeat()); 11797 } 11798 if (element.hasCode()) { 11799 composeCodeableConcept("code", element.getCode()); 11800 } 11801 composeElementClose(element); 11802 xml.exit(FHIR_NS, name); 11803 } 11804 } 11805 11806 protected void composeTimingTimingRepeatComponent(String name, Timing.TimingRepeatComponent element) throws IOException { 11807 if (element != null) { 11808 composeElementAttributes(element); 11809 xml.enter(FHIR_NS, name); 11810 composeElementElements(element); 11811 if (element.hasBounds()) { 11812 composeType("bounds", element.getBounds()); 11813 } if (element.hasCountElement()) { 11814 composeInteger("count", element.getCountElement()); 11815 } 11816 if (element.hasDurationElement()) { 11817 composeDecimal("duration", element.getDurationElement()); 11818 } 11819 if (element.hasDurationMaxElement()) { 11820 composeDecimal("durationMax", element.getDurationMaxElement()); 11821 } 11822 if (element.hasDurationUnitsElement()) 11823 composeEnumeration("durationUnits", element.getDurationUnitsElement(), new Timing.UnitsOfTimeEnumFactory()); 11824 if (element.hasFrequencyElement()) { 11825 composeInteger("frequency", element.getFrequencyElement()); 11826 } 11827 if (element.hasFrequencyMaxElement()) { 11828 composeInteger("frequencyMax", element.getFrequencyMaxElement()); 11829 } 11830 if (element.hasPeriodElement()) { 11831 composeDecimal("period", element.getPeriodElement()); 11832 } 11833 if (element.hasPeriodMaxElement()) { 11834 composeDecimal("periodMax", element.getPeriodMaxElement()); 11835 } 11836 if (element.hasPeriodUnitsElement()) 11837 composeEnumeration("periodUnits", element.getPeriodUnitsElement(), new Timing.UnitsOfTimeEnumFactory()); 11838 if (element.hasWhenElement()) 11839 composeEnumeration("when", element.getWhenElement(), new Timing.EventTimingEnumFactory()); 11840 composeElementClose(element); 11841 xml.exit(FHIR_NS, name); 11842 } 11843 } 11844 11845 protected void composeElementDefinition(String name, ElementDefinition element) throws IOException { 11846 if (element != null) { 11847 composeElementAttributes(element); 11848 xml.enter(FHIR_NS, name); 11849 composeElementElements(element); 11850 if (element.hasPathElement()) { 11851 composeString("path", element.getPathElement()); 11852 } 11853 if (element.hasRepresentation()) 11854 for (Enumeration<ElementDefinition.PropertyRepresentation> e : element.getRepresentation()) 11855 composeEnumeration("representation", e, new ElementDefinition.PropertyRepresentationEnumFactory()); 11856 if (element.hasNameElement()) { 11857 composeString("name", element.getNameElement()); 11858 } 11859 if (element.hasLabelElement()) { 11860 composeString("label", element.getLabelElement()); 11861 } 11862 if (element.hasCode()) { 11863 for (Coding e : element.getCode()) 11864 composeCoding("code", e); 11865 } 11866 if (element.hasSlicing()) { 11867 composeElementDefinitionElementDefinitionSlicingComponent("slicing", element.getSlicing()); 11868 } 11869 if (element.hasShortElement()) { 11870 composeString("short", element.getShortElement()); 11871 } 11872 if (element.hasDefinitionElement()) { 11873 composeMarkdown("definition", element.getDefinitionElement()); 11874 } 11875 if (element.hasCommentsElement()) { 11876 composeMarkdown("comments", element.getCommentsElement()); 11877 } 11878 if (element.hasRequirementsElement()) { 11879 composeMarkdown("requirements", element.getRequirementsElement()); 11880 } 11881 if (element.hasAlias()) { 11882 for (StringType e : element.getAlias()) 11883 composeString("alias", e); 11884 } 11885 if (element.hasMinElement()) { 11886 composeInteger("min", element.getMinElement()); 11887 } 11888 if (element.hasMaxElement()) { 11889 composeString("max", element.getMaxElement()); 11890 } 11891 if (element.hasBase()) { 11892 composeElementDefinitionElementDefinitionBaseComponent("base", element.getBase()); 11893 } 11894 if (element.hasType()) { 11895 for (ElementDefinition.TypeRefComponent e : element.getType()) 11896 composeElementDefinitionTypeRefComponent("type", e); 11897 } 11898 if (element.hasNameReferenceElement()) { 11899 composeString("nameReference", element.getNameReferenceElement()); 11900 } 11901 if (element.hasDefaultValue()) { 11902 composeType("defaultValue", element.getDefaultValue()); 11903 } if (element.hasMeaningWhenMissingElement()) { 11904 composeMarkdown("meaningWhenMissing", element.getMeaningWhenMissingElement()); 11905 } 11906 if (element.hasFixed()) { 11907 composeType("fixed", element.getFixed()); 11908 } if (element.hasPattern()) { 11909 composeType("pattern", element.getPattern()); 11910 } if (element.hasExample()) { 11911 composeType("example", element.getExample()); 11912 } if (element.hasMinValue()) { 11913 composeType("minValue", element.getMinValue()); 11914 } if (element.hasMaxValue()) { 11915 composeType("maxValue", element.getMaxValue()); 11916 } if (element.hasMaxLengthElement()) { 11917 composeInteger("maxLength", element.getMaxLengthElement()); 11918 } 11919 if (element.hasCondition()) { 11920 for (IdType e : element.getCondition()) 11921 composeId("condition", e); 11922 } 11923 if (element.hasConstraint()) { 11924 for (ElementDefinition.ElementDefinitionConstraintComponent e : element.getConstraint()) 11925 composeElementDefinitionElementDefinitionConstraintComponent("constraint", e); 11926 } 11927 if (element.hasMustSupportElement()) { 11928 composeBoolean("mustSupport", element.getMustSupportElement()); 11929 } 11930 if (element.hasIsModifierElement()) { 11931 composeBoolean("isModifier", element.getIsModifierElement()); 11932 } 11933 if (element.hasIsSummaryElement()) { 11934 composeBoolean("isSummary", element.getIsSummaryElement()); 11935 } 11936 if (element.hasBinding()) { 11937 composeElementDefinitionElementDefinitionBindingComponent("binding", element.getBinding()); 11938 } 11939 if (element.hasMapping()) { 11940 for (ElementDefinition.ElementDefinitionMappingComponent e : element.getMapping()) 11941 composeElementDefinitionElementDefinitionMappingComponent("mapping", e); 11942 } 11943 composeElementClose(element); 11944 xml.exit(FHIR_NS, name); 11945 } 11946 } 11947 11948 protected void composeElementDefinitionElementDefinitionSlicingComponent(String name, ElementDefinition.ElementDefinitionSlicingComponent element) throws IOException { 11949 if (element != null) { 11950 composeElementAttributes(element); 11951 xml.enter(FHIR_NS, name); 11952 composeElementElements(element); 11953 if (element.hasDiscriminator()) { 11954 for (StringType e : element.getDiscriminator()) 11955 composeString("discriminator", e); 11956 } 11957 if (element.hasDescriptionElement()) { 11958 composeString("description", element.getDescriptionElement()); 11959 } 11960 if (element.hasOrderedElement()) { 11961 composeBoolean("ordered", element.getOrderedElement()); 11962 } 11963 if (element.hasRulesElement()) 11964 composeEnumeration("rules", element.getRulesElement(), new ElementDefinition.SlicingRulesEnumFactory()); 11965 composeElementClose(element); 11966 xml.exit(FHIR_NS, name); 11967 } 11968 } 11969 11970 protected void composeElementDefinitionElementDefinitionBaseComponent(String name, ElementDefinition.ElementDefinitionBaseComponent element) throws IOException { 11971 if (element != null) { 11972 composeElementAttributes(element); 11973 xml.enter(FHIR_NS, name); 11974 composeElementElements(element); 11975 if (element.hasPathElement()) { 11976 composeString("path", element.getPathElement()); 11977 } 11978 if (element.hasMinElement()) { 11979 composeInteger("min", element.getMinElement()); 11980 } 11981 if (element.hasMaxElement()) { 11982 composeString("max", element.getMaxElement()); 11983 } 11984 composeElementClose(element); 11985 xml.exit(FHIR_NS, name); 11986 } 11987 } 11988 11989 protected void composeElementDefinitionTypeRefComponent(String name, ElementDefinition.TypeRefComponent element) throws IOException { 11990 if (element != null) { 11991 composeElementAttributes(element); 11992 xml.enter(FHIR_NS, name); 11993 composeElementElements(element); 11994 if (element.hasCodeElement()) { 11995 composeCode("code", element.getCodeElement()); 11996 } 11997 if (element.hasProfile()) { 11998 for (UriType e : element.getProfile()) 11999 composeUri("profile", e); 12000 } 12001 if (element.hasAggregation()) 12002 for (Enumeration<ElementDefinition.AggregationMode> e : element.getAggregation()) 12003 composeEnumeration("aggregation", e, new ElementDefinition.AggregationModeEnumFactory()); 12004 composeElementClose(element); 12005 xml.exit(FHIR_NS, name); 12006 } 12007 } 12008 12009 protected void composeElementDefinitionElementDefinitionConstraintComponent(String name, ElementDefinition.ElementDefinitionConstraintComponent element) throws IOException { 12010 if (element != null) { 12011 composeElementAttributes(element); 12012 xml.enter(FHIR_NS, name); 12013 composeElementElements(element); 12014 if (element.hasKeyElement()) { 12015 composeId("key", element.getKeyElement()); 12016 } 12017 if (element.hasRequirementsElement()) { 12018 composeString("requirements", element.getRequirementsElement()); 12019 } 12020 if (element.hasSeverityElement()) 12021 composeEnumeration("severity", element.getSeverityElement(), new ElementDefinition.ConstraintSeverityEnumFactory()); 12022 if (element.hasHumanElement()) { 12023 composeString("human", element.getHumanElement()); 12024 } 12025 if (element.hasXpathElement()) { 12026 composeString("xpath", element.getXpathElement()); 12027 } 12028 composeElementClose(element); 12029 xml.exit(FHIR_NS, name); 12030 } 12031 } 12032 12033 protected void composeElementDefinitionElementDefinitionBindingComponent(String name, ElementDefinition.ElementDefinitionBindingComponent element) throws IOException { 12034 if (element != null) { 12035 composeElementAttributes(element); 12036 xml.enter(FHIR_NS, name); 12037 composeElementElements(element); 12038 if (element.hasStrengthElement()) 12039 composeEnumeration("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory()); 12040 if (element.hasDescriptionElement()) { 12041 composeString("description", element.getDescriptionElement()); 12042 } 12043 if (element.hasValueSet()) { 12044 composeType("valueSet", element.getValueSet()); 12045 } composeElementClose(element); 12046 xml.exit(FHIR_NS, name); 12047 } 12048 } 12049 12050 protected void composeElementDefinitionElementDefinitionMappingComponent(String name, ElementDefinition.ElementDefinitionMappingComponent element) throws IOException { 12051 if (element != null) { 12052 composeElementAttributes(element); 12053 xml.enter(FHIR_NS, name); 12054 composeElementElements(element); 12055 if (element.hasIdentityElement()) { 12056 composeId("identity", element.getIdentityElement()); 12057 } 12058 if (element.hasLanguageElement()) { 12059 composeCode("language", element.getLanguageElement()); 12060 } 12061 if (element.hasMapElement()) { 12062 composeString("map", element.getMapElement()); 12063 } 12064 composeElementClose(element); 12065 xml.exit(FHIR_NS, name); 12066 } 12067 } 12068 12069 protected void composeDomainResourceAttributes(DomainResource element) throws IOException { 12070 composeResourceAttributes(element); 12071 } 12072 12073 protected void composeDomainResourceElements(DomainResource element) throws IOException { 12074 composeResourceElements(element); 12075 if (element.hasText()) { 12076 composeNarrative("text", element.getText()); 12077 } 12078 if (element.hasContained()) { 12079 for (Resource e : element.getContained()) 12080 { 12081 xml.enter(FHIR_NS, "contained"); 12082 composeResource(e); 12083 xml.exit(FHIR_NS, "contained"); 12084 } 12085 } 12086 if (element.hasExtension()) 12087 for (Extension e : element.getExtension()) 12088 composeExtension("extension", e); 12089 if (element.hasModifierExtension()) { 12090 for (Extension e : element.getModifierExtension()) 12091 composeExtension("modifierExtension", e); 12092 } 12093 } 12094 12095 protected void composeParameters(String name, Parameters element) throws IOException { 12096 if (element != null) { 12097 composeResourceAttributes(element); 12098 xml.enter(FHIR_NS, name); 12099 composeResourceElements(element); 12100 if (element.hasParameter()) { 12101 for (Parameters.ParametersParameterComponent e : element.getParameter()) 12102 composeParametersParametersParameterComponent("parameter", e); 12103 } 12104 composeElementClose(element); 12105 xml.exit(FHIR_NS, name); 12106 } 12107 } 12108 12109 protected void composeParametersParametersParameterComponent(String name, Parameters.ParametersParameterComponent element) throws IOException { 12110 if (element != null) { 12111 composeElementAttributes(element); 12112 xml.enter(FHIR_NS, name); 12113 composeBackboneElements(element); 12114 if (element.hasNameElement()) { 12115 composeString("name", element.getNameElement()); 12116 } 12117 if (element.hasValue()) { 12118 composeType("value", element.getValue()); 12119 } if (element.hasResource()) { 12120 xml.enter(FHIR_NS, "resource"); 12121 composeResource(element.getResource()); 12122 xml.exit(FHIR_NS, "resource"); 12123 } 12124 if (element.hasPart()) { 12125 for (Parameters.ParametersParameterComponent e : element.getPart()) 12126 composeParametersParametersParameterComponent("part", e); 12127 } 12128 composeElementClose(element); 12129 xml.exit(FHIR_NS, name); 12130 } 12131 } 12132 12133 protected void composeResourceAttributes(Resource element) throws IOException { 12134 if (style != OutputStyle.CANONICAL) 12135 for (String comment : element.getFormatCommentsPre()) 12136 xml.comment(comment, getOutputStyle() == OutputStyle.PRETTY); 12137 } 12138 12139 protected void composeResourceElements(Resource element) throws IOException { 12140 if (element.hasIdElement()) { 12141 composeId("id", element.getIdElement()); 12142 } 12143 if (element.hasMeta()) { 12144 composeMeta("meta", element.getMeta()); 12145 } 12146 if (element.hasImplicitRulesElement()) { 12147 composeUri("implicitRules", element.getImplicitRulesElement()); 12148 } 12149 if (element.hasLanguageElement()) { 12150 composeCode("language", element.getLanguageElement()); 12151 } 12152 } 12153 12154 protected void composeAccount(String name, Account element) throws IOException { 12155 if (element != null) { 12156 composeDomainResourceAttributes(element); 12157 xml.enter(FHIR_NS, name); 12158 composeDomainResourceElements(element); 12159 if (element.hasIdentifier()) { 12160 for (Identifier e : element.getIdentifier()) 12161 composeIdentifier("identifier", e); 12162 } 12163 if (element.hasNameElement()) { 12164 composeString("name", element.getNameElement()); 12165 } 12166 if (element.hasType()) { 12167 composeCodeableConcept("type", element.getType()); 12168 } 12169 if (element.hasStatusElement()) 12170 composeEnumeration("status", element.getStatusElement(), new Account.AccountStatusEnumFactory()); 12171 if (element.hasActivePeriod()) { 12172 composePeriod("activePeriod", element.getActivePeriod()); 12173 } 12174 if (element.hasCurrency()) { 12175 composeCoding("currency", element.getCurrency()); 12176 } 12177 if (element.hasBalance()) { 12178 composeMoney("balance", element.getBalance()); 12179 } 12180 if (element.hasCoveragePeriod()) { 12181 composePeriod("coveragePeriod", element.getCoveragePeriod()); 12182 } 12183 if (element.hasSubject()) { 12184 composeReference("subject", element.getSubject()); 12185 } 12186 if (element.hasOwner()) { 12187 composeReference("owner", element.getOwner()); 12188 } 12189 if (element.hasDescriptionElement()) { 12190 composeString("description", element.getDescriptionElement()); 12191 } 12192 composeElementClose(element); 12193 xml.exit(FHIR_NS, name); 12194 } 12195 } 12196 12197 protected void composeAllergyIntolerance(String name, AllergyIntolerance element) throws IOException { 12198 if (element != null) { 12199 composeDomainResourceAttributes(element); 12200 xml.enter(FHIR_NS, name); 12201 composeDomainResourceElements(element); 12202 if (element.hasIdentifier()) { 12203 for (Identifier e : element.getIdentifier()) 12204 composeIdentifier("identifier", e); 12205 } 12206 if (element.hasOnsetElement()) { 12207 composeDateTime("onset", element.getOnsetElement()); 12208 } 12209 if (element.hasRecordedDateElement()) { 12210 composeDateTime("recordedDate", element.getRecordedDateElement()); 12211 } 12212 if (element.hasRecorder()) { 12213 composeReference("recorder", element.getRecorder()); 12214 } 12215 if (element.hasPatient()) { 12216 composeReference("patient", element.getPatient()); 12217 } 12218 if (element.hasReporter()) { 12219 composeReference("reporter", element.getReporter()); 12220 } 12221 if (element.hasSubstance()) { 12222 composeCodeableConcept("substance", element.getSubstance()); 12223 } 12224 if (element.hasStatusElement()) 12225 composeEnumeration("status", element.getStatusElement(), new AllergyIntolerance.AllergyIntoleranceStatusEnumFactory()); 12226 if (element.hasCriticalityElement()) 12227 composeEnumeration("criticality", element.getCriticalityElement(), new AllergyIntolerance.AllergyIntoleranceCriticalityEnumFactory()); 12228 if (element.hasTypeElement()) 12229 composeEnumeration("type", element.getTypeElement(), new AllergyIntolerance.AllergyIntoleranceTypeEnumFactory()); 12230 if (element.hasCategoryElement()) 12231 composeEnumeration("category", element.getCategoryElement(), new AllergyIntolerance.AllergyIntoleranceCategoryEnumFactory()); 12232 if (element.hasLastOccurenceElement()) { 12233 composeDateTime("lastOccurence", element.getLastOccurenceElement()); 12234 } 12235 if (element.hasNote()) { 12236 composeAnnotation("note", element.getNote()); 12237 } 12238 if (element.hasReaction()) { 12239 for (AllergyIntolerance.AllergyIntoleranceReactionComponent e : element.getReaction()) 12240 composeAllergyIntoleranceAllergyIntoleranceReactionComponent("reaction", e); 12241 } 12242 composeElementClose(element); 12243 xml.exit(FHIR_NS, name); 12244 } 12245 } 12246 12247 protected void composeAllergyIntoleranceAllergyIntoleranceReactionComponent(String name, AllergyIntolerance.AllergyIntoleranceReactionComponent element) throws IOException { 12248 if (element != null) { 12249 composeElementAttributes(element); 12250 xml.enter(FHIR_NS, name); 12251 composeBackboneElements(element); 12252 if (element.hasSubstance()) { 12253 composeCodeableConcept("substance", element.getSubstance()); 12254 } 12255 if (element.hasCertaintyElement()) 12256 composeEnumeration("certainty", element.getCertaintyElement(), new AllergyIntolerance.AllergyIntoleranceCertaintyEnumFactory()); 12257 if (element.hasManifestation()) { 12258 for (CodeableConcept e : element.getManifestation()) 12259 composeCodeableConcept("manifestation", e); 12260 } 12261 if (element.hasDescriptionElement()) { 12262 composeString("description", element.getDescriptionElement()); 12263 } 12264 if (element.hasOnsetElement()) { 12265 composeDateTime("onset", element.getOnsetElement()); 12266 } 12267 if (element.hasSeverityElement()) 12268 composeEnumeration("severity", element.getSeverityElement(), new AllergyIntolerance.AllergyIntoleranceSeverityEnumFactory()); 12269 if (element.hasExposureRoute()) { 12270 composeCodeableConcept("exposureRoute", element.getExposureRoute()); 12271 } 12272 if (element.hasNote()) { 12273 composeAnnotation("note", element.getNote()); 12274 } 12275 composeElementClose(element); 12276 xml.exit(FHIR_NS, name); 12277 } 12278 } 12279 12280 protected void composeAppointment(String name, Appointment element) throws IOException { 12281 if (element != null) { 12282 composeDomainResourceAttributes(element); 12283 xml.enter(FHIR_NS, name); 12284 composeDomainResourceElements(element); 12285 if (element.hasIdentifier()) { 12286 for (Identifier e : element.getIdentifier()) 12287 composeIdentifier("identifier", e); 12288 } 12289 if (element.hasStatusElement()) 12290 composeEnumeration("status", element.getStatusElement(), new Appointment.AppointmentStatusEnumFactory()); 12291 if (element.hasType()) { 12292 composeCodeableConcept("type", element.getType()); 12293 } 12294 if (element.hasReason()) { 12295 composeCodeableConcept("reason", element.getReason()); 12296 } 12297 if (element.hasPriorityElement()) { 12298 composeUnsignedInt("priority", element.getPriorityElement()); 12299 } 12300 if (element.hasDescriptionElement()) { 12301 composeString("description", element.getDescriptionElement()); 12302 } 12303 if (element.hasStartElement()) { 12304 composeInstant("start", element.getStartElement()); 12305 } 12306 if (element.hasEndElement()) { 12307 composeInstant("end", element.getEndElement()); 12308 } 12309 if (element.hasMinutesDurationElement()) { 12310 composePositiveInt("minutesDuration", element.getMinutesDurationElement()); 12311 } 12312 if (element.hasSlot()) { 12313 for (Reference e : element.getSlot()) 12314 composeReference("slot", e); 12315 } 12316 if (element.hasCommentElement()) { 12317 composeString("comment", element.getCommentElement()); 12318 } 12319 if (element.hasParticipant()) { 12320 for (Appointment.AppointmentParticipantComponent e : element.getParticipant()) 12321 composeAppointmentAppointmentParticipantComponent("participant", e); 12322 } 12323 composeElementClose(element); 12324 xml.exit(FHIR_NS, name); 12325 } 12326 } 12327 12328 protected void composeAppointmentAppointmentParticipantComponent(String name, Appointment.AppointmentParticipantComponent element) throws IOException { 12329 if (element != null) { 12330 composeElementAttributes(element); 12331 xml.enter(FHIR_NS, name); 12332 composeBackboneElements(element); 12333 if (element.hasType()) { 12334 for (CodeableConcept e : element.getType()) 12335 composeCodeableConcept("type", e); 12336 } 12337 if (element.hasActor()) { 12338 composeReference("actor", element.getActor()); 12339 } 12340 if (element.hasRequiredElement()) 12341 composeEnumeration("required", element.getRequiredElement(), new Appointment.ParticipantRequiredEnumFactory()); 12342 if (element.hasStatusElement()) 12343 composeEnumeration("status", element.getStatusElement(), new Appointment.ParticipationStatusEnumFactory()); 12344 composeElementClose(element); 12345 xml.exit(FHIR_NS, name); 12346 } 12347 } 12348 12349 protected void composeAppointmentResponse(String name, AppointmentResponse element) throws IOException { 12350 if (element != null) { 12351 composeDomainResourceAttributes(element); 12352 xml.enter(FHIR_NS, name); 12353 composeDomainResourceElements(element); 12354 if (element.hasIdentifier()) { 12355 for (Identifier e : element.getIdentifier()) 12356 composeIdentifier("identifier", e); 12357 } 12358 if (element.hasAppointment()) { 12359 composeReference("appointment", element.getAppointment()); 12360 } 12361 if (element.hasStartElement()) { 12362 composeInstant("start", element.getStartElement()); 12363 } 12364 if (element.hasEndElement()) { 12365 composeInstant("end", element.getEndElement()); 12366 } 12367 if (element.hasParticipantType()) { 12368 for (CodeableConcept e : element.getParticipantType()) 12369 composeCodeableConcept("participantType", e); 12370 } 12371 if (element.hasActor()) { 12372 composeReference("actor", element.getActor()); 12373 } 12374 if (element.hasParticipantStatusElement()) 12375 composeEnumeration("participantStatus", element.getParticipantStatusElement(), new AppointmentResponse.ParticipantStatusEnumFactory()); 12376 if (element.hasCommentElement()) { 12377 composeString("comment", element.getCommentElement()); 12378 } 12379 composeElementClose(element); 12380 xml.exit(FHIR_NS, name); 12381 } 12382 } 12383 12384 protected void composeAuditEvent(String name, AuditEvent element) throws IOException { 12385 if (element != null) { 12386 composeDomainResourceAttributes(element); 12387 xml.enter(FHIR_NS, name); 12388 composeDomainResourceElements(element); 12389 if (element.hasEvent()) { 12390 composeAuditEventAuditEventEventComponent("event", element.getEvent()); 12391 } 12392 if (element.hasParticipant()) { 12393 for (AuditEvent.AuditEventParticipantComponent e : element.getParticipant()) 12394 composeAuditEventAuditEventParticipantComponent("participant", e); 12395 } 12396 if (element.hasSource()) { 12397 composeAuditEventAuditEventSourceComponent("source", element.getSource()); 12398 } 12399 if (element.hasObject()) { 12400 for (AuditEvent.AuditEventObjectComponent e : element.getObject()) 12401 composeAuditEventAuditEventObjectComponent("object", e); 12402 } 12403 composeElementClose(element); 12404 xml.exit(FHIR_NS, name); 12405 } 12406 } 12407 12408 protected void composeAuditEventAuditEventEventComponent(String name, AuditEvent.AuditEventEventComponent element) throws IOException { 12409 if (element != null) { 12410 composeElementAttributes(element); 12411 xml.enter(FHIR_NS, name); 12412 composeBackboneElements(element); 12413 if (element.hasType()) { 12414 composeCoding("type", element.getType()); 12415 } 12416 if (element.hasSubtype()) { 12417 for (Coding e : element.getSubtype()) 12418 composeCoding("subtype", e); 12419 } 12420 if (element.hasActionElement()) 12421 composeEnumeration("action", element.getActionElement(), new AuditEvent.AuditEventActionEnumFactory()); 12422 if (element.hasDateTimeElement()) { 12423 composeInstant("dateTime", element.getDateTimeElement()); 12424 } 12425 if (element.hasOutcomeElement()) 12426 composeEnumeration("outcome", element.getOutcomeElement(), new AuditEvent.AuditEventOutcomeEnumFactory()); 12427 if (element.hasOutcomeDescElement()) { 12428 composeString("outcomeDesc", element.getOutcomeDescElement()); 12429 } 12430 if (element.hasPurposeOfEvent()) { 12431 for (Coding e : element.getPurposeOfEvent()) 12432 composeCoding("purposeOfEvent", e); 12433 } 12434 composeElementClose(element); 12435 xml.exit(FHIR_NS, name); 12436 } 12437 } 12438 12439 protected void composeAuditEventAuditEventParticipantComponent(String name, AuditEvent.AuditEventParticipantComponent element) throws IOException { 12440 if (element != null) { 12441 composeElementAttributes(element); 12442 xml.enter(FHIR_NS, name); 12443 composeBackboneElements(element); 12444 if (element.hasRole()) { 12445 for (CodeableConcept e : element.getRole()) 12446 composeCodeableConcept("role", e); 12447 } 12448 if (element.hasReference()) { 12449 composeReference("reference", element.getReference()); 12450 } 12451 if (element.hasUserId()) { 12452 composeIdentifier("userId", element.getUserId()); 12453 } 12454 if (element.hasAltIdElement()) { 12455 composeString("altId", element.getAltIdElement()); 12456 } 12457 if (element.hasNameElement()) { 12458 composeString("name", element.getNameElement()); 12459 } 12460 if (element.hasRequestorElement()) { 12461 composeBoolean("requestor", element.getRequestorElement()); 12462 } 12463 if (element.hasLocation()) { 12464 composeReference("location", element.getLocation()); 12465 } 12466 if (element.hasPolicy()) { 12467 for (UriType e : element.getPolicy()) 12468 composeUri("policy", e); 12469 } 12470 if (element.hasMedia()) { 12471 composeCoding("media", element.getMedia()); 12472 } 12473 if (element.hasNetwork()) { 12474 composeAuditEventAuditEventParticipantNetworkComponent("network", element.getNetwork()); 12475 } 12476 if (element.hasPurposeOfUse()) { 12477 for (Coding e : element.getPurposeOfUse()) 12478 composeCoding("purposeOfUse", e); 12479 } 12480 composeElementClose(element); 12481 xml.exit(FHIR_NS, name); 12482 } 12483 } 12484 12485 protected void composeAuditEventAuditEventParticipantNetworkComponent(String name, AuditEvent.AuditEventParticipantNetworkComponent element) throws IOException { 12486 if (element != null) { 12487 composeElementAttributes(element); 12488 xml.enter(FHIR_NS, name); 12489 composeBackboneElements(element); 12490 if (element.hasAddressElement()) { 12491 composeString("address", element.getAddressElement()); 12492 } 12493 if (element.hasTypeElement()) 12494 composeEnumeration("type", element.getTypeElement(), new AuditEvent.AuditEventParticipantNetworkTypeEnumFactory()); 12495 composeElementClose(element); 12496 xml.exit(FHIR_NS, name); 12497 } 12498 } 12499 12500 protected void composeAuditEventAuditEventSourceComponent(String name, AuditEvent.AuditEventSourceComponent element) throws IOException { 12501 if (element != null) { 12502 composeElementAttributes(element); 12503 xml.enter(FHIR_NS, name); 12504 composeBackboneElements(element); 12505 if (element.hasSiteElement()) { 12506 composeString("site", element.getSiteElement()); 12507 } 12508 if (element.hasIdentifier()) { 12509 composeIdentifier("identifier", element.getIdentifier()); 12510 } 12511 if (element.hasType()) { 12512 for (Coding e : element.getType()) 12513 composeCoding("type", e); 12514 } 12515 composeElementClose(element); 12516 xml.exit(FHIR_NS, name); 12517 } 12518 } 12519 12520 protected void composeAuditEventAuditEventObjectComponent(String name, AuditEvent.AuditEventObjectComponent element) throws IOException { 12521 if (element != null) { 12522 composeElementAttributes(element); 12523 xml.enter(FHIR_NS, name); 12524 composeBackboneElements(element); 12525 if (element.hasIdentifier()) { 12526 composeIdentifier("identifier", element.getIdentifier()); 12527 } 12528 if (element.hasReference()) { 12529 composeReference("reference", element.getReference()); 12530 } 12531 if (element.hasType()) { 12532 composeCoding("type", element.getType()); 12533 } 12534 if (element.hasRole()) { 12535 composeCoding("role", element.getRole()); 12536 } 12537 if (element.hasLifecycle()) { 12538 composeCoding("lifecycle", element.getLifecycle()); 12539 } 12540 if (element.hasSecurityLabel()) { 12541 for (Coding e : element.getSecurityLabel()) 12542 composeCoding("securityLabel", e); 12543 } 12544 if (element.hasNameElement()) { 12545 composeString("name", element.getNameElement()); 12546 } 12547 if (element.hasDescriptionElement()) { 12548 composeString("description", element.getDescriptionElement()); 12549 } 12550 if (element.hasQueryElement()) { 12551 composeBase64Binary("query", element.getQueryElement()); 12552 } 12553 if (element.hasDetail()) { 12554 for (AuditEvent.AuditEventObjectDetailComponent e : element.getDetail()) 12555 composeAuditEventAuditEventObjectDetailComponent("detail", e); 12556 } 12557 composeElementClose(element); 12558 xml.exit(FHIR_NS, name); 12559 } 12560 } 12561 12562 protected void composeAuditEventAuditEventObjectDetailComponent(String name, AuditEvent.AuditEventObjectDetailComponent element) throws IOException { 12563 if (element != null) { 12564 composeElementAttributes(element); 12565 xml.enter(FHIR_NS, name); 12566 composeBackboneElements(element); 12567 if (element.hasTypeElement()) { 12568 composeString("type", element.getTypeElement()); 12569 } 12570 if (element.hasValueElement()) { 12571 composeBase64Binary("value", element.getValueElement()); 12572 } 12573 composeElementClose(element); 12574 xml.exit(FHIR_NS, name); 12575 } 12576 } 12577 12578 protected void composeBasic(String name, Basic element) throws IOException { 12579 if (element != null) { 12580 composeDomainResourceAttributes(element); 12581 xml.enter(FHIR_NS, name); 12582 composeDomainResourceElements(element); 12583 if (element.hasIdentifier()) { 12584 for (Identifier e : element.getIdentifier()) 12585 composeIdentifier("identifier", e); 12586 } 12587 if (element.hasCode()) { 12588 composeCodeableConcept("code", element.getCode()); 12589 } 12590 if (element.hasSubject()) { 12591 composeReference("subject", element.getSubject()); 12592 } 12593 if (element.hasAuthor()) { 12594 composeReference("author", element.getAuthor()); 12595 } 12596 if (element.hasCreatedElement()) { 12597 composeDate("created", element.getCreatedElement()); 12598 } 12599 composeElementClose(element); 12600 xml.exit(FHIR_NS, name); 12601 } 12602 } 12603 12604 protected void composeBinary(String name, Binary element) throws IOException { 12605 if (element != null) { 12606 composeResourceAttributes(element); 12607 xml.enter(FHIR_NS, name); 12608 composeResourceElements(element); 12609 if (element.hasContentTypeElement()) { 12610 composeCode("contentType", element.getContentTypeElement()); 12611 } 12612 if (element.hasContentElement()) { 12613 composeBase64Binary("content", element.getContentElement()); 12614 } 12615 composeElementClose(element); 12616 xml.exit(FHIR_NS, name); 12617 } 12618 } 12619 12620 protected void composeBodySite(String name, BodySite element) throws IOException { 12621 if (element != null) { 12622 composeDomainResourceAttributes(element); 12623 xml.enter(FHIR_NS, name); 12624 composeDomainResourceElements(element); 12625 if (element.hasPatient()) { 12626 composeReference("patient", element.getPatient()); 12627 } 12628 if (element.hasIdentifier()) { 12629 for (Identifier e : element.getIdentifier()) 12630 composeIdentifier("identifier", e); 12631 } 12632 if (element.hasCode()) { 12633 composeCodeableConcept("code", element.getCode()); 12634 } 12635 if (element.hasModifier()) { 12636 for (CodeableConcept e : element.getModifier()) 12637 composeCodeableConcept("modifier", e); 12638 } 12639 if (element.hasDescriptionElement()) { 12640 composeString("description", element.getDescriptionElement()); 12641 } 12642 if (element.hasImage()) { 12643 for (Attachment e : element.getImage()) 12644 composeAttachment("image", e); 12645 } 12646 composeElementClose(element); 12647 xml.exit(FHIR_NS, name); 12648 } 12649 } 12650 12651 protected void composeBundle(String name, Bundle element) throws IOException { 12652 if (element != null) { 12653 composeResourceAttributes(element); 12654 xml.enter(FHIR_NS, name); 12655 composeResourceElements(element); 12656 if (element.hasTypeElement()) 12657 composeEnumeration("type", element.getTypeElement(), new Bundle.BundleTypeEnumFactory()); 12658 if (element.hasTotalElement()) { 12659 composeUnsignedInt("total", element.getTotalElement()); 12660 } 12661 if (element.hasLink()) { 12662 for (Bundle.BundleLinkComponent e : element.getLink()) 12663 composeBundleBundleLinkComponent("link", e); 12664 } 12665 if (element.hasEntry()) { 12666 for (Bundle.BundleEntryComponent e : element.getEntry()) 12667 composeBundleBundleEntryComponent("entry", e); 12668 } 12669 if (element.hasSignature()) { 12670 composeSignature("signature", element.getSignature()); 12671 } 12672 composeElementClose(element); 12673 xml.exit(FHIR_NS, name); 12674 } 12675 } 12676 12677 protected void composeBundleBundleLinkComponent(String name, Bundle.BundleLinkComponent element) throws IOException { 12678 if (element != null) { 12679 composeElementAttributes(element); 12680 xml.enter(FHIR_NS, name); 12681 composeBackboneElements(element); 12682 if (element.hasRelationElement()) { 12683 composeString("relation", element.getRelationElement()); 12684 } 12685 if (element.hasUrlElement()) { 12686 composeUri("url", element.getUrlElement()); 12687 } 12688 composeElementClose(element); 12689 xml.exit(FHIR_NS, name); 12690 } 12691 } 12692 12693 protected void composeBundleBundleEntryComponent(String name, Bundle.BundleEntryComponent element) throws IOException { 12694 if (element != null) { 12695 composeElementAttributes(element); 12696 xml.enter(FHIR_NS, name); 12697 composeBackboneElements(element); 12698 if (element.hasLink()) { 12699 for (Bundle.BundleLinkComponent e : element.getLink()) 12700 composeBundleBundleLinkComponent("link", e); 12701 } 12702 if (element.hasFullUrlElement()) { 12703 composeUri("fullUrl", element.getFullUrlElement()); 12704 } 12705 if (element.hasResource()) { 12706 xml.enter(FHIR_NS, "resource"); 12707 composeResource(element.getResource()); 12708 xml.exit(FHIR_NS, "resource"); 12709 } 12710 if (element.hasSearch()) { 12711 composeBundleBundleEntrySearchComponent("search", element.getSearch()); 12712 } 12713 if (element.hasRequest()) { 12714 composeBundleBundleEntryRequestComponent("request", element.getRequest()); 12715 } 12716 if (element.hasResponse()) { 12717 composeBundleBundleEntryResponseComponent("response", element.getResponse()); 12718 } 12719 composeElementClose(element); 12720 xml.exit(FHIR_NS, name); 12721 } 12722 } 12723 12724 protected void composeBundleBundleEntrySearchComponent(String name, Bundle.BundleEntrySearchComponent element) throws IOException { 12725 if (element != null) { 12726 composeElementAttributes(element); 12727 xml.enter(FHIR_NS, name); 12728 composeBackboneElements(element); 12729 if (element.hasModeElement()) 12730 composeEnumeration("mode", element.getModeElement(), new Bundle.SearchEntryModeEnumFactory()); 12731 if (element.hasScoreElement()) { 12732 composeDecimal("score", element.getScoreElement()); 12733 } 12734 composeElementClose(element); 12735 xml.exit(FHIR_NS, name); 12736 } 12737 } 12738 12739 protected void composeBundleBundleEntryRequestComponent(String name, Bundle.BundleEntryRequestComponent element) throws IOException { 12740 if (element != null) { 12741 composeElementAttributes(element); 12742 xml.enter(FHIR_NS, name); 12743 composeBackboneElements(element); 12744 if (element.hasMethodElement()) 12745 composeEnumeration("method", element.getMethodElement(), new Bundle.HTTPVerbEnumFactory()); 12746 if (element.hasUrlElement()) { 12747 composeUri("url", element.getUrlElement()); 12748 } 12749 if (element.hasIfNoneMatchElement()) { 12750 composeString("ifNoneMatch", element.getIfNoneMatchElement()); 12751 } 12752 if (element.hasIfModifiedSinceElement()) { 12753 composeInstant("ifModifiedSince", element.getIfModifiedSinceElement()); 12754 } 12755 if (element.hasIfMatchElement()) { 12756 composeString("ifMatch", element.getIfMatchElement()); 12757 } 12758 if (element.hasIfNoneExistElement()) { 12759 composeString("ifNoneExist", element.getIfNoneExistElement()); 12760 } 12761 composeElementClose(element); 12762 xml.exit(FHIR_NS, name); 12763 } 12764 } 12765 12766 protected void composeBundleBundleEntryResponseComponent(String name, Bundle.BundleEntryResponseComponent element) throws IOException { 12767 if (element != null) { 12768 composeElementAttributes(element); 12769 xml.enter(FHIR_NS, name); 12770 composeBackboneElements(element); 12771 if (element.hasStatusElement()) { 12772 composeString("status", element.getStatusElement()); 12773 } 12774 if (element.hasLocationElement()) { 12775 composeUri("location", element.getLocationElement()); 12776 } 12777 if (element.hasEtagElement()) { 12778 composeString("etag", element.getEtagElement()); 12779 } 12780 if (element.hasLastModifiedElement()) { 12781 composeInstant("lastModified", element.getLastModifiedElement()); 12782 } 12783 composeElementClose(element); 12784 xml.exit(FHIR_NS, name); 12785 } 12786 } 12787 12788 protected void composeCarePlan(String name, CarePlan element) throws IOException { 12789 if (element != null) { 12790 composeDomainResourceAttributes(element); 12791 xml.enter(FHIR_NS, name); 12792 composeDomainResourceElements(element); 12793 if (element.hasIdentifier()) { 12794 for (Identifier e : element.getIdentifier()) 12795 composeIdentifier("identifier", e); 12796 } 12797 if (element.hasSubject()) { 12798 composeReference("subject", element.getSubject()); 12799 } 12800 if (element.hasStatusElement()) 12801 composeEnumeration("status", element.getStatusElement(), new CarePlan.CarePlanStatusEnumFactory()); 12802 if (element.hasContext()) { 12803 composeReference("context", element.getContext()); 12804 } 12805 if (element.hasPeriod()) { 12806 composePeriod("period", element.getPeriod()); 12807 } 12808 if (element.hasAuthor()) { 12809 for (Reference e : element.getAuthor()) 12810 composeReference("author", e); 12811 } 12812 if (element.hasModifiedElement()) { 12813 composeDateTime("modified", element.getModifiedElement()); 12814 } 12815 if (element.hasCategory()) { 12816 for (CodeableConcept e : element.getCategory()) 12817 composeCodeableConcept("category", e); 12818 } 12819 if (element.hasDescriptionElement()) { 12820 composeString("description", element.getDescriptionElement()); 12821 } 12822 if (element.hasAddresses()) { 12823 for (Reference e : element.getAddresses()) 12824 composeReference("addresses", e); 12825 } 12826 if (element.hasSupport()) { 12827 for (Reference e : element.getSupport()) 12828 composeReference("support", e); 12829 } 12830 if (element.hasRelatedPlan()) { 12831 for (CarePlan.CarePlanRelatedPlanComponent e : element.getRelatedPlan()) 12832 composeCarePlanCarePlanRelatedPlanComponent("relatedPlan", e); 12833 } 12834 if (element.hasParticipant()) { 12835 for (CarePlan.CarePlanParticipantComponent e : element.getParticipant()) 12836 composeCarePlanCarePlanParticipantComponent("participant", e); 12837 } 12838 if (element.hasGoal()) { 12839 for (Reference e : element.getGoal()) 12840 composeReference("goal", e); 12841 } 12842 if (element.hasActivity()) { 12843 for (CarePlan.CarePlanActivityComponent e : element.getActivity()) 12844 composeCarePlanCarePlanActivityComponent("activity", e); 12845 } 12846 if (element.hasNote()) { 12847 composeAnnotation("note", element.getNote()); 12848 } 12849 composeElementClose(element); 12850 xml.exit(FHIR_NS, name); 12851 } 12852 } 12853 12854 protected void composeCarePlanCarePlanRelatedPlanComponent(String name, CarePlan.CarePlanRelatedPlanComponent element) throws IOException { 12855 if (element != null) { 12856 composeElementAttributes(element); 12857 xml.enter(FHIR_NS, name); 12858 composeBackboneElements(element); 12859 if (element.hasCodeElement()) 12860 composeEnumeration("code", element.getCodeElement(), new CarePlan.CarePlanRelationshipEnumFactory()); 12861 if (element.hasPlan()) { 12862 composeReference("plan", element.getPlan()); 12863 } 12864 composeElementClose(element); 12865 xml.exit(FHIR_NS, name); 12866 } 12867 } 12868 12869 protected void composeCarePlanCarePlanParticipantComponent(String name, CarePlan.CarePlanParticipantComponent element) throws IOException { 12870 if (element != null) { 12871 composeElementAttributes(element); 12872 xml.enter(FHIR_NS, name); 12873 composeBackboneElements(element); 12874 if (element.hasRole()) { 12875 composeCodeableConcept("role", element.getRole()); 12876 } 12877 if (element.hasMember()) { 12878 composeReference("member", element.getMember()); 12879 } 12880 composeElementClose(element); 12881 xml.exit(FHIR_NS, name); 12882 } 12883 } 12884 12885 protected void composeCarePlanCarePlanActivityComponent(String name, CarePlan.CarePlanActivityComponent element) throws IOException { 12886 if (element != null) { 12887 composeElementAttributes(element); 12888 xml.enter(FHIR_NS, name); 12889 composeBackboneElements(element); 12890 if (element.hasActionResulting()) { 12891 for (Reference e : element.getActionResulting()) 12892 composeReference("actionResulting", e); 12893 } 12894 if (element.hasProgress()) { 12895 for (Annotation e : element.getProgress()) 12896 composeAnnotation("progress", e); 12897 } 12898 if (element.hasReference()) { 12899 composeReference("reference", element.getReference()); 12900 } 12901 if (element.hasDetail()) { 12902 composeCarePlanCarePlanActivityDetailComponent("detail", element.getDetail()); 12903 } 12904 composeElementClose(element); 12905 xml.exit(FHIR_NS, name); 12906 } 12907 } 12908 12909 protected void composeCarePlanCarePlanActivityDetailComponent(String name, CarePlan.CarePlanActivityDetailComponent element) throws IOException { 12910 if (element != null) { 12911 composeElementAttributes(element); 12912 xml.enter(FHIR_NS, name); 12913 composeBackboneElements(element); 12914 if (element.hasCategory()) { 12915 composeCodeableConcept("category", element.getCategory()); 12916 } 12917 if (element.hasCode()) { 12918 composeCodeableConcept("code", element.getCode()); 12919 } 12920 if (element.hasReasonCode()) { 12921 for (CodeableConcept e : element.getReasonCode()) 12922 composeCodeableConcept("reasonCode", e); 12923 } 12924 if (element.hasReasonReference()) { 12925 for (Reference e : element.getReasonReference()) 12926 composeReference("reasonReference", e); 12927 } 12928 if (element.hasGoal()) { 12929 for (Reference e : element.getGoal()) 12930 composeReference("goal", e); 12931 } 12932 if (element.hasStatusElement()) 12933 composeEnumeration("status", element.getStatusElement(), new CarePlan.CarePlanActivityStatusEnumFactory()); 12934 if (element.hasStatusReason()) { 12935 composeCodeableConcept("statusReason", element.getStatusReason()); 12936 } 12937 if (element.hasProhibitedElement()) { 12938 composeBoolean("prohibited", element.getProhibitedElement()); 12939 } 12940 if (element.hasScheduled()) { 12941 composeType("scheduled", element.getScheduled()); 12942 } if (element.hasLocation()) { 12943 composeReference("location", element.getLocation()); 12944 } 12945 if (element.hasPerformer()) { 12946 for (Reference e : element.getPerformer()) 12947 composeReference("performer", e); 12948 } 12949 if (element.hasProduct()) { 12950 composeType("product", element.getProduct()); 12951 } if (element.hasDailyAmount()) { 12952 composeSimpleQuantity("dailyAmount", element.getDailyAmount()); 12953 } 12954 if (element.hasQuantity()) { 12955 composeSimpleQuantity("quantity", element.getQuantity()); 12956 } 12957 if (element.hasDescriptionElement()) { 12958 composeString("description", element.getDescriptionElement()); 12959 } 12960 composeElementClose(element); 12961 xml.exit(FHIR_NS, name); 12962 } 12963 } 12964 12965 protected void composeClaim(String name, Claim element) throws IOException { 12966 if (element != null) { 12967 composeDomainResourceAttributes(element); 12968 xml.enter(FHIR_NS, name); 12969 composeDomainResourceElements(element); 12970 if (element.hasTypeElement()) 12971 composeEnumeration("type", element.getTypeElement(), new Claim.ClaimTypeEnumFactory()); 12972 if (element.hasIdentifier()) { 12973 for (Identifier e : element.getIdentifier()) 12974 composeIdentifier("identifier", e); 12975 } 12976 if (element.hasRuleset()) { 12977 composeCoding("ruleset", element.getRuleset()); 12978 } 12979 if (element.hasOriginalRuleset()) { 12980 composeCoding("originalRuleset", element.getOriginalRuleset()); 12981 } 12982 if (element.hasCreatedElement()) { 12983 composeDateTime("created", element.getCreatedElement()); 12984 } 12985 if (element.hasTarget()) { 12986 composeReference("target", element.getTarget()); 12987 } 12988 if (element.hasProvider()) { 12989 composeReference("provider", element.getProvider()); 12990 } 12991 if (element.hasOrganization()) { 12992 composeReference("organization", element.getOrganization()); 12993 } 12994 if (element.hasUseElement()) 12995 composeEnumeration("use", element.getUseElement(), new Claim.UseEnumFactory()); 12996 if (element.hasPriority()) { 12997 composeCoding("priority", element.getPriority()); 12998 } 12999 if (element.hasFundsReserve()) { 13000 composeCoding("fundsReserve", element.getFundsReserve()); 13001 } 13002 if (element.hasEnterer()) { 13003 composeReference("enterer", element.getEnterer()); 13004 } 13005 if (element.hasFacility()) { 13006 composeReference("facility", element.getFacility()); 13007 } 13008 if (element.hasPrescription()) { 13009 composeReference("prescription", element.getPrescription()); 13010 } 13011 if (element.hasOriginalPrescription()) { 13012 composeReference("originalPrescription", element.getOriginalPrescription()); 13013 } 13014 if (element.hasPayee()) { 13015 composeClaimPayeeComponent("payee", element.getPayee()); 13016 } 13017 if (element.hasReferral()) { 13018 composeReference("referral", element.getReferral()); 13019 } 13020 if (element.hasDiagnosis()) { 13021 for (Claim.DiagnosisComponent e : element.getDiagnosis()) 13022 composeClaimDiagnosisComponent("diagnosis", e); 13023 } 13024 if (element.hasCondition()) { 13025 for (Coding e : element.getCondition()) 13026 composeCoding("condition", e); 13027 } 13028 if (element.hasPatient()) { 13029 composeReference("patient", element.getPatient()); 13030 } 13031 if (element.hasCoverage()) { 13032 for (Claim.CoverageComponent e : element.getCoverage()) 13033 composeClaimCoverageComponent("coverage", e); 13034 } 13035 if (element.hasException()) { 13036 for (Coding e : element.getException()) 13037 composeCoding("exception", e); 13038 } 13039 if (element.hasSchoolElement()) { 13040 composeString("school", element.getSchoolElement()); 13041 } 13042 if (element.hasAccidentElement()) { 13043 composeDate("accident", element.getAccidentElement()); 13044 } 13045 if (element.hasAccidentType()) { 13046 composeCoding("accidentType", element.getAccidentType()); 13047 } 13048 if (element.hasInterventionException()) { 13049 for (Coding e : element.getInterventionException()) 13050 composeCoding("interventionException", e); 13051 } 13052 if (element.hasItem()) { 13053 for (Claim.ItemsComponent e : element.getItem()) 13054 composeClaimItemsComponent("item", e); 13055 } 13056 if (element.hasAdditionalMaterials()) { 13057 for (Coding e : element.getAdditionalMaterials()) 13058 composeCoding("additionalMaterials", e); 13059 } 13060 if (element.hasMissingTeeth()) { 13061 for (Claim.MissingTeethComponent e : element.getMissingTeeth()) 13062 composeClaimMissingTeethComponent("missingTeeth", e); 13063 } 13064 composeElementClose(element); 13065 xml.exit(FHIR_NS, name); 13066 } 13067 } 13068 13069 protected void composeClaimPayeeComponent(String name, Claim.PayeeComponent element) throws IOException { 13070 if (element != null) { 13071 composeElementAttributes(element); 13072 xml.enter(FHIR_NS, name); 13073 composeBackboneElements(element); 13074 if (element.hasType()) { 13075 composeCoding("type", element.getType()); 13076 } 13077 if (element.hasProvider()) { 13078 composeReference("provider", element.getProvider()); 13079 } 13080 if (element.hasOrganization()) { 13081 composeReference("organization", element.getOrganization()); 13082 } 13083 if (element.hasPerson()) { 13084 composeReference("person", element.getPerson()); 13085 } 13086 composeElementClose(element); 13087 xml.exit(FHIR_NS, name); 13088 } 13089 } 13090 13091 protected void composeClaimDiagnosisComponent(String name, Claim.DiagnosisComponent element) throws IOException { 13092 if (element != null) { 13093 composeElementAttributes(element); 13094 xml.enter(FHIR_NS, name); 13095 composeBackboneElements(element); 13096 if (element.hasSequenceElement()) { 13097 composePositiveInt("sequence", element.getSequenceElement()); 13098 } 13099 if (element.hasDiagnosis()) { 13100 composeCoding("diagnosis", element.getDiagnosis()); 13101 } 13102 composeElementClose(element); 13103 xml.exit(FHIR_NS, name); 13104 } 13105 } 13106 13107 protected void composeClaimCoverageComponent(String name, Claim.CoverageComponent element) throws IOException { 13108 if (element != null) { 13109 composeElementAttributes(element); 13110 xml.enter(FHIR_NS, name); 13111 composeBackboneElements(element); 13112 if (element.hasSequenceElement()) { 13113 composePositiveInt("sequence", element.getSequenceElement()); 13114 } 13115 if (element.hasFocalElement()) { 13116 composeBoolean("focal", element.getFocalElement()); 13117 } 13118 if (element.hasCoverage()) { 13119 composeReference("coverage", element.getCoverage()); 13120 } 13121 if (element.hasBusinessArrangementElement()) { 13122 composeString("businessArrangement", element.getBusinessArrangementElement()); 13123 } 13124 if (element.hasRelationship()) { 13125 composeCoding("relationship", element.getRelationship()); 13126 } 13127 if (element.hasPreAuthRef()) { 13128 for (StringType e : element.getPreAuthRef()) 13129 composeString("preAuthRef", e); 13130 } 13131 if (element.hasClaimResponse()) { 13132 composeReference("claimResponse", element.getClaimResponse()); 13133 } 13134 if (element.hasOriginalRuleset()) { 13135 composeCoding("originalRuleset", element.getOriginalRuleset()); 13136 } 13137 composeElementClose(element); 13138 xml.exit(FHIR_NS, name); 13139 } 13140 } 13141 13142 protected void composeClaimItemsComponent(String name, Claim.ItemsComponent element) throws IOException { 13143 if (element != null) { 13144 composeElementAttributes(element); 13145 xml.enter(FHIR_NS, name); 13146 composeBackboneElements(element); 13147 if (element.hasSequenceElement()) { 13148 composePositiveInt("sequence", element.getSequenceElement()); 13149 } 13150 if (element.hasType()) { 13151 composeCoding("type", element.getType()); 13152 } 13153 if (element.hasProvider()) { 13154 composeReference("provider", element.getProvider()); 13155 } 13156 if (element.hasDiagnosisLinkId()) { 13157 for (PositiveIntType e : element.getDiagnosisLinkId()) 13158 composePositiveInt("diagnosisLinkId", e); 13159 } 13160 if (element.hasService()) { 13161 composeCoding("service", element.getService()); 13162 } 13163 if (element.hasServiceDateElement()) { 13164 composeDate("serviceDate", element.getServiceDateElement()); 13165 } 13166 if (element.hasQuantity()) { 13167 composeSimpleQuantity("quantity", element.getQuantity()); 13168 } 13169 if (element.hasUnitPrice()) { 13170 composeMoney("unitPrice", element.getUnitPrice()); 13171 } 13172 if (element.hasFactorElement()) { 13173 composeDecimal("factor", element.getFactorElement()); 13174 } 13175 if (element.hasPointsElement()) { 13176 composeDecimal("points", element.getPointsElement()); 13177 } 13178 if (element.hasNet()) { 13179 composeMoney("net", element.getNet()); 13180 } 13181 if (element.hasUdi()) { 13182 composeCoding("udi", element.getUdi()); 13183 } 13184 if (element.hasBodySite()) { 13185 composeCoding("bodySite", element.getBodySite()); 13186 } 13187 if (element.hasSubSite()) { 13188 for (Coding e : element.getSubSite()) 13189 composeCoding("subSite", e); 13190 } 13191 if (element.hasModifier()) { 13192 for (Coding e : element.getModifier()) 13193 composeCoding("modifier", e); 13194 } 13195 if (element.hasDetail()) { 13196 for (Claim.DetailComponent e : element.getDetail()) 13197 composeClaimDetailComponent("detail", e); 13198 } 13199 if (element.hasProsthesis()) { 13200 composeClaimProsthesisComponent("prosthesis", element.getProsthesis()); 13201 } 13202 composeElementClose(element); 13203 xml.exit(FHIR_NS, name); 13204 } 13205 } 13206 13207 protected void composeClaimDetailComponent(String name, Claim.DetailComponent element) throws IOException { 13208 if (element != null) { 13209 composeElementAttributes(element); 13210 xml.enter(FHIR_NS, name); 13211 composeBackboneElements(element); 13212 if (element.hasSequenceElement()) { 13213 composePositiveInt("sequence", element.getSequenceElement()); 13214 } 13215 if (element.hasType()) { 13216 composeCoding("type", element.getType()); 13217 } 13218 if (element.hasService()) { 13219 composeCoding("service", element.getService()); 13220 } 13221 if (element.hasQuantity()) { 13222 composeSimpleQuantity("quantity", element.getQuantity()); 13223 } 13224 if (element.hasUnitPrice()) { 13225 composeMoney("unitPrice", element.getUnitPrice()); 13226 } 13227 if (element.hasFactorElement()) { 13228 composeDecimal("factor", element.getFactorElement()); 13229 } 13230 if (element.hasPointsElement()) { 13231 composeDecimal("points", element.getPointsElement()); 13232 } 13233 if (element.hasNet()) { 13234 composeMoney("net", element.getNet()); 13235 } 13236 if (element.hasUdi()) { 13237 composeCoding("udi", element.getUdi()); 13238 } 13239 if (element.hasSubDetail()) { 13240 for (Claim.SubDetailComponent e : element.getSubDetail()) 13241 composeClaimSubDetailComponent("subDetail", e); 13242 } 13243 composeElementClose(element); 13244 xml.exit(FHIR_NS, name); 13245 } 13246 } 13247 13248 protected void composeClaimSubDetailComponent(String name, Claim.SubDetailComponent element) throws IOException { 13249 if (element != null) { 13250 composeElementAttributes(element); 13251 xml.enter(FHIR_NS, name); 13252 composeBackboneElements(element); 13253 if (element.hasSequenceElement()) { 13254 composePositiveInt("sequence", element.getSequenceElement()); 13255 } 13256 if (element.hasType()) { 13257 composeCoding("type", element.getType()); 13258 } 13259 if (element.hasService()) { 13260 composeCoding("service", element.getService()); 13261 } 13262 if (element.hasQuantity()) { 13263 composeSimpleQuantity("quantity", element.getQuantity()); 13264 } 13265 if (element.hasUnitPrice()) { 13266 composeMoney("unitPrice", element.getUnitPrice()); 13267 } 13268 if (element.hasFactorElement()) { 13269 composeDecimal("factor", element.getFactorElement()); 13270 } 13271 if (element.hasPointsElement()) { 13272 composeDecimal("points", element.getPointsElement()); 13273 } 13274 if (element.hasNet()) { 13275 composeMoney("net", element.getNet()); 13276 } 13277 if (element.hasUdi()) { 13278 composeCoding("udi", element.getUdi()); 13279 } 13280 composeElementClose(element); 13281 xml.exit(FHIR_NS, name); 13282 } 13283 } 13284 13285 protected void composeClaimProsthesisComponent(String name, Claim.ProsthesisComponent element) throws IOException { 13286 if (element != null) { 13287 composeElementAttributes(element); 13288 xml.enter(FHIR_NS, name); 13289 composeBackboneElements(element); 13290 if (element.hasInitialElement()) { 13291 composeBoolean("initial", element.getInitialElement()); 13292 } 13293 if (element.hasPriorDateElement()) { 13294 composeDate("priorDate", element.getPriorDateElement()); 13295 } 13296 if (element.hasPriorMaterial()) { 13297 composeCoding("priorMaterial", element.getPriorMaterial()); 13298 } 13299 composeElementClose(element); 13300 xml.exit(FHIR_NS, name); 13301 } 13302 } 13303 13304 protected void composeClaimMissingTeethComponent(String name, Claim.MissingTeethComponent element) throws IOException { 13305 if (element != null) { 13306 composeElementAttributes(element); 13307 xml.enter(FHIR_NS, name); 13308 composeBackboneElements(element); 13309 if (element.hasTooth()) { 13310 composeCoding("tooth", element.getTooth()); 13311 } 13312 if (element.hasReason()) { 13313 composeCoding("reason", element.getReason()); 13314 } 13315 if (element.hasExtractionDateElement()) { 13316 composeDate("extractionDate", element.getExtractionDateElement()); 13317 } 13318 composeElementClose(element); 13319 xml.exit(FHIR_NS, name); 13320 } 13321 } 13322 13323 protected void composeClaimResponse(String name, ClaimResponse element) throws IOException { 13324 if (element != null) { 13325 composeDomainResourceAttributes(element); 13326 xml.enter(FHIR_NS, name); 13327 composeDomainResourceElements(element); 13328 if (element.hasIdentifier()) { 13329 for (Identifier e : element.getIdentifier()) 13330 composeIdentifier("identifier", e); 13331 } 13332 if (element.hasRequest()) { 13333 composeReference("request", element.getRequest()); 13334 } 13335 if (element.hasRuleset()) { 13336 composeCoding("ruleset", element.getRuleset()); 13337 } 13338 if (element.hasOriginalRuleset()) { 13339 composeCoding("originalRuleset", element.getOriginalRuleset()); 13340 } 13341 if (element.hasCreatedElement()) { 13342 composeDateTime("created", element.getCreatedElement()); 13343 } 13344 if (element.hasOrganization()) { 13345 composeReference("organization", element.getOrganization()); 13346 } 13347 if (element.hasRequestProvider()) { 13348 composeReference("requestProvider", element.getRequestProvider()); 13349 } 13350 if (element.hasRequestOrganization()) { 13351 composeReference("requestOrganization", element.getRequestOrganization()); 13352 } 13353 if (element.hasOutcomeElement()) 13354 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 13355 if (element.hasDispositionElement()) { 13356 composeString("disposition", element.getDispositionElement()); 13357 } 13358 if (element.hasPayeeType()) { 13359 composeCoding("payeeType", element.getPayeeType()); 13360 } 13361 if (element.hasItem()) { 13362 for (ClaimResponse.ItemsComponent e : element.getItem()) 13363 composeClaimResponseItemsComponent("item", e); 13364 } 13365 if (element.hasAddItem()) { 13366 for (ClaimResponse.AddedItemComponent e : element.getAddItem()) 13367 composeClaimResponseAddedItemComponent("addItem", e); 13368 } 13369 if (element.hasError()) { 13370 for (ClaimResponse.ErrorsComponent e : element.getError()) 13371 composeClaimResponseErrorsComponent("error", e); 13372 } 13373 if (element.hasTotalCost()) { 13374 composeMoney("totalCost", element.getTotalCost()); 13375 } 13376 if (element.hasUnallocDeductable()) { 13377 composeMoney("unallocDeductable", element.getUnallocDeductable()); 13378 } 13379 if (element.hasTotalBenefit()) { 13380 composeMoney("totalBenefit", element.getTotalBenefit()); 13381 } 13382 if (element.hasPaymentAdjustment()) { 13383 composeMoney("paymentAdjustment", element.getPaymentAdjustment()); 13384 } 13385 if (element.hasPaymentAdjustmentReason()) { 13386 composeCoding("paymentAdjustmentReason", element.getPaymentAdjustmentReason()); 13387 } 13388 if (element.hasPaymentDateElement()) { 13389 composeDate("paymentDate", element.getPaymentDateElement()); 13390 } 13391 if (element.hasPaymentAmount()) { 13392 composeMoney("paymentAmount", element.getPaymentAmount()); 13393 } 13394 if (element.hasPaymentRef()) { 13395 composeIdentifier("paymentRef", element.getPaymentRef()); 13396 } 13397 if (element.hasReserved()) { 13398 composeCoding("reserved", element.getReserved()); 13399 } 13400 if (element.hasForm()) { 13401 composeCoding("form", element.getForm()); 13402 } 13403 if (element.hasNote()) { 13404 for (ClaimResponse.NotesComponent e : element.getNote()) 13405 composeClaimResponseNotesComponent("note", e); 13406 } 13407 if (element.hasCoverage()) { 13408 for (ClaimResponse.CoverageComponent e : element.getCoverage()) 13409 composeClaimResponseCoverageComponent("coverage", e); 13410 } 13411 composeElementClose(element); 13412 xml.exit(FHIR_NS, name); 13413 } 13414 } 13415 13416 protected void composeClaimResponseItemsComponent(String name, ClaimResponse.ItemsComponent element) throws IOException { 13417 if (element != null) { 13418 composeElementAttributes(element); 13419 xml.enter(FHIR_NS, name); 13420 composeBackboneElements(element); 13421 if (element.hasSequenceLinkIdElement()) { 13422 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 13423 } 13424 if (element.hasNoteNumber()) { 13425 for (PositiveIntType e : element.getNoteNumber()) 13426 composePositiveInt("noteNumber", e); 13427 } 13428 if (element.hasAdjudication()) { 13429 for (ClaimResponse.ItemAdjudicationComponent e : element.getAdjudication()) 13430 composeClaimResponseItemAdjudicationComponent("adjudication", e); 13431 } 13432 if (element.hasDetail()) { 13433 for (ClaimResponse.ItemDetailComponent e : element.getDetail()) 13434 composeClaimResponseItemDetailComponent("detail", e); 13435 } 13436 composeElementClose(element); 13437 xml.exit(FHIR_NS, name); 13438 } 13439 } 13440 13441 protected void composeClaimResponseItemAdjudicationComponent(String name, ClaimResponse.ItemAdjudicationComponent element) throws IOException { 13442 if (element != null) { 13443 composeElementAttributes(element); 13444 xml.enter(FHIR_NS, name); 13445 composeBackboneElements(element); 13446 if (element.hasCode()) { 13447 composeCoding("code", element.getCode()); 13448 } 13449 if (element.hasAmount()) { 13450 composeMoney("amount", element.getAmount()); 13451 } 13452 if (element.hasValueElement()) { 13453 composeDecimal("value", element.getValueElement()); 13454 } 13455 composeElementClose(element); 13456 xml.exit(FHIR_NS, name); 13457 } 13458 } 13459 13460 protected void composeClaimResponseItemDetailComponent(String name, ClaimResponse.ItemDetailComponent element) throws IOException { 13461 if (element != null) { 13462 composeElementAttributes(element); 13463 xml.enter(FHIR_NS, name); 13464 composeBackboneElements(element); 13465 if (element.hasSequenceLinkIdElement()) { 13466 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 13467 } 13468 if (element.hasAdjudication()) { 13469 for (ClaimResponse.DetailAdjudicationComponent e : element.getAdjudication()) 13470 composeClaimResponseDetailAdjudicationComponent("adjudication", e); 13471 } 13472 if (element.hasSubDetail()) { 13473 for (ClaimResponse.SubDetailComponent e : element.getSubDetail()) 13474 composeClaimResponseSubDetailComponent("subDetail", e); 13475 } 13476 composeElementClose(element); 13477 xml.exit(FHIR_NS, name); 13478 } 13479 } 13480 13481 protected void composeClaimResponseDetailAdjudicationComponent(String name, ClaimResponse.DetailAdjudicationComponent element) throws IOException { 13482 if (element != null) { 13483 composeElementAttributes(element); 13484 xml.enter(FHIR_NS, name); 13485 composeBackboneElements(element); 13486 if (element.hasCode()) { 13487 composeCoding("code", element.getCode()); 13488 } 13489 if (element.hasAmount()) { 13490 composeMoney("amount", element.getAmount()); 13491 } 13492 if (element.hasValueElement()) { 13493 composeDecimal("value", element.getValueElement()); 13494 } 13495 composeElementClose(element); 13496 xml.exit(FHIR_NS, name); 13497 } 13498 } 13499 13500 protected void composeClaimResponseSubDetailComponent(String name, ClaimResponse.SubDetailComponent element) throws IOException { 13501 if (element != null) { 13502 composeElementAttributes(element); 13503 xml.enter(FHIR_NS, name); 13504 composeBackboneElements(element); 13505 if (element.hasSequenceLinkIdElement()) { 13506 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 13507 } 13508 if (element.hasAdjudication()) { 13509 for (ClaimResponse.SubdetailAdjudicationComponent e : element.getAdjudication()) 13510 composeClaimResponseSubdetailAdjudicationComponent("adjudication", e); 13511 } 13512 composeElementClose(element); 13513 xml.exit(FHIR_NS, name); 13514 } 13515 } 13516 13517 protected void composeClaimResponseSubdetailAdjudicationComponent(String name, ClaimResponse.SubdetailAdjudicationComponent element) throws IOException { 13518 if (element != null) { 13519 composeElementAttributes(element); 13520 xml.enter(FHIR_NS, name); 13521 composeBackboneElements(element); 13522 if (element.hasCode()) { 13523 composeCoding("code", element.getCode()); 13524 } 13525 if (element.hasAmount()) { 13526 composeMoney("amount", element.getAmount()); 13527 } 13528 if (element.hasValueElement()) { 13529 composeDecimal("value", element.getValueElement()); 13530 } 13531 composeElementClose(element); 13532 xml.exit(FHIR_NS, name); 13533 } 13534 } 13535 13536 protected void composeClaimResponseAddedItemComponent(String name, ClaimResponse.AddedItemComponent element) throws IOException { 13537 if (element != null) { 13538 composeElementAttributes(element); 13539 xml.enter(FHIR_NS, name); 13540 composeBackboneElements(element); 13541 if (element.hasSequenceLinkId()) { 13542 for (PositiveIntType e : element.getSequenceLinkId()) 13543 composePositiveInt("sequenceLinkId", e); 13544 } 13545 if (element.hasService()) { 13546 composeCoding("service", element.getService()); 13547 } 13548 if (element.hasFee()) { 13549 composeMoney("fee", element.getFee()); 13550 } 13551 if (element.hasNoteNumberLinkId()) { 13552 for (PositiveIntType e : element.getNoteNumberLinkId()) 13553 composePositiveInt("noteNumberLinkId", e); 13554 } 13555 if (element.hasAdjudication()) { 13556 for (ClaimResponse.AddedItemAdjudicationComponent e : element.getAdjudication()) 13557 composeClaimResponseAddedItemAdjudicationComponent("adjudication", e); 13558 } 13559 if (element.hasDetail()) { 13560 for (ClaimResponse.AddedItemsDetailComponent e : element.getDetail()) 13561 composeClaimResponseAddedItemsDetailComponent("detail", e); 13562 } 13563 composeElementClose(element); 13564 xml.exit(FHIR_NS, name); 13565 } 13566 } 13567 13568 protected void composeClaimResponseAddedItemAdjudicationComponent(String name, ClaimResponse.AddedItemAdjudicationComponent element) throws IOException { 13569 if (element != null) { 13570 composeElementAttributes(element); 13571 xml.enter(FHIR_NS, name); 13572 composeBackboneElements(element); 13573 if (element.hasCode()) { 13574 composeCoding("code", element.getCode()); 13575 } 13576 if (element.hasAmount()) { 13577 composeMoney("amount", element.getAmount()); 13578 } 13579 if (element.hasValueElement()) { 13580 composeDecimal("value", element.getValueElement()); 13581 } 13582 composeElementClose(element); 13583 xml.exit(FHIR_NS, name); 13584 } 13585 } 13586 13587 protected void composeClaimResponseAddedItemsDetailComponent(String name, ClaimResponse.AddedItemsDetailComponent element) throws IOException { 13588 if (element != null) { 13589 composeElementAttributes(element); 13590 xml.enter(FHIR_NS, name); 13591 composeBackboneElements(element); 13592 if (element.hasService()) { 13593 composeCoding("service", element.getService()); 13594 } 13595 if (element.hasFee()) { 13596 composeMoney("fee", element.getFee()); 13597 } 13598 if (element.hasAdjudication()) { 13599 for (ClaimResponse.AddedItemDetailAdjudicationComponent e : element.getAdjudication()) 13600 composeClaimResponseAddedItemDetailAdjudicationComponent("adjudication", e); 13601 } 13602 composeElementClose(element); 13603 xml.exit(FHIR_NS, name); 13604 } 13605 } 13606 13607 protected void composeClaimResponseAddedItemDetailAdjudicationComponent(String name, ClaimResponse.AddedItemDetailAdjudicationComponent element) throws IOException { 13608 if (element != null) { 13609 composeElementAttributes(element); 13610 xml.enter(FHIR_NS, name); 13611 composeBackboneElements(element); 13612 if (element.hasCode()) { 13613 composeCoding("code", element.getCode()); 13614 } 13615 if (element.hasAmount()) { 13616 composeMoney("amount", element.getAmount()); 13617 } 13618 if (element.hasValueElement()) { 13619 composeDecimal("value", element.getValueElement()); 13620 } 13621 composeElementClose(element); 13622 xml.exit(FHIR_NS, name); 13623 } 13624 } 13625 13626 protected void composeClaimResponseErrorsComponent(String name, ClaimResponse.ErrorsComponent element) throws IOException { 13627 if (element != null) { 13628 composeElementAttributes(element); 13629 xml.enter(FHIR_NS, name); 13630 composeBackboneElements(element); 13631 if (element.hasSequenceLinkIdElement()) { 13632 composePositiveInt("sequenceLinkId", element.getSequenceLinkIdElement()); 13633 } 13634 if (element.hasDetailSequenceLinkIdElement()) { 13635 composePositiveInt("detailSequenceLinkId", element.getDetailSequenceLinkIdElement()); 13636 } 13637 if (element.hasSubdetailSequenceLinkIdElement()) { 13638 composePositiveInt("subdetailSequenceLinkId", element.getSubdetailSequenceLinkIdElement()); 13639 } 13640 if (element.hasCode()) { 13641 composeCoding("code", element.getCode()); 13642 } 13643 composeElementClose(element); 13644 xml.exit(FHIR_NS, name); 13645 } 13646 } 13647 13648 protected void composeClaimResponseNotesComponent(String name, ClaimResponse.NotesComponent element) throws IOException { 13649 if (element != null) { 13650 composeElementAttributes(element); 13651 xml.enter(FHIR_NS, name); 13652 composeBackboneElements(element); 13653 if (element.hasNumberElement()) { 13654 composePositiveInt("number", element.getNumberElement()); 13655 } 13656 if (element.hasType()) { 13657 composeCoding("type", element.getType()); 13658 } 13659 if (element.hasTextElement()) { 13660 composeString("text", element.getTextElement()); 13661 } 13662 composeElementClose(element); 13663 xml.exit(FHIR_NS, name); 13664 } 13665 } 13666 13667 protected void composeClaimResponseCoverageComponent(String name, ClaimResponse.CoverageComponent element) throws IOException { 13668 if (element != null) { 13669 composeElementAttributes(element); 13670 xml.enter(FHIR_NS, name); 13671 composeBackboneElements(element); 13672 if (element.hasSequenceElement()) { 13673 composePositiveInt("sequence", element.getSequenceElement()); 13674 } 13675 if (element.hasFocalElement()) { 13676 composeBoolean("focal", element.getFocalElement()); 13677 } 13678 if (element.hasCoverage()) { 13679 composeReference("coverage", element.getCoverage()); 13680 } 13681 if (element.hasBusinessArrangementElement()) { 13682 composeString("businessArrangement", element.getBusinessArrangementElement()); 13683 } 13684 if (element.hasRelationship()) { 13685 composeCoding("relationship", element.getRelationship()); 13686 } 13687 if (element.hasPreAuthRef()) { 13688 for (StringType e : element.getPreAuthRef()) 13689 composeString("preAuthRef", e); 13690 } 13691 if (element.hasClaimResponse()) { 13692 composeReference("claimResponse", element.getClaimResponse()); 13693 } 13694 if (element.hasOriginalRuleset()) { 13695 composeCoding("originalRuleset", element.getOriginalRuleset()); 13696 } 13697 composeElementClose(element); 13698 xml.exit(FHIR_NS, name); 13699 } 13700 } 13701 13702 protected void composeClinicalImpression(String name, ClinicalImpression element) throws IOException { 13703 if (element != null) { 13704 composeDomainResourceAttributes(element); 13705 xml.enter(FHIR_NS, name); 13706 composeDomainResourceElements(element); 13707 if (element.hasPatient()) { 13708 composeReference("patient", element.getPatient()); 13709 } 13710 if (element.hasAssessor()) { 13711 composeReference("assessor", element.getAssessor()); 13712 } 13713 if (element.hasStatusElement()) 13714 composeEnumeration("status", element.getStatusElement(), new ClinicalImpression.ClinicalImpressionStatusEnumFactory()); 13715 if (element.hasDateElement()) { 13716 composeDateTime("date", element.getDateElement()); 13717 } 13718 if (element.hasDescriptionElement()) { 13719 composeString("description", element.getDescriptionElement()); 13720 } 13721 if (element.hasPrevious()) { 13722 composeReference("previous", element.getPrevious()); 13723 } 13724 if (element.hasProblem()) { 13725 for (Reference e : element.getProblem()) 13726 composeReference("problem", e); 13727 } 13728 if (element.hasTrigger()) { 13729 composeType("trigger", element.getTrigger()); 13730 } if (element.hasInvestigations()) { 13731 for (ClinicalImpression.ClinicalImpressionInvestigationsComponent e : element.getInvestigations()) 13732 composeClinicalImpressionClinicalImpressionInvestigationsComponent("investigations", e); 13733 } 13734 if (element.hasProtocolElement()) { 13735 composeUri("protocol", element.getProtocolElement()); 13736 } 13737 if (element.hasSummaryElement()) { 13738 composeString("summary", element.getSummaryElement()); 13739 } 13740 if (element.hasFinding()) { 13741 for (ClinicalImpression.ClinicalImpressionFindingComponent e : element.getFinding()) 13742 composeClinicalImpressionClinicalImpressionFindingComponent("finding", e); 13743 } 13744 if (element.hasResolved()) { 13745 for (CodeableConcept e : element.getResolved()) 13746 composeCodeableConcept("resolved", e); 13747 } 13748 if (element.hasRuledOut()) { 13749 for (ClinicalImpression.ClinicalImpressionRuledOutComponent e : element.getRuledOut()) 13750 composeClinicalImpressionClinicalImpressionRuledOutComponent("ruledOut", e); 13751 } 13752 if (element.hasPrognosisElement()) { 13753 composeString("prognosis", element.getPrognosisElement()); 13754 } 13755 if (element.hasPlan()) { 13756 for (Reference e : element.getPlan()) 13757 composeReference("plan", e); 13758 } 13759 if (element.hasAction()) { 13760 for (Reference e : element.getAction()) 13761 composeReference("action", e); 13762 } 13763 composeElementClose(element); 13764 xml.exit(FHIR_NS, name); 13765 } 13766 } 13767 13768 protected void composeClinicalImpressionClinicalImpressionInvestigationsComponent(String name, ClinicalImpression.ClinicalImpressionInvestigationsComponent element) throws IOException { 13769 if (element != null) { 13770 composeElementAttributes(element); 13771 xml.enter(FHIR_NS, name); 13772 composeBackboneElements(element); 13773 if (element.hasCode()) { 13774 composeCodeableConcept("code", element.getCode()); 13775 } 13776 if (element.hasItem()) { 13777 for (Reference e : element.getItem()) 13778 composeReference("item", e); 13779 } 13780 composeElementClose(element); 13781 xml.exit(FHIR_NS, name); 13782 } 13783 } 13784 13785 protected void composeClinicalImpressionClinicalImpressionFindingComponent(String name, ClinicalImpression.ClinicalImpressionFindingComponent element) throws IOException { 13786 if (element != null) { 13787 composeElementAttributes(element); 13788 xml.enter(FHIR_NS, name); 13789 composeBackboneElements(element); 13790 if (element.hasItem()) { 13791 composeCodeableConcept("item", element.getItem()); 13792 } 13793 if (element.hasCauseElement()) { 13794 composeString("cause", element.getCauseElement()); 13795 } 13796 composeElementClose(element); 13797 xml.exit(FHIR_NS, name); 13798 } 13799 } 13800 13801 protected void composeClinicalImpressionClinicalImpressionRuledOutComponent(String name, ClinicalImpression.ClinicalImpressionRuledOutComponent element) throws IOException { 13802 if (element != null) { 13803 composeElementAttributes(element); 13804 xml.enter(FHIR_NS, name); 13805 composeBackboneElements(element); 13806 if (element.hasItem()) { 13807 composeCodeableConcept("item", element.getItem()); 13808 } 13809 if (element.hasReasonElement()) { 13810 composeString("reason", element.getReasonElement()); 13811 } 13812 composeElementClose(element); 13813 xml.exit(FHIR_NS, name); 13814 } 13815 } 13816 13817 protected void composeCommunication(String name, Communication element) throws IOException { 13818 if (element != null) { 13819 composeDomainResourceAttributes(element); 13820 xml.enter(FHIR_NS, name); 13821 composeDomainResourceElements(element); 13822 if (element.hasIdentifier()) { 13823 for (Identifier e : element.getIdentifier()) 13824 composeIdentifier("identifier", e); 13825 } 13826 if (element.hasCategory()) { 13827 composeCodeableConcept("category", element.getCategory()); 13828 } 13829 if (element.hasSender()) { 13830 composeReference("sender", element.getSender()); 13831 } 13832 if (element.hasRecipient()) { 13833 for (Reference e : element.getRecipient()) 13834 composeReference("recipient", e); 13835 } 13836 if (element.hasPayload()) { 13837 for (Communication.CommunicationPayloadComponent e : element.getPayload()) 13838 composeCommunicationCommunicationPayloadComponent("payload", e); 13839 } 13840 if (element.hasMedium()) { 13841 for (CodeableConcept e : element.getMedium()) 13842 composeCodeableConcept("medium", e); 13843 } 13844 if (element.hasStatusElement()) 13845 composeEnumeration("status", element.getStatusElement(), new Communication.CommunicationStatusEnumFactory()); 13846 if (element.hasEncounter()) { 13847 composeReference("encounter", element.getEncounter()); 13848 } 13849 if (element.hasSentElement()) { 13850 composeDateTime("sent", element.getSentElement()); 13851 } 13852 if (element.hasReceivedElement()) { 13853 composeDateTime("received", element.getReceivedElement()); 13854 } 13855 if (element.hasReason()) { 13856 for (CodeableConcept e : element.getReason()) 13857 composeCodeableConcept("reason", e); 13858 } 13859 if (element.hasSubject()) { 13860 composeReference("subject", element.getSubject()); 13861 } 13862 if (element.hasRequestDetail()) { 13863 composeReference("requestDetail", element.getRequestDetail()); 13864 } 13865 composeElementClose(element); 13866 xml.exit(FHIR_NS, name); 13867 } 13868 } 13869 13870 protected void composeCommunicationCommunicationPayloadComponent(String name, Communication.CommunicationPayloadComponent element) throws IOException { 13871 if (element != null) { 13872 composeElementAttributes(element); 13873 xml.enter(FHIR_NS, name); 13874 composeBackboneElements(element); 13875 if (element.hasContent()) { 13876 composeType("content", element.getContent()); 13877 } composeElementClose(element); 13878 xml.exit(FHIR_NS, name); 13879 } 13880 } 13881 13882 protected void composeCommunicationRequest(String name, CommunicationRequest element) throws IOException { 13883 if (element != null) { 13884 composeDomainResourceAttributes(element); 13885 xml.enter(FHIR_NS, name); 13886 composeDomainResourceElements(element); 13887 if (element.hasIdentifier()) { 13888 for (Identifier e : element.getIdentifier()) 13889 composeIdentifier("identifier", e); 13890 } 13891 if (element.hasCategory()) { 13892 composeCodeableConcept("category", element.getCategory()); 13893 } 13894 if (element.hasSender()) { 13895 composeReference("sender", element.getSender()); 13896 } 13897 if (element.hasRecipient()) { 13898 for (Reference e : element.getRecipient()) 13899 composeReference("recipient", e); 13900 } 13901 if (element.hasPayload()) { 13902 for (CommunicationRequest.CommunicationRequestPayloadComponent e : element.getPayload()) 13903 composeCommunicationRequestCommunicationRequestPayloadComponent("payload", e); 13904 } 13905 if (element.hasMedium()) { 13906 for (CodeableConcept e : element.getMedium()) 13907 composeCodeableConcept("medium", e); 13908 } 13909 if (element.hasRequester()) { 13910 composeReference("requester", element.getRequester()); 13911 } 13912 if (element.hasStatusElement()) 13913 composeEnumeration("status", element.getStatusElement(), new CommunicationRequest.CommunicationRequestStatusEnumFactory()); 13914 if (element.hasEncounter()) { 13915 composeReference("encounter", element.getEncounter()); 13916 } 13917 if (element.hasScheduled()) { 13918 composeType("scheduled", element.getScheduled()); 13919 } if (element.hasReason()) { 13920 for (CodeableConcept e : element.getReason()) 13921 composeCodeableConcept("reason", e); 13922 } 13923 if (element.hasRequestedOnElement()) { 13924 composeDateTime("requestedOn", element.getRequestedOnElement()); 13925 } 13926 if (element.hasSubject()) { 13927 composeReference("subject", element.getSubject()); 13928 } 13929 if (element.hasPriority()) { 13930 composeCodeableConcept("priority", element.getPriority()); 13931 } 13932 composeElementClose(element); 13933 xml.exit(FHIR_NS, name); 13934 } 13935 } 13936 13937 protected void composeCommunicationRequestCommunicationRequestPayloadComponent(String name, CommunicationRequest.CommunicationRequestPayloadComponent element) throws IOException { 13938 if (element != null) { 13939 composeElementAttributes(element); 13940 xml.enter(FHIR_NS, name); 13941 composeBackboneElements(element); 13942 if (element.hasContent()) { 13943 composeType("content", element.getContent()); 13944 } composeElementClose(element); 13945 xml.exit(FHIR_NS, name); 13946 } 13947 } 13948 13949 protected void composeComposition(String name, Composition element) throws IOException { 13950 if (element != null) { 13951 composeDomainResourceAttributes(element); 13952 xml.enter(FHIR_NS, name); 13953 composeDomainResourceElements(element); 13954 if (element.hasIdentifier()) { 13955 composeIdentifier("identifier", element.getIdentifier()); 13956 } 13957 if (element.hasDateElement()) { 13958 composeDateTime("date", element.getDateElement()); 13959 } 13960 if (element.hasType()) { 13961 composeCodeableConcept("type", element.getType()); 13962 } 13963 if (element.hasClass_()) { 13964 composeCodeableConcept("class", element.getClass_()); 13965 } 13966 if (element.hasTitleElement()) { 13967 composeString("title", element.getTitleElement()); 13968 } 13969 if (element.hasStatusElement()) 13970 composeEnumeration("status", element.getStatusElement(), new Composition.CompositionStatusEnumFactory()); 13971 if (element.hasConfidentialityElement()) { 13972 composeCode("confidentiality", element.getConfidentialityElement()); 13973 } 13974 if (element.hasSubject()) { 13975 composeReference("subject", element.getSubject()); 13976 } 13977 if (element.hasAuthor()) { 13978 for (Reference e : element.getAuthor()) 13979 composeReference("author", e); 13980 } 13981 if (element.hasAttester()) { 13982 for (Composition.CompositionAttesterComponent e : element.getAttester()) 13983 composeCompositionCompositionAttesterComponent("attester", e); 13984 } 13985 if (element.hasCustodian()) { 13986 composeReference("custodian", element.getCustodian()); 13987 } 13988 if (element.hasEvent()) { 13989 for (Composition.CompositionEventComponent e : element.getEvent()) 13990 composeCompositionCompositionEventComponent("event", e); 13991 } 13992 if (element.hasEncounter()) { 13993 composeReference("encounter", element.getEncounter()); 13994 } 13995 if (element.hasSection()) { 13996 for (Composition.SectionComponent e : element.getSection()) 13997 composeCompositionSectionComponent("section", e); 13998 } 13999 composeElementClose(element); 14000 xml.exit(FHIR_NS, name); 14001 } 14002 } 14003 14004 protected void composeCompositionCompositionAttesterComponent(String name, Composition.CompositionAttesterComponent element) throws IOException { 14005 if (element != null) { 14006 composeElementAttributes(element); 14007 xml.enter(FHIR_NS, name); 14008 composeBackboneElements(element); 14009 if (element.hasMode()) 14010 for (Enumeration<Composition.CompositionAttestationMode> e : element.getMode()) 14011 composeEnumeration("mode", e, new Composition.CompositionAttestationModeEnumFactory()); 14012 if (element.hasTimeElement()) { 14013 composeDateTime("time", element.getTimeElement()); 14014 } 14015 if (element.hasParty()) { 14016 composeReference("party", element.getParty()); 14017 } 14018 composeElementClose(element); 14019 xml.exit(FHIR_NS, name); 14020 } 14021 } 14022 14023 protected void composeCompositionCompositionEventComponent(String name, Composition.CompositionEventComponent element) throws IOException { 14024 if (element != null) { 14025 composeElementAttributes(element); 14026 xml.enter(FHIR_NS, name); 14027 composeBackboneElements(element); 14028 if (element.hasCode()) { 14029 for (CodeableConcept e : element.getCode()) 14030 composeCodeableConcept("code", e); 14031 } 14032 if (element.hasPeriod()) { 14033 composePeriod("period", element.getPeriod()); 14034 } 14035 if (element.hasDetail()) { 14036 for (Reference e : element.getDetail()) 14037 composeReference("detail", e); 14038 } 14039 composeElementClose(element); 14040 xml.exit(FHIR_NS, name); 14041 } 14042 } 14043 14044 protected void composeCompositionSectionComponent(String name, Composition.SectionComponent element) throws IOException { 14045 if (element != null) { 14046 composeElementAttributes(element); 14047 xml.enter(FHIR_NS, name); 14048 composeBackboneElements(element); 14049 if (element.hasTitleElement()) { 14050 composeString("title", element.getTitleElement()); 14051 } 14052 if (element.hasCode()) { 14053 composeCodeableConcept("code", element.getCode()); 14054 } 14055 if (element.hasText()) { 14056 composeNarrative("text", element.getText()); 14057 } 14058 if (element.hasModeElement()) { 14059 composeCode("mode", element.getModeElement()); 14060 } 14061 if (element.hasOrderedBy()) { 14062 composeCodeableConcept("orderedBy", element.getOrderedBy()); 14063 } 14064 if (element.hasEntry()) { 14065 for (Reference e : element.getEntry()) 14066 composeReference("entry", e); 14067 } 14068 if (element.hasEmptyReason()) { 14069 composeCodeableConcept("emptyReason", element.getEmptyReason()); 14070 } 14071 if (element.hasSection()) { 14072 for (Composition.SectionComponent e : element.getSection()) 14073 composeCompositionSectionComponent("section", e); 14074 } 14075 composeElementClose(element); 14076 xml.exit(FHIR_NS, name); 14077 } 14078 } 14079 14080 protected void composeConceptMap(String name, ConceptMap element) throws IOException { 14081 if (element != null) { 14082 composeDomainResourceAttributes(element); 14083 xml.enter(FHIR_NS, name); 14084 composeDomainResourceElements(element); 14085 if (element.hasUrlElement()) { 14086 composeUri("url", element.getUrlElement()); 14087 } 14088 if (element.hasIdentifier()) { 14089 composeIdentifier("identifier", element.getIdentifier()); 14090 } 14091 if (element.hasVersionElement()) { 14092 composeString("version", element.getVersionElement()); 14093 } 14094 if (element.hasNameElement()) { 14095 composeString("name", element.getNameElement()); 14096 } 14097 if (element.hasStatusElement()) 14098 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 14099 if (element.hasExperimentalElement()) { 14100 composeBoolean("experimental", element.getExperimentalElement()); 14101 } 14102 if (element.hasPublisherElement()) { 14103 composeString("publisher", element.getPublisherElement()); 14104 } 14105 if (element.hasContact()) { 14106 for (ConceptMap.ConceptMapContactComponent e : element.getContact()) 14107 composeConceptMapConceptMapContactComponent("contact", e); 14108 } 14109 if (element.hasDateElement()) { 14110 composeDateTime("date", element.getDateElement()); 14111 } 14112 if (element.hasDescriptionElement()) { 14113 composeString("description", element.getDescriptionElement()); 14114 } 14115 if (element.hasUseContext()) { 14116 for (CodeableConcept e : element.getUseContext()) 14117 composeCodeableConcept("useContext", e); 14118 } 14119 if (element.hasRequirementsElement()) { 14120 composeString("requirements", element.getRequirementsElement()); 14121 } 14122 if (element.hasCopyrightElement()) { 14123 composeString("copyright", element.getCopyrightElement()); 14124 } 14125 if (element.hasSource()) { 14126 composeType("source", element.getSource()); 14127 } if (element.hasTarget()) { 14128 composeType("target", element.getTarget()); 14129 } if (element.hasElement()) { 14130 for (ConceptMap.SourceElementComponent e : element.getElement()) 14131 composeConceptMapSourceElementComponent("element", e); 14132 } 14133 composeElementClose(element); 14134 xml.exit(FHIR_NS, name); 14135 } 14136 } 14137 14138 protected void composeConceptMapConceptMapContactComponent(String name, ConceptMap.ConceptMapContactComponent element) throws IOException { 14139 if (element != null) { 14140 composeElementAttributes(element); 14141 xml.enter(FHIR_NS, name); 14142 composeBackboneElements(element); 14143 if (element.hasNameElement()) { 14144 composeString("name", element.getNameElement()); 14145 } 14146 if (element.hasTelecom()) { 14147 for (ContactPoint e : element.getTelecom()) 14148 composeContactPoint("telecom", e); 14149 } 14150 composeElementClose(element); 14151 xml.exit(FHIR_NS, name); 14152 } 14153 } 14154 14155 protected void composeConceptMapSourceElementComponent(String name, ConceptMap.SourceElementComponent element) throws IOException { 14156 if (element != null) { 14157 composeElementAttributes(element); 14158 xml.enter(FHIR_NS, name); 14159 composeBackboneElements(element); 14160 if (element.hasCodeSystemElement()) { 14161 composeUri("codeSystem", element.getCodeSystemElement()); 14162 } 14163 if (element.hasCodeElement()) { 14164 composeCode("code", element.getCodeElement()); 14165 } 14166 if (element.hasTarget()) { 14167 for (ConceptMap.TargetElementComponent e : element.getTarget()) 14168 composeConceptMapTargetElementComponent("target", e); 14169 } 14170 composeElementClose(element); 14171 xml.exit(FHIR_NS, name); 14172 } 14173 } 14174 14175 protected void composeConceptMapTargetElementComponent(String name, ConceptMap.TargetElementComponent element) throws IOException { 14176 if (element != null) { 14177 composeElementAttributes(element); 14178 xml.enter(FHIR_NS, name); 14179 composeBackboneElements(element); 14180 if (element.hasCodeSystemElement()) { 14181 composeUri("codeSystem", element.getCodeSystemElement()); 14182 } 14183 if (element.hasCodeElement()) { 14184 composeCode("code", element.getCodeElement()); 14185 } 14186 if (element.hasEquivalenceElement()) 14187 composeEnumeration("equivalence", element.getEquivalenceElement(), new Enumerations.ConceptMapEquivalenceEnumFactory()); 14188 if (element.hasCommentsElement()) { 14189 composeString("comments", element.getCommentsElement()); 14190 } 14191 if (element.hasDependsOn()) { 14192 for (ConceptMap.OtherElementComponent e : element.getDependsOn()) 14193 composeConceptMapOtherElementComponent("dependsOn", e); 14194 } 14195 if (element.hasProduct()) { 14196 for (ConceptMap.OtherElementComponent e : element.getProduct()) 14197 composeConceptMapOtherElementComponent("product", e); 14198 } 14199 composeElementClose(element); 14200 xml.exit(FHIR_NS, name); 14201 } 14202 } 14203 14204 protected void composeConceptMapOtherElementComponent(String name, ConceptMap.OtherElementComponent element) throws IOException { 14205 if (element != null) { 14206 composeElementAttributes(element); 14207 xml.enter(FHIR_NS, name); 14208 composeBackboneElements(element); 14209 if (element.hasElementElement()) { 14210 composeUri("element", element.getElementElement()); 14211 } 14212 if (element.hasCodeSystemElement()) { 14213 composeUri("codeSystem", element.getCodeSystemElement()); 14214 } 14215 if (element.hasCodeElement()) { 14216 composeString("code", element.getCodeElement()); 14217 } 14218 composeElementClose(element); 14219 xml.exit(FHIR_NS, name); 14220 } 14221 } 14222 14223 protected void composeCondition(String name, Condition element) throws IOException { 14224 if (element != null) { 14225 composeDomainResourceAttributes(element); 14226 xml.enter(FHIR_NS, name); 14227 composeDomainResourceElements(element); 14228 if (element.hasIdentifier()) { 14229 for (Identifier e : element.getIdentifier()) 14230 composeIdentifier("identifier", e); 14231 } 14232 if (element.hasPatient()) { 14233 composeReference("patient", element.getPatient()); 14234 } 14235 if (element.hasEncounter()) { 14236 composeReference("encounter", element.getEncounter()); 14237 } 14238 if (element.hasAsserter()) { 14239 composeReference("asserter", element.getAsserter()); 14240 } 14241 if (element.hasDateRecordedElement()) { 14242 composeDate("dateRecorded", element.getDateRecordedElement()); 14243 } 14244 if (element.hasCode()) { 14245 composeCodeableConcept("code", element.getCode()); 14246 } 14247 if (element.hasCategory()) { 14248 composeCodeableConcept("category", element.getCategory()); 14249 } 14250 if (element.hasClinicalStatusElement()) { 14251 composeCode("clinicalStatus", element.getClinicalStatusElement()); 14252 } 14253 if (element.hasVerificationStatusElement()) 14254 composeEnumeration("verificationStatus", element.getVerificationStatusElement(), new Condition.ConditionVerificationStatusEnumFactory()); 14255 if (element.hasSeverity()) { 14256 composeCodeableConcept("severity", element.getSeverity()); 14257 } 14258 if (element.hasOnset()) { 14259 composeType("onset", element.getOnset()); 14260 } if (element.hasAbatement()) { 14261 composeType("abatement", element.getAbatement()); 14262 } if (element.hasStage()) { 14263 composeConditionConditionStageComponent("stage", element.getStage()); 14264 } 14265 if (element.hasEvidence()) { 14266 for (Condition.ConditionEvidenceComponent e : element.getEvidence()) 14267 composeConditionConditionEvidenceComponent("evidence", e); 14268 } 14269 if (element.hasBodySite()) { 14270 for (CodeableConcept e : element.getBodySite()) 14271 composeCodeableConcept("bodySite", e); 14272 } 14273 if (element.hasNotesElement()) { 14274 composeString("notes", element.getNotesElement()); 14275 } 14276 composeElementClose(element); 14277 xml.exit(FHIR_NS, name); 14278 } 14279 } 14280 14281 protected void composeConditionConditionStageComponent(String name, Condition.ConditionStageComponent element) throws IOException { 14282 if (element != null) { 14283 composeElementAttributes(element); 14284 xml.enter(FHIR_NS, name); 14285 composeBackboneElements(element); 14286 if (element.hasSummary()) { 14287 composeCodeableConcept("summary", element.getSummary()); 14288 } 14289 if (element.hasAssessment()) { 14290 for (Reference e : element.getAssessment()) 14291 composeReference("assessment", e); 14292 } 14293 composeElementClose(element); 14294 xml.exit(FHIR_NS, name); 14295 } 14296 } 14297 14298 protected void composeConditionConditionEvidenceComponent(String name, Condition.ConditionEvidenceComponent element) throws IOException { 14299 if (element != null) { 14300 composeElementAttributes(element); 14301 xml.enter(FHIR_NS, name); 14302 composeBackboneElements(element); 14303 if (element.hasCode()) { 14304 composeCodeableConcept("code", element.getCode()); 14305 } 14306 if (element.hasDetail()) { 14307 for (Reference e : element.getDetail()) 14308 composeReference("detail", e); 14309 } 14310 composeElementClose(element); 14311 xml.exit(FHIR_NS, name); 14312 } 14313 } 14314 14315 protected void composeConformance(String name, Conformance element) throws IOException { 14316 if (element != null) { 14317 composeDomainResourceAttributes(element); 14318 xml.enter(FHIR_NS, name); 14319 composeDomainResourceElements(element); 14320 if (element.hasUrlElement()) { 14321 composeUri("url", element.getUrlElement()); 14322 } 14323 if (element.hasVersionElement()) { 14324 composeString("version", element.getVersionElement()); 14325 } 14326 if (element.hasNameElement()) { 14327 composeString("name", element.getNameElement()); 14328 } 14329 if (element.hasStatusElement()) 14330 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 14331 if (element.hasExperimentalElement()) { 14332 composeBoolean("experimental", element.getExperimentalElement()); 14333 } 14334 if (element.hasPublisherElement()) { 14335 composeString("publisher", element.getPublisherElement()); 14336 } 14337 if (element.hasContact()) { 14338 for (Conformance.ConformanceContactComponent e : element.getContact()) 14339 composeConformanceConformanceContactComponent("contact", e); 14340 } 14341 if (element.hasDateElement()) { 14342 composeDateTime("date", element.getDateElement()); 14343 } 14344 if (element.hasDescriptionElement()) { 14345 composeString("description", element.getDescriptionElement()); 14346 } 14347 if (element.hasRequirementsElement()) { 14348 composeString("requirements", element.getRequirementsElement()); 14349 } 14350 if (element.hasCopyrightElement()) { 14351 composeString("copyright", element.getCopyrightElement()); 14352 } 14353 if (element.hasKindElement()) 14354 composeEnumeration("kind", element.getKindElement(), new Conformance.ConformanceStatementKindEnumFactory()); 14355 if (element.hasSoftware()) { 14356 composeConformanceConformanceSoftwareComponent("software", element.getSoftware()); 14357 } 14358 if (element.hasImplementation()) { 14359 composeConformanceConformanceImplementationComponent("implementation", element.getImplementation()); 14360 } 14361 if (element.hasFhirVersionElement()) { 14362 composeId("fhirVersion", element.getFhirVersionElement()); 14363 } 14364 if (element.hasAcceptUnknownElement()) 14365 composeEnumeration("acceptUnknown", element.getAcceptUnknownElement(), new Conformance.UnknownContentCodeEnumFactory()); 14366 if (element.hasFormat()) { 14367 for (CodeType e : element.getFormat()) 14368 composeCode("format", e); 14369 } 14370 if (element.hasProfile()) { 14371 for (Reference e : element.getProfile()) 14372 composeReference("profile", e); 14373 } 14374 if (element.hasRest()) { 14375 for (Conformance.ConformanceRestComponent e : element.getRest()) 14376 composeConformanceConformanceRestComponent("rest", e); 14377 } 14378 if (element.hasMessaging()) { 14379 for (Conformance.ConformanceMessagingComponent e : element.getMessaging()) 14380 composeConformanceConformanceMessagingComponent("messaging", e); 14381 } 14382 if (element.hasDocument()) { 14383 for (Conformance.ConformanceDocumentComponent e : element.getDocument()) 14384 composeConformanceConformanceDocumentComponent("document", e); 14385 } 14386 composeElementClose(element); 14387 xml.exit(FHIR_NS, name); 14388 } 14389 } 14390 14391 protected void composeConformanceConformanceContactComponent(String name, Conformance.ConformanceContactComponent element) throws IOException { 14392 if (element != null) { 14393 composeElementAttributes(element); 14394 xml.enter(FHIR_NS, name); 14395 composeBackboneElements(element); 14396 if (element.hasNameElement()) { 14397 composeString("name", element.getNameElement()); 14398 } 14399 if (element.hasTelecom()) { 14400 for (ContactPoint e : element.getTelecom()) 14401 composeContactPoint("telecom", e); 14402 } 14403 composeElementClose(element); 14404 xml.exit(FHIR_NS, name); 14405 } 14406 } 14407 14408 protected void composeConformanceConformanceSoftwareComponent(String name, Conformance.ConformanceSoftwareComponent element) throws IOException { 14409 if (element != null) { 14410 composeElementAttributes(element); 14411 xml.enter(FHIR_NS, name); 14412 composeBackboneElements(element); 14413 if (element.hasNameElement()) { 14414 composeString("name", element.getNameElement()); 14415 } 14416 if (element.hasVersionElement()) { 14417 composeString("version", element.getVersionElement()); 14418 } 14419 if (element.hasReleaseDateElement()) { 14420 composeDateTime("releaseDate", element.getReleaseDateElement()); 14421 } 14422 composeElementClose(element); 14423 xml.exit(FHIR_NS, name); 14424 } 14425 } 14426 14427 protected void composeConformanceConformanceImplementationComponent(String name, Conformance.ConformanceImplementationComponent element) throws IOException { 14428 if (element != null) { 14429 composeElementAttributes(element); 14430 xml.enter(FHIR_NS, name); 14431 composeBackboneElements(element); 14432 if (element.hasDescriptionElement()) { 14433 composeString("description", element.getDescriptionElement()); 14434 } 14435 if (element.hasUrlElement()) { 14436 composeUri("url", element.getUrlElement()); 14437 } 14438 composeElementClose(element); 14439 xml.exit(FHIR_NS, name); 14440 } 14441 } 14442 14443 protected void composeConformanceConformanceRestComponent(String name, Conformance.ConformanceRestComponent element) throws IOException { 14444 if (element != null) { 14445 composeElementAttributes(element); 14446 xml.enter(FHIR_NS, name); 14447 composeBackboneElements(element); 14448 if (element.hasModeElement()) 14449 composeEnumeration("mode", element.getModeElement(), new Conformance.RestfulConformanceModeEnumFactory()); 14450 if (element.hasDocumentationElement()) { 14451 composeString("documentation", element.getDocumentationElement()); 14452 } 14453 if (element.hasSecurity()) { 14454 composeConformanceConformanceRestSecurityComponent("security", element.getSecurity()); 14455 } 14456 if (element.hasResource()) { 14457 for (Conformance.ConformanceRestResourceComponent e : element.getResource()) 14458 composeConformanceConformanceRestResourceComponent("resource", e); 14459 } 14460 if (element.hasInteraction()) { 14461 for (Conformance.SystemInteractionComponent e : element.getInteraction()) 14462 composeConformanceSystemInteractionComponent("interaction", e); 14463 } 14464 if (element.hasTransactionModeElement()) 14465 composeEnumeration("transactionMode", element.getTransactionModeElement(), new Conformance.TransactionModeEnumFactory()); 14466 if (element.hasSearchParam()) { 14467 for (Conformance.ConformanceRestResourceSearchParamComponent e : element.getSearchParam()) 14468 composeConformanceConformanceRestResourceSearchParamComponent("searchParam", e); 14469 } 14470 if (element.hasOperation()) { 14471 for (Conformance.ConformanceRestOperationComponent e : element.getOperation()) 14472 composeConformanceConformanceRestOperationComponent("operation", e); 14473 } 14474 if (element.hasCompartment()) { 14475 for (UriType e : element.getCompartment()) 14476 composeUri("compartment", e); 14477 } 14478 composeElementClose(element); 14479 xml.exit(FHIR_NS, name); 14480 } 14481 } 14482 14483 protected void composeConformanceConformanceRestSecurityComponent(String name, Conformance.ConformanceRestSecurityComponent element) throws IOException { 14484 if (element != null) { 14485 composeElementAttributes(element); 14486 xml.enter(FHIR_NS, name); 14487 composeBackboneElements(element); 14488 if (element.hasCorsElement()) { 14489 composeBoolean("cors", element.getCorsElement()); 14490 } 14491 if (element.hasService()) { 14492 for (CodeableConcept e : element.getService()) 14493 composeCodeableConcept("service", e); 14494 } 14495 if (element.hasDescriptionElement()) { 14496 composeString("description", element.getDescriptionElement()); 14497 } 14498 if (element.hasCertificate()) { 14499 for (Conformance.ConformanceRestSecurityCertificateComponent e : element.getCertificate()) 14500 composeConformanceConformanceRestSecurityCertificateComponent("certificate", e); 14501 } 14502 composeElementClose(element); 14503 xml.exit(FHIR_NS, name); 14504 } 14505 } 14506 14507 protected void composeConformanceConformanceRestSecurityCertificateComponent(String name, Conformance.ConformanceRestSecurityCertificateComponent element) throws IOException { 14508 if (element != null) { 14509 composeElementAttributes(element); 14510 xml.enter(FHIR_NS, name); 14511 composeBackboneElements(element); 14512 if (element.hasTypeElement()) { 14513 composeCode("type", element.getTypeElement()); 14514 } 14515 if (element.hasBlobElement()) { 14516 composeBase64Binary("blob", element.getBlobElement()); 14517 } 14518 composeElementClose(element); 14519 xml.exit(FHIR_NS, name); 14520 } 14521 } 14522 14523 protected void composeConformanceConformanceRestResourceComponent(String name, Conformance.ConformanceRestResourceComponent element) throws IOException { 14524 if (element != null) { 14525 composeElementAttributes(element); 14526 xml.enter(FHIR_NS, name); 14527 composeBackboneElements(element); 14528 if (element.hasTypeElement()) { 14529 composeCode("type", element.getTypeElement()); 14530 } 14531 if (element.hasProfile()) { 14532 composeReference("profile", element.getProfile()); 14533 } 14534 if (element.hasInteraction()) { 14535 for (Conformance.ResourceInteractionComponent e : element.getInteraction()) 14536 composeConformanceResourceInteractionComponent("interaction", e); 14537 } 14538 if (element.hasVersioningElement()) 14539 composeEnumeration("versioning", element.getVersioningElement(), new Conformance.ResourceVersionPolicyEnumFactory()); 14540 if (element.hasReadHistoryElement()) { 14541 composeBoolean("readHistory", element.getReadHistoryElement()); 14542 } 14543 if (element.hasUpdateCreateElement()) { 14544 composeBoolean("updateCreate", element.getUpdateCreateElement()); 14545 } 14546 if (element.hasConditionalCreateElement()) { 14547 composeBoolean("conditionalCreate", element.getConditionalCreateElement()); 14548 } 14549 if (element.hasConditionalUpdateElement()) { 14550 composeBoolean("conditionalUpdate", element.getConditionalUpdateElement()); 14551 } 14552 if (element.hasConditionalDeleteElement()) 14553 composeEnumeration("conditionalDelete", element.getConditionalDeleteElement(), new Conformance.ConditionalDeleteStatusEnumFactory()); 14554 if (element.hasSearchInclude()) { 14555 for (StringType e : element.getSearchInclude()) 14556 composeString("searchInclude", e); 14557 } 14558 if (element.hasSearchRevInclude()) { 14559 for (StringType e : element.getSearchRevInclude()) 14560 composeString("searchRevInclude", e); 14561 } 14562 if (element.hasSearchParam()) { 14563 for (Conformance.ConformanceRestResourceSearchParamComponent e : element.getSearchParam()) 14564 composeConformanceConformanceRestResourceSearchParamComponent("searchParam", e); 14565 } 14566 composeElementClose(element); 14567 xml.exit(FHIR_NS, name); 14568 } 14569 } 14570 14571 protected void composeConformanceResourceInteractionComponent(String name, Conformance.ResourceInteractionComponent element) throws IOException { 14572 if (element != null) { 14573 composeElementAttributes(element); 14574 xml.enter(FHIR_NS, name); 14575 composeBackboneElements(element); 14576 if (element.hasCodeElement()) 14577 composeEnumeration("code", element.getCodeElement(), new Conformance.TypeRestfulInteractionEnumFactory()); 14578 if (element.hasDocumentationElement()) { 14579 composeString("documentation", element.getDocumentationElement()); 14580 } 14581 composeElementClose(element); 14582 xml.exit(FHIR_NS, name); 14583 } 14584 } 14585 14586 protected void composeConformanceConformanceRestResourceSearchParamComponent(String name, Conformance.ConformanceRestResourceSearchParamComponent element) throws IOException { 14587 if (element != null) { 14588 composeElementAttributes(element); 14589 xml.enter(FHIR_NS, name); 14590 composeBackboneElements(element); 14591 if (element.hasNameElement()) { 14592 composeString("name", element.getNameElement()); 14593 } 14594 if (element.hasDefinitionElement()) { 14595 composeUri("definition", element.getDefinitionElement()); 14596 } 14597 if (element.hasTypeElement()) 14598 composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); 14599 if (element.hasDocumentationElement()) { 14600 composeString("documentation", element.getDocumentationElement()); 14601 } 14602 if (element.hasTarget()) { 14603 for (CodeType e : element.getTarget()) 14604 composeCode("target", e); 14605 } 14606 if (element.hasModifier()) 14607 for (Enumeration<Conformance.SearchModifierCode> e : element.getModifier()) 14608 composeEnumeration("modifier", e, new Conformance.SearchModifierCodeEnumFactory()); 14609 if (element.hasChain()) { 14610 for (StringType e : element.getChain()) 14611 composeString("chain", e); 14612 } 14613 composeElementClose(element); 14614 xml.exit(FHIR_NS, name); 14615 } 14616 } 14617 14618 protected void composeConformanceSystemInteractionComponent(String name, Conformance.SystemInteractionComponent element) throws IOException { 14619 if (element != null) { 14620 composeElementAttributes(element); 14621 xml.enter(FHIR_NS, name); 14622 composeBackboneElements(element); 14623 if (element.hasCodeElement()) 14624 composeEnumeration("code", element.getCodeElement(), new Conformance.SystemRestfulInteractionEnumFactory()); 14625 if (element.hasDocumentationElement()) { 14626 composeString("documentation", element.getDocumentationElement()); 14627 } 14628 composeElementClose(element); 14629 xml.exit(FHIR_NS, name); 14630 } 14631 } 14632 14633 protected void composeConformanceConformanceRestOperationComponent(String name, Conformance.ConformanceRestOperationComponent element) throws IOException { 14634 if (element != null) { 14635 composeElementAttributes(element); 14636 xml.enter(FHIR_NS, name); 14637 composeBackboneElements(element); 14638 if (element.hasNameElement()) { 14639 composeString("name", element.getNameElement()); 14640 } 14641 if (element.hasDefinition()) { 14642 composeReference("definition", element.getDefinition()); 14643 } 14644 composeElementClose(element); 14645 xml.exit(FHIR_NS, name); 14646 } 14647 } 14648 14649 protected void composeConformanceConformanceMessagingComponent(String name, Conformance.ConformanceMessagingComponent element) throws IOException { 14650 if (element != null) { 14651 composeElementAttributes(element); 14652 xml.enter(FHIR_NS, name); 14653 composeBackboneElements(element); 14654 if (element.hasEndpoint()) { 14655 for (Conformance.ConformanceMessagingEndpointComponent e : element.getEndpoint()) 14656 composeConformanceConformanceMessagingEndpointComponent("endpoint", e); 14657 } 14658 if (element.hasReliableCacheElement()) { 14659 composeUnsignedInt("reliableCache", element.getReliableCacheElement()); 14660 } 14661 if (element.hasDocumentationElement()) { 14662 composeString("documentation", element.getDocumentationElement()); 14663 } 14664 if (element.hasEvent()) { 14665 for (Conformance.ConformanceMessagingEventComponent e : element.getEvent()) 14666 composeConformanceConformanceMessagingEventComponent("event", e); 14667 } 14668 composeElementClose(element); 14669 xml.exit(FHIR_NS, name); 14670 } 14671 } 14672 14673 protected void composeConformanceConformanceMessagingEndpointComponent(String name, Conformance.ConformanceMessagingEndpointComponent element) throws IOException { 14674 if (element != null) { 14675 composeElementAttributes(element); 14676 xml.enter(FHIR_NS, name); 14677 composeBackboneElements(element); 14678 if (element.hasProtocol()) { 14679 composeCoding("protocol", element.getProtocol()); 14680 } 14681 if (element.hasAddressElement()) { 14682 composeUri("address", element.getAddressElement()); 14683 } 14684 composeElementClose(element); 14685 xml.exit(FHIR_NS, name); 14686 } 14687 } 14688 14689 protected void composeConformanceConformanceMessagingEventComponent(String name, Conformance.ConformanceMessagingEventComponent element) throws IOException { 14690 if (element != null) { 14691 composeElementAttributes(element); 14692 xml.enter(FHIR_NS, name); 14693 composeBackboneElements(element); 14694 if (element.hasCode()) { 14695 composeCoding("code", element.getCode()); 14696 } 14697 if (element.hasCategoryElement()) 14698 composeEnumeration("category", element.getCategoryElement(), new Conformance.MessageSignificanceCategoryEnumFactory()); 14699 if (element.hasModeElement()) 14700 composeEnumeration("mode", element.getModeElement(), new Conformance.ConformanceEventModeEnumFactory()); 14701 if (element.hasFocusElement()) { 14702 composeCode("focus", element.getFocusElement()); 14703 } 14704 if (element.hasRequest()) { 14705 composeReference("request", element.getRequest()); 14706 } 14707 if (element.hasResponse()) { 14708 composeReference("response", element.getResponse()); 14709 } 14710 if (element.hasDocumentationElement()) { 14711 composeString("documentation", element.getDocumentationElement()); 14712 } 14713 composeElementClose(element); 14714 xml.exit(FHIR_NS, name); 14715 } 14716 } 14717 14718 protected void composeConformanceConformanceDocumentComponent(String name, Conformance.ConformanceDocumentComponent element) throws IOException { 14719 if (element != null) { 14720 composeElementAttributes(element); 14721 xml.enter(FHIR_NS, name); 14722 composeBackboneElements(element); 14723 if (element.hasModeElement()) 14724 composeEnumeration("mode", element.getModeElement(), new Conformance.DocumentModeEnumFactory()); 14725 if (element.hasDocumentationElement()) { 14726 composeString("documentation", element.getDocumentationElement()); 14727 } 14728 if (element.hasProfile()) { 14729 composeReference("profile", element.getProfile()); 14730 } 14731 composeElementClose(element); 14732 xml.exit(FHIR_NS, name); 14733 } 14734 } 14735 14736 protected void composeContract(String name, Contract element) throws IOException { 14737 if (element != null) { 14738 composeDomainResourceAttributes(element); 14739 xml.enter(FHIR_NS, name); 14740 composeDomainResourceElements(element); 14741 if (element.hasIdentifier()) { 14742 composeIdentifier("identifier", element.getIdentifier()); 14743 } 14744 if (element.hasIssuedElement()) { 14745 composeDateTime("issued", element.getIssuedElement()); 14746 } 14747 if (element.hasApplies()) { 14748 composePeriod("applies", element.getApplies()); 14749 } 14750 if (element.hasSubject()) { 14751 for (Reference e : element.getSubject()) 14752 composeReference("subject", e); 14753 } 14754 if (element.hasAuthority()) { 14755 for (Reference e : element.getAuthority()) 14756 composeReference("authority", e); 14757 } 14758 if (element.hasDomain()) { 14759 for (Reference e : element.getDomain()) 14760 composeReference("domain", e); 14761 } 14762 if (element.hasType()) { 14763 composeCodeableConcept("type", element.getType()); 14764 } 14765 if (element.hasSubType()) { 14766 for (CodeableConcept e : element.getSubType()) 14767 composeCodeableConcept("subType", e); 14768 } 14769 if (element.hasAction()) { 14770 for (CodeableConcept e : element.getAction()) 14771 composeCodeableConcept("action", e); 14772 } 14773 if (element.hasActionReason()) { 14774 for (CodeableConcept e : element.getActionReason()) 14775 composeCodeableConcept("actionReason", e); 14776 } 14777 if (element.hasActor()) { 14778 for (Contract.ActorComponent e : element.getActor()) 14779 composeContractActorComponent("actor", e); 14780 } 14781 if (element.hasValuedItem()) { 14782 for (Contract.ValuedItemComponent e : element.getValuedItem()) 14783 composeContractValuedItemComponent("valuedItem", e); 14784 } 14785 if (element.hasSigner()) { 14786 for (Contract.SignatoryComponent e : element.getSigner()) 14787 composeContractSignatoryComponent("signer", e); 14788 } 14789 if (element.hasTerm()) { 14790 for (Contract.TermComponent e : element.getTerm()) 14791 composeContractTermComponent("term", e); 14792 } 14793 if (element.hasBinding()) { 14794 composeType("binding", element.getBinding()); 14795 } if (element.hasFriendly()) { 14796 for (Contract.FriendlyLanguageComponent e : element.getFriendly()) 14797 composeContractFriendlyLanguageComponent("friendly", e); 14798 } 14799 if (element.hasLegal()) { 14800 for (Contract.LegalLanguageComponent e : element.getLegal()) 14801 composeContractLegalLanguageComponent("legal", e); 14802 } 14803 if (element.hasRule()) { 14804 for (Contract.ComputableLanguageComponent e : element.getRule()) 14805 composeContractComputableLanguageComponent("rule", e); 14806 } 14807 composeElementClose(element); 14808 xml.exit(FHIR_NS, name); 14809 } 14810 } 14811 14812 protected void composeContractActorComponent(String name, Contract.ActorComponent element) throws IOException { 14813 if (element != null) { 14814 composeElementAttributes(element); 14815 xml.enter(FHIR_NS, name); 14816 composeBackboneElements(element); 14817 if (element.hasEntity()) { 14818 composeReference("entity", element.getEntity()); 14819 } 14820 if (element.hasRole()) { 14821 for (CodeableConcept e : element.getRole()) 14822 composeCodeableConcept("role", e); 14823 } 14824 composeElementClose(element); 14825 xml.exit(FHIR_NS, name); 14826 } 14827 } 14828 14829 protected void composeContractValuedItemComponent(String name, Contract.ValuedItemComponent element) throws IOException { 14830 if (element != null) { 14831 composeElementAttributes(element); 14832 xml.enter(FHIR_NS, name); 14833 composeBackboneElements(element); 14834 if (element.hasEntity()) { 14835 composeType("entity", element.getEntity()); 14836 } if (element.hasIdentifier()) { 14837 composeIdentifier("identifier", element.getIdentifier()); 14838 } 14839 if (element.hasEffectiveTimeElement()) { 14840 composeDateTime("effectiveTime", element.getEffectiveTimeElement()); 14841 } 14842 if (element.hasQuantity()) { 14843 composeSimpleQuantity("quantity", element.getQuantity()); 14844 } 14845 if (element.hasUnitPrice()) { 14846 composeMoney("unitPrice", element.getUnitPrice()); 14847 } 14848 if (element.hasFactorElement()) { 14849 composeDecimal("factor", element.getFactorElement()); 14850 } 14851 if (element.hasPointsElement()) { 14852 composeDecimal("points", element.getPointsElement()); 14853 } 14854 if (element.hasNet()) { 14855 composeMoney("net", element.getNet()); 14856 } 14857 composeElementClose(element); 14858 xml.exit(FHIR_NS, name); 14859 } 14860 } 14861 14862 protected void composeContractSignatoryComponent(String name, Contract.SignatoryComponent element) throws IOException { 14863 if (element != null) { 14864 composeElementAttributes(element); 14865 xml.enter(FHIR_NS, name); 14866 composeBackboneElements(element); 14867 if (element.hasType()) { 14868 composeCoding("type", element.getType()); 14869 } 14870 if (element.hasParty()) { 14871 composeReference("party", element.getParty()); 14872 } 14873 if (element.hasSignatureElement()) { 14874 composeString("signature", element.getSignatureElement()); 14875 } 14876 composeElementClose(element); 14877 xml.exit(FHIR_NS, name); 14878 } 14879 } 14880 14881 protected void composeContractTermComponent(String name, Contract.TermComponent element) throws IOException { 14882 if (element != null) { 14883 composeElementAttributes(element); 14884 xml.enter(FHIR_NS, name); 14885 composeBackboneElements(element); 14886 if (element.hasIdentifier()) { 14887 composeIdentifier("identifier", element.getIdentifier()); 14888 } 14889 if (element.hasIssuedElement()) { 14890 composeDateTime("issued", element.getIssuedElement()); 14891 } 14892 if (element.hasApplies()) { 14893 composePeriod("applies", element.getApplies()); 14894 } 14895 if (element.hasType()) { 14896 composeCodeableConcept("type", element.getType()); 14897 } 14898 if (element.hasSubType()) { 14899 composeCodeableConcept("subType", element.getSubType()); 14900 } 14901 if (element.hasSubject()) { 14902 composeReference("subject", element.getSubject()); 14903 } 14904 if (element.hasAction()) { 14905 for (CodeableConcept e : element.getAction()) 14906 composeCodeableConcept("action", e); 14907 } 14908 if (element.hasActionReason()) { 14909 for (CodeableConcept e : element.getActionReason()) 14910 composeCodeableConcept("actionReason", e); 14911 } 14912 if (element.hasActor()) { 14913 for (Contract.TermActorComponent e : element.getActor()) 14914 composeContractTermActorComponent("actor", e); 14915 } 14916 if (element.hasTextElement()) { 14917 composeString("text", element.getTextElement()); 14918 } 14919 if (element.hasValuedItem()) { 14920 for (Contract.TermValuedItemComponent e : element.getValuedItem()) 14921 composeContractTermValuedItemComponent("valuedItem", e); 14922 } 14923 if (element.hasGroup()) { 14924 for (Contract.TermComponent e : element.getGroup()) 14925 composeContractTermComponent("group", e); 14926 } 14927 composeElementClose(element); 14928 xml.exit(FHIR_NS, name); 14929 } 14930 } 14931 14932 protected void composeContractTermActorComponent(String name, Contract.TermActorComponent element) throws IOException { 14933 if (element != null) { 14934 composeElementAttributes(element); 14935 xml.enter(FHIR_NS, name); 14936 composeBackboneElements(element); 14937 if (element.hasEntity()) { 14938 composeReference("entity", element.getEntity()); 14939 } 14940 if (element.hasRole()) { 14941 for (CodeableConcept e : element.getRole()) 14942 composeCodeableConcept("role", e); 14943 } 14944 composeElementClose(element); 14945 xml.exit(FHIR_NS, name); 14946 } 14947 } 14948 14949 protected void composeContractTermValuedItemComponent(String name, Contract.TermValuedItemComponent element) throws IOException { 14950 if (element != null) { 14951 composeElementAttributes(element); 14952 xml.enter(FHIR_NS, name); 14953 composeBackboneElements(element); 14954 if (element.hasEntity()) { 14955 composeType("entity", element.getEntity()); 14956 } if (element.hasIdentifier()) { 14957 composeIdentifier("identifier", element.getIdentifier()); 14958 } 14959 if (element.hasEffectiveTimeElement()) { 14960 composeDateTime("effectiveTime", element.getEffectiveTimeElement()); 14961 } 14962 if (element.hasQuantity()) { 14963 composeSimpleQuantity("quantity", element.getQuantity()); 14964 } 14965 if (element.hasUnitPrice()) { 14966 composeMoney("unitPrice", element.getUnitPrice()); 14967 } 14968 if (element.hasFactorElement()) { 14969 composeDecimal("factor", element.getFactorElement()); 14970 } 14971 if (element.hasPointsElement()) { 14972 composeDecimal("points", element.getPointsElement()); 14973 } 14974 if (element.hasNet()) { 14975 composeMoney("net", element.getNet()); 14976 } 14977 composeElementClose(element); 14978 xml.exit(FHIR_NS, name); 14979 } 14980 } 14981 14982 protected void composeContractFriendlyLanguageComponent(String name, Contract.FriendlyLanguageComponent element) throws IOException { 14983 if (element != null) { 14984 composeElementAttributes(element); 14985 xml.enter(FHIR_NS, name); 14986 composeBackboneElements(element); 14987 if (element.hasContent()) { 14988 composeType("content", element.getContent()); 14989 } composeElementClose(element); 14990 xml.exit(FHIR_NS, name); 14991 } 14992 } 14993 14994 protected void composeContractLegalLanguageComponent(String name, Contract.LegalLanguageComponent element) throws IOException { 14995 if (element != null) { 14996 composeElementAttributes(element); 14997 xml.enter(FHIR_NS, name); 14998 composeBackboneElements(element); 14999 if (element.hasContent()) { 15000 composeType("content", element.getContent()); 15001 } composeElementClose(element); 15002 xml.exit(FHIR_NS, name); 15003 } 15004 } 15005 15006 protected void composeContractComputableLanguageComponent(String name, Contract.ComputableLanguageComponent element) throws IOException { 15007 if (element != null) { 15008 composeElementAttributes(element); 15009 xml.enter(FHIR_NS, name); 15010 composeBackboneElements(element); 15011 if (element.hasContent()) { 15012 composeType("content", element.getContent()); 15013 } composeElementClose(element); 15014 xml.exit(FHIR_NS, name); 15015 } 15016 } 15017 15018 protected void composeCoverage(String name, Coverage element) throws IOException { 15019 if (element != null) { 15020 composeDomainResourceAttributes(element); 15021 xml.enter(FHIR_NS, name); 15022 composeDomainResourceElements(element); 15023 if (element.hasIssuer()) { 15024 composeReference("issuer", element.getIssuer()); 15025 } 15026 if (element.hasBin()) { 15027 composeIdentifier("bin", element.getBin()); 15028 } 15029 if (element.hasPeriod()) { 15030 composePeriod("period", element.getPeriod()); 15031 } 15032 if (element.hasType()) { 15033 composeCoding("type", element.getType()); 15034 } 15035 if (element.hasSubscriberId()) { 15036 composeIdentifier("subscriberId", element.getSubscriberId()); 15037 } 15038 if (element.hasIdentifier()) { 15039 for (Identifier e : element.getIdentifier()) 15040 composeIdentifier("identifier", e); 15041 } 15042 if (element.hasGroupElement()) { 15043 composeString("group", element.getGroupElement()); 15044 } 15045 if (element.hasPlanElement()) { 15046 composeString("plan", element.getPlanElement()); 15047 } 15048 if (element.hasSubPlanElement()) { 15049 composeString("subPlan", element.getSubPlanElement()); 15050 } 15051 if (element.hasDependentElement()) { 15052 composePositiveInt("dependent", element.getDependentElement()); 15053 } 15054 if (element.hasSequenceElement()) { 15055 composePositiveInt("sequence", element.getSequenceElement()); 15056 } 15057 if (element.hasSubscriber()) { 15058 composeReference("subscriber", element.getSubscriber()); 15059 } 15060 if (element.hasNetwork()) { 15061 composeIdentifier("network", element.getNetwork()); 15062 } 15063 if (element.hasContract()) { 15064 for (Reference e : element.getContract()) 15065 composeReference("contract", e); 15066 } 15067 composeElementClose(element); 15068 xml.exit(FHIR_NS, name); 15069 } 15070 } 15071 15072 protected void composeDataElement(String name, DataElement element) throws IOException { 15073 if (element != null) { 15074 composeDomainResourceAttributes(element); 15075 xml.enter(FHIR_NS, name); 15076 composeDomainResourceElements(element); 15077 if (element.hasUrlElement()) { 15078 composeUri("url", element.getUrlElement()); 15079 } 15080 if (element.hasIdentifier()) { 15081 for (Identifier e : element.getIdentifier()) 15082 composeIdentifier("identifier", e); 15083 } 15084 if (element.hasVersionElement()) { 15085 composeString("version", element.getVersionElement()); 15086 } 15087 if (element.hasNameElement()) { 15088 composeString("name", element.getNameElement()); 15089 } 15090 if (element.hasStatusElement()) 15091 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 15092 if (element.hasExperimentalElement()) { 15093 composeBoolean("experimental", element.getExperimentalElement()); 15094 } 15095 if (element.hasPublisherElement()) { 15096 composeString("publisher", element.getPublisherElement()); 15097 } 15098 if (element.hasContact()) { 15099 for (DataElement.DataElementContactComponent e : element.getContact()) 15100 composeDataElementDataElementContactComponent("contact", e); 15101 } 15102 if (element.hasDateElement()) { 15103 composeDateTime("date", element.getDateElement()); 15104 } 15105 if (element.hasUseContext()) { 15106 for (CodeableConcept e : element.getUseContext()) 15107 composeCodeableConcept("useContext", e); 15108 } 15109 if (element.hasCopyrightElement()) { 15110 composeString("copyright", element.getCopyrightElement()); 15111 } 15112 if (element.hasStringencyElement()) 15113 composeEnumeration("stringency", element.getStringencyElement(), new DataElement.DataElementStringencyEnumFactory()); 15114 if (element.hasMapping()) { 15115 for (DataElement.DataElementMappingComponent e : element.getMapping()) 15116 composeDataElementDataElementMappingComponent("mapping", e); 15117 } 15118 if (element.hasElement()) { 15119 for (ElementDefinition e : element.getElement()) 15120 composeElementDefinition("element", e); 15121 } 15122 composeElementClose(element); 15123 xml.exit(FHIR_NS, name); 15124 } 15125 } 15126 15127 protected void composeDataElementDataElementContactComponent(String name, DataElement.DataElementContactComponent element) throws IOException { 15128 if (element != null) { 15129 composeElementAttributes(element); 15130 xml.enter(FHIR_NS, name); 15131 composeBackboneElements(element); 15132 if (element.hasNameElement()) { 15133 composeString("name", element.getNameElement()); 15134 } 15135 if (element.hasTelecom()) { 15136 for (ContactPoint e : element.getTelecom()) 15137 composeContactPoint("telecom", e); 15138 } 15139 composeElementClose(element); 15140 xml.exit(FHIR_NS, name); 15141 } 15142 } 15143 15144 protected void composeDataElementDataElementMappingComponent(String name, DataElement.DataElementMappingComponent element) throws IOException { 15145 if (element != null) { 15146 composeElementAttributes(element); 15147 xml.enter(FHIR_NS, name); 15148 composeBackboneElements(element); 15149 if (element.hasIdentityElement()) { 15150 composeId("identity", element.getIdentityElement()); 15151 } 15152 if (element.hasUriElement()) { 15153 composeUri("uri", element.getUriElement()); 15154 } 15155 if (element.hasNameElement()) { 15156 composeString("name", element.getNameElement()); 15157 } 15158 if (element.hasCommentsElement()) { 15159 composeString("comments", element.getCommentsElement()); 15160 } 15161 composeElementClose(element); 15162 xml.exit(FHIR_NS, name); 15163 } 15164 } 15165 15166 protected void composeDetectedIssue(String name, DetectedIssue element) throws IOException { 15167 if (element != null) { 15168 composeDomainResourceAttributes(element); 15169 xml.enter(FHIR_NS, name); 15170 composeDomainResourceElements(element); 15171 if (element.hasPatient()) { 15172 composeReference("patient", element.getPatient()); 15173 } 15174 if (element.hasCategory()) { 15175 composeCodeableConcept("category", element.getCategory()); 15176 } 15177 if (element.hasSeverityElement()) 15178 composeEnumeration("severity", element.getSeverityElement(), new DetectedIssue.DetectedIssueSeverityEnumFactory()); 15179 if (element.hasImplicated()) { 15180 for (Reference e : element.getImplicated()) 15181 composeReference("implicated", e); 15182 } 15183 if (element.hasDetailElement()) { 15184 composeString("detail", element.getDetailElement()); 15185 } 15186 if (element.hasDateElement()) { 15187 composeDateTime("date", element.getDateElement()); 15188 } 15189 if (element.hasAuthor()) { 15190 composeReference("author", element.getAuthor()); 15191 } 15192 if (element.hasIdentifier()) { 15193 composeIdentifier("identifier", element.getIdentifier()); 15194 } 15195 if (element.hasReferenceElement()) { 15196 composeUri("reference", element.getReferenceElement()); 15197 } 15198 if (element.hasMitigation()) { 15199 for (DetectedIssue.DetectedIssueMitigationComponent e : element.getMitigation()) 15200 composeDetectedIssueDetectedIssueMitigationComponent("mitigation", e); 15201 } 15202 composeElementClose(element); 15203 xml.exit(FHIR_NS, name); 15204 } 15205 } 15206 15207 protected void composeDetectedIssueDetectedIssueMitigationComponent(String name, DetectedIssue.DetectedIssueMitigationComponent element) throws IOException { 15208 if (element != null) { 15209 composeElementAttributes(element); 15210 xml.enter(FHIR_NS, name); 15211 composeBackboneElements(element); 15212 if (element.hasAction()) { 15213 composeCodeableConcept("action", element.getAction()); 15214 } 15215 if (element.hasDateElement()) { 15216 composeDateTime("date", element.getDateElement()); 15217 } 15218 if (element.hasAuthor()) { 15219 composeReference("author", element.getAuthor()); 15220 } 15221 composeElementClose(element); 15222 xml.exit(FHIR_NS, name); 15223 } 15224 } 15225 15226 protected void composeDevice(String name, Device element) throws IOException { 15227 if (element != null) { 15228 composeDomainResourceAttributes(element); 15229 xml.enter(FHIR_NS, name); 15230 composeDomainResourceElements(element); 15231 if (element.hasIdentifier()) { 15232 for (Identifier e : element.getIdentifier()) 15233 composeIdentifier("identifier", e); 15234 } 15235 if (element.hasType()) { 15236 composeCodeableConcept("type", element.getType()); 15237 } 15238 if (element.hasNote()) { 15239 for (Annotation e : element.getNote()) 15240 composeAnnotation("note", e); 15241 } 15242 if (element.hasStatusElement()) 15243 composeEnumeration("status", element.getStatusElement(), new Device.DeviceStatusEnumFactory()); 15244 if (element.hasManufacturerElement()) { 15245 composeString("manufacturer", element.getManufacturerElement()); 15246 } 15247 if (element.hasModelElement()) { 15248 composeString("model", element.getModelElement()); 15249 } 15250 if (element.hasVersionElement()) { 15251 composeString("version", element.getVersionElement()); 15252 } 15253 if (element.hasManufactureDateElement()) { 15254 composeDateTime("manufactureDate", element.getManufactureDateElement()); 15255 } 15256 if (element.hasExpiryElement()) { 15257 composeDateTime("expiry", element.getExpiryElement()); 15258 } 15259 if (element.hasUdiElement()) { 15260 composeString("udi", element.getUdiElement()); 15261 } 15262 if (element.hasLotNumberElement()) { 15263 composeString("lotNumber", element.getLotNumberElement()); 15264 } 15265 if (element.hasOwner()) { 15266 composeReference("owner", element.getOwner()); 15267 } 15268 if (element.hasLocation()) { 15269 composeReference("location", element.getLocation()); 15270 } 15271 if (element.hasPatient()) { 15272 composeReference("patient", element.getPatient()); 15273 } 15274 if (element.hasContact()) { 15275 for (ContactPoint e : element.getContact()) 15276 composeContactPoint("contact", e); 15277 } 15278 if (element.hasUrlElement()) { 15279 composeUri("url", element.getUrlElement()); 15280 } 15281 composeElementClose(element); 15282 xml.exit(FHIR_NS, name); 15283 } 15284 } 15285 15286 protected void composeDeviceComponent(String name, DeviceComponent element) throws IOException { 15287 if (element != null) { 15288 composeDomainResourceAttributes(element); 15289 xml.enter(FHIR_NS, name); 15290 composeDomainResourceElements(element); 15291 if (element.hasType()) { 15292 composeCodeableConcept("type", element.getType()); 15293 } 15294 if (element.hasIdentifier()) { 15295 composeIdentifier("identifier", element.getIdentifier()); 15296 } 15297 if (element.hasLastSystemChangeElement()) { 15298 composeInstant("lastSystemChange", element.getLastSystemChangeElement()); 15299 } 15300 if (element.hasSource()) { 15301 composeReference("source", element.getSource()); 15302 } 15303 if (element.hasParent()) { 15304 composeReference("parent", element.getParent()); 15305 } 15306 if (element.hasOperationalStatus()) { 15307 for (CodeableConcept e : element.getOperationalStatus()) 15308 composeCodeableConcept("operationalStatus", e); 15309 } 15310 if (element.hasParameterGroup()) { 15311 composeCodeableConcept("parameterGroup", element.getParameterGroup()); 15312 } 15313 if (element.hasMeasurementPrincipleElement()) 15314 composeEnumeration("measurementPrinciple", element.getMeasurementPrincipleElement(), new DeviceComponent.MeasmntPrincipleEnumFactory()); 15315 if (element.hasProductionSpecification()) { 15316 for (DeviceComponent.DeviceComponentProductionSpecificationComponent e : element.getProductionSpecification()) 15317 composeDeviceComponentDeviceComponentProductionSpecificationComponent("productionSpecification", e); 15318 } 15319 if (element.hasLanguageCode()) { 15320 composeCodeableConcept("languageCode", element.getLanguageCode()); 15321 } 15322 composeElementClose(element); 15323 xml.exit(FHIR_NS, name); 15324 } 15325 } 15326 15327 protected void composeDeviceComponentDeviceComponentProductionSpecificationComponent(String name, DeviceComponent.DeviceComponentProductionSpecificationComponent element) throws IOException { 15328 if (element != null) { 15329 composeElementAttributes(element); 15330 xml.enter(FHIR_NS, name); 15331 composeBackboneElements(element); 15332 if (element.hasSpecType()) { 15333 composeCodeableConcept("specType", element.getSpecType()); 15334 } 15335 if (element.hasComponentId()) { 15336 composeIdentifier("componentId", element.getComponentId()); 15337 } 15338 if (element.hasProductionSpecElement()) { 15339 composeString("productionSpec", element.getProductionSpecElement()); 15340 } 15341 composeElementClose(element); 15342 xml.exit(FHIR_NS, name); 15343 } 15344 } 15345 15346 protected void composeDeviceMetric(String name, DeviceMetric element) throws IOException { 15347 if (element != null) { 15348 composeDomainResourceAttributes(element); 15349 xml.enter(FHIR_NS, name); 15350 composeDomainResourceElements(element); 15351 if (element.hasType()) { 15352 composeCodeableConcept("type", element.getType()); 15353 } 15354 if (element.hasIdentifier()) { 15355 composeIdentifier("identifier", element.getIdentifier()); 15356 } 15357 if (element.hasUnit()) { 15358 composeCodeableConcept("unit", element.getUnit()); 15359 } 15360 if (element.hasSource()) { 15361 composeReference("source", element.getSource()); 15362 } 15363 if (element.hasParent()) { 15364 composeReference("parent", element.getParent()); 15365 } 15366 if (element.hasOperationalStatusElement()) 15367 composeEnumeration("operationalStatus", element.getOperationalStatusElement(), new DeviceMetric.DeviceMetricOperationalStatusEnumFactory()); 15368 if (element.hasColorElement()) 15369 composeEnumeration("color", element.getColorElement(), new DeviceMetric.DeviceMetricColorEnumFactory()); 15370 if (element.hasCategoryElement()) 15371 composeEnumeration("category", element.getCategoryElement(), new DeviceMetric.DeviceMetricCategoryEnumFactory()); 15372 if (element.hasMeasurementPeriod()) { 15373 composeTiming("measurementPeriod", element.getMeasurementPeriod()); 15374 } 15375 if (element.hasCalibration()) { 15376 for (DeviceMetric.DeviceMetricCalibrationComponent e : element.getCalibration()) 15377 composeDeviceMetricDeviceMetricCalibrationComponent("calibration", e); 15378 } 15379 composeElementClose(element); 15380 xml.exit(FHIR_NS, name); 15381 } 15382 } 15383 15384 protected void composeDeviceMetricDeviceMetricCalibrationComponent(String name, DeviceMetric.DeviceMetricCalibrationComponent element) throws IOException { 15385 if (element != null) { 15386 composeElementAttributes(element); 15387 xml.enter(FHIR_NS, name); 15388 composeBackboneElements(element); 15389 if (element.hasTypeElement()) 15390 composeEnumeration("type", element.getTypeElement(), new DeviceMetric.DeviceMetricCalibrationTypeEnumFactory()); 15391 if (element.hasStateElement()) 15392 composeEnumeration("state", element.getStateElement(), new DeviceMetric.DeviceMetricCalibrationStateEnumFactory()); 15393 if (element.hasTimeElement()) { 15394 composeInstant("time", element.getTimeElement()); 15395 } 15396 composeElementClose(element); 15397 xml.exit(FHIR_NS, name); 15398 } 15399 } 15400 15401 protected void composeDeviceUseRequest(String name, DeviceUseRequest element) throws IOException { 15402 if (element != null) { 15403 composeDomainResourceAttributes(element); 15404 xml.enter(FHIR_NS, name); 15405 composeDomainResourceElements(element); 15406 if (element.hasBodySite()) { 15407 composeType("bodySite", element.getBodySite()); 15408 } if (element.hasStatusElement()) 15409 composeEnumeration("status", element.getStatusElement(), new DeviceUseRequest.DeviceUseRequestStatusEnumFactory()); 15410 if (element.hasDevice()) { 15411 composeReference("device", element.getDevice()); 15412 } 15413 if (element.hasEncounter()) { 15414 composeReference("encounter", element.getEncounter()); 15415 } 15416 if (element.hasIdentifier()) { 15417 for (Identifier e : element.getIdentifier()) 15418 composeIdentifier("identifier", e); 15419 } 15420 if (element.hasIndication()) { 15421 for (CodeableConcept e : element.getIndication()) 15422 composeCodeableConcept("indication", e); 15423 } 15424 if (element.hasNotes()) { 15425 for (StringType e : element.getNotes()) 15426 composeString("notes", e); 15427 } 15428 if (element.hasPrnReason()) { 15429 for (CodeableConcept e : element.getPrnReason()) 15430 composeCodeableConcept("prnReason", e); 15431 } 15432 if (element.hasOrderedOnElement()) { 15433 composeDateTime("orderedOn", element.getOrderedOnElement()); 15434 } 15435 if (element.hasRecordedOnElement()) { 15436 composeDateTime("recordedOn", element.getRecordedOnElement()); 15437 } 15438 if (element.hasSubject()) { 15439 composeReference("subject", element.getSubject()); 15440 } 15441 if (element.hasTiming()) { 15442 composeType("timing", element.getTiming()); 15443 } if (element.hasPriorityElement()) 15444 composeEnumeration("priority", element.getPriorityElement(), new DeviceUseRequest.DeviceUseRequestPriorityEnumFactory()); 15445 composeElementClose(element); 15446 xml.exit(FHIR_NS, name); 15447 } 15448 } 15449 15450 protected void composeDeviceUseStatement(String name, DeviceUseStatement element) throws IOException { 15451 if (element != null) { 15452 composeDomainResourceAttributes(element); 15453 xml.enter(FHIR_NS, name); 15454 composeDomainResourceElements(element); 15455 if (element.hasBodySite()) { 15456 composeType("bodySite", element.getBodySite()); 15457 } if (element.hasWhenUsed()) { 15458 composePeriod("whenUsed", element.getWhenUsed()); 15459 } 15460 if (element.hasDevice()) { 15461 composeReference("device", element.getDevice()); 15462 } 15463 if (element.hasIdentifier()) { 15464 for (Identifier e : element.getIdentifier()) 15465 composeIdentifier("identifier", e); 15466 } 15467 if (element.hasIndication()) { 15468 for (CodeableConcept e : element.getIndication()) 15469 composeCodeableConcept("indication", e); 15470 } 15471 if (element.hasNotes()) { 15472 for (StringType e : element.getNotes()) 15473 composeString("notes", e); 15474 } 15475 if (element.hasRecordedOnElement()) { 15476 composeDateTime("recordedOn", element.getRecordedOnElement()); 15477 } 15478 if (element.hasSubject()) { 15479 composeReference("subject", element.getSubject()); 15480 } 15481 if (element.hasTiming()) { 15482 composeType("timing", element.getTiming()); 15483 } composeElementClose(element); 15484 xml.exit(FHIR_NS, name); 15485 } 15486 } 15487 15488 protected void composeDiagnosticOrder(String name, DiagnosticOrder element) throws IOException { 15489 if (element != null) { 15490 composeDomainResourceAttributes(element); 15491 xml.enter(FHIR_NS, name); 15492 composeDomainResourceElements(element); 15493 if (element.hasSubject()) { 15494 composeReference("subject", element.getSubject()); 15495 } 15496 if (element.hasOrderer()) { 15497 composeReference("orderer", element.getOrderer()); 15498 } 15499 if (element.hasIdentifier()) { 15500 for (Identifier e : element.getIdentifier()) 15501 composeIdentifier("identifier", e); 15502 } 15503 if (element.hasEncounter()) { 15504 composeReference("encounter", element.getEncounter()); 15505 } 15506 if (element.hasReason()) { 15507 for (CodeableConcept e : element.getReason()) 15508 composeCodeableConcept("reason", e); 15509 } 15510 if (element.hasSupportingInformation()) { 15511 for (Reference e : element.getSupportingInformation()) 15512 composeReference("supportingInformation", e); 15513 } 15514 if (element.hasSpecimen()) { 15515 for (Reference e : element.getSpecimen()) 15516 composeReference("specimen", e); 15517 } 15518 if (element.hasStatusElement()) 15519 composeEnumeration("status", element.getStatusElement(), new DiagnosticOrder.DiagnosticOrderStatusEnumFactory()); 15520 if (element.hasPriorityElement()) 15521 composeEnumeration("priority", element.getPriorityElement(), new DiagnosticOrder.DiagnosticOrderPriorityEnumFactory()); 15522 if (element.hasEvent()) { 15523 for (DiagnosticOrder.DiagnosticOrderEventComponent e : element.getEvent()) 15524 composeDiagnosticOrderDiagnosticOrderEventComponent("event", e); 15525 } 15526 if (element.hasItem()) { 15527 for (DiagnosticOrder.DiagnosticOrderItemComponent e : element.getItem()) 15528 composeDiagnosticOrderDiagnosticOrderItemComponent("item", e); 15529 } 15530 if (element.hasNote()) { 15531 for (Annotation e : element.getNote()) 15532 composeAnnotation("note", e); 15533 } 15534 composeElementClose(element); 15535 xml.exit(FHIR_NS, name); 15536 } 15537 } 15538 15539 protected void composeDiagnosticOrderDiagnosticOrderEventComponent(String name, DiagnosticOrder.DiagnosticOrderEventComponent element) throws IOException { 15540 if (element != null) { 15541 composeElementAttributes(element); 15542 xml.enter(FHIR_NS, name); 15543 composeBackboneElements(element); 15544 if (element.hasStatusElement()) 15545 composeEnumeration("status", element.getStatusElement(), new DiagnosticOrder.DiagnosticOrderStatusEnumFactory()); 15546 if (element.hasDescription()) { 15547 composeCodeableConcept("description", element.getDescription()); 15548 } 15549 if (element.hasDateTimeElement()) { 15550 composeDateTime("dateTime", element.getDateTimeElement()); 15551 } 15552 if (element.hasActor()) { 15553 composeReference("actor", element.getActor()); 15554 } 15555 composeElementClose(element); 15556 xml.exit(FHIR_NS, name); 15557 } 15558 } 15559 15560 protected void composeDiagnosticOrderDiagnosticOrderItemComponent(String name, DiagnosticOrder.DiagnosticOrderItemComponent element) throws IOException { 15561 if (element != null) { 15562 composeElementAttributes(element); 15563 xml.enter(FHIR_NS, name); 15564 composeBackboneElements(element); 15565 if (element.hasCode()) { 15566 composeCodeableConcept("code", element.getCode()); 15567 } 15568 if (element.hasSpecimen()) { 15569 for (Reference e : element.getSpecimen()) 15570 composeReference("specimen", e); 15571 } 15572 if (element.hasBodySite()) { 15573 composeCodeableConcept("bodySite", element.getBodySite()); 15574 } 15575 if (element.hasStatusElement()) 15576 composeEnumeration("status", element.getStatusElement(), new DiagnosticOrder.DiagnosticOrderStatusEnumFactory()); 15577 if (element.hasEvent()) { 15578 for (DiagnosticOrder.DiagnosticOrderEventComponent e : element.getEvent()) 15579 composeDiagnosticOrderDiagnosticOrderEventComponent("event", e); 15580 } 15581 composeElementClose(element); 15582 xml.exit(FHIR_NS, name); 15583 } 15584 } 15585 15586 protected void composeDiagnosticReport(String name, DiagnosticReport element) throws IOException { 15587 if (element != null) { 15588 composeDomainResourceAttributes(element); 15589 xml.enter(FHIR_NS, name); 15590 composeDomainResourceElements(element); 15591 if (element.hasIdentifier()) { 15592 for (Identifier e : element.getIdentifier()) 15593 composeIdentifier("identifier", e); 15594 } 15595 if (element.hasStatusElement()) 15596 composeEnumeration("status", element.getStatusElement(), new DiagnosticReport.DiagnosticReportStatusEnumFactory()); 15597 if (element.hasCategory()) { 15598 composeCodeableConcept("category", element.getCategory()); 15599 } 15600 if (element.hasCode()) { 15601 composeCodeableConcept("code", element.getCode()); 15602 } 15603 if (element.hasSubject()) { 15604 composeReference("subject", element.getSubject()); 15605 } 15606 if (element.hasEncounter()) { 15607 composeReference("encounter", element.getEncounter()); 15608 } 15609 if (element.hasEffective()) { 15610 composeType("effective", element.getEffective()); 15611 } if (element.hasIssuedElement()) { 15612 composeInstant("issued", element.getIssuedElement()); 15613 } 15614 if (element.hasPerformer()) { 15615 composeReference("performer", element.getPerformer()); 15616 } 15617 if (element.hasRequest()) { 15618 for (Reference e : element.getRequest()) 15619 composeReference("request", e); 15620 } 15621 if (element.hasSpecimen()) { 15622 for (Reference e : element.getSpecimen()) 15623 composeReference("specimen", e); 15624 } 15625 if (element.hasResult()) { 15626 for (Reference e : element.getResult()) 15627 composeReference("result", e); 15628 } 15629 if (element.hasImagingStudy()) { 15630 for (Reference e : element.getImagingStudy()) 15631 composeReference("imagingStudy", e); 15632 } 15633 if (element.hasImage()) { 15634 for (DiagnosticReport.DiagnosticReportImageComponent e : element.getImage()) 15635 composeDiagnosticReportDiagnosticReportImageComponent("image", e); 15636 } 15637 if (element.hasConclusionElement()) { 15638 composeString("conclusion", element.getConclusionElement()); 15639 } 15640 if (element.hasCodedDiagnosis()) { 15641 for (CodeableConcept e : element.getCodedDiagnosis()) 15642 composeCodeableConcept("codedDiagnosis", e); 15643 } 15644 if (element.hasPresentedForm()) { 15645 for (Attachment e : element.getPresentedForm()) 15646 composeAttachment("presentedForm", e); 15647 } 15648 composeElementClose(element); 15649 xml.exit(FHIR_NS, name); 15650 } 15651 } 15652 15653 protected void composeDiagnosticReportDiagnosticReportImageComponent(String name, DiagnosticReport.DiagnosticReportImageComponent element) throws IOException { 15654 if (element != null) { 15655 composeElementAttributes(element); 15656 xml.enter(FHIR_NS, name); 15657 composeBackboneElements(element); 15658 if (element.hasCommentElement()) { 15659 composeString("comment", element.getCommentElement()); 15660 } 15661 if (element.hasLink()) { 15662 composeReference("link", element.getLink()); 15663 } 15664 composeElementClose(element); 15665 xml.exit(FHIR_NS, name); 15666 } 15667 } 15668 15669 protected void composeDocumentManifest(String name, DocumentManifest element) throws IOException { 15670 if (element != null) { 15671 composeDomainResourceAttributes(element); 15672 xml.enter(FHIR_NS, name); 15673 composeDomainResourceElements(element); 15674 if (element.hasMasterIdentifier()) { 15675 composeIdentifier("masterIdentifier", element.getMasterIdentifier()); 15676 } 15677 if (element.hasIdentifier()) { 15678 for (Identifier e : element.getIdentifier()) 15679 composeIdentifier("identifier", e); 15680 } 15681 if (element.hasSubject()) { 15682 composeReference("subject", element.getSubject()); 15683 } 15684 if (element.hasRecipient()) { 15685 for (Reference e : element.getRecipient()) 15686 composeReference("recipient", e); 15687 } 15688 if (element.hasType()) { 15689 composeCodeableConcept("type", element.getType()); 15690 } 15691 if (element.hasAuthor()) { 15692 for (Reference e : element.getAuthor()) 15693 composeReference("author", e); 15694 } 15695 if (element.hasCreatedElement()) { 15696 composeDateTime("created", element.getCreatedElement()); 15697 } 15698 if (element.hasSourceElement()) { 15699 composeUri("source", element.getSourceElement()); 15700 } 15701 if (element.hasStatusElement()) 15702 composeEnumeration("status", element.getStatusElement(), new Enumerations.DocumentReferenceStatusEnumFactory()); 15703 if (element.hasDescriptionElement()) { 15704 composeString("description", element.getDescriptionElement()); 15705 } 15706 if (element.hasContent()) { 15707 for (DocumentManifest.DocumentManifestContentComponent e : element.getContent()) 15708 composeDocumentManifestDocumentManifestContentComponent("content", e); 15709 } 15710 if (element.hasRelated()) { 15711 for (DocumentManifest.DocumentManifestRelatedComponent e : element.getRelated()) 15712 composeDocumentManifestDocumentManifestRelatedComponent("related", e); 15713 } 15714 composeElementClose(element); 15715 xml.exit(FHIR_NS, name); 15716 } 15717 } 15718 15719 protected void composeDocumentManifestDocumentManifestContentComponent(String name, DocumentManifest.DocumentManifestContentComponent element) throws IOException { 15720 if (element != null) { 15721 composeElementAttributes(element); 15722 xml.enter(FHIR_NS, name); 15723 composeBackboneElements(element); 15724 if (element.hasP()) { 15725 composeType("p", element.getP()); 15726 } composeElementClose(element); 15727 xml.exit(FHIR_NS, name); 15728 } 15729 } 15730 15731 protected void composeDocumentManifestDocumentManifestRelatedComponent(String name, DocumentManifest.DocumentManifestRelatedComponent element) throws IOException { 15732 if (element != null) { 15733 composeElementAttributes(element); 15734 xml.enter(FHIR_NS, name); 15735 composeBackboneElements(element); 15736 if (element.hasIdentifier()) { 15737 composeIdentifier("identifier", element.getIdentifier()); 15738 } 15739 if (element.hasRef()) { 15740 composeReference("ref", element.getRef()); 15741 } 15742 composeElementClose(element); 15743 xml.exit(FHIR_NS, name); 15744 } 15745 } 15746 15747 protected void composeDocumentReference(String name, DocumentReference element) throws IOException { 15748 if (element != null) { 15749 composeDomainResourceAttributes(element); 15750 xml.enter(FHIR_NS, name); 15751 composeDomainResourceElements(element); 15752 if (element.hasMasterIdentifier()) { 15753 composeIdentifier("masterIdentifier", element.getMasterIdentifier()); 15754 } 15755 if (element.hasIdentifier()) { 15756 for (Identifier e : element.getIdentifier()) 15757 composeIdentifier("identifier", e); 15758 } 15759 if (element.hasSubject()) { 15760 composeReference("subject", element.getSubject()); 15761 } 15762 if (element.hasType()) { 15763 composeCodeableConcept("type", element.getType()); 15764 } 15765 if (element.hasClass_()) { 15766 composeCodeableConcept("class", element.getClass_()); 15767 } 15768 if (element.hasAuthor()) { 15769 for (Reference e : element.getAuthor()) 15770 composeReference("author", e); 15771 } 15772 if (element.hasCustodian()) { 15773 composeReference("custodian", element.getCustodian()); 15774 } 15775 if (element.hasAuthenticator()) { 15776 composeReference("authenticator", element.getAuthenticator()); 15777 } 15778 if (element.hasCreatedElement()) { 15779 composeDateTime("created", element.getCreatedElement()); 15780 } 15781 if (element.hasIndexedElement()) { 15782 composeInstant("indexed", element.getIndexedElement()); 15783 } 15784 if (element.hasStatusElement()) 15785 composeEnumeration("status", element.getStatusElement(), new Enumerations.DocumentReferenceStatusEnumFactory()); 15786 if (element.hasDocStatus()) { 15787 composeCodeableConcept("docStatus", element.getDocStatus()); 15788 } 15789 if (element.hasRelatesTo()) { 15790 for (DocumentReference.DocumentReferenceRelatesToComponent e : element.getRelatesTo()) 15791 composeDocumentReferenceDocumentReferenceRelatesToComponent("relatesTo", e); 15792 } 15793 if (element.hasDescriptionElement()) { 15794 composeString("description", element.getDescriptionElement()); 15795 } 15796 if (element.hasSecurityLabel()) { 15797 for (CodeableConcept e : element.getSecurityLabel()) 15798 composeCodeableConcept("securityLabel", e); 15799 } 15800 if (element.hasContent()) { 15801 for (DocumentReference.DocumentReferenceContentComponent e : element.getContent()) 15802 composeDocumentReferenceDocumentReferenceContentComponent("content", e); 15803 } 15804 if (element.hasContext()) { 15805 composeDocumentReferenceDocumentReferenceContextComponent("context", element.getContext()); 15806 } 15807 composeElementClose(element); 15808 xml.exit(FHIR_NS, name); 15809 } 15810 } 15811 15812 protected void composeDocumentReferenceDocumentReferenceRelatesToComponent(String name, DocumentReference.DocumentReferenceRelatesToComponent element) throws IOException { 15813 if (element != null) { 15814 composeElementAttributes(element); 15815 xml.enter(FHIR_NS, name); 15816 composeBackboneElements(element); 15817 if (element.hasCodeElement()) 15818 composeEnumeration("code", element.getCodeElement(), new DocumentReference.DocumentRelationshipTypeEnumFactory()); 15819 if (element.hasTarget()) { 15820 composeReference("target", element.getTarget()); 15821 } 15822 composeElementClose(element); 15823 xml.exit(FHIR_NS, name); 15824 } 15825 } 15826 15827 protected void composeDocumentReferenceDocumentReferenceContentComponent(String name, DocumentReference.DocumentReferenceContentComponent element) throws IOException { 15828 if (element != null) { 15829 composeElementAttributes(element); 15830 xml.enter(FHIR_NS, name); 15831 composeBackboneElements(element); 15832 if (element.hasAttachment()) { 15833 composeAttachment("attachment", element.getAttachment()); 15834 } 15835 if (element.hasFormat()) { 15836 for (Coding e : element.getFormat()) 15837 composeCoding("format", e); 15838 } 15839 composeElementClose(element); 15840 xml.exit(FHIR_NS, name); 15841 } 15842 } 15843 15844 protected void composeDocumentReferenceDocumentReferenceContextComponent(String name, DocumentReference.DocumentReferenceContextComponent element) throws IOException { 15845 if (element != null) { 15846 composeElementAttributes(element); 15847 xml.enter(FHIR_NS, name); 15848 composeBackboneElements(element); 15849 if (element.hasEncounter()) { 15850 composeReference("encounter", element.getEncounter()); 15851 } 15852 if (element.hasEvent()) { 15853 for (CodeableConcept e : element.getEvent()) 15854 composeCodeableConcept("event", e); 15855 } 15856 if (element.hasPeriod()) { 15857 composePeriod("period", element.getPeriod()); 15858 } 15859 if (element.hasFacilityType()) { 15860 composeCodeableConcept("facilityType", element.getFacilityType()); 15861 } 15862 if (element.hasPracticeSetting()) { 15863 composeCodeableConcept("practiceSetting", element.getPracticeSetting()); 15864 } 15865 if (element.hasSourcePatientInfo()) { 15866 composeReference("sourcePatientInfo", element.getSourcePatientInfo()); 15867 } 15868 if (element.hasRelated()) { 15869 for (DocumentReference.DocumentReferenceContextRelatedComponent e : element.getRelated()) 15870 composeDocumentReferenceDocumentReferenceContextRelatedComponent("related", e); 15871 } 15872 composeElementClose(element); 15873 xml.exit(FHIR_NS, name); 15874 } 15875 } 15876 15877 protected void composeDocumentReferenceDocumentReferenceContextRelatedComponent(String name, DocumentReference.DocumentReferenceContextRelatedComponent element) throws IOException { 15878 if (element != null) { 15879 composeElementAttributes(element); 15880 xml.enter(FHIR_NS, name); 15881 composeBackboneElements(element); 15882 if (element.hasIdentifier()) { 15883 composeIdentifier("identifier", element.getIdentifier()); 15884 } 15885 if (element.hasRef()) { 15886 composeReference("ref", element.getRef()); 15887 } 15888 composeElementClose(element); 15889 xml.exit(FHIR_NS, name); 15890 } 15891 } 15892 15893 protected void composeEligibilityRequest(String name, EligibilityRequest element) throws IOException { 15894 if (element != null) { 15895 composeDomainResourceAttributes(element); 15896 xml.enter(FHIR_NS, name); 15897 composeDomainResourceElements(element); 15898 if (element.hasIdentifier()) { 15899 for (Identifier e : element.getIdentifier()) 15900 composeIdentifier("identifier", e); 15901 } 15902 if (element.hasRuleset()) { 15903 composeCoding("ruleset", element.getRuleset()); 15904 } 15905 if (element.hasOriginalRuleset()) { 15906 composeCoding("originalRuleset", element.getOriginalRuleset()); 15907 } 15908 if (element.hasCreatedElement()) { 15909 composeDateTime("created", element.getCreatedElement()); 15910 } 15911 if (element.hasTarget()) { 15912 composeReference("target", element.getTarget()); 15913 } 15914 if (element.hasProvider()) { 15915 composeReference("provider", element.getProvider()); 15916 } 15917 if (element.hasOrganization()) { 15918 composeReference("organization", element.getOrganization()); 15919 } 15920 composeElementClose(element); 15921 xml.exit(FHIR_NS, name); 15922 } 15923 } 15924 15925 protected void composeEligibilityResponse(String name, EligibilityResponse element) throws IOException { 15926 if (element != null) { 15927 composeDomainResourceAttributes(element); 15928 xml.enter(FHIR_NS, name); 15929 composeDomainResourceElements(element); 15930 if (element.hasIdentifier()) { 15931 for (Identifier e : element.getIdentifier()) 15932 composeIdentifier("identifier", e); 15933 } 15934 if (element.hasRequest()) { 15935 composeReference("request", element.getRequest()); 15936 } 15937 if (element.hasOutcomeElement()) 15938 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 15939 if (element.hasDispositionElement()) { 15940 composeString("disposition", element.getDispositionElement()); 15941 } 15942 if (element.hasRuleset()) { 15943 composeCoding("ruleset", element.getRuleset()); 15944 } 15945 if (element.hasOriginalRuleset()) { 15946 composeCoding("originalRuleset", element.getOriginalRuleset()); 15947 } 15948 if (element.hasCreatedElement()) { 15949 composeDateTime("created", element.getCreatedElement()); 15950 } 15951 if (element.hasOrganization()) { 15952 composeReference("organization", element.getOrganization()); 15953 } 15954 if (element.hasRequestProvider()) { 15955 composeReference("requestProvider", element.getRequestProvider()); 15956 } 15957 if (element.hasRequestOrganization()) { 15958 composeReference("requestOrganization", element.getRequestOrganization()); 15959 } 15960 composeElementClose(element); 15961 xml.exit(FHIR_NS, name); 15962 } 15963 } 15964 15965 protected void composeEncounter(String name, Encounter element) throws IOException { 15966 if (element != null) { 15967 composeDomainResourceAttributes(element); 15968 xml.enter(FHIR_NS, name); 15969 composeDomainResourceElements(element); 15970 if (element.hasIdentifier()) { 15971 for (Identifier e : element.getIdentifier()) 15972 composeIdentifier("identifier", e); 15973 } 15974 if (element.hasStatusElement()) 15975 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterStateEnumFactory()); 15976 if (element.hasStatusHistory()) { 15977 for (Encounter.EncounterStatusHistoryComponent e : element.getStatusHistory()) 15978 composeEncounterEncounterStatusHistoryComponent("statusHistory", e); 15979 } 15980 if (element.hasClass_Element()) 15981 composeEnumeration("class", element.getClass_Element(), new Encounter.EncounterClassEnumFactory()); 15982 if (element.hasType()) { 15983 for (CodeableConcept e : element.getType()) 15984 composeCodeableConcept("type", e); 15985 } 15986 if (element.hasPriority()) { 15987 composeCodeableConcept("priority", element.getPriority()); 15988 } 15989 if (element.hasPatient()) { 15990 composeReference("patient", element.getPatient()); 15991 } 15992 if (element.hasEpisodeOfCare()) { 15993 for (Reference e : element.getEpisodeOfCare()) 15994 composeReference("episodeOfCare", e); 15995 } 15996 if (element.hasIncomingReferral()) { 15997 for (Reference e : element.getIncomingReferral()) 15998 composeReference("incomingReferral", e); 15999 } 16000 if (element.hasParticipant()) { 16001 for (Encounter.EncounterParticipantComponent e : element.getParticipant()) 16002 composeEncounterEncounterParticipantComponent("participant", e); 16003 } 16004 if (element.hasAppointment()) { 16005 composeReference("appointment", element.getAppointment()); 16006 } 16007 if (element.hasPeriod()) { 16008 composePeriod("period", element.getPeriod()); 16009 } 16010 if (element.hasLength()) { 16011 composeDuration("length", element.getLength()); 16012 } 16013 if (element.hasReason()) { 16014 for (CodeableConcept e : element.getReason()) 16015 composeCodeableConcept("reason", e); 16016 } 16017 if (element.hasIndication()) { 16018 for (Reference e : element.getIndication()) 16019 composeReference("indication", e); 16020 } 16021 if (element.hasHospitalization()) { 16022 composeEncounterEncounterHospitalizationComponent("hospitalization", element.getHospitalization()); 16023 } 16024 if (element.hasLocation()) { 16025 for (Encounter.EncounterLocationComponent e : element.getLocation()) 16026 composeEncounterEncounterLocationComponent("location", e); 16027 } 16028 if (element.hasServiceProvider()) { 16029 composeReference("serviceProvider", element.getServiceProvider()); 16030 } 16031 if (element.hasPartOf()) { 16032 composeReference("partOf", element.getPartOf()); 16033 } 16034 composeElementClose(element); 16035 xml.exit(FHIR_NS, name); 16036 } 16037 } 16038 16039 protected void composeEncounterEncounterStatusHistoryComponent(String name, Encounter.EncounterStatusHistoryComponent element) throws IOException { 16040 if (element != null) { 16041 composeElementAttributes(element); 16042 xml.enter(FHIR_NS, name); 16043 composeBackboneElements(element); 16044 if (element.hasStatusElement()) 16045 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterStateEnumFactory()); 16046 if (element.hasPeriod()) { 16047 composePeriod("period", element.getPeriod()); 16048 } 16049 composeElementClose(element); 16050 xml.exit(FHIR_NS, name); 16051 } 16052 } 16053 16054 protected void composeEncounterEncounterParticipantComponent(String name, Encounter.EncounterParticipantComponent element) throws IOException { 16055 if (element != null) { 16056 composeElementAttributes(element); 16057 xml.enter(FHIR_NS, name); 16058 composeBackboneElements(element); 16059 if (element.hasType()) { 16060 for (CodeableConcept e : element.getType()) 16061 composeCodeableConcept("type", e); 16062 } 16063 if (element.hasPeriod()) { 16064 composePeriod("period", element.getPeriod()); 16065 } 16066 if (element.hasIndividual()) { 16067 composeReference("individual", element.getIndividual()); 16068 } 16069 composeElementClose(element); 16070 xml.exit(FHIR_NS, name); 16071 } 16072 } 16073 16074 protected void composeEncounterEncounterHospitalizationComponent(String name, Encounter.EncounterHospitalizationComponent element) throws IOException { 16075 if (element != null) { 16076 composeElementAttributes(element); 16077 xml.enter(FHIR_NS, name); 16078 composeBackboneElements(element); 16079 if (element.hasPreAdmissionIdentifier()) { 16080 composeIdentifier("preAdmissionIdentifier", element.getPreAdmissionIdentifier()); 16081 } 16082 if (element.hasOrigin()) { 16083 composeReference("origin", element.getOrigin()); 16084 } 16085 if (element.hasAdmitSource()) { 16086 composeCodeableConcept("admitSource", element.getAdmitSource()); 16087 } 16088 if (element.hasAdmittingDiagnosis()) { 16089 for (Reference e : element.getAdmittingDiagnosis()) 16090 composeReference("admittingDiagnosis", e); 16091 } 16092 if (element.hasReAdmission()) { 16093 composeCodeableConcept("reAdmission", element.getReAdmission()); 16094 } 16095 if (element.hasDietPreference()) { 16096 for (CodeableConcept e : element.getDietPreference()) 16097 composeCodeableConcept("dietPreference", e); 16098 } 16099 if (element.hasSpecialCourtesy()) { 16100 for (CodeableConcept e : element.getSpecialCourtesy()) 16101 composeCodeableConcept("specialCourtesy", e); 16102 } 16103 if (element.hasSpecialArrangement()) { 16104 for (CodeableConcept e : element.getSpecialArrangement()) 16105 composeCodeableConcept("specialArrangement", e); 16106 } 16107 if (element.hasDestination()) { 16108 composeReference("destination", element.getDestination()); 16109 } 16110 if (element.hasDischargeDisposition()) { 16111 composeCodeableConcept("dischargeDisposition", element.getDischargeDisposition()); 16112 } 16113 if (element.hasDischargeDiagnosis()) { 16114 for (Reference e : element.getDischargeDiagnosis()) 16115 composeReference("dischargeDiagnosis", e); 16116 } 16117 composeElementClose(element); 16118 xml.exit(FHIR_NS, name); 16119 } 16120 } 16121 16122 protected void composeEncounterEncounterLocationComponent(String name, Encounter.EncounterLocationComponent element) throws IOException { 16123 if (element != null) { 16124 composeElementAttributes(element); 16125 xml.enter(FHIR_NS, name); 16126 composeBackboneElements(element); 16127 if (element.hasLocation()) { 16128 composeReference("location", element.getLocation()); 16129 } 16130 if (element.hasStatusElement()) 16131 composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterLocationStatusEnumFactory()); 16132 if (element.hasPeriod()) { 16133 composePeriod("period", element.getPeriod()); 16134 } 16135 composeElementClose(element); 16136 xml.exit(FHIR_NS, name); 16137 } 16138 } 16139 16140 protected void composeEnrollmentRequest(String name, EnrollmentRequest element) throws IOException { 16141 if (element != null) { 16142 composeDomainResourceAttributes(element); 16143 xml.enter(FHIR_NS, name); 16144 composeDomainResourceElements(element); 16145 if (element.hasIdentifier()) { 16146 for (Identifier e : element.getIdentifier()) 16147 composeIdentifier("identifier", e); 16148 } 16149 if (element.hasRuleset()) { 16150 composeCoding("ruleset", element.getRuleset()); 16151 } 16152 if (element.hasOriginalRuleset()) { 16153 composeCoding("originalRuleset", element.getOriginalRuleset()); 16154 } 16155 if (element.hasCreatedElement()) { 16156 composeDateTime("created", element.getCreatedElement()); 16157 } 16158 if (element.hasTarget()) { 16159 composeReference("target", element.getTarget()); 16160 } 16161 if (element.hasProvider()) { 16162 composeReference("provider", element.getProvider()); 16163 } 16164 if (element.hasOrganization()) { 16165 composeReference("organization", element.getOrganization()); 16166 } 16167 if (element.hasSubject()) { 16168 composeReference("subject", element.getSubject()); 16169 } 16170 if (element.hasCoverage()) { 16171 composeReference("coverage", element.getCoverage()); 16172 } 16173 if (element.hasRelationship()) { 16174 composeCoding("relationship", element.getRelationship()); 16175 } 16176 composeElementClose(element); 16177 xml.exit(FHIR_NS, name); 16178 } 16179 } 16180 16181 protected void composeEnrollmentResponse(String name, EnrollmentResponse 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.hasRequest()) { 16191 composeReference("request", element.getRequest()); 16192 } 16193 if (element.hasOutcomeElement()) 16194 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 16195 if (element.hasDispositionElement()) { 16196 composeString("disposition", element.getDispositionElement()); 16197 } 16198 if (element.hasRuleset()) { 16199 composeCoding("ruleset", element.getRuleset()); 16200 } 16201 if (element.hasOriginalRuleset()) { 16202 composeCoding("originalRuleset", element.getOriginalRuleset()); 16203 } 16204 if (element.hasCreatedElement()) { 16205 composeDateTime("created", element.getCreatedElement()); 16206 } 16207 if (element.hasOrganization()) { 16208 composeReference("organization", element.getOrganization()); 16209 } 16210 if (element.hasRequestProvider()) { 16211 composeReference("requestProvider", element.getRequestProvider()); 16212 } 16213 if (element.hasRequestOrganization()) { 16214 composeReference("requestOrganization", element.getRequestOrganization()); 16215 } 16216 composeElementClose(element); 16217 xml.exit(FHIR_NS, name); 16218 } 16219 } 16220 16221 protected void composeEpisodeOfCare(String name, EpisodeOfCare element) throws IOException { 16222 if (element != null) { 16223 composeDomainResourceAttributes(element); 16224 xml.enter(FHIR_NS, name); 16225 composeDomainResourceElements(element); 16226 if (element.hasIdentifier()) { 16227 for (Identifier e : element.getIdentifier()) 16228 composeIdentifier("identifier", e); 16229 } 16230 if (element.hasStatusElement()) 16231 composeEnumeration("status", element.getStatusElement(), new EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 16232 if (element.hasStatusHistory()) { 16233 for (EpisodeOfCare.EpisodeOfCareStatusHistoryComponent e : element.getStatusHistory()) 16234 composeEpisodeOfCareEpisodeOfCareStatusHistoryComponent("statusHistory", e); 16235 } 16236 if (element.hasType()) { 16237 for (CodeableConcept e : element.getType()) 16238 composeCodeableConcept("type", e); 16239 } 16240 if (element.hasCondition()) { 16241 for (Reference e : element.getCondition()) 16242 composeReference("condition", e); 16243 } 16244 if (element.hasPatient()) { 16245 composeReference("patient", element.getPatient()); 16246 } 16247 if (element.hasManagingOrganization()) { 16248 composeReference("managingOrganization", element.getManagingOrganization()); 16249 } 16250 if (element.hasPeriod()) { 16251 composePeriod("period", element.getPeriod()); 16252 } 16253 if (element.hasReferralRequest()) { 16254 for (Reference e : element.getReferralRequest()) 16255 composeReference("referralRequest", e); 16256 } 16257 if (element.hasCareManager()) { 16258 composeReference("careManager", element.getCareManager()); 16259 } 16260 if (element.hasCareTeam()) { 16261 for (EpisodeOfCare.EpisodeOfCareCareTeamComponent e : element.getCareTeam()) 16262 composeEpisodeOfCareEpisodeOfCareCareTeamComponent("careTeam", e); 16263 } 16264 composeElementClose(element); 16265 xml.exit(FHIR_NS, name); 16266 } 16267 } 16268 16269 protected void composeEpisodeOfCareEpisodeOfCareStatusHistoryComponent(String name, EpisodeOfCare.EpisodeOfCareStatusHistoryComponent element) throws IOException { 16270 if (element != null) { 16271 composeElementAttributes(element); 16272 xml.enter(FHIR_NS, name); 16273 composeBackboneElements(element); 16274 if (element.hasStatusElement()) 16275 composeEnumeration("status", element.getStatusElement(), new EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 16276 if (element.hasPeriod()) { 16277 composePeriod("period", element.getPeriod()); 16278 } 16279 composeElementClose(element); 16280 xml.exit(FHIR_NS, name); 16281 } 16282 } 16283 16284 protected void composeEpisodeOfCareEpisodeOfCareCareTeamComponent(String name, EpisodeOfCare.EpisodeOfCareCareTeamComponent element) throws IOException { 16285 if (element != null) { 16286 composeElementAttributes(element); 16287 xml.enter(FHIR_NS, name); 16288 composeBackboneElements(element); 16289 if (element.hasRole()) { 16290 for (CodeableConcept e : element.getRole()) 16291 composeCodeableConcept("role", e); 16292 } 16293 if (element.hasPeriod()) { 16294 composePeriod("period", element.getPeriod()); 16295 } 16296 if (element.hasMember()) { 16297 composeReference("member", element.getMember()); 16298 } 16299 composeElementClose(element); 16300 xml.exit(FHIR_NS, name); 16301 } 16302 } 16303 16304 protected void composeExplanationOfBenefit(String name, ExplanationOfBenefit element) throws IOException { 16305 if (element != null) { 16306 composeDomainResourceAttributes(element); 16307 xml.enter(FHIR_NS, name); 16308 composeDomainResourceElements(element); 16309 if (element.hasIdentifier()) { 16310 for (Identifier e : element.getIdentifier()) 16311 composeIdentifier("identifier", e); 16312 } 16313 if (element.hasRequest()) { 16314 composeReference("request", element.getRequest()); 16315 } 16316 if (element.hasOutcomeElement()) 16317 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 16318 if (element.hasDispositionElement()) { 16319 composeString("disposition", element.getDispositionElement()); 16320 } 16321 if (element.hasRuleset()) { 16322 composeCoding("ruleset", element.getRuleset()); 16323 } 16324 if (element.hasOriginalRuleset()) { 16325 composeCoding("originalRuleset", element.getOriginalRuleset()); 16326 } 16327 if (element.hasCreatedElement()) { 16328 composeDateTime("created", element.getCreatedElement()); 16329 } 16330 if (element.hasOrganization()) { 16331 composeReference("organization", element.getOrganization()); 16332 } 16333 if (element.hasRequestProvider()) { 16334 composeReference("requestProvider", element.getRequestProvider()); 16335 } 16336 if (element.hasRequestOrganization()) { 16337 composeReference("requestOrganization", element.getRequestOrganization()); 16338 } 16339 composeElementClose(element); 16340 xml.exit(FHIR_NS, name); 16341 } 16342 } 16343 16344 protected void composeFamilyMemberHistory(String name, FamilyMemberHistory element) throws IOException { 16345 if (element != null) { 16346 composeDomainResourceAttributes(element); 16347 xml.enter(FHIR_NS, name); 16348 composeDomainResourceElements(element); 16349 if (element.hasIdentifier()) { 16350 for (Identifier e : element.getIdentifier()) 16351 composeIdentifier("identifier", e); 16352 } 16353 if (element.hasPatient()) { 16354 composeReference("patient", element.getPatient()); 16355 } 16356 if (element.hasDateElement()) { 16357 composeDateTime("date", element.getDateElement()); 16358 } 16359 if (element.hasStatusElement()) 16360 composeEnumeration("status", element.getStatusElement(), new FamilyMemberHistory.FamilyHistoryStatusEnumFactory()); 16361 if (element.hasNameElement()) { 16362 composeString("name", element.getNameElement()); 16363 } 16364 if (element.hasRelationship()) { 16365 composeCodeableConcept("relationship", element.getRelationship()); 16366 } 16367 if (element.hasGenderElement()) 16368 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 16369 if (element.hasBorn()) { 16370 composeType("born", element.getBorn()); 16371 } if (element.hasAge()) { 16372 composeType("age", element.getAge()); 16373 } if (element.hasDeceased()) { 16374 composeType("deceased", element.getDeceased()); 16375 } if (element.hasNote()) { 16376 composeAnnotation("note", element.getNote()); 16377 } 16378 if (element.hasCondition()) { 16379 for (FamilyMemberHistory.FamilyMemberHistoryConditionComponent e : element.getCondition()) 16380 composeFamilyMemberHistoryFamilyMemberHistoryConditionComponent("condition", e); 16381 } 16382 composeElementClose(element); 16383 xml.exit(FHIR_NS, name); 16384 } 16385 } 16386 16387 protected void composeFamilyMemberHistoryFamilyMemberHistoryConditionComponent(String name, FamilyMemberHistory.FamilyMemberHistoryConditionComponent element) throws IOException { 16388 if (element != null) { 16389 composeElementAttributes(element); 16390 xml.enter(FHIR_NS, name); 16391 composeBackboneElements(element); 16392 if (element.hasCode()) { 16393 composeCodeableConcept("code", element.getCode()); 16394 } 16395 if (element.hasOutcome()) { 16396 composeCodeableConcept("outcome", element.getOutcome()); 16397 } 16398 if (element.hasOnset()) { 16399 composeType("onset", element.getOnset()); 16400 } if (element.hasNote()) { 16401 composeAnnotation("note", element.getNote()); 16402 } 16403 composeElementClose(element); 16404 xml.exit(FHIR_NS, name); 16405 } 16406 } 16407 16408 protected void composeFlag(String name, Flag element) throws IOException { 16409 if (element != null) { 16410 composeDomainResourceAttributes(element); 16411 xml.enter(FHIR_NS, name); 16412 composeDomainResourceElements(element); 16413 if (element.hasIdentifier()) { 16414 for (Identifier e : element.getIdentifier()) 16415 composeIdentifier("identifier", e); 16416 } 16417 if (element.hasCategory()) { 16418 composeCodeableConcept("category", element.getCategory()); 16419 } 16420 if (element.hasStatusElement()) 16421 composeEnumeration("status", element.getStatusElement(), new Flag.FlagStatusEnumFactory()); 16422 if (element.hasPeriod()) { 16423 composePeriod("period", element.getPeriod()); 16424 } 16425 if (element.hasSubject()) { 16426 composeReference("subject", element.getSubject()); 16427 } 16428 if (element.hasEncounter()) { 16429 composeReference("encounter", element.getEncounter()); 16430 } 16431 if (element.hasAuthor()) { 16432 composeReference("author", element.getAuthor()); 16433 } 16434 if (element.hasCode()) { 16435 composeCodeableConcept("code", element.getCode()); 16436 } 16437 composeElementClose(element); 16438 xml.exit(FHIR_NS, name); 16439 } 16440 } 16441 16442 protected void composeGoal(String name, Goal element) throws IOException { 16443 if (element != null) { 16444 composeDomainResourceAttributes(element); 16445 xml.enter(FHIR_NS, name); 16446 composeDomainResourceElements(element); 16447 if (element.hasIdentifier()) { 16448 for (Identifier e : element.getIdentifier()) 16449 composeIdentifier("identifier", e); 16450 } 16451 if (element.hasSubject()) { 16452 composeReference("subject", element.getSubject()); 16453 } 16454 if (element.hasStart()) { 16455 composeType("start", element.getStart()); 16456 } if (element.hasTarget()) { 16457 composeType("target", element.getTarget()); 16458 } if (element.hasCategory()) { 16459 for (CodeableConcept e : element.getCategory()) 16460 composeCodeableConcept("category", e); 16461 } 16462 if (element.hasDescriptionElement()) { 16463 composeString("description", element.getDescriptionElement()); 16464 } 16465 if (element.hasStatusElement()) 16466 composeEnumeration("status", element.getStatusElement(), new Goal.GoalStatusEnumFactory()); 16467 if (element.hasStatusDateElement()) { 16468 composeDate("statusDate", element.getStatusDateElement()); 16469 } 16470 if (element.hasStatusReason()) { 16471 composeCodeableConcept("statusReason", element.getStatusReason()); 16472 } 16473 if (element.hasAuthor()) { 16474 composeReference("author", element.getAuthor()); 16475 } 16476 if (element.hasPriority()) { 16477 composeCodeableConcept("priority", element.getPriority()); 16478 } 16479 if (element.hasAddresses()) { 16480 for (Reference e : element.getAddresses()) 16481 composeReference("addresses", e); 16482 } 16483 if (element.hasNote()) { 16484 for (Annotation e : element.getNote()) 16485 composeAnnotation("note", e); 16486 } 16487 if (element.hasOutcome()) { 16488 for (Goal.GoalOutcomeComponent e : element.getOutcome()) 16489 composeGoalGoalOutcomeComponent("outcome", e); 16490 } 16491 composeElementClose(element); 16492 xml.exit(FHIR_NS, name); 16493 } 16494 } 16495 16496 protected void composeGoalGoalOutcomeComponent(String name, Goal.GoalOutcomeComponent element) throws IOException { 16497 if (element != null) { 16498 composeElementAttributes(element); 16499 xml.enter(FHIR_NS, name); 16500 composeBackboneElements(element); 16501 if (element.hasResult()) { 16502 composeType("result", element.getResult()); 16503 } composeElementClose(element); 16504 xml.exit(FHIR_NS, name); 16505 } 16506 } 16507 16508 protected void composeGroup(String name, Group element) throws IOException { 16509 if (element != null) { 16510 composeDomainResourceAttributes(element); 16511 xml.enter(FHIR_NS, name); 16512 composeDomainResourceElements(element); 16513 if (element.hasIdentifier()) { 16514 for (Identifier e : element.getIdentifier()) 16515 composeIdentifier("identifier", e); 16516 } 16517 if (element.hasTypeElement()) 16518 composeEnumeration("type", element.getTypeElement(), new Group.GroupTypeEnumFactory()); 16519 if (element.hasActualElement()) { 16520 composeBoolean("actual", element.getActualElement()); 16521 } 16522 if (element.hasCode()) { 16523 composeCodeableConcept("code", element.getCode()); 16524 } 16525 if (element.hasNameElement()) { 16526 composeString("name", element.getNameElement()); 16527 } 16528 if (element.hasQuantityElement()) { 16529 composeUnsignedInt("quantity", element.getQuantityElement()); 16530 } 16531 if (element.hasCharacteristic()) { 16532 for (Group.GroupCharacteristicComponent e : element.getCharacteristic()) 16533 composeGroupGroupCharacteristicComponent("characteristic", e); 16534 } 16535 if (element.hasMember()) { 16536 for (Group.GroupMemberComponent e : element.getMember()) 16537 composeGroupGroupMemberComponent("member", e); 16538 } 16539 composeElementClose(element); 16540 xml.exit(FHIR_NS, name); 16541 } 16542 } 16543 16544 protected void composeGroupGroupCharacteristicComponent(String name, Group.GroupCharacteristicComponent element) throws IOException { 16545 if (element != null) { 16546 composeElementAttributes(element); 16547 xml.enter(FHIR_NS, name); 16548 composeBackboneElements(element); 16549 if (element.hasCode()) { 16550 composeCodeableConcept("code", element.getCode()); 16551 } 16552 if (element.hasValue()) { 16553 composeType("value", element.getValue()); 16554 } if (element.hasExcludeElement()) { 16555 composeBoolean("exclude", element.getExcludeElement()); 16556 } 16557 if (element.hasPeriod()) { 16558 composePeriod("period", element.getPeriod()); 16559 } 16560 composeElementClose(element); 16561 xml.exit(FHIR_NS, name); 16562 } 16563 } 16564 16565 protected void composeGroupGroupMemberComponent(String name, Group.GroupMemberComponent element) throws IOException { 16566 if (element != null) { 16567 composeElementAttributes(element); 16568 xml.enter(FHIR_NS, name); 16569 composeBackboneElements(element); 16570 if (element.hasEntity()) { 16571 composeReference("entity", element.getEntity()); 16572 } 16573 if (element.hasPeriod()) { 16574 composePeriod("period", element.getPeriod()); 16575 } 16576 if (element.hasInactiveElement()) { 16577 composeBoolean("inactive", element.getInactiveElement()); 16578 } 16579 composeElementClose(element); 16580 xml.exit(FHIR_NS, name); 16581 } 16582 } 16583 16584 protected void composeHealthcareService(String name, HealthcareService element) throws IOException { 16585 if (element != null) { 16586 composeDomainResourceAttributes(element); 16587 xml.enter(FHIR_NS, name); 16588 composeDomainResourceElements(element); 16589 if (element.hasIdentifier()) { 16590 for (Identifier e : element.getIdentifier()) 16591 composeIdentifier("identifier", e); 16592 } 16593 if (element.hasProvidedBy()) { 16594 composeReference("providedBy", element.getProvidedBy()); 16595 } 16596 if (element.hasServiceCategory()) { 16597 composeCodeableConcept("serviceCategory", element.getServiceCategory()); 16598 } 16599 if (element.hasServiceType()) { 16600 for (HealthcareService.ServiceTypeComponent e : element.getServiceType()) 16601 composeHealthcareServiceServiceTypeComponent("serviceType", e); 16602 } 16603 if (element.hasLocation()) { 16604 composeReference("location", element.getLocation()); 16605 } 16606 if (element.hasServiceNameElement()) { 16607 composeString("serviceName", element.getServiceNameElement()); 16608 } 16609 if (element.hasCommentElement()) { 16610 composeString("comment", element.getCommentElement()); 16611 } 16612 if (element.hasExtraDetailsElement()) { 16613 composeString("extraDetails", element.getExtraDetailsElement()); 16614 } 16615 if (element.hasPhoto()) { 16616 composeAttachment("photo", element.getPhoto()); 16617 } 16618 if (element.hasTelecom()) { 16619 for (ContactPoint e : element.getTelecom()) 16620 composeContactPoint("telecom", e); 16621 } 16622 if (element.hasCoverageArea()) { 16623 for (Reference e : element.getCoverageArea()) 16624 composeReference("coverageArea", e); 16625 } 16626 if (element.hasServiceProvisionCode()) { 16627 for (CodeableConcept e : element.getServiceProvisionCode()) 16628 composeCodeableConcept("serviceProvisionCode", e); 16629 } 16630 if (element.hasEligibility()) { 16631 composeCodeableConcept("eligibility", element.getEligibility()); 16632 } 16633 if (element.hasEligibilityNoteElement()) { 16634 composeString("eligibilityNote", element.getEligibilityNoteElement()); 16635 } 16636 if (element.hasProgramName()) { 16637 for (StringType e : element.getProgramName()) 16638 composeString("programName", e); 16639 } 16640 if (element.hasCharacteristic()) { 16641 for (CodeableConcept e : element.getCharacteristic()) 16642 composeCodeableConcept("characteristic", e); 16643 } 16644 if (element.hasReferralMethod()) { 16645 for (CodeableConcept e : element.getReferralMethod()) 16646 composeCodeableConcept("referralMethod", e); 16647 } 16648 if (element.hasPublicKeyElement()) { 16649 composeString("publicKey", element.getPublicKeyElement()); 16650 } 16651 if (element.hasAppointmentRequiredElement()) { 16652 composeBoolean("appointmentRequired", element.getAppointmentRequiredElement()); 16653 } 16654 if (element.hasAvailableTime()) { 16655 for (HealthcareService.HealthcareServiceAvailableTimeComponent e : element.getAvailableTime()) 16656 composeHealthcareServiceHealthcareServiceAvailableTimeComponent("availableTime", e); 16657 } 16658 if (element.hasNotAvailable()) { 16659 for (HealthcareService.HealthcareServiceNotAvailableComponent e : element.getNotAvailable()) 16660 composeHealthcareServiceHealthcareServiceNotAvailableComponent("notAvailable", e); 16661 } 16662 if (element.hasAvailabilityExceptionsElement()) { 16663 composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); 16664 } 16665 composeElementClose(element); 16666 xml.exit(FHIR_NS, name); 16667 } 16668 } 16669 16670 protected void composeHealthcareServiceServiceTypeComponent(String name, HealthcareService.ServiceTypeComponent element) throws IOException { 16671 if (element != null) { 16672 composeElementAttributes(element); 16673 xml.enter(FHIR_NS, name); 16674 composeBackboneElements(element); 16675 if (element.hasType()) { 16676 composeCodeableConcept("type", element.getType()); 16677 } 16678 if (element.hasSpecialty()) { 16679 for (CodeableConcept e : element.getSpecialty()) 16680 composeCodeableConcept("specialty", e); 16681 } 16682 composeElementClose(element); 16683 xml.exit(FHIR_NS, name); 16684 } 16685 } 16686 16687 protected void composeHealthcareServiceHealthcareServiceAvailableTimeComponent(String name, HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { 16688 if (element != null) { 16689 composeElementAttributes(element); 16690 xml.enter(FHIR_NS, name); 16691 composeBackboneElements(element); 16692 if (element.hasDaysOfWeek()) 16693 for (Enumeration<HealthcareService.DaysOfWeek> e : element.getDaysOfWeek()) 16694 composeEnumeration("daysOfWeek", e, new HealthcareService.DaysOfWeekEnumFactory()); 16695 if (element.hasAllDayElement()) { 16696 composeBoolean("allDay", element.getAllDayElement()); 16697 } 16698 if (element.hasAvailableStartTimeElement()) { 16699 composeTime("availableStartTime", element.getAvailableStartTimeElement()); 16700 } 16701 if (element.hasAvailableEndTimeElement()) { 16702 composeTime("availableEndTime", element.getAvailableEndTimeElement()); 16703 } 16704 composeElementClose(element); 16705 xml.exit(FHIR_NS, name); 16706 } 16707 } 16708 16709 protected void composeHealthcareServiceHealthcareServiceNotAvailableComponent(String name, HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { 16710 if (element != null) { 16711 composeElementAttributes(element); 16712 xml.enter(FHIR_NS, name); 16713 composeBackboneElements(element); 16714 if (element.hasDescriptionElement()) { 16715 composeString("description", element.getDescriptionElement()); 16716 } 16717 if (element.hasDuring()) { 16718 composePeriod("during", element.getDuring()); 16719 } 16720 composeElementClose(element); 16721 xml.exit(FHIR_NS, name); 16722 } 16723 } 16724 16725 protected void composeImagingObjectSelection(String name, ImagingObjectSelection element) throws IOException { 16726 if (element != null) { 16727 composeDomainResourceAttributes(element); 16728 xml.enter(FHIR_NS, name); 16729 composeDomainResourceElements(element); 16730 if (element.hasUidElement()) { 16731 composeOid("uid", element.getUidElement()); 16732 } 16733 if (element.hasPatient()) { 16734 composeReference("patient", element.getPatient()); 16735 } 16736 if (element.hasTitle()) { 16737 composeCodeableConcept("title", element.getTitle()); 16738 } 16739 if (element.hasDescriptionElement()) { 16740 composeString("description", element.getDescriptionElement()); 16741 } 16742 if (element.hasAuthor()) { 16743 composeReference("author", element.getAuthor()); 16744 } 16745 if (element.hasAuthoringTimeElement()) { 16746 composeDateTime("authoringTime", element.getAuthoringTimeElement()); 16747 } 16748 if (element.hasStudy()) { 16749 for (ImagingObjectSelection.StudyComponent e : element.getStudy()) 16750 composeImagingObjectSelectionStudyComponent("study", e); 16751 } 16752 composeElementClose(element); 16753 xml.exit(FHIR_NS, name); 16754 } 16755 } 16756 16757 protected void composeImagingObjectSelectionStudyComponent(String name, ImagingObjectSelection.StudyComponent element) throws IOException { 16758 if (element != null) { 16759 composeElementAttributes(element); 16760 xml.enter(FHIR_NS, name); 16761 composeBackboneElements(element); 16762 if (element.hasUidElement()) { 16763 composeOid("uid", element.getUidElement()); 16764 } 16765 if (element.hasUrlElement()) { 16766 composeUri("url", element.getUrlElement()); 16767 } 16768 if (element.hasImagingStudy()) { 16769 composeReference("imagingStudy", element.getImagingStudy()); 16770 } 16771 if (element.hasSeries()) { 16772 for (ImagingObjectSelection.SeriesComponent e : element.getSeries()) 16773 composeImagingObjectSelectionSeriesComponent("series", e); 16774 } 16775 composeElementClose(element); 16776 xml.exit(FHIR_NS, name); 16777 } 16778 } 16779 16780 protected void composeImagingObjectSelectionSeriesComponent(String name, ImagingObjectSelection.SeriesComponent element) throws IOException { 16781 if (element != null) { 16782 composeElementAttributes(element); 16783 xml.enter(FHIR_NS, name); 16784 composeBackboneElements(element); 16785 if (element.hasUidElement()) { 16786 composeOid("uid", element.getUidElement()); 16787 } 16788 if (element.hasUrlElement()) { 16789 composeUri("url", element.getUrlElement()); 16790 } 16791 if (element.hasInstance()) { 16792 for (ImagingObjectSelection.InstanceComponent e : element.getInstance()) 16793 composeImagingObjectSelectionInstanceComponent("instance", e); 16794 } 16795 composeElementClose(element); 16796 xml.exit(FHIR_NS, name); 16797 } 16798 } 16799 16800 protected void composeImagingObjectSelectionInstanceComponent(String name, ImagingObjectSelection.InstanceComponent element) throws IOException { 16801 if (element != null) { 16802 composeElementAttributes(element); 16803 xml.enter(FHIR_NS, name); 16804 composeBackboneElements(element); 16805 if (element.hasSopClassElement()) { 16806 composeOid("sopClass", element.getSopClassElement()); 16807 } 16808 if (element.hasUidElement()) { 16809 composeOid("uid", element.getUidElement()); 16810 } 16811 if (element.hasUrlElement()) { 16812 composeUri("url", element.getUrlElement()); 16813 } 16814 if (element.hasFrames()) { 16815 for (ImagingObjectSelection.FramesComponent e : element.getFrames()) 16816 composeImagingObjectSelectionFramesComponent("frames", e); 16817 } 16818 composeElementClose(element); 16819 xml.exit(FHIR_NS, name); 16820 } 16821 } 16822 16823 protected void composeImagingObjectSelectionFramesComponent(String name, ImagingObjectSelection.FramesComponent element) throws IOException { 16824 if (element != null) { 16825 composeElementAttributes(element); 16826 xml.enter(FHIR_NS, name); 16827 composeBackboneElements(element); 16828 if (element.hasFrameNumbers()) { 16829 for (UnsignedIntType e : element.getFrameNumbers()) 16830 composeUnsignedInt("frameNumbers", e); 16831 } 16832 if (element.hasUrlElement()) { 16833 composeUri("url", element.getUrlElement()); 16834 } 16835 composeElementClose(element); 16836 xml.exit(FHIR_NS, name); 16837 } 16838 } 16839 16840 protected void composeImagingStudy(String name, ImagingStudy element) throws IOException { 16841 if (element != null) { 16842 composeDomainResourceAttributes(element); 16843 xml.enter(FHIR_NS, name); 16844 composeDomainResourceElements(element); 16845 if (element.hasStartedElement()) { 16846 composeDateTime("started", element.getStartedElement()); 16847 } 16848 if (element.hasPatient()) { 16849 composeReference("patient", element.getPatient()); 16850 } 16851 if (element.hasUidElement()) { 16852 composeOid("uid", element.getUidElement()); 16853 } 16854 if (element.hasAccession()) { 16855 composeIdentifier("accession", element.getAccession()); 16856 } 16857 if (element.hasIdentifier()) { 16858 for (Identifier e : element.getIdentifier()) 16859 composeIdentifier("identifier", e); 16860 } 16861 if (element.hasOrder()) { 16862 for (Reference e : element.getOrder()) 16863 composeReference("order", e); 16864 } 16865 if (element.hasModalityList()) { 16866 for (Coding e : element.getModalityList()) 16867 composeCoding("modalityList", e); 16868 } 16869 if (element.hasReferrer()) { 16870 composeReference("referrer", element.getReferrer()); 16871 } 16872 if (element.hasAvailabilityElement()) 16873 composeEnumeration("availability", element.getAvailabilityElement(), new ImagingStudy.InstanceAvailabilityEnumFactory()); 16874 if (element.hasUrlElement()) { 16875 composeUri("url", element.getUrlElement()); 16876 } 16877 if (element.hasNumberOfSeriesElement()) { 16878 composeUnsignedInt("numberOfSeries", element.getNumberOfSeriesElement()); 16879 } 16880 if (element.hasNumberOfInstancesElement()) { 16881 composeUnsignedInt("numberOfInstances", element.getNumberOfInstancesElement()); 16882 } 16883 if (element.hasProcedure()) { 16884 for (Reference e : element.getProcedure()) 16885 composeReference("procedure", e); 16886 } 16887 if (element.hasInterpreter()) { 16888 composeReference("interpreter", element.getInterpreter()); 16889 } 16890 if (element.hasDescriptionElement()) { 16891 composeString("description", element.getDescriptionElement()); 16892 } 16893 if (element.hasSeries()) { 16894 for (ImagingStudy.ImagingStudySeriesComponent e : element.getSeries()) 16895 composeImagingStudyImagingStudySeriesComponent("series", e); 16896 } 16897 composeElementClose(element); 16898 xml.exit(FHIR_NS, name); 16899 } 16900 } 16901 16902 protected void composeImagingStudyImagingStudySeriesComponent(String name, ImagingStudy.ImagingStudySeriesComponent element) throws IOException { 16903 if (element != null) { 16904 composeElementAttributes(element); 16905 xml.enter(FHIR_NS, name); 16906 composeBackboneElements(element); 16907 if (element.hasNumberElement()) { 16908 composeUnsignedInt("number", element.getNumberElement()); 16909 } 16910 if (element.hasModality()) { 16911 composeCoding("modality", element.getModality()); 16912 } 16913 if (element.hasUidElement()) { 16914 composeOid("uid", element.getUidElement()); 16915 } 16916 if (element.hasDescriptionElement()) { 16917 composeString("description", element.getDescriptionElement()); 16918 } 16919 if (element.hasNumberOfInstancesElement()) { 16920 composeUnsignedInt("numberOfInstances", element.getNumberOfInstancesElement()); 16921 } 16922 if (element.hasAvailabilityElement()) 16923 composeEnumeration("availability", element.getAvailabilityElement(), new ImagingStudy.InstanceAvailabilityEnumFactory()); 16924 if (element.hasUrlElement()) { 16925 composeUri("url", element.getUrlElement()); 16926 } 16927 if (element.hasBodySite()) { 16928 composeCoding("bodySite", element.getBodySite()); 16929 } 16930 if (element.hasLaterality()) { 16931 composeCoding("laterality", element.getLaterality()); 16932 } 16933 if (element.hasStartedElement()) { 16934 composeDateTime("started", element.getStartedElement()); 16935 } 16936 if (element.hasInstance()) { 16937 for (ImagingStudy.ImagingStudySeriesInstanceComponent e : element.getInstance()) 16938 composeImagingStudyImagingStudySeriesInstanceComponent("instance", e); 16939 } 16940 composeElementClose(element); 16941 xml.exit(FHIR_NS, name); 16942 } 16943 } 16944 16945 protected void composeImagingStudyImagingStudySeriesInstanceComponent(String name, ImagingStudy.ImagingStudySeriesInstanceComponent element) throws IOException { 16946 if (element != null) { 16947 composeElementAttributes(element); 16948 xml.enter(FHIR_NS, name); 16949 composeBackboneElements(element); 16950 if (element.hasNumberElement()) { 16951 composeUnsignedInt("number", element.getNumberElement()); 16952 } 16953 if (element.hasUidElement()) { 16954 composeOid("uid", element.getUidElement()); 16955 } 16956 if (element.hasSopClassElement()) { 16957 composeOid("sopClass", element.getSopClassElement()); 16958 } 16959 if (element.hasTypeElement()) { 16960 composeString("type", element.getTypeElement()); 16961 } 16962 if (element.hasTitleElement()) { 16963 composeString("title", element.getTitleElement()); 16964 } 16965 if (element.hasContent()) { 16966 for (Attachment e : element.getContent()) 16967 composeAttachment("content", e); 16968 } 16969 composeElementClose(element); 16970 xml.exit(FHIR_NS, name); 16971 } 16972 } 16973 16974 protected void composeImmunization(String name, Immunization element) throws IOException { 16975 if (element != null) { 16976 composeDomainResourceAttributes(element); 16977 xml.enter(FHIR_NS, name); 16978 composeDomainResourceElements(element); 16979 if (element.hasIdentifier()) { 16980 for (Identifier e : element.getIdentifier()) 16981 composeIdentifier("identifier", e); 16982 } 16983 if (element.hasStatusElement()) { 16984 composeCode("status", element.getStatusElement()); 16985 } 16986 if (element.hasDateElement()) { 16987 composeDateTime("date", element.getDateElement()); 16988 } 16989 if (element.hasVaccineCode()) { 16990 composeCodeableConcept("vaccineCode", element.getVaccineCode()); 16991 } 16992 if (element.hasPatient()) { 16993 composeReference("patient", element.getPatient()); 16994 } 16995 if (element.hasWasNotGivenElement()) { 16996 composeBoolean("wasNotGiven", element.getWasNotGivenElement()); 16997 } 16998 if (element.hasReportedElement()) { 16999 composeBoolean("reported", element.getReportedElement()); 17000 } 17001 if (element.hasPerformer()) { 17002 composeReference("performer", element.getPerformer()); 17003 } 17004 if (element.hasRequester()) { 17005 composeReference("requester", element.getRequester()); 17006 } 17007 if (element.hasEncounter()) { 17008 composeReference("encounter", element.getEncounter()); 17009 } 17010 if (element.hasManufacturer()) { 17011 composeReference("manufacturer", element.getManufacturer()); 17012 } 17013 if (element.hasLocation()) { 17014 composeReference("location", element.getLocation()); 17015 } 17016 if (element.hasLotNumberElement()) { 17017 composeString("lotNumber", element.getLotNumberElement()); 17018 } 17019 if (element.hasExpirationDateElement()) { 17020 composeDate("expirationDate", element.getExpirationDateElement()); 17021 } 17022 if (element.hasSite()) { 17023 composeCodeableConcept("site", element.getSite()); 17024 } 17025 if (element.hasRoute()) { 17026 composeCodeableConcept("route", element.getRoute()); 17027 } 17028 if (element.hasDoseQuantity()) { 17029 composeSimpleQuantity("doseQuantity", element.getDoseQuantity()); 17030 } 17031 if (element.hasNote()) { 17032 for (Annotation e : element.getNote()) 17033 composeAnnotation("note", e); 17034 } 17035 if (element.hasExplanation()) { 17036 composeImmunizationImmunizationExplanationComponent("explanation", element.getExplanation()); 17037 } 17038 if (element.hasReaction()) { 17039 for (Immunization.ImmunizationReactionComponent e : element.getReaction()) 17040 composeImmunizationImmunizationReactionComponent("reaction", e); 17041 } 17042 if (element.hasVaccinationProtocol()) { 17043 for (Immunization.ImmunizationVaccinationProtocolComponent e : element.getVaccinationProtocol()) 17044 composeImmunizationImmunizationVaccinationProtocolComponent("vaccinationProtocol", e); 17045 } 17046 composeElementClose(element); 17047 xml.exit(FHIR_NS, name); 17048 } 17049 } 17050 17051 protected void composeImmunizationImmunizationExplanationComponent(String name, Immunization.ImmunizationExplanationComponent element) throws IOException { 17052 if (element != null) { 17053 composeElementAttributes(element); 17054 xml.enter(FHIR_NS, name); 17055 composeBackboneElements(element); 17056 if (element.hasReason()) { 17057 for (CodeableConcept e : element.getReason()) 17058 composeCodeableConcept("reason", e); 17059 } 17060 if (element.hasReasonNotGiven()) { 17061 for (CodeableConcept e : element.getReasonNotGiven()) 17062 composeCodeableConcept("reasonNotGiven", e); 17063 } 17064 composeElementClose(element); 17065 xml.exit(FHIR_NS, name); 17066 } 17067 } 17068 17069 protected void composeImmunizationImmunizationReactionComponent(String name, Immunization.ImmunizationReactionComponent element) throws IOException { 17070 if (element != null) { 17071 composeElementAttributes(element); 17072 xml.enter(FHIR_NS, name); 17073 composeBackboneElements(element); 17074 if (element.hasDateElement()) { 17075 composeDateTime("date", element.getDateElement()); 17076 } 17077 if (element.hasDetail()) { 17078 composeReference("detail", element.getDetail()); 17079 } 17080 if (element.hasReportedElement()) { 17081 composeBoolean("reported", element.getReportedElement()); 17082 } 17083 composeElementClose(element); 17084 xml.exit(FHIR_NS, name); 17085 } 17086 } 17087 17088 protected void composeImmunizationImmunizationVaccinationProtocolComponent(String name, Immunization.ImmunizationVaccinationProtocolComponent element) throws IOException { 17089 if (element != null) { 17090 composeElementAttributes(element); 17091 xml.enter(FHIR_NS, name); 17092 composeBackboneElements(element); 17093 if (element.hasDoseSequenceElement()) { 17094 composePositiveInt("doseSequence", element.getDoseSequenceElement()); 17095 } 17096 if (element.hasDescriptionElement()) { 17097 composeString("description", element.getDescriptionElement()); 17098 } 17099 if (element.hasAuthority()) { 17100 composeReference("authority", element.getAuthority()); 17101 } 17102 if (element.hasSeriesElement()) { 17103 composeString("series", element.getSeriesElement()); 17104 } 17105 if (element.hasSeriesDosesElement()) { 17106 composePositiveInt("seriesDoses", element.getSeriesDosesElement()); 17107 } 17108 if (element.hasTargetDisease()) { 17109 for (CodeableConcept e : element.getTargetDisease()) 17110 composeCodeableConcept("targetDisease", e); 17111 } 17112 if (element.hasDoseStatus()) { 17113 composeCodeableConcept("doseStatus", element.getDoseStatus()); 17114 } 17115 if (element.hasDoseStatusReason()) { 17116 composeCodeableConcept("doseStatusReason", element.getDoseStatusReason()); 17117 } 17118 composeElementClose(element); 17119 xml.exit(FHIR_NS, name); 17120 } 17121 } 17122 17123 protected void composeImmunizationRecommendation(String name, ImmunizationRecommendation element) throws IOException { 17124 if (element != null) { 17125 composeDomainResourceAttributes(element); 17126 xml.enter(FHIR_NS, name); 17127 composeDomainResourceElements(element); 17128 if (element.hasIdentifier()) { 17129 for (Identifier e : element.getIdentifier()) 17130 composeIdentifier("identifier", e); 17131 } 17132 if (element.hasPatient()) { 17133 composeReference("patient", element.getPatient()); 17134 } 17135 if (element.hasRecommendation()) { 17136 for (ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent e : element.getRecommendation()) 17137 composeImmunizationRecommendationImmunizationRecommendationRecommendationComponent("recommendation", e); 17138 } 17139 composeElementClose(element); 17140 xml.exit(FHIR_NS, name); 17141 } 17142 } 17143 17144 protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationComponent(String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element) throws IOException { 17145 if (element != null) { 17146 composeElementAttributes(element); 17147 xml.enter(FHIR_NS, name); 17148 composeBackboneElements(element); 17149 if (element.hasDateElement()) { 17150 composeDateTime("date", element.getDateElement()); 17151 } 17152 if (element.hasVaccineCode()) { 17153 composeCodeableConcept("vaccineCode", element.getVaccineCode()); 17154 } 17155 if (element.hasDoseNumberElement()) { 17156 composePositiveInt("doseNumber", element.getDoseNumberElement()); 17157 } 17158 if (element.hasForecastStatus()) { 17159 composeCodeableConcept("forecastStatus", element.getForecastStatus()); 17160 } 17161 if (element.hasDateCriterion()) { 17162 for (ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent e : element.getDateCriterion()) 17163 composeImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent("dateCriterion", e); 17164 } 17165 if (element.hasProtocol()) { 17166 composeImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent("protocol", element.getProtocol()); 17167 } 17168 if (element.hasSupportingImmunization()) { 17169 for (Reference e : element.getSupportingImmunization()) 17170 composeReference("supportingImmunization", e); 17171 } 17172 if (element.hasSupportingPatientInformation()) { 17173 for (Reference e : element.getSupportingPatientInformation()) 17174 composeReference("supportingPatientInformation", e); 17175 } 17176 composeElementClose(element); 17177 xml.exit(FHIR_NS, name); 17178 } 17179 } 17180 17181 protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent(String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationDateCriterionComponent element) throws IOException { 17182 if (element != null) { 17183 composeElementAttributes(element); 17184 xml.enter(FHIR_NS, name); 17185 composeBackboneElements(element); 17186 if (element.hasCode()) { 17187 composeCodeableConcept("code", element.getCode()); 17188 } 17189 if (element.hasValueElement()) { 17190 composeDateTime("value", element.getValueElement()); 17191 } 17192 composeElementClose(element); 17193 xml.exit(FHIR_NS, name); 17194 } 17195 } 17196 17197 protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationProtocolComponent(String name, ImmunizationRecommendation.ImmunizationRecommendationRecommendationProtocolComponent element) throws IOException { 17198 if (element != null) { 17199 composeElementAttributes(element); 17200 xml.enter(FHIR_NS, name); 17201 composeBackboneElements(element); 17202 if (element.hasDoseSequenceElement()) { 17203 composeInteger("doseSequence", element.getDoseSequenceElement()); 17204 } 17205 if (element.hasDescriptionElement()) { 17206 composeString("description", element.getDescriptionElement()); 17207 } 17208 if (element.hasAuthority()) { 17209 composeReference("authority", element.getAuthority()); 17210 } 17211 if (element.hasSeriesElement()) { 17212 composeString("series", element.getSeriesElement()); 17213 } 17214 composeElementClose(element); 17215 xml.exit(FHIR_NS, name); 17216 } 17217 } 17218 17219 protected void composeImplementationGuide(String name, ImplementationGuide element) throws IOException { 17220 if (element != null) { 17221 composeDomainResourceAttributes(element); 17222 xml.enter(FHIR_NS, name); 17223 composeDomainResourceElements(element); 17224 if (element.hasUrlElement()) { 17225 composeUri("url", element.getUrlElement()); 17226 } 17227 if (element.hasVersionElement()) { 17228 composeString("version", element.getVersionElement()); 17229 } 17230 if (element.hasNameElement()) { 17231 composeString("name", element.getNameElement()); 17232 } 17233 if (element.hasStatusElement()) 17234 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 17235 if (element.hasExperimentalElement()) { 17236 composeBoolean("experimental", element.getExperimentalElement()); 17237 } 17238 if (element.hasPublisherElement()) { 17239 composeString("publisher", element.getPublisherElement()); 17240 } 17241 if (element.hasContact()) { 17242 for (ImplementationGuide.ImplementationGuideContactComponent e : element.getContact()) 17243 composeImplementationGuideImplementationGuideContactComponent("contact", e); 17244 } 17245 if (element.hasDateElement()) { 17246 composeDateTime("date", element.getDateElement()); 17247 } 17248 if (element.hasDescriptionElement()) { 17249 composeString("description", element.getDescriptionElement()); 17250 } 17251 if (element.hasUseContext()) { 17252 for (CodeableConcept e : element.getUseContext()) 17253 composeCodeableConcept("useContext", e); 17254 } 17255 if (element.hasCopyrightElement()) { 17256 composeString("copyright", element.getCopyrightElement()); 17257 } 17258 if (element.hasFhirVersionElement()) { 17259 composeId("fhirVersion", element.getFhirVersionElement()); 17260 } 17261 if (element.hasDependency()) { 17262 for (ImplementationGuide.ImplementationGuideDependencyComponent e : element.getDependency()) 17263 composeImplementationGuideImplementationGuideDependencyComponent("dependency", e); 17264 } 17265 if (element.hasPackage()) { 17266 for (ImplementationGuide.ImplementationGuidePackageComponent e : element.getPackage()) 17267 composeImplementationGuideImplementationGuidePackageComponent("package", e); 17268 } 17269 if (element.hasGlobal()) { 17270 for (ImplementationGuide.ImplementationGuideGlobalComponent e : element.getGlobal()) 17271 composeImplementationGuideImplementationGuideGlobalComponent("global", e); 17272 } 17273 if (element.hasBinary()) { 17274 for (UriType e : element.getBinary()) 17275 composeUri("binary", e); 17276 } 17277 if (element.hasPage()) { 17278 composeImplementationGuideImplementationGuidePageComponent("page", element.getPage()); 17279 } 17280 composeElementClose(element); 17281 xml.exit(FHIR_NS, name); 17282 } 17283 } 17284 17285 protected void composeImplementationGuideImplementationGuideContactComponent(String name, ImplementationGuide.ImplementationGuideContactComponent element) throws IOException { 17286 if (element != null) { 17287 composeElementAttributes(element); 17288 xml.enter(FHIR_NS, name); 17289 composeBackboneElements(element); 17290 if (element.hasNameElement()) { 17291 composeString("name", element.getNameElement()); 17292 } 17293 if (element.hasTelecom()) { 17294 for (ContactPoint e : element.getTelecom()) 17295 composeContactPoint("telecom", e); 17296 } 17297 composeElementClose(element); 17298 xml.exit(FHIR_NS, name); 17299 } 17300 } 17301 17302 protected void composeImplementationGuideImplementationGuideDependencyComponent(String name, ImplementationGuide.ImplementationGuideDependencyComponent element) throws IOException { 17303 if (element != null) { 17304 composeElementAttributes(element); 17305 xml.enter(FHIR_NS, name); 17306 composeBackboneElements(element); 17307 if (element.hasTypeElement()) 17308 composeEnumeration("type", element.getTypeElement(), new ImplementationGuide.GuideDependencyTypeEnumFactory()); 17309 if (element.hasUriElement()) { 17310 composeUri("uri", element.getUriElement()); 17311 } 17312 composeElementClose(element); 17313 xml.exit(FHIR_NS, name); 17314 } 17315 } 17316 17317 protected void composeImplementationGuideImplementationGuidePackageComponent(String name, ImplementationGuide.ImplementationGuidePackageComponent element) throws IOException { 17318 if (element != null) { 17319 composeElementAttributes(element); 17320 xml.enter(FHIR_NS, name); 17321 composeBackboneElements(element); 17322 if (element.hasNameElement()) { 17323 composeString("name", element.getNameElement()); 17324 } 17325 if (element.hasDescriptionElement()) { 17326 composeString("description", element.getDescriptionElement()); 17327 } 17328 if (element.hasResource()) { 17329 for (ImplementationGuide.ImplementationGuidePackageResourceComponent e : element.getResource()) 17330 composeImplementationGuideImplementationGuidePackageResourceComponent("resource", e); 17331 } 17332 composeElementClose(element); 17333 xml.exit(FHIR_NS, name); 17334 } 17335 } 17336 17337 protected void composeImplementationGuideImplementationGuidePackageResourceComponent(String name, ImplementationGuide.ImplementationGuidePackageResourceComponent element) throws IOException { 17338 if (element != null) { 17339 composeElementAttributes(element); 17340 xml.enter(FHIR_NS, name); 17341 composeBackboneElements(element); 17342 if (element.hasPurposeElement()) 17343 composeEnumeration("purpose", element.getPurposeElement(), new ImplementationGuide.GuideResourcePurposeEnumFactory()); 17344 if (element.hasNameElement()) { 17345 composeString("name", element.getNameElement()); 17346 } 17347 if (element.hasDescriptionElement()) { 17348 composeString("description", element.getDescriptionElement()); 17349 } 17350 if (element.hasAcronymElement()) { 17351 composeString("acronym", element.getAcronymElement()); 17352 } 17353 if (element.hasSource()) { 17354 composeType("source", element.getSource()); 17355 } if (element.hasExampleFor()) { 17356 composeReference("exampleFor", element.getExampleFor()); 17357 } 17358 composeElementClose(element); 17359 xml.exit(FHIR_NS, name); 17360 } 17361 } 17362 17363 protected void composeImplementationGuideImplementationGuideGlobalComponent(String name, ImplementationGuide.ImplementationGuideGlobalComponent element) throws IOException { 17364 if (element != null) { 17365 composeElementAttributes(element); 17366 xml.enter(FHIR_NS, name); 17367 composeBackboneElements(element); 17368 if (element.hasTypeElement()) { 17369 composeCode("type", element.getTypeElement()); 17370 } 17371 if (element.hasProfile()) { 17372 composeReference("profile", element.getProfile()); 17373 } 17374 composeElementClose(element); 17375 xml.exit(FHIR_NS, name); 17376 } 17377 } 17378 17379 protected void composeImplementationGuideImplementationGuidePageComponent(String name, ImplementationGuide.ImplementationGuidePageComponent element) throws IOException { 17380 if (element != null) { 17381 composeElementAttributes(element); 17382 xml.enter(FHIR_NS, name); 17383 composeBackboneElements(element); 17384 if (element.hasSourceElement()) { 17385 composeUri("source", element.getSourceElement()); 17386 } 17387 if (element.hasNameElement()) { 17388 composeString("name", element.getNameElement()); 17389 } 17390 if (element.hasKindElement()) 17391 composeEnumeration("kind", element.getKindElement(), new ImplementationGuide.GuidePageKindEnumFactory()); 17392 if (element.hasType()) { 17393 for (CodeType e : element.getType()) 17394 composeCode("type", e); 17395 } 17396 if (element.hasPackage()) { 17397 for (StringType e : element.getPackage()) 17398 composeString("package", e); 17399 } 17400 if (element.hasFormatElement()) { 17401 composeCode("format", element.getFormatElement()); 17402 } 17403 if (element.hasPage()) { 17404 for (ImplementationGuide.ImplementationGuidePageComponent e : element.getPage()) 17405 composeImplementationGuideImplementationGuidePageComponent("page", e); 17406 } 17407 composeElementClose(element); 17408 xml.exit(FHIR_NS, name); 17409 } 17410 } 17411 17412 protected void composeList_(String name, List_ element) throws IOException { 17413 if (element != null) { 17414 composeDomainResourceAttributes(element); 17415 xml.enter(FHIR_NS, name); 17416 composeDomainResourceElements(element); 17417 if (element.hasIdentifier()) { 17418 for (Identifier e : element.getIdentifier()) 17419 composeIdentifier("identifier", e); 17420 } 17421 if (element.hasTitleElement()) { 17422 composeString("title", element.getTitleElement()); 17423 } 17424 if (element.hasCode()) { 17425 composeCodeableConcept("code", element.getCode()); 17426 } 17427 if (element.hasSubject()) { 17428 composeReference("subject", element.getSubject()); 17429 } 17430 if (element.hasSource()) { 17431 composeReference("source", element.getSource()); 17432 } 17433 if (element.hasEncounter()) { 17434 composeReference("encounter", element.getEncounter()); 17435 } 17436 if (element.hasStatusElement()) 17437 composeEnumeration("status", element.getStatusElement(), new List_.ListStatusEnumFactory()); 17438 if (element.hasDateElement()) { 17439 composeDateTime("date", element.getDateElement()); 17440 } 17441 if (element.hasOrderedBy()) { 17442 composeCodeableConcept("orderedBy", element.getOrderedBy()); 17443 } 17444 if (element.hasModeElement()) 17445 composeEnumeration("mode", element.getModeElement(), new List_.ListModeEnumFactory()); 17446 if (element.hasNoteElement()) { 17447 composeString("note", element.getNoteElement()); 17448 } 17449 if (element.hasEntry()) { 17450 for (List_.ListEntryComponent e : element.getEntry()) 17451 composeList_ListEntryComponent("entry", e); 17452 } 17453 if (element.hasEmptyReason()) { 17454 composeCodeableConcept("emptyReason", element.getEmptyReason()); 17455 } 17456 composeElementClose(element); 17457 xml.exit(FHIR_NS, name); 17458 } 17459 } 17460 17461 protected void composeList_ListEntryComponent(String name, List_.ListEntryComponent element) throws IOException { 17462 if (element != null) { 17463 composeElementAttributes(element); 17464 xml.enter(FHIR_NS, name); 17465 composeBackboneElements(element); 17466 if (element.hasFlag()) { 17467 composeCodeableConcept("flag", element.getFlag()); 17468 } 17469 if (element.hasDeletedElement()) { 17470 composeBoolean("deleted", element.getDeletedElement()); 17471 } 17472 if (element.hasDateElement()) { 17473 composeDateTime("date", element.getDateElement()); 17474 } 17475 if (element.hasItem()) { 17476 composeReference("item", element.getItem()); 17477 } 17478 composeElementClose(element); 17479 xml.exit(FHIR_NS, name); 17480 } 17481 } 17482 17483 protected void composeLocation(String name, Location element) throws IOException { 17484 if (element != null) { 17485 composeDomainResourceAttributes(element); 17486 xml.enter(FHIR_NS, name); 17487 composeDomainResourceElements(element); 17488 if (element.hasIdentifier()) { 17489 for (Identifier e : element.getIdentifier()) 17490 composeIdentifier("identifier", e); 17491 } 17492 if (element.hasStatusElement()) 17493 composeEnumeration("status", element.getStatusElement(), new Location.LocationStatusEnumFactory()); 17494 if (element.hasNameElement()) { 17495 composeString("name", element.getNameElement()); 17496 } 17497 if (element.hasDescriptionElement()) { 17498 composeString("description", element.getDescriptionElement()); 17499 } 17500 if (element.hasModeElement()) 17501 composeEnumeration("mode", element.getModeElement(), new Location.LocationModeEnumFactory()); 17502 if (element.hasType()) { 17503 composeCodeableConcept("type", element.getType()); 17504 } 17505 if (element.hasTelecom()) { 17506 for (ContactPoint e : element.getTelecom()) 17507 composeContactPoint("telecom", e); 17508 } 17509 if (element.hasAddress()) { 17510 composeAddress("address", element.getAddress()); 17511 } 17512 if (element.hasPhysicalType()) { 17513 composeCodeableConcept("physicalType", element.getPhysicalType()); 17514 } 17515 if (element.hasPosition()) { 17516 composeLocationLocationPositionComponent("position", element.getPosition()); 17517 } 17518 if (element.hasManagingOrganization()) { 17519 composeReference("managingOrganization", element.getManagingOrganization()); 17520 } 17521 if (element.hasPartOf()) { 17522 composeReference("partOf", element.getPartOf()); 17523 } 17524 composeElementClose(element); 17525 xml.exit(FHIR_NS, name); 17526 } 17527 } 17528 17529 protected void composeLocationLocationPositionComponent(String name, Location.LocationPositionComponent element) throws IOException { 17530 if (element != null) { 17531 composeElementAttributes(element); 17532 xml.enter(FHIR_NS, name); 17533 composeBackboneElements(element); 17534 if (element.hasLongitudeElement()) { 17535 composeDecimal("longitude", element.getLongitudeElement()); 17536 } 17537 if (element.hasLatitudeElement()) { 17538 composeDecimal("latitude", element.getLatitudeElement()); 17539 } 17540 if (element.hasAltitudeElement()) { 17541 composeDecimal("altitude", element.getAltitudeElement()); 17542 } 17543 composeElementClose(element); 17544 xml.exit(FHIR_NS, name); 17545 } 17546 } 17547 17548 protected void composeMedia(String name, Media element) throws IOException { 17549 if (element != null) { 17550 composeDomainResourceAttributes(element); 17551 xml.enter(FHIR_NS, name); 17552 composeDomainResourceElements(element); 17553 if (element.hasTypeElement()) 17554 composeEnumeration("type", element.getTypeElement(), new Media.DigitalMediaTypeEnumFactory()); 17555 if (element.hasSubtype()) { 17556 composeCodeableConcept("subtype", element.getSubtype()); 17557 } 17558 if (element.hasIdentifier()) { 17559 for (Identifier e : element.getIdentifier()) 17560 composeIdentifier("identifier", e); 17561 } 17562 if (element.hasSubject()) { 17563 composeReference("subject", element.getSubject()); 17564 } 17565 if (element.hasOperator()) { 17566 composeReference("operator", element.getOperator()); 17567 } 17568 if (element.hasView()) { 17569 composeCodeableConcept("view", element.getView()); 17570 } 17571 if (element.hasDeviceNameElement()) { 17572 composeString("deviceName", element.getDeviceNameElement()); 17573 } 17574 if (element.hasHeightElement()) { 17575 composePositiveInt("height", element.getHeightElement()); 17576 } 17577 if (element.hasWidthElement()) { 17578 composePositiveInt("width", element.getWidthElement()); 17579 } 17580 if (element.hasFramesElement()) { 17581 composePositiveInt("frames", element.getFramesElement()); 17582 } 17583 if (element.hasDurationElement()) { 17584 composeUnsignedInt("duration", element.getDurationElement()); 17585 } 17586 if (element.hasContent()) { 17587 composeAttachment("content", element.getContent()); 17588 } 17589 composeElementClose(element); 17590 xml.exit(FHIR_NS, name); 17591 } 17592 } 17593 17594 protected void composeMedication(String name, Medication element) throws IOException { 17595 if (element != null) { 17596 composeDomainResourceAttributes(element); 17597 xml.enter(FHIR_NS, name); 17598 composeDomainResourceElements(element); 17599 if (element.hasCode()) { 17600 composeCodeableConcept("code", element.getCode()); 17601 } 17602 if (element.hasIsBrandElement()) { 17603 composeBoolean("isBrand", element.getIsBrandElement()); 17604 } 17605 if (element.hasManufacturer()) { 17606 composeReference("manufacturer", element.getManufacturer()); 17607 } 17608 if (element.hasProduct()) { 17609 composeMedicationMedicationProductComponent("product", element.getProduct()); 17610 } 17611 if (element.hasPackage()) { 17612 composeMedicationMedicationPackageComponent("package", element.getPackage()); 17613 } 17614 composeElementClose(element); 17615 xml.exit(FHIR_NS, name); 17616 } 17617 } 17618 17619 protected void composeMedicationMedicationProductComponent(String name, Medication.MedicationProductComponent element) throws IOException { 17620 if (element != null) { 17621 composeElementAttributes(element); 17622 xml.enter(FHIR_NS, name); 17623 composeBackboneElements(element); 17624 if (element.hasForm()) { 17625 composeCodeableConcept("form", element.getForm()); 17626 } 17627 if (element.hasIngredient()) { 17628 for (Medication.MedicationProductIngredientComponent e : element.getIngredient()) 17629 composeMedicationMedicationProductIngredientComponent("ingredient", e); 17630 } 17631 if (element.hasBatch()) { 17632 for (Medication.MedicationProductBatchComponent e : element.getBatch()) 17633 composeMedicationMedicationProductBatchComponent("batch", e); 17634 } 17635 composeElementClose(element); 17636 xml.exit(FHIR_NS, name); 17637 } 17638 } 17639 17640 protected void composeMedicationMedicationProductIngredientComponent(String name, Medication.MedicationProductIngredientComponent element) throws IOException { 17641 if (element != null) { 17642 composeElementAttributes(element); 17643 xml.enter(FHIR_NS, name); 17644 composeBackboneElements(element); 17645 if (element.hasItem()) { 17646 composeReference("item", element.getItem()); 17647 } 17648 if (element.hasAmount()) { 17649 composeRatio("amount", element.getAmount()); 17650 } 17651 composeElementClose(element); 17652 xml.exit(FHIR_NS, name); 17653 } 17654 } 17655 17656 protected void composeMedicationMedicationProductBatchComponent(String name, Medication.MedicationProductBatchComponent element) throws IOException { 17657 if (element != null) { 17658 composeElementAttributes(element); 17659 xml.enter(FHIR_NS, name); 17660 composeBackboneElements(element); 17661 if (element.hasLotNumberElement()) { 17662 composeString("lotNumber", element.getLotNumberElement()); 17663 } 17664 if (element.hasExpirationDateElement()) { 17665 composeDateTime("expirationDate", element.getExpirationDateElement()); 17666 } 17667 composeElementClose(element); 17668 xml.exit(FHIR_NS, name); 17669 } 17670 } 17671 17672 protected void composeMedicationMedicationPackageComponent(String name, Medication.MedicationPackageComponent element) throws IOException { 17673 if (element != null) { 17674 composeElementAttributes(element); 17675 xml.enter(FHIR_NS, name); 17676 composeBackboneElements(element); 17677 if (element.hasContainer()) { 17678 composeCodeableConcept("container", element.getContainer()); 17679 } 17680 if (element.hasContent()) { 17681 for (Medication.MedicationPackageContentComponent e : element.getContent()) 17682 composeMedicationMedicationPackageContentComponent("content", e); 17683 } 17684 composeElementClose(element); 17685 xml.exit(FHIR_NS, name); 17686 } 17687 } 17688 17689 protected void composeMedicationMedicationPackageContentComponent(String name, Medication.MedicationPackageContentComponent element) throws IOException { 17690 if (element != null) { 17691 composeElementAttributes(element); 17692 xml.enter(FHIR_NS, name); 17693 composeBackboneElements(element); 17694 if (element.hasItem()) { 17695 composeReference("item", element.getItem()); 17696 } 17697 if (element.hasAmount()) { 17698 composeSimpleQuantity("amount", element.getAmount()); 17699 } 17700 composeElementClose(element); 17701 xml.exit(FHIR_NS, name); 17702 } 17703 } 17704 17705 protected void composeMedicationAdministration(String name, MedicationAdministration element) throws IOException { 17706 if (element != null) { 17707 composeDomainResourceAttributes(element); 17708 xml.enter(FHIR_NS, name); 17709 composeDomainResourceElements(element); 17710 if (element.hasIdentifier()) { 17711 for (Identifier e : element.getIdentifier()) 17712 composeIdentifier("identifier", e); 17713 } 17714 if (element.hasStatusElement()) 17715 composeEnumeration("status", element.getStatusElement(), new MedicationAdministration.MedicationAdministrationStatusEnumFactory()); 17716 if (element.hasPatient()) { 17717 composeReference("patient", element.getPatient()); 17718 } 17719 if (element.hasPractitioner()) { 17720 composeReference("practitioner", element.getPractitioner()); 17721 } 17722 if (element.hasEncounter()) { 17723 composeReference("encounter", element.getEncounter()); 17724 } 17725 if (element.hasPrescription()) { 17726 composeReference("prescription", element.getPrescription()); 17727 } 17728 if (element.hasWasNotGivenElement()) { 17729 composeBoolean("wasNotGiven", element.getWasNotGivenElement()); 17730 } 17731 if (element.hasReasonNotGiven()) { 17732 for (CodeableConcept e : element.getReasonNotGiven()) 17733 composeCodeableConcept("reasonNotGiven", e); 17734 } 17735 if (element.hasReasonGiven()) { 17736 for (CodeableConcept e : element.getReasonGiven()) 17737 composeCodeableConcept("reasonGiven", e); 17738 } 17739 if (element.hasEffectiveTime()) { 17740 composeType("effectiveTime", element.getEffectiveTime()); 17741 } if (element.hasMedication()) { 17742 composeType("medication", element.getMedication()); 17743 } if (element.hasDevice()) { 17744 for (Reference e : element.getDevice()) 17745 composeReference("device", e); 17746 } 17747 if (element.hasNoteElement()) { 17748 composeString("note", element.getNoteElement()); 17749 } 17750 if (element.hasDosage()) { 17751 composeMedicationAdministrationMedicationAdministrationDosageComponent("dosage", element.getDosage()); 17752 } 17753 composeElementClose(element); 17754 xml.exit(FHIR_NS, name); 17755 } 17756 } 17757 17758 protected void composeMedicationAdministrationMedicationAdministrationDosageComponent(String name, MedicationAdministration.MedicationAdministrationDosageComponent element) throws IOException { 17759 if (element != null) { 17760 composeElementAttributes(element); 17761 xml.enter(FHIR_NS, name); 17762 composeBackboneElements(element); 17763 if (element.hasTextElement()) { 17764 composeString("text", element.getTextElement()); 17765 } 17766 if (element.hasSite()) { 17767 composeType("site", element.getSite()); 17768 } if (element.hasRoute()) { 17769 composeCodeableConcept("route", element.getRoute()); 17770 } 17771 if (element.hasMethod()) { 17772 composeCodeableConcept("method", element.getMethod()); 17773 } 17774 if (element.hasQuantity()) { 17775 composeSimpleQuantity("quantity", element.getQuantity()); 17776 } 17777 if (element.hasRate()) { 17778 composeType("rate", element.getRate()); 17779 } composeElementClose(element); 17780 xml.exit(FHIR_NS, name); 17781 } 17782 } 17783 17784 protected void composeMedicationDispense(String name, MedicationDispense element) throws IOException { 17785 if (element != null) { 17786 composeDomainResourceAttributes(element); 17787 xml.enter(FHIR_NS, name); 17788 composeDomainResourceElements(element); 17789 if (element.hasIdentifier()) { 17790 composeIdentifier("identifier", element.getIdentifier()); 17791 } 17792 if (element.hasStatusElement()) 17793 composeEnumeration("status", element.getStatusElement(), new MedicationDispense.MedicationDispenseStatusEnumFactory()); 17794 if (element.hasPatient()) { 17795 composeReference("patient", element.getPatient()); 17796 } 17797 if (element.hasDispenser()) { 17798 composeReference("dispenser", element.getDispenser()); 17799 } 17800 if (element.hasAuthorizingPrescription()) { 17801 for (Reference e : element.getAuthorizingPrescription()) 17802 composeReference("authorizingPrescription", e); 17803 } 17804 if (element.hasType()) { 17805 composeCodeableConcept("type", element.getType()); 17806 } 17807 if (element.hasQuantity()) { 17808 composeSimpleQuantity("quantity", element.getQuantity()); 17809 } 17810 if (element.hasDaysSupply()) { 17811 composeSimpleQuantity("daysSupply", element.getDaysSupply()); 17812 } 17813 if (element.hasMedication()) { 17814 composeType("medication", element.getMedication()); 17815 } if (element.hasWhenPreparedElement()) { 17816 composeDateTime("whenPrepared", element.getWhenPreparedElement()); 17817 } 17818 if (element.hasWhenHandedOverElement()) { 17819 composeDateTime("whenHandedOver", element.getWhenHandedOverElement()); 17820 } 17821 if (element.hasDestination()) { 17822 composeReference("destination", element.getDestination()); 17823 } 17824 if (element.hasReceiver()) { 17825 for (Reference e : element.getReceiver()) 17826 composeReference("receiver", e); 17827 } 17828 if (element.hasNoteElement()) { 17829 composeString("note", element.getNoteElement()); 17830 } 17831 if (element.hasDosageInstruction()) { 17832 for (MedicationDispense.MedicationDispenseDosageInstructionComponent e : element.getDosageInstruction()) 17833 composeMedicationDispenseMedicationDispenseDosageInstructionComponent("dosageInstruction", e); 17834 } 17835 if (element.hasSubstitution()) { 17836 composeMedicationDispenseMedicationDispenseSubstitutionComponent("substitution", element.getSubstitution()); 17837 } 17838 composeElementClose(element); 17839 xml.exit(FHIR_NS, name); 17840 } 17841 } 17842 17843 protected void composeMedicationDispenseMedicationDispenseDosageInstructionComponent(String name, MedicationDispense.MedicationDispenseDosageInstructionComponent element) throws IOException { 17844 if (element != null) { 17845 composeElementAttributes(element); 17846 xml.enter(FHIR_NS, name); 17847 composeBackboneElements(element); 17848 if (element.hasTextElement()) { 17849 composeString("text", element.getTextElement()); 17850 } 17851 if (element.hasAdditionalInstructions()) { 17852 composeCodeableConcept("additionalInstructions", element.getAdditionalInstructions()); 17853 } 17854 if (element.hasTiming()) { 17855 composeTiming("timing", element.getTiming()); 17856 } 17857 if (element.hasAsNeeded()) { 17858 composeType("asNeeded", element.getAsNeeded()); 17859 } if (element.hasSite()) { 17860 composeType("site", element.getSite()); 17861 } if (element.hasRoute()) { 17862 composeCodeableConcept("route", element.getRoute()); 17863 } 17864 if (element.hasMethod()) { 17865 composeCodeableConcept("method", element.getMethod()); 17866 } 17867 if (element.hasDose()) { 17868 composeType("dose", element.getDose()); 17869 } if (element.hasRate()) { 17870 composeType("rate", element.getRate()); 17871 } if (element.hasMaxDosePerPeriod()) { 17872 composeRatio("maxDosePerPeriod", element.getMaxDosePerPeriod()); 17873 } 17874 composeElementClose(element); 17875 xml.exit(FHIR_NS, name); 17876 } 17877 } 17878 17879 protected void composeMedicationDispenseMedicationDispenseSubstitutionComponent(String name, MedicationDispense.MedicationDispenseSubstitutionComponent element) throws IOException { 17880 if (element != null) { 17881 composeElementAttributes(element); 17882 xml.enter(FHIR_NS, name); 17883 composeBackboneElements(element); 17884 if (element.hasType()) { 17885 composeCodeableConcept("type", element.getType()); 17886 } 17887 if (element.hasReason()) { 17888 for (CodeableConcept e : element.getReason()) 17889 composeCodeableConcept("reason", e); 17890 } 17891 if (element.hasResponsibleParty()) { 17892 for (Reference e : element.getResponsibleParty()) 17893 composeReference("responsibleParty", e); 17894 } 17895 composeElementClose(element); 17896 xml.exit(FHIR_NS, name); 17897 } 17898 } 17899 17900 protected void composeMedicationOrder(String name, MedicationOrder element) throws IOException { 17901 if (element != null) { 17902 composeDomainResourceAttributes(element); 17903 xml.enter(FHIR_NS, name); 17904 composeDomainResourceElements(element); 17905 if (element.hasIdentifier()) { 17906 for (Identifier e : element.getIdentifier()) 17907 composeIdentifier("identifier", e); 17908 } 17909 if (element.hasDateWrittenElement()) { 17910 composeDateTime("dateWritten", element.getDateWrittenElement()); 17911 } 17912 if (element.hasStatusElement()) 17913 composeEnumeration("status", element.getStatusElement(), new MedicationOrder.MedicationOrderStatusEnumFactory()); 17914 if (element.hasDateEndedElement()) { 17915 composeDateTime("dateEnded", element.getDateEndedElement()); 17916 } 17917 if (element.hasReasonEnded()) { 17918 composeCodeableConcept("reasonEnded", element.getReasonEnded()); 17919 } 17920 if (element.hasPatient()) { 17921 composeReference("patient", element.getPatient()); 17922 } 17923 if (element.hasPrescriber()) { 17924 composeReference("prescriber", element.getPrescriber()); 17925 } 17926 if (element.hasEncounter()) { 17927 composeReference("encounter", element.getEncounter()); 17928 } 17929 if (element.hasReason()) { 17930 composeType("reason", element.getReason()); 17931 } if (element.hasNoteElement()) { 17932 composeString("note", element.getNoteElement()); 17933 } 17934 if (element.hasMedication()) { 17935 composeType("medication", element.getMedication()); 17936 } if (element.hasDosageInstruction()) { 17937 for (MedicationOrder.MedicationOrderDosageInstructionComponent e : element.getDosageInstruction()) 17938 composeMedicationOrderMedicationOrderDosageInstructionComponent("dosageInstruction", e); 17939 } 17940 if (element.hasDispenseRequest()) { 17941 composeMedicationOrderMedicationOrderDispenseRequestComponent("dispenseRequest", element.getDispenseRequest()); 17942 } 17943 if (element.hasSubstitution()) { 17944 composeMedicationOrderMedicationOrderSubstitutionComponent("substitution", element.getSubstitution()); 17945 } 17946 if (element.hasPriorPrescription()) { 17947 composeReference("priorPrescription", element.getPriorPrescription()); 17948 } 17949 composeElementClose(element); 17950 xml.exit(FHIR_NS, name); 17951 } 17952 } 17953 17954 protected void composeMedicationOrderMedicationOrderDosageInstructionComponent(String name, MedicationOrder.MedicationOrderDosageInstructionComponent element) throws IOException { 17955 if (element != null) { 17956 composeElementAttributes(element); 17957 xml.enter(FHIR_NS, name); 17958 composeBackboneElements(element); 17959 if (element.hasTextElement()) { 17960 composeString("text", element.getTextElement()); 17961 } 17962 if (element.hasAdditionalInstructions()) { 17963 composeCodeableConcept("additionalInstructions", element.getAdditionalInstructions()); 17964 } 17965 if (element.hasTiming()) { 17966 composeTiming("timing", element.getTiming()); 17967 } 17968 if (element.hasAsNeeded()) { 17969 composeType("asNeeded", element.getAsNeeded()); 17970 } if (element.hasSite()) { 17971 composeType("site", element.getSite()); 17972 } if (element.hasRoute()) { 17973 composeCodeableConcept("route", element.getRoute()); 17974 } 17975 if (element.hasMethod()) { 17976 composeCodeableConcept("method", element.getMethod()); 17977 } 17978 if (element.hasDose()) { 17979 composeType("dose", element.getDose()); 17980 } if (element.hasRate()) { 17981 composeType("rate", element.getRate()); 17982 } if (element.hasMaxDosePerPeriod()) { 17983 composeRatio("maxDosePerPeriod", element.getMaxDosePerPeriod()); 17984 } 17985 composeElementClose(element); 17986 xml.exit(FHIR_NS, name); 17987 } 17988 } 17989 17990 protected void composeMedicationOrderMedicationOrderDispenseRequestComponent(String name, MedicationOrder.MedicationOrderDispenseRequestComponent element) throws IOException { 17991 if (element != null) { 17992 composeElementAttributes(element); 17993 xml.enter(FHIR_NS, name); 17994 composeBackboneElements(element); 17995 if (element.hasMedication()) { 17996 composeType("medication", element.getMedication()); 17997 } if (element.hasValidityPeriod()) { 17998 composePeriod("validityPeriod", element.getValidityPeriod()); 17999 } 18000 if (element.hasNumberOfRepeatsAllowedElement()) { 18001 composePositiveInt("numberOfRepeatsAllowed", element.getNumberOfRepeatsAllowedElement()); 18002 } 18003 if (element.hasQuantity()) { 18004 composeSimpleQuantity("quantity", element.getQuantity()); 18005 } 18006 if (element.hasExpectedSupplyDuration()) { 18007 composeDuration("expectedSupplyDuration", element.getExpectedSupplyDuration()); 18008 } 18009 composeElementClose(element); 18010 xml.exit(FHIR_NS, name); 18011 } 18012 } 18013 18014 protected void composeMedicationOrderMedicationOrderSubstitutionComponent(String name, MedicationOrder.MedicationOrderSubstitutionComponent element) throws IOException { 18015 if (element != null) { 18016 composeElementAttributes(element); 18017 xml.enter(FHIR_NS, name); 18018 composeBackboneElements(element); 18019 if (element.hasType()) { 18020 composeCodeableConcept("type", element.getType()); 18021 } 18022 if (element.hasReason()) { 18023 composeCodeableConcept("reason", element.getReason()); 18024 } 18025 composeElementClose(element); 18026 xml.exit(FHIR_NS, name); 18027 } 18028 } 18029 18030 protected void composeMedicationStatement(String name, MedicationStatement element) throws IOException { 18031 if (element != null) { 18032 composeDomainResourceAttributes(element); 18033 xml.enter(FHIR_NS, name); 18034 composeDomainResourceElements(element); 18035 if (element.hasIdentifier()) { 18036 for (Identifier e : element.getIdentifier()) 18037 composeIdentifier("identifier", e); 18038 } 18039 if (element.hasPatient()) { 18040 composeReference("patient", element.getPatient()); 18041 } 18042 if (element.hasInformationSource()) { 18043 composeReference("informationSource", element.getInformationSource()); 18044 } 18045 if (element.hasDateAssertedElement()) { 18046 composeDateTime("dateAsserted", element.getDateAssertedElement()); 18047 } 18048 if (element.hasStatusElement()) 18049 composeEnumeration("status", element.getStatusElement(), new MedicationStatement.MedicationStatementStatusEnumFactory()); 18050 if (element.hasWasNotTakenElement()) { 18051 composeBoolean("wasNotTaken", element.getWasNotTakenElement()); 18052 } 18053 if (element.hasReasonNotTaken()) { 18054 for (CodeableConcept e : element.getReasonNotTaken()) 18055 composeCodeableConcept("reasonNotTaken", e); 18056 } 18057 if (element.hasReasonForUse()) { 18058 composeType("reasonForUse", element.getReasonForUse()); 18059 } if (element.hasEffective()) { 18060 composeType("effective", element.getEffective()); 18061 } if (element.hasNoteElement()) { 18062 composeString("note", element.getNoteElement()); 18063 } 18064 if (element.hasSupportingInformation()) { 18065 for (Reference e : element.getSupportingInformation()) 18066 composeReference("supportingInformation", e); 18067 } 18068 if (element.hasMedication()) { 18069 composeType("medication", element.getMedication()); 18070 } if (element.hasDosage()) { 18071 for (MedicationStatement.MedicationStatementDosageComponent e : element.getDosage()) 18072 composeMedicationStatementMedicationStatementDosageComponent("dosage", e); 18073 } 18074 composeElementClose(element); 18075 xml.exit(FHIR_NS, name); 18076 } 18077 } 18078 18079 protected void composeMedicationStatementMedicationStatementDosageComponent(String name, MedicationStatement.MedicationStatementDosageComponent element) throws IOException { 18080 if (element != null) { 18081 composeElementAttributes(element); 18082 xml.enter(FHIR_NS, name); 18083 composeBackboneElements(element); 18084 if (element.hasTextElement()) { 18085 composeString("text", element.getTextElement()); 18086 } 18087 if (element.hasTiming()) { 18088 composeTiming("timing", element.getTiming()); 18089 } 18090 if (element.hasAsNeeded()) { 18091 composeType("asNeeded", element.getAsNeeded()); 18092 } if (element.hasSite()) { 18093 composeType("site", element.getSite()); 18094 } if (element.hasRoute()) { 18095 composeCodeableConcept("route", element.getRoute()); 18096 } 18097 if (element.hasMethod()) { 18098 composeCodeableConcept("method", element.getMethod()); 18099 } 18100 if (element.hasQuantity()) { 18101 composeType("quantity", element.getQuantity()); 18102 } if (element.hasRate()) { 18103 composeType("rate", element.getRate()); 18104 } if (element.hasMaxDosePerPeriod()) { 18105 composeRatio("maxDosePerPeriod", element.getMaxDosePerPeriod()); 18106 } 18107 composeElementClose(element); 18108 xml.exit(FHIR_NS, name); 18109 } 18110 } 18111 18112 protected void composeMessageHeader(String name, MessageHeader element) throws IOException { 18113 if (element != null) { 18114 composeDomainResourceAttributes(element); 18115 xml.enter(FHIR_NS, name); 18116 composeDomainResourceElements(element); 18117 if (element.hasTimestampElement()) { 18118 composeInstant("timestamp", element.getTimestampElement()); 18119 } 18120 if (element.hasEvent()) { 18121 composeCoding("event", element.getEvent()); 18122 } 18123 if (element.hasResponse()) { 18124 composeMessageHeaderMessageHeaderResponseComponent("response", element.getResponse()); 18125 } 18126 if (element.hasSource()) { 18127 composeMessageHeaderMessageSourceComponent("source", element.getSource()); 18128 } 18129 if (element.hasDestination()) { 18130 for (MessageHeader.MessageDestinationComponent e : element.getDestination()) 18131 composeMessageHeaderMessageDestinationComponent("destination", e); 18132 } 18133 if (element.hasEnterer()) { 18134 composeReference("enterer", element.getEnterer()); 18135 } 18136 if (element.hasAuthor()) { 18137 composeReference("author", element.getAuthor()); 18138 } 18139 if (element.hasReceiver()) { 18140 composeReference("receiver", element.getReceiver()); 18141 } 18142 if (element.hasResponsible()) { 18143 composeReference("responsible", element.getResponsible()); 18144 } 18145 if (element.hasReason()) { 18146 composeCodeableConcept("reason", element.getReason()); 18147 } 18148 if (element.hasData()) { 18149 for (Reference e : element.getData()) 18150 composeReference("data", e); 18151 } 18152 composeElementClose(element); 18153 xml.exit(FHIR_NS, name); 18154 } 18155 } 18156 18157 protected void composeMessageHeaderMessageHeaderResponseComponent(String name, MessageHeader.MessageHeaderResponseComponent element) throws IOException { 18158 if (element != null) { 18159 composeElementAttributes(element); 18160 xml.enter(FHIR_NS, name); 18161 composeBackboneElements(element); 18162 if (element.hasIdentifierElement()) { 18163 composeId("identifier", element.getIdentifierElement()); 18164 } 18165 if (element.hasCodeElement()) 18166 composeEnumeration("code", element.getCodeElement(), new MessageHeader.ResponseTypeEnumFactory()); 18167 if (element.hasDetails()) { 18168 composeReference("details", element.getDetails()); 18169 } 18170 composeElementClose(element); 18171 xml.exit(FHIR_NS, name); 18172 } 18173 } 18174 18175 protected void composeMessageHeaderMessageSourceComponent(String name, MessageHeader.MessageSourceComponent element) throws IOException { 18176 if (element != null) { 18177 composeElementAttributes(element); 18178 xml.enter(FHIR_NS, name); 18179 composeBackboneElements(element); 18180 if (element.hasNameElement()) { 18181 composeString("name", element.getNameElement()); 18182 } 18183 if (element.hasSoftwareElement()) { 18184 composeString("software", element.getSoftwareElement()); 18185 } 18186 if (element.hasVersionElement()) { 18187 composeString("version", element.getVersionElement()); 18188 } 18189 if (element.hasContact()) { 18190 composeContactPoint("contact", element.getContact()); 18191 } 18192 if (element.hasEndpointElement()) { 18193 composeUri("endpoint", element.getEndpointElement()); 18194 } 18195 composeElementClose(element); 18196 xml.exit(FHIR_NS, name); 18197 } 18198 } 18199 18200 protected void composeMessageHeaderMessageDestinationComponent(String name, MessageHeader.MessageDestinationComponent element) throws IOException { 18201 if (element != null) { 18202 composeElementAttributes(element); 18203 xml.enter(FHIR_NS, name); 18204 composeBackboneElements(element); 18205 if (element.hasNameElement()) { 18206 composeString("name", element.getNameElement()); 18207 } 18208 if (element.hasTarget()) { 18209 composeReference("target", element.getTarget()); 18210 } 18211 if (element.hasEndpointElement()) { 18212 composeUri("endpoint", element.getEndpointElement()); 18213 } 18214 composeElementClose(element); 18215 xml.exit(FHIR_NS, name); 18216 } 18217 } 18218 18219 protected void composeNamingSystem(String name, NamingSystem element) throws IOException { 18220 if (element != null) { 18221 composeDomainResourceAttributes(element); 18222 xml.enter(FHIR_NS, name); 18223 composeDomainResourceElements(element); 18224 if (element.hasNameElement()) { 18225 composeString("name", element.getNameElement()); 18226 } 18227 if (element.hasStatusElement()) 18228 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 18229 if (element.hasKindElement()) 18230 composeEnumeration("kind", element.getKindElement(), new NamingSystem.NamingSystemTypeEnumFactory()); 18231 if (element.hasPublisherElement()) { 18232 composeString("publisher", element.getPublisherElement()); 18233 } 18234 if (element.hasContact()) { 18235 for (NamingSystem.NamingSystemContactComponent e : element.getContact()) 18236 composeNamingSystemNamingSystemContactComponent("contact", e); 18237 } 18238 if (element.hasResponsibleElement()) { 18239 composeString("responsible", element.getResponsibleElement()); 18240 } 18241 if (element.hasDateElement()) { 18242 composeDateTime("date", element.getDateElement()); 18243 } 18244 if (element.hasType()) { 18245 composeCodeableConcept("type", element.getType()); 18246 } 18247 if (element.hasDescriptionElement()) { 18248 composeString("description", element.getDescriptionElement()); 18249 } 18250 if (element.hasUseContext()) { 18251 for (CodeableConcept e : element.getUseContext()) 18252 composeCodeableConcept("useContext", e); 18253 } 18254 if (element.hasUsageElement()) { 18255 composeString("usage", element.getUsageElement()); 18256 } 18257 if (element.hasUniqueId()) { 18258 for (NamingSystem.NamingSystemUniqueIdComponent e : element.getUniqueId()) 18259 composeNamingSystemNamingSystemUniqueIdComponent("uniqueId", e); 18260 } 18261 if (element.hasReplacedBy()) { 18262 composeReference("replacedBy", element.getReplacedBy()); 18263 } 18264 composeElementClose(element); 18265 xml.exit(FHIR_NS, name); 18266 } 18267 } 18268 18269 protected void composeNamingSystemNamingSystemContactComponent(String name, NamingSystem.NamingSystemContactComponent element) throws IOException { 18270 if (element != null) { 18271 composeElementAttributes(element); 18272 xml.enter(FHIR_NS, name); 18273 composeBackboneElements(element); 18274 if (element.hasNameElement()) { 18275 composeString("name", element.getNameElement()); 18276 } 18277 if (element.hasTelecom()) { 18278 for (ContactPoint e : element.getTelecom()) 18279 composeContactPoint("telecom", e); 18280 } 18281 composeElementClose(element); 18282 xml.exit(FHIR_NS, name); 18283 } 18284 } 18285 18286 protected void composeNamingSystemNamingSystemUniqueIdComponent(String name, NamingSystem.NamingSystemUniqueIdComponent element) throws IOException { 18287 if (element != null) { 18288 composeElementAttributes(element); 18289 xml.enter(FHIR_NS, name); 18290 composeBackboneElements(element); 18291 if (element.hasTypeElement()) 18292 composeEnumeration("type", element.getTypeElement(), new NamingSystem.NamingSystemIdentifierTypeEnumFactory()); 18293 if (element.hasValueElement()) { 18294 composeString("value", element.getValueElement()); 18295 } 18296 if (element.hasPreferredElement()) { 18297 composeBoolean("preferred", element.getPreferredElement()); 18298 } 18299 if (element.hasPeriod()) { 18300 composePeriod("period", element.getPeriod()); 18301 } 18302 composeElementClose(element); 18303 xml.exit(FHIR_NS, name); 18304 } 18305 } 18306 18307 protected void composeNutritionOrder(String name, NutritionOrder element) throws IOException { 18308 if (element != null) { 18309 composeDomainResourceAttributes(element); 18310 xml.enter(FHIR_NS, name); 18311 composeDomainResourceElements(element); 18312 if (element.hasPatient()) { 18313 composeReference("patient", element.getPatient()); 18314 } 18315 if (element.hasOrderer()) { 18316 composeReference("orderer", element.getOrderer()); 18317 } 18318 if (element.hasIdentifier()) { 18319 for (Identifier e : element.getIdentifier()) 18320 composeIdentifier("identifier", e); 18321 } 18322 if (element.hasEncounter()) { 18323 composeReference("encounter", element.getEncounter()); 18324 } 18325 if (element.hasDateTimeElement()) { 18326 composeDateTime("dateTime", element.getDateTimeElement()); 18327 } 18328 if (element.hasStatusElement()) 18329 composeEnumeration("status", element.getStatusElement(), new NutritionOrder.NutritionOrderStatusEnumFactory()); 18330 if (element.hasAllergyIntolerance()) { 18331 for (Reference e : element.getAllergyIntolerance()) 18332 composeReference("allergyIntolerance", e); 18333 } 18334 if (element.hasFoodPreferenceModifier()) { 18335 for (CodeableConcept e : element.getFoodPreferenceModifier()) 18336 composeCodeableConcept("foodPreferenceModifier", e); 18337 } 18338 if (element.hasExcludeFoodModifier()) { 18339 for (CodeableConcept e : element.getExcludeFoodModifier()) 18340 composeCodeableConcept("excludeFoodModifier", e); 18341 } 18342 if (element.hasOralDiet()) { 18343 composeNutritionOrderNutritionOrderOralDietComponent("oralDiet", element.getOralDiet()); 18344 } 18345 if (element.hasSupplement()) { 18346 for (NutritionOrder.NutritionOrderSupplementComponent e : element.getSupplement()) 18347 composeNutritionOrderNutritionOrderSupplementComponent("supplement", e); 18348 } 18349 if (element.hasEnteralFormula()) { 18350 composeNutritionOrderNutritionOrderEnteralFormulaComponent("enteralFormula", element.getEnteralFormula()); 18351 } 18352 composeElementClose(element); 18353 xml.exit(FHIR_NS, name); 18354 } 18355 } 18356 18357 protected void composeNutritionOrderNutritionOrderOralDietComponent(String name, NutritionOrder.NutritionOrderOralDietComponent element) throws IOException { 18358 if (element != null) { 18359 composeElementAttributes(element); 18360 xml.enter(FHIR_NS, name); 18361 composeBackboneElements(element); 18362 if (element.hasType()) { 18363 for (CodeableConcept e : element.getType()) 18364 composeCodeableConcept("type", e); 18365 } 18366 if (element.hasSchedule()) { 18367 for (Timing e : element.getSchedule()) 18368 composeTiming("schedule", e); 18369 } 18370 if (element.hasNutrient()) { 18371 for (NutritionOrder.NutritionOrderOralDietNutrientComponent e : element.getNutrient()) 18372 composeNutritionOrderNutritionOrderOralDietNutrientComponent("nutrient", e); 18373 } 18374 if (element.hasTexture()) { 18375 for (NutritionOrder.NutritionOrderOralDietTextureComponent e : element.getTexture()) 18376 composeNutritionOrderNutritionOrderOralDietTextureComponent("texture", e); 18377 } 18378 if (element.hasFluidConsistencyType()) { 18379 for (CodeableConcept e : element.getFluidConsistencyType()) 18380 composeCodeableConcept("fluidConsistencyType", e); 18381 } 18382 if (element.hasInstructionElement()) { 18383 composeString("instruction", element.getInstructionElement()); 18384 } 18385 composeElementClose(element); 18386 xml.exit(FHIR_NS, name); 18387 } 18388 } 18389 18390 protected void composeNutritionOrderNutritionOrderOralDietNutrientComponent(String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element) throws IOException { 18391 if (element != null) { 18392 composeElementAttributes(element); 18393 xml.enter(FHIR_NS, name); 18394 composeBackboneElements(element); 18395 if (element.hasModifier()) { 18396 composeCodeableConcept("modifier", element.getModifier()); 18397 } 18398 if (element.hasAmount()) { 18399 composeSimpleQuantity("amount", element.getAmount()); 18400 } 18401 composeElementClose(element); 18402 xml.exit(FHIR_NS, name); 18403 } 18404 } 18405 18406 protected void composeNutritionOrderNutritionOrderOralDietTextureComponent(String name, NutritionOrder.NutritionOrderOralDietTextureComponent element) throws IOException { 18407 if (element != null) { 18408 composeElementAttributes(element); 18409 xml.enter(FHIR_NS, name); 18410 composeBackboneElements(element); 18411 if (element.hasModifier()) { 18412 composeCodeableConcept("modifier", element.getModifier()); 18413 } 18414 if (element.hasFoodType()) { 18415 composeCodeableConcept("foodType", element.getFoodType()); 18416 } 18417 composeElementClose(element); 18418 xml.exit(FHIR_NS, name); 18419 } 18420 } 18421 18422 protected void composeNutritionOrderNutritionOrderSupplementComponent(String name, NutritionOrder.NutritionOrderSupplementComponent element) throws IOException { 18423 if (element != null) { 18424 composeElementAttributes(element); 18425 xml.enter(FHIR_NS, name); 18426 composeBackboneElements(element); 18427 if (element.hasType()) { 18428 composeCodeableConcept("type", element.getType()); 18429 } 18430 if (element.hasProductNameElement()) { 18431 composeString("productName", element.getProductNameElement()); 18432 } 18433 if (element.hasSchedule()) { 18434 for (Timing e : element.getSchedule()) 18435 composeTiming("schedule", e); 18436 } 18437 if (element.hasQuantity()) { 18438 composeSimpleQuantity("quantity", element.getQuantity()); 18439 } 18440 if (element.hasInstructionElement()) { 18441 composeString("instruction", element.getInstructionElement()); 18442 } 18443 composeElementClose(element); 18444 xml.exit(FHIR_NS, name); 18445 } 18446 } 18447 18448 protected void composeNutritionOrderNutritionOrderEnteralFormulaComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { 18449 if (element != null) { 18450 composeElementAttributes(element); 18451 xml.enter(FHIR_NS, name); 18452 composeBackboneElements(element); 18453 if (element.hasBaseFormulaType()) { 18454 composeCodeableConcept("baseFormulaType", element.getBaseFormulaType()); 18455 } 18456 if (element.hasBaseFormulaProductNameElement()) { 18457 composeString("baseFormulaProductName", element.getBaseFormulaProductNameElement()); 18458 } 18459 if (element.hasAdditiveType()) { 18460 composeCodeableConcept("additiveType", element.getAdditiveType()); 18461 } 18462 if (element.hasAdditiveProductNameElement()) { 18463 composeString("additiveProductName", element.getAdditiveProductNameElement()); 18464 } 18465 if (element.hasCaloricDensity()) { 18466 composeSimpleQuantity("caloricDensity", element.getCaloricDensity()); 18467 } 18468 if (element.hasRouteofAdministration()) { 18469 composeCodeableConcept("routeofAdministration", element.getRouteofAdministration()); 18470 } 18471 if (element.hasAdministration()) { 18472 for (NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent e : element.getAdministration()) 18473 composeNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent("administration", e); 18474 } 18475 if (element.hasMaxVolumeToDeliver()) { 18476 composeSimpleQuantity("maxVolumeToDeliver", element.getMaxVolumeToDeliver()); 18477 } 18478 if (element.hasAdministrationInstructionElement()) { 18479 composeString("administrationInstruction", element.getAdministrationInstructionElement()); 18480 } 18481 composeElementClose(element); 18482 xml.exit(FHIR_NS, name); 18483 } 18484 } 18485 18486 protected void composeNutritionOrderNutritionOrderEnteralFormulaAdministrationComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { 18487 if (element != null) { 18488 composeElementAttributes(element); 18489 xml.enter(FHIR_NS, name); 18490 composeBackboneElements(element); 18491 if (element.hasSchedule()) { 18492 composeTiming("schedule", element.getSchedule()); 18493 } 18494 if (element.hasQuantity()) { 18495 composeSimpleQuantity("quantity", element.getQuantity()); 18496 } 18497 if (element.hasRate()) { 18498 composeType("rate", element.getRate()); 18499 } composeElementClose(element); 18500 xml.exit(FHIR_NS, name); 18501 } 18502 } 18503 18504 protected void composeObservation(String name, Observation element) throws IOException { 18505 if (element != null) { 18506 composeDomainResourceAttributes(element); 18507 xml.enter(FHIR_NS, name); 18508 composeDomainResourceElements(element); 18509 if (element.hasIdentifier()) { 18510 for (Identifier e : element.getIdentifier()) 18511 composeIdentifier("identifier", e); 18512 } 18513 if (element.hasStatusElement()) 18514 composeEnumeration("status", element.getStatusElement(), new Observation.ObservationStatusEnumFactory()); 18515 if (element.hasCategory()) { 18516 composeCodeableConcept("category", element.getCategory()); 18517 } 18518 if (element.hasCode()) { 18519 composeCodeableConcept("code", element.getCode()); 18520 } 18521 if (element.hasSubject()) { 18522 composeReference("subject", element.getSubject()); 18523 } 18524 if (element.hasEncounter()) { 18525 composeReference("encounter", element.getEncounter()); 18526 } 18527 if (element.hasEffective()) { 18528 composeType("effective", element.getEffective()); 18529 } if (element.hasIssuedElement()) { 18530 composeInstant("issued", element.getIssuedElement()); 18531 } 18532 if (element.hasPerformer()) { 18533 for (Reference e : element.getPerformer()) 18534 composeReference("performer", e); 18535 } 18536 if (element.hasValue()) { 18537 composeType("value", element.getValue()); 18538 } if (element.hasDataAbsentReason()) { 18539 composeCodeableConcept("dataAbsentReason", element.getDataAbsentReason()); 18540 } 18541 if (element.hasInterpretation()) { 18542 composeCodeableConcept("interpretation", element.getInterpretation()); 18543 } 18544 if (element.hasCommentsElement()) { 18545 composeString("comments", element.getCommentsElement()); 18546 } 18547 if (element.hasBodySite()) { 18548 composeCodeableConcept("bodySite", element.getBodySite()); 18549 } 18550 if (element.hasMethod()) { 18551 composeCodeableConcept("method", element.getMethod()); 18552 } 18553 if (element.hasSpecimen()) { 18554 composeReference("specimen", element.getSpecimen()); 18555 } 18556 if (element.hasDevice()) { 18557 composeReference("device", element.getDevice()); 18558 } 18559 if (element.hasReferenceRange()) { 18560 for (Observation.ObservationReferenceRangeComponent e : element.getReferenceRange()) 18561 composeObservationObservationReferenceRangeComponent("referenceRange", e); 18562 } 18563 if (element.hasRelated()) { 18564 for (Observation.ObservationRelatedComponent e : element.getRelated()) 18565 composeObservationObservationRelatedComponent("related", e); 18566 } 18567 if (element.hasComponent()) { 18568 for (Observation.ObservationComponentComponent e : element.getComponent()) 18569 composeObservationObservationComponentComponent("component", e); 18570 } 18571 composeElementClose(element); 18572 xml.exit(FHIR_NS, name); 18573 } 18574 } 18575 18576 protected void composeObservationObservationReferenceRangeComponent(String name, Observation.ObservationReferenceRangeComponent element) throws IOException { 18577 if (element != null) { 18578 composeElementAttributes(element); 18579 xml.enter(FHIR_NS, name); 18580 composeBackboneElements(element); 18581 if (element.hasLow()) { 18582 composeSimpleQuantity("low", element.getLow()); 18583 } 18584 if (element.hasHigh()) { 18585 composeSimpleQuantity("high", element.getHigh()); 18586 } 18587 if (element.hasMeaning()) { 18588 composeCodeableConcept("meaning", element.getMeaning()); 18589 } 18590 if (element.hasAge()) { 18591 composeRange("age", element.getAge()); 18592 } 18593 if (element.hasTextElement()) { 18594 composeString("text", element.getTextElement()); 18595 } 18596 composeElementClose(element); 18597 xml.exit(FHIR_NS, name); 18598 } 18599 } 18600 18601 protected void composeObservationObservationRelatedComponent(String name, Observation.ObservationRelatedComponent element) throws IOException { 18602 if (element != null) { 18603 composeElementAttributes(element); 18604 xml.enter(FHIR_NS, name); 18605 composeBackboneElements(element); 18606 if (element.hasTypeElement()) 18607 composeEnumeration("type", element.getTypeElement(), new Observation.ObservationRelationshipTypeEnumFactory()); 18608 if (element.hasTarget()) { 18609 composeReference("target", element.getTarget()); 18610 } 18611 composeElementClose(element); 18612 xml.exit(FHIR_NS, name); 18613 } 18614 } 18615 18616 protected void composeObservationObservationComponentComponent(String name, Observation.ObservationComponentComponent element) throws IOException { 18617 if (element != null) { 18618 composeElementAttributes(element); 18619 xml.enter(FHIR_NS, name); 18620 composeBackboneElements(element); 18621 if (element.hasCode()) { 18622 composeCodeableConcept("code", element.getCode()); 18623 } 18624 if (element.hasValue()) { 18625 composeType("value", element.getValue()); 18626 } if (element.hasDataAbsentReason()) { 18627 composeCodeableConcept("dataAbsentReason", element.getDataAbsentReason()); 18628 } 18629 if (element.hasReferenceRange()) { 18630 for (Observation.ObservationReferenceRangeComponent e : element.getReferenceRange()) 18631 composeObservationObservationReferenceRangeComponent("referenceRange", e); 18632 } 18633 composeElementClose(element); 18634 xml.exit(FHIR_NS, name); 18635 } 18636 } 18637 18638 protected void composeOperationDefinition(String name, OperationDefinition element) throws IOException { 18639 if (element != null) { 18640 composeDomainResourceAttributes(element); 18641 xml.enter(FHIR_NS, name); 18642 composeDomainResourceElements(element); 18643 if (element.hasUrlElement()) { 18644 composeUri("url", element.getUrlElement()); 18645 } 18646 if (element.hasVersionElement()) { 18647 composeString("version", element.getVersionElement()); 18648 } 18649 if (element.hasNameElement()) { 18650 composeString("name", element.getNameElement()); 18651 } 18652 if (element.hasStatusElement()) 18653 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 18654 if (element.hasKindElement()) 18655 composeEnumeration("kind", element.getKindElement(), new OperationDefinition.OperationKindEnumFactory()); 18656 if (element.hasExperimentalElement()) { 18657 composeBoolean("experimental", element.getExperimentalElement()); 18658 } 18659 if (element.hasPublisherElement()) { 18660 composeString("publisher", element.getPublisherElement()); 18661 } 18662 if (element.hasContact()) { 18663 for (OperationDefinition.OperationDefinitionContactComponent e : element.getContact()) 18664 composeOperationDefinitionOperationDefinitionContactComponent("contact", e); 18665 } 18666 if (element.hasDateElement()) { 18667 composeDateTime("date", element.getDateElement()); 18668 } 18669 if (element.hasDescriptionElement()) { 18670 composeString("description", element.getDescriptionElement()); 18671 } 18672 if (element.hasRequirementsElement()) { 18673 composeString("requirements", element.getRequirementsElement()); 18674 } 18675 if (element.hasIdempotentElement()) { 18676 composeBoolean("idempotent", element.getIdempotentElement()); 18677 } 18678 if (element.hasCodeElement()) { 18679 composeCode("code", element.getCodeElement()); 18680 } 18681 if (element.hasNotesElement()) { 18682 composeString("notes", element.getNotesElement()); 18683 } 18684 if (element.hasBase()) { 18685 composeReference("base", element.getBase()); 18686 } 18687 if (element.hasSystemElement()) { 18688 composeBoolean("system", element.getSystemElement()); 18689 } 18690 if (element.hasType()) { 18691 for (CodeType e : element.getType()) 18692 composeCode("type", e); 18693 } 18694 if (element.hasInstanceElement()) { 18695 composeBoolean("instance", element.getInstanceElement()); 18696 } 18697 if (element.hasParameter()) { 18698 for (OperationDefinition.OperationDefinitionParameterComponent e : element.getParameter()) 18699 composeOperationDefinitionOperationDefinitionParameterComponent("parameter", e); 18700 } 18701 composeElementClose(element); 18702 xml.exit(FHIR_NS, name); 18703 } 18704 } 18705 18706 protected void composeOperationDefinitionOperationDefinitionContactComponent(String name, OperationDefinition.OperationDefinitionContactComponent element) throws IOException { 18707 if (element != null) { 18708 composeElementAttributes(element); 18709 xml.enter(FHIR_NS, name); 18710 composeBackboneElements(element); 18711 if (element.hasNameElement()) { 18712 composeString("name", element.getNameElement()); 18713 } 18714 if (element.hasTelecom()) { 18715 for (ContactPoint e : element.getTelecom()) 18716 composeContactPoint("telecom", e); 18717 } 18718 composeElementClose(element); 18719 xml.exit(FHIR_NS, name); 18720 } 18721 } 18722 18723 protected void composeOperationDefinitionOperationDefinitionParameterComponent(String name, OperationDefinition.OperationDefinitionParameterComponent element) throws IOException { 18724 if (element != null) { 18725 composeElementAttributes(element); 18726 xml.enter(FHIR_NS, name); 18727 composeBackboneElements(element); 18728 if (element.hasNameElement()) { 18729 composeCode("name", element.getNameElement()); 18730 } 18731 if (element.hasUseElement()) 18732 composeEnumeration("use", element.getUseElement(), new OperationDefinition.OperationParameterUseEnumFactory()); 18733 if (element.hasMinElement()) { 18734 composeInteger("min", element.getMinElement()); 18735 } 18736 if (element.hasMaxElement()) { 18737 composeString("max", element.getMaxElement()); 18738 } 18739 if (element.hasDocumentationElement()) { 18740 composeString("documentation", element.getDocumentationElement()); 18741 } 18742 if (element.hasTypeElement()) { 18743 composeCode("type", element.getTypeElement()); 18744 } 18745 if (element.hasProfile()) { 18746 composeReference("profile", element.getProfile()); 18747 } 18748 if (element.hasBinding()) { 18749 composeOperationDefinitionOperationDefinitionParameterBindingComponent("binding", element.getBinding()); 18750 } 18751 if (element.hasPart()) { 18752 for (OperationDefinition.OperationDefinitionParameterComponent e : element.getPart()) 18753 composeOperationDefinitionOperationDefinitionParameterComponent("part", e); 18754 } 18755 composeElementClose(element); 18756 xml.exit(FHIR_NS, name); 18757 } 18758 } 18759 18760 protected void composeOperationDefinitionOperationDefinitionParameterBindingComponent(String name, OperationDefinition.OperationDefinitionParameterBindingComponent element) throws IOException { 18761 if (element != null) { 18762 composeElementAttributes(element); 18763 xml.enter(FHIR_NS, name); 18764 composeBackboneElements(element); 18765 if (element.hasStrengthElement()) 18766 composeEnumeration("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory()); 18767 if (element.hasValueSet()) { 18768 composeType("valueSet", element.getValueSet()); 18769 } composeElementClose(element); 18770 xml.exit(FHIR_NS, name); 18771 } 18772 } 18773 18774 protected void composeOperationOutcome(String name, OperationOutcome element) throws IOException { 18775 if (element != null) { 18776 composeDomainResourceAttributes(element); 18777 xml.enter(FHIR_NS, name); 18778 composeDomainResourceElements(element); 18779 if (element.hasIssue()) { 18780 for (OperationOutcome.OperationOutcomeIssueComponent e : element.getIssue()) 18781 composeOperationOutcomeOperationOutcomeIssueComponent("issue", e); 18782 } 18783 composeElementClose(element); 18784 xml.exit(FHIR_NS, name); 18785 } 18786 } 18787 18788 protected void composeOperationOutcomeOperationOutcomeIssueComponent(String name, OperationOutcome.OperationOutcomeIssueComponent element) throws IOException { 18789 if (element != null) { 18790 composeElementAttributes(element); 18791 xml.enter(FHIR_NS, name); 18792 composeBackboneElements(element); 18793 if (element.hasSeverityElement()) 18794 composeEnumeration("severity", element.getSeverityElement(), new OperationOutcome.IssueSeverityEnumFactory()); 18795 if (element.hasCodeElement()) 18796 composeEnumeration("code", element.getCodeElement(), new OperationOutcome.IssueTypeEnumFactory()); 18797 if (element.hasDetails()) { 18798 composeCodeableConcept("details", element.getDetails()); 18799 } 18800 if (element.hasDiagnosticsElement()) { 18801 composeString("diagnostics", element.getDiagnosticsElement()); 18802 } 18803 if (element.hasLocation()) { 18804 for (StringType e : element.getLocation()) 18805 composeString("location", e); 18806 } 18807 composeElementClose(element); 18808 xml.exit(FHIR_NS, name); 18809 } 18810 } 18811 18812 protected void composeOrder(String name, Order element) throws IOException { 18813 if (element != null) { 18814 composeDomainResourceAttributes(element); 18815 xml.enter(FHIR_NS, name); 18816 composeDomainResourceElements(element); 18817 if (element.hasIdentifier()) { 18818 for (Identifier e : element.getIdentifier()) 18819 composeIdentifier("identifier", e); 18820 } 18821 if (element.hasDateElement()) { 18822 composeDateTime("date", element.getDateElement()); 18823 } 18824 if (element.hasSubject()) { 18825 composeReference("subject", element.getSubject()); 18826 } 18827 if (element.hasSource()) { 18828 composeReference("source", element.getSource()); 18829 } 18830 if (element.hasTarget()) { 18831 composeReference("target", element.getTarget()); 18832 } 18833 if (element.hasReason()) { 18834 composeType("reason", element.getReason()); 18835 } if (element.hasWhen()) { 18836 composeOrderOrderWhenComponent("when", element.getWhen()); 18837 } 18838 if (element.hasDetail()) { 18839 for (Reference e : element.getDetail()) 18840 composeReference("detail", e); 18841 } 18842 composeElementClose(element); 18843 xml.exit(FHIR_NS, name); 18844 } 18845 } 18846 18847 protected void composeOrderOrderWhenComponent(String name, Order.OrderWhenComponent element) throws IOException { 18848 if (element != null) { 18849 composeElementAttributes(element); 18850 xml.enter(FHIR_NS, name); 18851 composeBackboneElements(element); 18852 if (element.hasCode()) { 18853 composeCodeableConcept("code", element.getCode()); 18854 } 18855 if (element.hasSchedule()) { 18856 composeTiming("schedule", element.getSchedule()); 18857 } 18858 composeElementClose(element); 18859 xml.exit(FHIR_NS, name); 18860 } 18861 } 18862 18863 protected void composeOrderResponse(String name, OrderResponse element) throws IOException { 18864 if (element != null) { 18865 composeDomainResourceAttributes(element); 18866 xml.enter(FHIR_NS, name); 18867 composeDomainResourceElements(element); 18868 if (element.hasIdentifier()) { 18869 for (Identifier e : element.getIdentifier()) 18870 composeIdentifier("identifier", e); 18871 } 18872 if (element.hasRequest()) { 18873 composeReference("request", element.getRequest()); 18874 } 18875 if (element.hasDateElement()) { 18876 composeDateTime("date", element.getDateElement()); 18877 } 18878 if (element.hasWho()) { 18879 composeReference("who", element.getWho()); 18880 } 18881 if (element.hasOrderStatusElement()) 18882 composeEnumeration("orderStatus", element.getOrderStatusElement(), new OrderResponse.OrderStatusEnumFactory()); 18883 if (element.hasDescriptionElement()) { 18884 composeString("description", element.getDescriptionElement()); 18885 } 18886 if (element.hasFulfillment()) { 18887 for (Reference e : element.getFulfillment()) 18888 composeReference("fulfillment", e); 18889 } 18890 composeElementClose(element); 18891 xml.exit(FHIR_NS, name); 18892 } 18893 } 18894 18895 protected void composeOrganization(String name, Organization element) throws IOException { 18896 if (element != null) { 18897 composeDomainResourceAttributes(element); 18898 xml.enter(FHIR_NS, name); 18899 composeDomainResourceElements(element); 18900 if (element.hasIdentifier()) { 18901 for (Identifier e : element.getIdentifier()) 18902 composeIdentifier("identifier", e); 18903 } 18904 if (element.hasActiveElement()) { 18905 composeBoolean("active", element.getActiveElement()); 18906 } 18907 if (element.hasType()) { 18908 composeCodeableConcept("type", element.getType()); 18909 } 18910 if (element.hasNameElement()) { 18911 composeString("name", element.getNameElement()); 18912 } 18913 if (element.hasTelecom()) { 18914 for (ContactPoint e : element.getTelecom()) 18915 composeContactPoint("telecom", e); 18916 } 18917 if (element.hasAddress()) { 18918 for (Address e : element.getAddress()) 18919 composeAddress("address", e); 18920 } 18921 if (element.hasPartOf()) { 18922 composeReference("partOf", element.getPartOf()); 18923 } 18924 if (element.hasContact()) { 18925 for (Organization.OrganizationContactComponent e : element.getContact()) 18926 composeOrganizationOrganizationContactComponent("contact", e); 18927 } 18928 composeElementClose(element); 18929 xml.exit(FHIR_NS, name); 18930 } 18931 } 18932 18933 protected void composeOrganizationOrganizationContactComponent(String name, Organization.OrganizationContactComponent element) throws IOException { 18934 if (element != null) { 18935 composeElementAttributes(element); 18936 xml.enter(FHIR_NS, name); 18937 composeBackboneElements(element); 18938 if (element.hasPurpose()) { 18939 composeCodeableConcept("purpose", element.getPurpose()); 18940 } 18941 if (element.hasName()) { 18942 composeHumanName("name", element.getName()); 18943 } 18944 if (element.hasTelecom()) { 18945 for (ContactPoint e : element.getTelecom()) 18946 composeContactPoint("telecom", e); 18947 } 18948 if (element.hasAddress()) { 18949 composeAddress("address", element.getAddress()); 18950 } 18951 composeElementClose(element); 18952 xml.exit(FHIR_NS, name); 18953 } 18954 } 18955 18956 protected void composePatient(String name, Patient element) throws IOException { 18957 if (element != null) { 18958 composeDomainResourceAttributes(element); 18959 xml.enter(FHIR_NS, name); 18960 composeDomainResourceElements(element); 18961 if (element.hasIdentifier()) { 18962 for (Identifier e : element.getIdentifier()) 18963 composeIdentifier("identifier", e); 18964 } 18965 if (element.hasActiveElement()) { 18966 composeBoolean("active", element.getActiveElement()); 18967 } 18968 if (element.hasName()) { 18969 for (HumanName e : element.getName()) 18970 composeHumanName("name", e); 18971 } 18972 if (element.hasTelecom()) { 18973 for (ContactPoint e : element.getTelecom()) 18974 composeContactPoint("telecom", e); 18975 } 18976 if (element.hasGenderElement()) 18977 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 18978 if (element.hasBirthDateElement()) { 18979 composeDate("birthDate", element.getBirthDateElement()); 18980 } 18981 if (element.hasDeceased()) { 18982 composeType("deceased", element.getDeceased()); 18983 } if (element.hasAddress()) { 18984 for (Address e : element.getAddress()) 18985 composeAddress("address", e); 18986 } 18987 if (element.hasMaritalStatus()) { 18988 composeCodeableConcept("maritalStatus", element.getMaritalStatus()); 18989 } 18990 if (element.hasMultipleBirth()) { 18991 composeType("multipleBirth", element.getMultipleBirth()); 18992 } if (element.hasPhoto()) { 18993 for (Attachment e : element.getPhoto()) 18994 composeAttachment("photo", e); 18995 } 18996 if (element.hasContact()) { 18997 for (Patient.ContactComponent e : element.getContact()) 18998 composePatientContactComponent("contact", e); 18999 } 19000 if (element.hasAnimal()) { 19001 composePatientAnimalComponent("animal", element.getAnimal()); 19002 } 19003 if (element.hasCommunication()) { 19004 for (Patient.PatientCommunicationComponent e : element.getCommunication()) 19005 composePatientPatientCommunicationComponent("communication", e); 19006 } 19007 if (element.hasCareProvider()) { 19008 for (Reference e : element.getCareProvider()) 19009 composeReference("careProvider", e); 19010 } 19011 if (element.hasManagingOrganization()) { 19012 composeReference("managingOrganization", element.getManagingOrganization()); 19013 } 19014 if (element.hasLink()) { 19015 for (Patient.PatientLinkComponent e : element.getLink()) 19016 composePatientPatientLinkComponent("link", e); 19017 } 19018 composeElementClose(element); 19019 xml.exit(FHIR_NS, name); 19020 } 19021 } 19022 19023 protected void composePatientContactComponent(String name, Patient.ContactComponent element) throws IOException { 19024 if (element != null) { 19025 composeElementAttributes(element); 19026 xml.enter(FHIR_NS, name); 19027 composeBackboneElements(element); 19028 if (element.hasRelationship()) { 19029 for (CodeableConcept e : element.getRelationship()) 19030 composeCodeableConcept("relationship", e); 19031 } 19032 if (element.hasName()) { 19033 composeHumanName("name", element.getName()); 19034 } 19035 if (element.hasTelecom()) { 19036 for (ContactPoint e : element.getTelecom()) 19037 composeContactPoint("telecom", e); 19038 } 19039 if (element.hasAddress()) { 19040 composeAddress("address", element.getAddress()); 19041 } 19042 if (element.hasGenderElement()) 19043 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 19044 if (element.hasOrganization()) { 19045 composeReference("organization", element.getOrganization()); 19046 } 19047 if (element.hasPeriod()) { 19048 composePeriod("period", element.getPeriod()); 19049 } 19050 composeElementClose(element); 19051 xml.exit(FHIR_NS, name); 19052 } 19053 } 19054 19055 protected void composePatientAnimalComponent(String name, Patient.AnimalComponent element) throws IOException { 19056 if (element != null) { 19057 composeElementAttributes(element); 19058 xml.enter(FHIR_NS, name); 19059 composeBackboneElements(element); 19060 if (element.hasSpecies()) { 19061 composeCodeableConcept("species", element.getSpecies()); 19062 } 19063 if (element.hasBreed()) { 19064 composeCodeableConcept("breed", element.getBreed()); 19065 } 19066 if (element.hasGenderStatus()) { 19067 composeCodeableConcept("genderStatus", element.getGenderStatus()); 19068 } 19069 composeElementClose(element); 19070 xml.exit(FHIR_NS, name); 19071 } 19072 } 19073 19074 protected void composePatientPatientCommunicationComponent(String name, Patient.PatientCommunicationComponent element) throws IOException { 19075 if (element != null) { 19076 composeElementAttributes(element); 19077 xml.enter(FHIR_NS, name); 19078 composeBackboneElements(element); 19079 if (element.hasLanguage()) { 19080 composeCodeableConcept("language", element.getLanguage()); 19081 } 19082 if (element.hasPreferredElement()) { 19083 composeBoolean("preferred", element.getPreferredElement()); 19084 } 19085 composeElementClose(element); 19086 xml.exit(FHIR_NS, name); 19087 } 19088 } 19089 19090 protected void composePatientPatientLinkComponent(String name, Patient.PatientLinkComponent element) throws IOException { 19091 if (element != null) { 19092 composeElementAttributes(element); 19093 xml.enter(FHIR_NS, name); 19094 composeBackboneElements(element); 19095 if (element.hasOther()) { 19096 composeReference("other", element.getOther()); 19097 } 19098 if (element.hasTypeElement()) 19099 composeEnumeration("type", element.getTypeElement(), new Patient.LinkTypeEnumFactory()); 19100 composeElementClose(element); 19101 xml.exit(FHIR_NS, name); 19102 } 19103 } 19104 19105 protected void composePaymentNotice(String name, PaymentNotice element) throws IOException { 19106 if (element != null) { 19107 composeDomainResourceAttributes(element); 19108 xml.enter(FHIR_NS, name); 19109 composeDomainResourceElements(element); 19110 if (element.hasIdentifier()) { 19111 for (Identifier e : element.getIdentifier()) 19112 composeIdentifier("identifier", e); 19113 } 19114 if (element.hasRuleset()) { 19115 composeCoding("ruleset", element.getRuleset()); 19116 } 19117 if (element.hasOriginalRuleset()) { 19118 composeCoding("originalRuleset", element.getOriginalRuleset()); 19119 } 19120 if (element.hasCreatedElement()) { 19121 composeDateTime("created", element.getCreatedElement()); 19122 } 19123 if (element.hasTarget()) { 19124 composeReference("target", element.getTarget()); 19125 } 19126 if (element.hasProvider()) { 19127 composeReference("provider", element.getProvider()); 19128 } 19129 if (element.hasOrganization()) { 19130 composeReference("organization", element.getOrganization()); 19131 } 19132 if (element.hasRequest()) { 19133 composeReference("request", element.getRequest()); 19134 } 19135 if (element.hasResponse()) { 19136 composeReference("response", element.getResponse()); 19137 } 19138 if (element.hasPaymentStatus()) { 19139 composeCoding("paymentStatus", element.getPaymentStatus()); 19140 } 19141 composeElementClose(element); 19142 xml.exit(FHIR_NS, name); 19143 } 19144 } 19145 19146 protected void composePaymentReconciliation(String name, PaymentReconciliation element) throws IOException { 19147 if (element != null) { 19148 composeDomainResourceAttributes(element); 19149 xml.enter(FHIR_NS, name); 19150 composeDomainResourceElements(element); 19151 if (element.hasIdentifier()) { 19152 for (Identifier e : element.getIdentifier()) 19153 composeIdentifier("identifier", e); 19154 } 19155 if (element.hasRequest()) { 19156 composeReference("request", element.getRequest()); 19157 } 19158 if (element.hasOutcomeElement()) 19159 composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.RemittanceOutcomeEnumFactory()); 19160 if (element.hasDispositionElement()) { 19161 composeString("disposition", element.getDispositionElement()); 19162 } 19163 if (element.hasRuleset()) { 19164 composeCoding("ruleset", element.getRuleset()); 19165 } 19166 if (element.hasOriginalRuleset()) { 19167 composeCoding("originalRuleset", element.getOriginalRuleset()); 19168 } 19169 if (element.hasCreatedElement()) { 19170 composeDateTime("created", element.getCreatedElement()); 19171 } 19172 if (element.hasPeriod()) { 19173 composePeriod("period", element.getPeriod()); 19174 } 19175 if (element.hasOrganization()) { 19176 composeReference("organization", element.getOrganization()); 19177 } 19178 if (element.hasRequestProvider()) { 19179 composeReference("requestProvider", element.getRequestProvider()); 19180 } 19181 if (element.hasRequestOrganization()) { 19182 composeReference("requestOrganization", element.getRequestOrganization()); 19183 } 19184 if (element.hasDetail()) { 19185 for (PaymentReconciliation.DetailsComponent e : element.getDetail()) 19186 composePaymentReconciliationDetailsComponent("detail", e); 19187 } 19188 if (element.hasForm()) { 19189 composeCoding("form", element.getForm()); 19190 } 19191 if (element.hasTotal()) { 19192 composeMoney("total", element.getTotal()); 19193 } 19194 if (element.hasNote()) { 19195 for (PaymentReconciliation.NotesComponent e : element.getNote()) 19196 composePaymentReconciliationNotesComponent("note", e); 19197 } 19198 composeElementClose(element); 19199 xml.exit(FHIR_NS, name); 19200 } 19201 } 19202 19203 protected void composePaymentReconciliationDetailsComponent(String name, PaymentReconciliation.DetailsComponent element) throws IOException { 19204 if (element != null) { 19205 composeElementAttributes(element); 19206 xml.enter(FHIR_NS, name); 19207 composeBackboneElements(element); 19208 if (element.hasType()) { 19209 composeCoding("type", element.getType()); 19210 } 19211 if (element.hasRequest()) { 19212 composeReference("request", element.getRequest()); 19213 } 19214 if (element.hasResponce()) { 19215 composeReference("responce", element.getResponce()); 19216 } 19217 if (element.hasSubmitter()) { 19218 composeReference("submitter", element.getSubmitter()); 19219 } 19220 if (element.hasPayee()) { 19221 composeReference("payee", element.getPayee()); 19222 } 19223 if (element.hasDateElement()) { 19224 composeDate("date", element.getDateElement()); 19225 } 19226 if (element.hasAmount()) { 19227 composeMoney("amount", element.getAmount()); 19228 } 19229 composeElementClose(element); 19230 xml.exit(FHIR_NS, name); 19231 } 19232 } 19233 19234 protected void composePaymentReconciliationNotesComponent(String name, PaymentReconciliation.NotesComponent element) throws IOException { 19235 if (element != null) { 19236 composeElementAttributes(element); 19237 xml.enter(FHIR_NS, name); 19238 composeBackboneElements(element); 19239 if (element.hasType()) { 19240 composeCoding("type", element.getType()); 19241 } 19242 if (element.hasTextElement()) { 19243 composeString("text", element.getTextElement()); 19244 } 19245 composeElementClose(element); 19246 xml.exit(FHIR_NS, name); 19247 } 19248 } 19249 19250 protected void composePerson(String name, Person element) throws IOException { 19251 if (element != null) { 19252 composeDomainResourceAttributes(element); 19253 xml.enter(FHIR_NS, name); 19254 composeDomainResourceElements(element); 19255 if (element.hasIdentifier()) { 19256 for (Identifier e : element.getIdentifier()) 19257 composeIdentifier("identifier", e); 19258 } 19259 if (element.hasName()) { 19260 for (HumanName e : element.getName()) 19261 composeHumanName("name", e); 19262 } 19263 if (element.hasTelecom()) { 19264 for (ContactPoint e : element.getTelecom()) 19265 composeContactPoint("telecom", e); 19266 } 19267 if (element.hasGenderElement()) 19268 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 19269 if (element.hasBirthDateElement()) { 19270 composeDate("birthDate", element.getBirthDateElement()); 19271 } 19272 if (element.hasAddress()) { 19273 for (Address e : element.getAddress()) 19274 composeAddress("address", e); 19275 } 19276 if (element.hasPhoto()) { 19277 composeAttachment("photo", element.getPhoto()); 19278 } 19279 if (element.hasManagingOrganization()) { 19280 composeReference("managingOrganization", element.getManagingOrganization()); 19281 } 19282 if (element.hasActiveElement()) { 19283 composeBoolean("active", element.getActiveElement()); 19284 } 19285 if (element.hasLink()) { 19286 for (Person.PersonLinkComponent e : element.getLink()) 19287 composePersonPersonLinkComponent("link", e); 19288 } 19289 composeElementClose(element); 19290 xml.exit(FHIR_NS, name); 19291 } 19292 } 19293 19294 protected void composePersonPersonLinkComponent(String name, Person.PersonLinkComponent element) throws IOException { 19295 if (element != null) { 19296 composeElementAttributes(element); 19297 xml.enter(FHIR_NS, name); 19298 composeBackboneElements(element); 19299 if (element.hasTarget()) { 19300 composeReference("target", element.getTarget()); 19301 } 19302 if (element.hasAssuranceElement()) 19303 composeEnumeration("assurance", element.getAssuranceElement(), new Person.IdentityAssuranceLevelEnumFactory()); 19304 composeElementClose(element); 19305 xml.exit(FHIR_NS, name); 19306 } 19307 } 19308 19309 protected void composePractitioner(String name, Practitioner element) throws IOException { 19310 if (element != null) { 19311 composeDomainResourceAttributes(element); 19312 xml.enter(FHIR_NS, name); 19313 composeDomainResourceElements(element); 19314 if (element.hasIdentifier()) { 19315 for (Identifier e : element.getIdentifier()) 19316 composeIdentifier("identifier", e); 19317 } 19318 if (element.hasActiveElement()) { 19319 composeBoolean("active", element.getActiveElement()); 19320 } 19321 if (element.hasName()) { 19322 composeHumanName("name", element.getName()); 19323 } 19324 if (element.hasTelecom()) { 19325 for (ContactPoint e : element.getTelecom()) 19326 composeContactPoint("telecom", e); 19327 } 19328 if (element.hasAddress()) { 19329 for (Address e : element.getAddress()) 19330 composeAddress("address", e); 19331 } 19332 if (element.hasGenderElement()) 19333 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 19334 if (element.hasBirthDateElement()) { 19335 composeDate("birthDate", element.getBirthDateElement()); 19336 } 19337 if (element.hasPhoto()) { 19338 for (Attachment e : element.getPhoto()) 19339 composeAttachment("photo", e); 19340 } 19341 if (element.hasPractitionerRole()) { 19342 for (Practitioner.PractitionerPractitionerRoleComponent e : element.getPractitionerRole()) 19343 composePractitionerPractitionerPractitionerRoleComponent("practitionerRole", e); 19344 } 19345 if (element.hasQualification()) { 19346 for (Practitioner.PractitionerQualificationComponent e : element.getQualification()) 19347 composePractitionerPractitionerQualificationComponent("qualification", e); 19348 } 19349 if (element.hasCommunication()) { 19350 for (CodeableConcept e : element.getCommunication()) 19351 composeCodeableConcept("communication", e); 19352 } 19353 composeElementClose(element); 19354 xml.exit(FHIR_NS, name); 19355 } 19356 } 19357 19358 protected void composePractitionerPractitionerPractitionerRoleComponent(String name, Practitioner.PractitionerPractitionerRoleComponent element) throws IOException { 19359 if (element != null) { 19360 composeElementAttributes(element); 19361 xml.enter(FHIR_NS, name); 19362 composeBackboneElements(element); 19363 if (element.hasManagingOrganization()) { 19364 composeReference("managingOrganization", element.getManagingOrganization()); 19365 } 19366 if (element.hasRole()) { 19367 composeCodeableConcept("role", element.getRole()); 19368 } 19369 if (element.hasSpecialty()) { 19370 for (CodeableConcept e : element.getSpecialty()) 19371 composeCodeableConcept("specialty", e); 19372 } 19373 if (element.hasPeriod()) { 19374 composePeriod("period", element.getPeriod()); 19375 } 19376 if (element.hasLocation()) { 19377 for (Reference e : element.getLocation()) 19378 composeReference("location", e); 19379 } 19380 if (element.hasHealthcareService()) { 19381 for (Reference e : element.getHealthcareService()) 19382 composeReference("healthcareService", e); 19383 } 19384 composeElementClose(element); 19385 xml.exit(FHIR_NS, name); 19386 } 19387 } 19388 19389 protected void composePractitionerPractitionerQualificationComponent(String name, Practitioner.PractitionerQualificationComponent element) throws IOException { 19390 if (element != null) { 19391 composeElementAttributes(element); 19392 xml.enter(FHIR_NS, name); 19393 composeBackboneElements(element); 19394 if (element.hasIdentifier()) { 19395 for (Identifier e : element.getIdentifier()) 19396 composeIdentifier("identifier", e); 19397 } 19398 if (element.hasCode()) { 19399 composeCodeableConcept("code", element.getCode()); 19400 } 19401 if (element.hasPeriod()) { 19402 composePeriod("period", element.getPeriod()); 19403 } 19404 if (element.hasIssuer()) { 19405 composeReference("issuer", element.getIssuer()); 19406 } 19407 composeElementClose(element); 19408 xml.exit(FHIR_NS, name); 19409 } 19410 } 19411 19412 protected void composeProcedure(String name, Procedure element) throws IOException { 19413 if (element != null) { 19414 composeDomainResourceAttributes(element); 19415 xml.enter(FHIR_NS, name); 19416 composeDomainResourceElements(element); 19417 if (element.hasIdentifier()) { 19418 for (Identifier e : element.getIdentifier()) 19419 composeIdentifier("identifier", e); 19420 } 19421 if (element.hasSubject()) { 19422 composeReference("subject", element.getSubject()); 19423 } 19424 if (element.hasStatusElement()) 19425 composeEnumeration("status", element.getStatusElement(), new Procedure.ProcedureStatusEnumFactory()); 19426 if (element.hasCategory()) { 19427 composeCodeableConcept("category", element.getCategory()); 19428 } 19429 if (element.hasCode()) { 19430 composeCodeableConcept("code", element.getCode()); 19431 } 19432 if (element.hasNotPerformedElement()) { 19433 composeBoolean("notPerformed", element.getNotPerformedElement()); 19434 } 19435 if (element.hasReasonNotPerformed()) { 19436 for (CodeableConcept e : element.getReasonNotPerformed()) 19437 composeCodeableConcept("reasonNotPerformed", e); 19438 } 19439 if (element.hasBodySite()) { 19440 for (CodeableConcept e : element.getBodySite()) 19441 composeCodeableConcept("bodySite", e); 19442 } 19443 if (element.hasReason()) { 19444 composeType("reason", element.getReason()); 19445 } if (element.hasPerformer()) { 19446 for (Procedure.ProcedurePerformerComponent e : element.getPerformer()) 19447 composeProcedureProcedurePerformerComponent("performer", e); 19448 } 19449 if (element.hasPerformed()) { 19450 composeType("performed", element.getPerformed()); 19451 } if (element.hasEncounter()) { 19452 composeReference("encounter", element.getEncounter()); 19453 } 19454 if (element.hasLocation()) { 19455 composeReference("location", element.getLocation()); 19456 } 19457 if (element.hasOutcome()) { 19458 composeCodeableConcept("outcome", element.getOutcome()); 19459 } 19460 if (element.hasReport()) { 19461 for (Reference e : element.getReport()) 19462 composeReference("report", e); 19463 } 19464 if (element.hasComplication()) { 19465 for (CodeableConcept e : element.getComplication()) 19466 composeCodeableConcept("complication", e); 19467 } 19468 if (element.hasFollowUp()) { 19469 for (CodeableConcept e : element.getFollowUp()) 19470 composeCodeableConcept("followUp", e); 19471 } 19472 if (element.hasRequest()) { 19473 composeReference("request", element.getRequest()); 19474 } 19475 if (element.hasNotes()) { 19476 for (Annotation e : element.getNotes()) 19477 composeAnnotation("notes", e); 19478 } 19479 if (element.hasFocalDevice()) { 19480 for (Procedure.ProcedureFocalDeviceComponent e : element.getFocalDevice()) 19481 composeProcedureProcedureFocalDeviceComponent("focalDevice", e); 19482 } 19483 if (element.hasUsed()) { 19484 for (Reference e : element.getUsed()) 19485 composeReference("used", e); 19486 } 19487 composeElementClose(element); 19488 xml.exit(FHIR_NS, name); 19489 } 19490 } 19491 19492 protected void composeProcedureProcedurePerformerComponent(String name, Procedure.ProcedurePerformerComponent element) throws IOException { 19493 if (element != null) { 19494 composeElementAttributes(element); 19495 xml.enter(FHIR_NS, name); 19496 composeBackboneElements(element); 19497 if (element.hasActor()) { 19498 composeReference("actor", element.getActor()); 19499 } 19500 if (element.hasRole()) { 19501 composeCodeableConcept("role", element.getRole()); 19502 } 19503 composeElementClose(element); 19504 xml.exit(FHIR_NS, name); 19505 } 19506 } 19507 19508 protected void composeProcedureProcedureFocalDeviceComponent(String name, Procedure.ProcedureFocalDeviceComponent element) throws IOException { 19509 if (element != null) { 19510 composeElementAttributes(element); 19511 xml.enter(FHIR_NS, name); 19512 composeBackboneElements(element); 19513 if (element.hasAction()) { 19514 composeCodeableConcept("action", element.getAction()); 19515 } 19516 if (element.hasManipulated()) { 19517 composeReference("manipulated", element.getManipulated()); 19518 } 19519 composeElementClose(element); 19520 xml.exit(FHIR_NS, name); 19521 } 19522 } 19523 19524 protected void composeProcedureRequest(String name, ProcedureRequest element) throws IOException { 19525 if (element != null) { 19526 composeDomainResourceAttributes(element); 19527 xml.enter(FHIR_NS, name); 19528 composeDomainResourceElements(element); 19529 if (element.hasIdentifier()) { 19530 for (Identifier e : element.getIdentifier()) 19531 composeIdentifier("identifier", e); 19532 } 19533 if (element.hasSubject()) { 19534 composeReference("subject", element.getSubject()); 19535 } 19536 if (element.hasCode()) { 19537 composeCodeableConcept("code", element.getCode()); 19538 } 19539 if (element.hasBodySite()) { 19540 for (CodeableConcept e : element.getBodySite()) 19541 composeCodeableConcept("bodySite", e); 19542 } 19543 if (element.hasReason()) { 19544 composeType("reason", element.getReason()); 19545 } if (element.hasScheduled()) { 19546 composeType("scheduled", element.getScheduled()); 19547 } if (element.hasEncounter()) { 19548 composeReference("encounter", element.getEncounter()); 19549 } 19550 if (element.hasPerformer()) { 19551 composeReference("performer", element.getPerformer()); 19552 } 19553 if (element.hasStatusElement()) 19554 composeEnumeration("status", element.getStatusElement(), new ProcedureRequest.ProcedureRequestStatusEnumFactory()); 19555 if (element.hasNotes()) { 19556 for (Annotation e : element.getNotes()) 19557 composeAnnotation("notes", e); 19558 } 19559 if (element.hasAsNeeded()) { 19560 composeType("asNeeded", element.getAsNeeded()); 19561 } if (element.hasOrderedOnElement()) { 19562 composeDateTime("orderedOn", element.getOrderedOnElement()); 19563 } 19564 if (element.hasOrderer()) { 19565 composeReference("orderer", element.getOrderer()); 19566 } 19567 if (element.hasPriorityElement()) 19568 composeEnumeration("priority", element.getPriorityElement(), new ProcedureRequest.ProcedureRequestPriorityEnumFactory()); 19569 composeElementClose(element); 19570 xml.exit(FHIR_NS, name); 19571 } 19572 } 19573 19574 protected void composeProcessRequest(String name, ProcessRequest element) throws IOException { 19575 if (element != null) { 19576 composeDomainResourceAttributes(element); 19577 xml.enter(FHIR_NS, name); 19578 composeDomainResourceElements(element); 19579 if (element.hasActionElement()) 19580 composeEnumeration("action", element.getActionElement(), new ProcessRequest.ActionListEnumFactory()); 19581 if (element.hasIdentifier()) { 19582 for (Identifier e : element.getIdentifier()) 19583 composeIdentifier("identifier", e); 19584 } 19585 if (element.hasRuleset()) { 19586 composeCoding("ruleset", element.getRuleset()); 19587 } 19588 if (element.hasOriginalRuleset()) { 19589 composeCoding("originalRuleset", element.getOriginalRuleset()); 19590 } 19591 if (element.hasCreatedElement()) { 19592 composeDateTime("created", element.getCreatedElement()); 19593 } 19594 if (element.hasTarget()) { 19595 composeReference("target", element.getTarget()); 19596 } 19597 if (element.hasProvider()) { 19598 composeReference("provider", element.getProvider()); 19599 } 19600 if (element.hasOrganization()) { 19601 composeReference("organization", element.getOrganization()); 19602 } 19603 if (element.hasRequest()) { 19604 composeReference("request", element.getRequest()); 19605 } 19606 if (element.hasResponse()) { 19607 composeReference("response", element.getResponse()); 19608 } 19609 if (element.hasNullifyElement()) { 19610 composeBoolean("nullify", element.getNullifyElement()); 19611 } 19612 if (element.hasReferenceElement()) { 19613 composeString("reference", element.getReferenceElement()); 19614 } 19615 if (element.hasItem()) { 19616 for (ProcessRequest.ItemsComponent e : element.getItem()) 19617 composeProcessRequestItemsComponent("item", e); 19618 } 19619 if (element.hasInclude()) { 19620 for (StringType e : element.getInclude()) 19621 composeString("include", e); 19622 } 19623 if (element.hasExclude()) { 19624 for (StringType e : element.getExclude()) 19625 composeString("exclude", e); 19626 } 19627 if (element.hasPeriod()) { 19628 composePeriod("period", element.getPeriod()); 19629 } 19630 composeElementClose(element); 19631 xml.exit(FHIR_NS, name); 19632 } 19633 } 19634 19635 protected void composeProcessRequestItemsComponent(String name, ProcessRequest.ItemsComponent element) throws IOException { 19636 if (element != null) { 19637 composeElementAttributes(element); 19638 xml.enter(FHIR_NS, name); 19639 composeBackboneElements(element); 19640 if (element.hasSequenceLinkIdElement()) { 19641 composeInteger("sequenceLinkId", element.getSequenceLinkIdElement()); 19642 } 19643 composeElementClose(element); 19644 xml.exit(FHIR_NS, name); 19645 } 19646 } 19647 19648 protected void composeProcessResponse(String name, ProcessResponse element) throws IOException { 19649 if (element != null) { 19650 composeDomainResourceAttributes(element); 19651 xml.enter(FHIR_NS, name); 19652 composeDomainResourceElements(element); 19653 if (element.hasIdentifier()) { 19654 for (Identifier e : element.getIdentifier()) 19655 composeIdentifier("identifier", e); 19656 } 19657 if (element.hasRequest()) { 19658 composeReference("request", element.getRequest()); 19659 } 19660 if (element.hasOutcome()) { 19661 composeCoding("outcome", element.getOutcome()); 19662 } 19663 if (element.hasDispositionElement()) { 19664 composeString("disposition", element.getDispositionElement()); 19665 } 19666 if (element.hasRuleset()) { 19667 composeCoding("ruleset", element.getRuleset()); 19668 } 19669 if (element.hasOriginalRuleset()) { 19670 composeCoding("originalRuleset", element.getOriginalRuleset()); 19671 } 19672 if (element.hasCreatedElement()) { 19673 composeDateTime("created", element.getCreatedElement()); 19674 } 19675 if (element.hasOrganization()) { 19676 composeReference("organization", element.getOrganization()); 19677 } 19678 if (element.hasRequestProvider()) { 19679 composeReference("requestProvider", element.getRequestProvider()); 19680 } 19681 if (element.hasRequestOrganization()) { 19682 composeReference("requestOrganization", element.getRequestOrganization()); 19683 } 19684 if (element.hasForm()) { 19685 composeCoding("form", element.getForm()); 19686 } 19687 if (element.hasNotes()) { 19688 for (ProcessResponse.ProcessResponseNotesComponent e : element.getNotes()) 19689 composeProcessResponseProcessResponseNotesComponent("notes", e); 19690 } 19691 if (element.hasError()) { 19692 for (Coding e : element.getError()) 19693 composeCoding("error", e); 19694 } 19695 composeElementClose(element); 19696 xml.exit(FHIR_NS, name); 19697 } 19698 } 19699 19700 protected void composeProcessResponseProcessResponseNotesComponent(String name, ProcessResponse.ProcessResponseNotesComponent element) throws IOException { 19701 if (element != null) { 19702 composeElementAttributes(element); 19703 xml.enter(FHIR_NS, name); 19704 composeBackboneElements(element); 19705 if (element.hasType()) { 19706 composeCoding("type", element.getType()); 19707 } 19708 if (element.hasTextElement()) { 19709 composeString("text", element.getTextElement()); 19710 } 19711 composeElementClose(element); 19712 xml.exit(FHIR_NS, name); 19713 } 19714 } 19715 19716 protected void composeProvenance(String name, Provenance element) throws IOException { 19717 if (element != null) { 19718 composeDomainResourceAttributes(element); 19719 xml.enter(FHIR_NS, name); 19720 composeDomainResourceElements(element); 19721 if (element.hasTarget()) { 19722 for (Reference e : element.getTarget()) 19723 composeReference("target", e); 19724 } 19725 if (element.hasPeriod()) { 19726 composePeriod("period", element.getPeriod()); 19727 } 19728 if (element.hasRecordedElement()) { 19729 composeInstant("recorded", element.getRecordedElement()); 19730 } 19731 if (element.hasReason()) { 19732 for (CodeableConcept e : element.getReason()) 19733 composeCodeableConcept("reason", e); 19734 } 19735 if (element.hasActivity()) { 19736 composeCodeableConcept("activity", element.getActivity()); 19737 } 19738 if (element.hasLocation()) { 19739 composeReference("location", element.getLocation()); 19740 } 19741 if (element.hasPolicy()) { 19742 for (UriType e : element.getPolicy()) 19743 composeUri("policy", e); 19744 } 19745 if (element.hasAgent()) { 19746 for (Provenance.ProvenanceAgentComponent e : element.getAgent()) 19747 composeProvenanceProvenanceAgentComponent("agent", e); 19748 } 19749 if (element.hasEntity()) { 19750 for (Provenance.ProvenanceEntityComponent e : element.getEntity()) 19751 composeProvenanceProvenanceEntityComponent("entity", e); 19752 } 19753 if (element.hasSignature()) { 19754 for (Signature e : element.getSignature()) 19755 composeSignature("signature", e); 19756 } 19757 composeElementClose(element); 19758 xml.exit(FHIR_NS, name); 19759 } 19760 } 19761 19762 protected void composeProvenanceProvenanceAgentComponent(String name, Provenance.ProvenanceAgentComponent element) throws IOException { 19763 if (element != null) { 19764 composeElementAttributes(element); 19765 xml.enter(FHIR_NS, name); 19766 composeBackboneElements(element); 19767 if (element.hasRole()) { 19768 composeCoding("role", element.getRole()); 19769 } 19770 if (element.hasActor()) { 19771 composeReference("actor", element.getActor()); 19772 } 19773 if (element.hasUserId()) { 19774 composeIdentifier("userId", element.getUserId()); 19775 } 19776 if (element.hasRelatedAgent()) { 19777 for (Provenance.ProvenanceAgentRelatedAgentComponent e : element.getRelatedAgent()) 19778 composeProvenanceProvenanceAgentRelatedAgentComponent("relatedAgent", e); 19779 } 19780 composeElementClose(element); 19781 xml.exit(FHIR_NS, name); 19782 } 19783 } 19784 19785 protected void composeProvenanceProvenanceAgentRelatedAgentComponent(String name, Provenance.ProvenanceAgentRelatedAgentComponent element) throws IOException { 19786 if (element != null) { 19787 composeElementAttributes(element); 19788 xml.enter(FHIR_NS, name); 19789 composeBackboneElements(element); 19790 if (element.hasType()) { 19791 composeCodeableConcept("type", element.getType()); 19792 } 19793 if (element.hasTargetElement()) { 19794 composeUri("target", element.getTargetElement()); 19795 } 19796 composeElementClose(element); 19797 xml.exit(FHIR_NS, name); 19798 } 19799 } 19800 19801 protected void composeProvenanceProvenanceEntityComponent(String name, Provenance.ProvenanceEntityComponent element) throws IOException { 19802 if (element != null) { 19803 composeElementAttributes(element); 19804 xml.enter(FHIR_NS, name); 19805 composeBackboneElements(element); 19806 if (element.hasRoleElement()) 19807 composeEnumeration("role", element.getRoleElement(), new Provenance.ProvenanceEntityRoleEnumFactory()); 19808 if (element.hasType()) { 19809 composeCoding("type", element.getType()); 19810 } 19811 if (element.hasReferenceElement()) { 19812 composeUri("reference", element.getReferenceElement()); 19813 } 19814 if (element.hasDisplayElement()) { 19815 composeString("display", element.getDisplayElement()); 19816 } 19817 if (element.hasAgent()) { 19818 composeProvenanceProvenanceAgentComponent("agent", element.getAgent()); 19819 } 19820 composeElementClose(element); 19821 xml.exit(FHIR_NS, name); 19822 } 19823 } 19824 19825 protected void composeQuestionnaire(String name, Questionnaire element) throws IOException { 19826 if (element != null) { 19827 composeDomainResourceAttributes(element); 19828 xml.enter(FHIR_NS, name); 19829 composeDomainResourceElements(element); 19830 if (element.hasIdentifier()) { 19831 for (Identifier e : element.getIdentifier()) 19832 composeIdentifier("identifier", e); 19833 } 19834 if (element.hasVersionElement()) { 19835 composeString("version", element.getVersionElement()); 19836 } 19837 if (element.hasStatusElement()) 19838 composeEnumeration("status", element.getStatusElement(), new Questionnaire.QuestionnaireStatusEnumFactory()); 19839 if (element.hasDateElement()) { 19840 composeDateTime("date", element.getDateElement()); 19841 } 19842 if (element.hasPublisherElement()) { 19843 composeString("publisher", element.getPublisherElement()); 19844 } 19845 if (element.hasTelecom()) { 19846 for (ContactPoint e : element.getTelecom()) 19847 composeContactPoint("telecom", e); 19848 } 19849 if (element.hasSubjectType()) { 19850 for (CodeType e : element.getSubjectType()) 19851 composeCode("subjectType", e); 19852 } 19853 if (element.hasGroup()) { 19854 composeQuestionnaireGroupComponent("group", element.getGroup()); 19855 } 19856 composeElementClose(element); 19857 xml.exit(FHIR_NS, name); 19858 } 19859 } 19860 19861 protected void composeQuestionnaireGroupComponent(String name, Questionnaire.GroupComponent element) throws IOException { 19862 if (element != null) { 19863 composeElementAttributes(element); 19864 xml.enter(FHIR_NS, name); 19865 composeBackboneElements(element); 19866 if (element.hasLinkIdElement()) { 19867 composeString("linkId", element.getLinkIdElement()); 19868 } 19869 if (element.hasTitleElement()) { 19870 composeString("title", element.getTitleElement()); 19871 } 19872 if (element.hasConcept()) { 19873 for (Coding e : element.getConcept()) 19874 composeCoding("concept", e); 19875 } 19876 if (element.hasTextElement()) { 19877 composeString("text", element.getTextElement()); 19878 } 19879 if (element.hasRequiredElement()) { 19880 composeBoolean("required", element.getRequiredElement()); 19881 } 19882 if (element.hasRepeatsElement()) { 19883 composeBoolean("repeats", element.getRepeatsElement()); 19884 } 19885 if (element.hasGroup()) { 19886 for (Questionnaire.GroupComponent e : element.getGroup()) 19887 composeQuestionnaireGroupComponent("group", e); 19888 } 19889 if (element.hasQuestion()) { 19890 for (Questionnaire.QuestionComponent e : element.getQuestion()) 19891 composeQuestionnaireQuestionComponent("question", e); 19892 } 19893 composeElementClose(element); 19894 xml.exit(FHIR_NS, name); 19895 } 19896 } 19897 19898 protected void composeQuestionnaireQuestionComponent(String name, Questionnaire.QuestionComponent element) throws IOException { 19899 if (element != null) { 19900 composeElementAttributes(element); 19901 xml.enter(FHIR_NS, name); 19902 composeBackboneElements(element); 19903 if (element.hasLinkIdElement()) { 19904 composeString("linkId", element.getLinkIdElement()); 19905 } 19906 if (element.hasConcept()) { 19907 for (Coding e : element.getConcept()) 19908 composeCoding("concept", e); 19909 } 19910 if (element.hasTextElement()) { 19911 composeString("text", element.getTextElement()); 19912 } 19913 if (element.hasTypeElement()) 19914 composeEnumeration("type", element.getTypeElement(), new Questionnaire.AnswerFormatEnumFactory()); 19915 if (element.hasRequiredElement()) { 19916 composeBoolean("required", element.getRequiredElement()); 19917 } 19918 if (element.hasRepeatsElement()) { 19919 composeBoolean("repeats", element.getRepeatsElement()); 19920 } 19921 if (element.hasOptions()) { 19922 composeReference("options", element.getOptions()); 19923 } 19924 if (element.hasOption()) { 19925 for (Coding e : element.getOption()) 19926 composeCoding("option", e); 19927 } 19928 if (element.hasGroup()) { 19929 for (Questionnaire.GroupComponent e : element.getGroup()) 19930 composeQuestionnaireGroupComponent("group", e); 19931 } 19932 composeElementClose(element); 19933 xml.exit(FHIR_NS, name); 19934 } 19935 } 19936 19937 protected void composeQuestionnaireResponse(String name, QuestionnaireResponse element) throws IOException { 19938 if (element != null) { 19939 composeDomainResourceAttributes(element); 19940 xml.enter(FHIR_NS, name); 19941 composeDomainResourceElements(element); 19942 if (element.hasIdentifier()) { 19943 composeIdentifier("identifier", element.getIdentifier()); 19944 } 19945 if (element.hasQuestionnaire()) { 19946 composeReference("questionnaire", element.getQuestionnaire()); 19947 } 19948 if (element.hasStatusElement()) 19949 composeEnumeration("status", element.getStatusElement(), new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory()); 19950 if (element.hasSubject()) { 19951 composeReference("subject", element.getSubject()); 19952 } 19953 if (element.hasAuthor()) { 19954 composeReference("author", element.getAuthor()); 19955 } 19956 if (element.hasAuthoredElement()) { 19957 composeDateTime("authored", element.getAuthoredElement()); 19958 } 19959 if (element.hasSource()) { 19960 composeReference("source", element.getSource()); 19961 } 19962 if (element.hasEncounter()) { 19963 composeReference("encounter", element.getEncounter()); 19964 } 19965 if (element.hasGroup()) { 19966 composeQuestionnaireResponseGroupComponent("group", element.getGroup()); 19967 } 19968 composeElementClose(element); 19969 xml.exit(FHIR_NS, name); 19970 } 19971 } 19972 19973 protected void composeQuestionnaireResponseGroupComponent(String name, QuestionnaireResponse.GroupComponent element) throws IOException { 19974 if (element != null) { 19975 composeElementAttributes(element); 19976 xml.enter(FHIR_NS, name); 19977 composeBackboneElements(element); 19978 if (element.hasLinkIdElement()) { 19979 composeString("linkId", element.getLinkIdElement()); 19980 } 19981 if (element.hasTitleElement()) { 19982 composeString("title", element.getTitleElement()); 19983 } 19984 if (element.hasTextElement()) { 19985 composeString("text", element.getTextElement()); 19986 } 19987 if (element.hasSubject()) { 19988 composeReference("subject", element.getSubject()); 19989 } 19990 if (element.hasGroup()) { 19991 for (QuestionnaireResponse.GroupComponent e : element.getGroup()) 19992 composeQuestionnaireResponseGroupComponent("group", e); 19993 } 19994 if (element.hasQuestion()) { 19995 for (QuestionnaireResponse.QuestionComponent e : element.getQuestion()) 19996 composeQuestionnaireResponseQuestionComponent("question", e); 19997 } 19998 composeElementClose(element); 19999 xml.exit(FHIR_NS, name); 20000 } 20001 } 20002 20003 protected void composeQuestionnaireResponseQuestionComponent(String name, QuestionnaireResponse.QuestionComponent element) throws IOException { 20004 if (element != null) { 20005 composeElementAttributes(element); 20006 xml.enter(FHIR_NS, name); 20007 composeBackboneElements(element); 20008 if (element.hasLinkIdElement()) { 20009 composeString("linkId", element.getLinkIdElement()); 20010 } 20011 if (element.hasTextElement()) { 20012 composeString("text", element.getTextElement()); 20013 } 20014 if (element.hasAnswer()) { 20015 for (QuestionnaireResponse.QuestionAnswerComponent e : element.getAnswer()) 20016 composeQuestionnaireResponseQuestionAnswerComponent("answer", e); 20017 } 20018 composeElementClose(element); 20019 xml.exit(FHIR_NS, name); 20020 } 20021 } 20022 20023 protected void composeQuestionnaireResponseQuestionAnswerComponent(String name, QuestionnaireResponse.QuestionAnswerComponent element) throws IOException { 20024 if (element != null) { 20025 composeElementAttributes(element); 20026 xml.enter(FHIR_NS, name); 20027 composeBackboneElements(element); 20028 if (element.hasValue()) { 20029 composeType("value", element.getValue()); 20030 } if (element.hasGroup()) { 20031 for (QuestionnaireResponse.GroupComponent e : element.getGroup()) 20032 composeQuestionnaireResponseGroupComponent("group", e); 20033 } 20034 composeElementClose(element); 20035 xml.exit(FHIR_NS, name); 20036 } 20037 } 20038 20039 protected void composeReferralRequest(String name, ReferralRequest element) throws IOException { 20040 if (element != null) { 20041 composeDomainResourceAttributes(element); 20042 xml.enter(FHIR_NS, name); 20043 composeDomainResourceElements(element); 20044 if (element.hasStatusElement()) 20045 composeEnumeration("status", element.getStatusElement(), new ReferralRequest.ReferralStatusEnumFactory()); 20046 if (element.hasIdentifier()) { 20047 for (Identifier e : element.getIdentifier()) 20048 composeIdentifier("identifier", e); 20049 } 20050 if (element.hasDateElement()) { 20051 composeDateTime("date", element.getDateElement()); 20052 } 20053 if (element.hasType()) { 20054 composeCodeableConcept("type", element.getType()); 20055 } 20056 if (element.hasSpecialty()) { 20057 composeCodeableConcept("specialty", element.getSpecialty()); 20058 } 20059 if (element.hasPriority()) { 20060 composeCodeableConcept("priority", element.getPriority()); 20061 } 20062 if (element.hasPatient()) { 20063 composeReference("patient", element.getPatient()); 20064 } 20065 if (element.hasRequester()) { 20066 composeReference("requester", element.getRequester()); 20067 } 20068 if (element.hasRecipient()) { 20069 for (Reference e : element.getRecipient()) 20070 composeReference("recipient", e); 20071 } 20072 if (element.hasEncounter()) { 20073 composeReference("encounter", element.getEncounter()); 20074 } 20075 if (element.hasDateSentElement()) { 20076 composeDateTime("dateSent", element.getDateSentElement()); 20077 } 20078 if (element.hasReason()) { 20079 composeCodeableConcept("reason", element.getReason()); 20080 } 20081 if (element.hasDescriptionElement()) { 20082 composeString("description", element.getDescriptionElement()); 20083 } 20084 if (element.hasServiceRequested()) { 20085 for (CodeableConcept e : element.getServiceRequested()) 20086 composeCodeableConcept("serviceRequested", e); 20087 } 20088 if (element.hasSupportingInformation()) { 20089 for (Reference e : element.getSupportingInformation()) 20090 composeReference("supportingInformation", e); 20091 } 20092 if (element.hasFulfillmentTime()) { 20093 composePeriod("fulfillmentTime", element.getFulfillmentTime()); 20094 } 20095 composeElementClose(element); 20096 xml.exit(FHIR_NS, name); 20097 } 20098 } 20099 20100 protected void composeRelatedPerson(String name, RelatedPerson element) throws IOException { 20101 if (element != null) { 20102 composeDomainResourceAttributes(element); 20103 xml.enter(FHIR_NS, name); 20104 composeDomainResourceElements(element); 20105 if (element.hasIdentifier()) { 20106 for (Identifier e : element.getIdentifier()) 20107 composeIdentifier("identifier", e); 20108 } 20109 if (element.hasPatient()) { 20110 composeReference("patient", element.getPatient()); 20111 } 20112 if (element.hasRelationship()) { 20113 composeCodeableConcept("relationship", element.getRelationship()); 20114 } 20115 if (element.hasName()) { 20116 composeHumanName("name", element.getName()); 20117 } 20118 if (element.hasTelecom()) { 20119 for (ContactPoint e : element.getTelecom()) 20120 composeContactPoint("telecom", e); 20121 } 20122 if (element.hasGenderElement()) 20123 composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); 20124 if (element.hasBirthDateElement()) { 20125 composeDate("birthDate", element.getBirthDateElement()); 20126 } 20127 if (element.hasAddress()) { 20128 for (Address e : element.getAddress()) 20129 composeAddress("address", e); 20130 } 20131 if (element.hasPhoto()) { 20132 for (Attachment e : element.getPhoto()) 20133 composeAttachment("photo", e); 20134 } 20135 if (element.hasPeriod()) { 20136 composePeriod("period", element.getPeriod()); 20137 } 20138 composeElementClose(element); 20139 xml.exit(FHIR_NS, name); 20140 } 20141 } 20142 20143 protected void composeRiskAssessment(String name, RiskAssessment element) throws IOException { 20144 if (element != null) { 20145 composeDomainResourceAttributes(element); 20146 xml.enter(FHIR_NS, name); 20147 composeDomainResourceElements(element); 20148 if (element.hasSubject()) { 20149 composeReference("subject", element.getSubject()); 20150 } 20151 if (element.hasDateElement()) { 20152 composeDateTime("date", element.getDateElement()); 20153 } 20154 if (element.hasCondition()) { 20155 composeReference("condition", element.getCondition()); 20156 } 20157 if (element.hasEncounter()) { 20158 composeReference("encounter", element.getEncounter()); 20159 } 20160 if (element.hasPerformer()) { 20161 composeReference("performer", element.getPerformer()); 20162 } 20163 if (element.hasIdentifier()) { 20164 composeIdentifier("identifier", element.getIdentifier()); 20165 } 20166 if (element.hasMethod()) { 20167 composeCodeableConcept("method", element.getMethod()); 20168 } 20169 if (element.hasBasis()) { 20170 for (Reference e : element.getBasis()) 20171 composeReference("basis", e); 20172 } 20173 if (element.hasPrediction()) { 20174 for (RiskAssessment.RiskAssessmentPredictionComponent e : element.getPrediction()) 20175 composeRiskAssessmentRiskAssessmentPredictionComponent("prediction", e); 20176 } 20177 if (element.hasMitigationElement()) { 20178 composeString("mitigation", element.getMitigationElement()); 20179 } 20180 composeElementClose(element); 20181 xml.exit(FHIR_NS, name); 20182 } 20183 } 20184 20185 protected void composeRiskAssessmentRiskAssessmentPredictionComponent(String name, RiskAssessment.RiskAssessmentPredictionComponent element) throws IOException { 20186 if (element != null) { 20187 composeElementAttributes(element); 20188 xml.enter(FHIR_NS, name); 20189 composeBackboneElements(element); 20190 if (element.hasOutcome()) { 20191 composeCodeableConcept("outcome", element.getOutcome()); 20192 } 20193 if (element.hasProbability()) { 20194 composeType("probability", element.getProbability()); 20195 } if (element.hasRelativeRiskElement()) { 20196 composeDecimal("relativeRisk", element.getRelativeRiskElement()); 20197 } 20198 if (element.hasWhen()) { 20199 composeType("when", element.getWhen()); 20200 } if (element.hasRationaleElement()) { 20201 composeString("rationale", element.getRationaleElement()); 20202 } 20203 composeElementClose(element); 20204 xml.exit(FHIR_NS, name); 20205 } 20206 } 20207 20208 protected void composeSchedule(String name, Schedule element) throws IOException { 20209 if (element != null) { 20210 composeDomainResourceAttributes(element); 20211 xml.enter(FHIR_NS, name); 20212 composeDomainResourceElements(element); 20213 if (element.hasIdentifier()) { 20214 for (Identifier e : element.getIdentifier()) 20215 composeIdentifier("identifier", e); 20216 } 20217 if (element.hasType()) { 20218 for (CodeableConcept e : element.getType()) 20219 composeCodeableConcept("type", e); 20220 } 20221 if (element.hasActor()) { 20222 composeReference("actor", element.getActor()); 20223 } 20224 if (element.hasPlanningHorizon()) { 20225 composePeriod("planningHorizon", element.getPlanningHorizon()); 20226 } 20227 if (element.hasCommentElement()) { 20228 composeString("comment", element.getCommentElement()); 20229 } 20230 composeElementClose(element); 20231 xml.exit(FHIR_NS, name); 20232 } 20233 } 20234 20235 protected void composeSearchParameter(String name, SearchParameter element) throws IOException { 20236 if (element != null) { 20237 composeDomainResourceAttributes(element); 20238 xml.enter(FHIR_NS, name); 20239 composeDomainResourceElements(element); 20240 if (element.hasUrlElement()) { 20241 composeUri("url", element.getUrlElement()); 20242 } 20243 if (element.hasNameElement()) { 20244 composeString("name", element.getNameElement()); 20245 } 20246 if (element.hasStatusElement()) 20247 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 20248 if (element.hasExperimentalElement()) { 20249 composeBoolean("experimental", element.getExperimentalElement()); 20250 } 20251 if (element.hasPublisherElement()) { 20252 composeString("publisher", element.getPublisherElement()); 20253 } 20254 if (element.hasContact()) { 20255 for (SearchParameter.SearchParameterContactComponent e : element.getContact()) 20256 composeSearchParameterSearchParameterContactComponent("contact", e); 20257 } 20258 if (element.hasDateElement()) { 20259 composeDateTime("date", element.getDateElement()); 20260 } 20261 if (element.hasRequirementsElement()) { 20262 composeString("requirements", element.getRequirementsElement()); 20263 } 20264 if (element.hasCodeElement()) { 20265 composeCode("code", element.getCodeElement()); 20266 } 20267 if (element.hasBaseElement()) { 20268 composeCode("base", element.getBaseElement()); 20269 } 20270 if (element.hasTypeElement()) 20271 composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); 20272 if (element.hasDescriptionElement()) { 20273 composeString("description", element.getDescriptionElement()); 20274 } 20275 if (element.hasXpathElement()) { 20276 composeString("xpath", element.getXpathElement()); 20277 } 20278 if (element.hasXpathUsageElement()) 20279 composeEnumeration("xpathUsage", element.getXpathUsageElement(), new SearchParameter.XPathUsageTypeEnumFactory()); 20280 if (element.hasTarget()) { 20281 for (CodeType e : element.getTarget()) 20282 composeCode("target", e); 20283 } 20284 composeElementClose(element); 20285 xml.exit(FHIR_NS, name); 20286 } 20287 } 20288 20289 protected void composeSearchParameterSearchParameterContactComponent(String name, SearchParameter.SearchParameterContactComponent element) throws IOException { 20290 if (element != null) { 20291 composeElementAttributes(element); 20292 xml.enter(FHIR_NS, name); 20293 composeBackboneElements(element); 20294 if (element.hasNameElement()) { 20295 composeString("name", element.getNameElement()); 20296 } 20297 if (element.hasTelecom()) { 20298 for (ContactPoint e : element.getTelecom()) 20299 composeContactPoint("telecom", e); 20300 } 20301 composeElementClose(element); 20302 xml.exit(FHIR_NS, name); 20303 } 20304 } 20305 20306 protected void composeSlot(String name, Slot element) throws IOException { 20307 if (element != null) { 20308 composeDomainResourceAttributes(element); 20309 xml.enter(FHIR_NS, name); 20310 composeDomainResourceElements(element); 20311 if (element.hasIdentifier()) { 20312 for (Identifier e : element.getIdentifier()) 20313 composeIdentifier("identifier", e); 20314 } 20315 if (element.hasType()) { 20316 composeCodeableConcept("type", element.getType()); 20317 } 20318 if (element.hasSchedule()) { 20319 composeReference("schedule", element.getSchedule()); 20320 } 20321 if (element.hasFreeBusyTypeElement()) 20322 composeEnumeration("freeBusyType", element.getFreeBusyTypeElement(), new Slot.SlotStatusEnumFactory()); 20323 if (element.hasStartElement()) { 20324 composeInstant("start", element.getStartElement()); 20325 } 20326 if (element.hasEndElement()) { 20327 composeInstant("end", element.getEndElement()); 20328 } 20329 if (element.hasOverbookedElement()) { 20330 composeBoolean("overbooked", element.getOverbookedElement()); 20331 } 20332 if (element.hasCommentElement()) { 20333 composeString("comment", element.getCommentElement()); 20334 } 20335 composeElementClose(element); 20336 xml.exit(FHIR_NS, name); 20337 } 20338 } 20339 20340 protected void composeSpecimen(String name, Specimen element) throws IOException { 20341 if (element != null) { 20342 composeDomainResourceAttributes(element); 20343 xml.enter(FHIR_NS, name); 20344 composeDomainResourceElements(element); 20345 if (element.hasIdentifier()) { 20346 for (Identifier e : element.getIdentifier()) 20347 composeIdentifier("identifier", e); 20348 } 20349 if (element.hasStatusElement()) 20350 composeEnumeration("status", element.getStatusElement(), new Specimen.SpecimenStatusEnumFactory()); 20351 if (element.hasType()) { 20352 composeCodeableConcept("type", element.getType()); 20353 } 20354 if (element.hasParent()) { 20355 for (Reference e : element.getParent()) 20356 composeReference("parent", e); 20357 } 20358 if (element.hasSubject()) { 20359 composeReference("subject", element.getSubject()); 20360 } 20361 if (element.hasAccessionIdentifier()) { 20362 composeIdentifier("accessionIdentifier", element.getAccessionIdentifier()); 20363 } 20364 if (element.hasReceivedTimeElement()) { 20365 composeDateTime("receivedTime", element.getReceivedTimeElement()); 20366 } 20367 if (element.hasCollection()) { 20368 composeSpecimenSpecimenCollectionComponent("collection", element.getCollection()); 20369 } 20370 if (element.hasTreatment()) { 20371 for (Specimen.SpecimenTreatmentComponent e : element.getTreatment()) 20372 composeSpecimenSpecimenTreatmentComponent("treatment", e); 20373 } 20374 if (element.hasContainer()) { 20375 for (Specimen.SpecimenContainerComponent e : element.getContainer()) 20376 composeSpecimenSpecimenContainerComponent("container", e); 20377 } 20378 composeElementClose(element); 20379 xml.exit(FHIR_NS, name); 20380 } 20381 } 20382 20383 protected void composeSpecimenSpecimenCollectionComponent(String name, Specimen.SpecimenCollectionComponent element) throws IOException { 20384 if (element != null) { 20385 composeElementAttributes(element); 20386 xml.enter(FHIR_NS, name); 20387 composeBackboneElements(element); 20388 if (element.hasCollector()) { 20389 composeReference("collector", element.getCollector()); 20390 } 20391 if (element.hasComment()) { 20392 for (StringType e : element.getComment()) 20393 composeString("comment", e); 20394 } 20395 if (element.hasCollected()) { 20396 composeType("collected", element.getCollected()); 20397 } if (element.hasQuantity()) { 20398 composeSimpleQuantity("quantity", element.getQuantity()); 20399 } 20400 if (element.hasMethod()) { 20401 composeCodeableConcept("method", element.getMethod()); 20402 } 20403 if (element.hasBodySite()) { 20404 composeCodeableConcept("bodySite", element.getBodySite()); 20405 } 20406 composeElementClose(element); 20407 xml.exit(FHIR_NS, name); 20408 } 20409 } 20410 20411 protected void composeSpecimenSpecimenTreatmentComponent(String name, Specimen.SpecimenTreatmentComponent element) throws IOException { 20412 if (element != null) { 20413 composeElementAttributes(element); 20414 xml.enter(FHIR_NS, name); 20415 composeBackboneElements(element); 20416 if (element.hasDescriptionElement()) { 20417 composeString("description", element.getDescriptionElement()); 20418 } 20419 if (element.hasProcedure()) { 20420 composeCodeableConcept("procedure", element.getProcedure()); 20421 } 20422 if (element.hasAdditive()) { 20423 for (Reference e : element.getAdditive()) 20424 composeReference("additive", e); 20425 } 20426 composeElementClose(element); 20427 xml.exit(FHIR_NS, name); 20428 } 20429 } 20430 20431 protected void composeSpecimenSpecimenContainerComponent(String name, Specimen.SpecimenContainerComponent element) throws IOException { 20432 if (element != null) { 20433 composeElementAttributes(element); 20434 xml.enter(FHIR_NS, name); 20435 composeBackboneElements(element); 20436 if (element.hasIdentifier()) { 20437 for (Identifier e : element.getIdentifier()) 20438 composeIdentifier("identifier", e); 20439 } 20440 if (element.hasDescriptionElement()) { 20441 composeString("description", element.getDescriptionElement()); 20442 } 20443 if (element.hasType()) { 20444 composeCodeableConcept("type", element.getType()); 20445 } 20446 if (element.hasCapacity()) { 20447 composeSimpleQuantity("capacity", element.getCapacity()); 20448 } 20449 if (element.hasSpecimenQuantity()) { 20450 composeSimpleQuantity("specimenQuantity", element.getSpecimenQuantity()); 20451 } 20452 if (element.hasAdditive()) { 20453 composeType("additive", element.getAdditive()); 20454 } composeElementClose(element); 20455 xml.exit(FHIR_NS, name); 20456 } 20457 } 20458 20459 protected void composeStructureDefinition(String name, StructureDefinition element) throws IOException { 20460 if (element != null) { 20461 composeDomainResourceAttributes(element); 20462 xml.enter(FHIR_NS, name); 20463 composeDomainResourceElements(element); 20464 if (element.hasUrlElement()) { 20465 composeUri("url", element.getUrlElement()); 20466 } 20467 if (element.hasIdentifier()) { 20468 for (Identifier e : element.getIdentifier()) 20469 composeIdentifier("identifier", e); 20470 } 20471 if (element.hasVersionElement()) { 20472 composeString("version", element.getVersionElement()); 20473 } 20474 if (element.hasNameElement()) { 20475 composeString("name", element.getNameElement()); 20476 } 20477 if (element.hasDisplayElement()) { 20478 composeString("display", element.getDisplayElement()); 20479 } 20480 if (element.hasStatusElement()) 20481 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 20482 if (element.hasExperimentalElement()) { 20483 composeBoolean("experimental", element.getExperimentalElement()); 20484 } 20485 if (element.hasPublisherElement()) { 20486 composeString("publisher", element.getPublisherElement()); 20487 } 20488 if (element.hasContact()) { 20489 for (StructureDefinition.StructureDefinitionContactComponent e : element.getContact()) 20490 composeStructureDefinitionStructureDefinitionContactComponent("contact", e); 20491 } 20492 if (element.hasDateElement()) { 20493 composeDateTime("date", element.getDateElement()); 20494 } 20495 if (element.hasDescriptionElement()) { 20496 composeString("description", element.getDescriptionElement()); 20497 } 20498 if (element.hasUseContext()) { 20499 for (CodeableConcept e : element.getUseContext()) 20500 composeCodeableConcept("useContext", e); 20501 } 20502 if (element.hasRequirementsElement()) { 20503 composeString("requirements", element.getRequirementsElement()); 20504 } 20505 if (element.hasCopyrightElement()) { 20506 composeString("copyright", element.getCopyrightElement()); 20507 } 20508 if (element.hasCode()) { 20509 for (Coding e : element.getCode()) 20510 composeCoding("code", e); 20511 } 20512 if (element.hasFhirVersionElement()) { 20513 composeId("fhirVersion", element.getFhirVersionElement()); 20514 } 20515 if (element.hasMapping()) { 20516 for (StructureDefinition.StructureDefinitionMappingComponent e : element.getMapping()) 20517 composeStructureDefinitionStructureDefinitionMappingComponent("mapping", e); 20518 } 20519 if (element.hasKindElement()) 20520 composeEnumeration("kind", element.getKindElement(), new StructureDefinition.StructureDefinitionKindEnumFactory()); 20521 if (element.hasConstrainedTypeElement()) { 20522 composeCode("constrainedType", element.getConstrainedTypeElement()); 20523 } 20524 if (element.hasAbstractElement()) { 20525 composeBoolean("abstract", element.getAbstractElement()); 20526 } 20527 if (element.hasContextTypeElement()) 20528 composeEnumeration("contextType", element.getContextTypeElement(), new StructureDefinition.ExtensionContextEnumFactory()); 20529 if (element.hasContext()) { 20530 for (StringType e : element.getContext()) 20531 composeString("context", e); 20532 } 20533 if (element.hasBaseElement()) { 20534 composeUri("base", element.getBaseElement()); 20535 } 20536 if (element.hasSnapshot()) { 20537 composeStructureDefinitionStructureDefinitionSnapshotComponent("snapshot", element.getSnapshot()); 20538 } 20539 if (element.hasDifferential()) { 20540 composeStructureDefinitionStructureDefinitionDifferentialComponent("differential", element.getDifferential()); 20541 } 20542 composeElementClose(element); 20543 xml.exit(FHIR_NS, name); 20544 } 20545 } 20546 20547 protected void composeStructureDefinitionStructureDefinitionContactComponent(String name, StructureDefinition.StructureDefinitionContactComponent element) throws IOException { 20548 if (element != null) { 20549 composeElementAttributes(element); 20550 xml.enter(FHIR_NS, name); 20551 composeBackboneElements(element); 20552 if (element.hasNameElement()) { 20553 composeString("name", element.getNameElement()); 20554 } 20555 if (element.hasTelecom()) { 20556 for (ContactPoint e : element.getTelecom()) 20557 composeContactPoint("telecom", e); 20558 } 20559 composeElementClose(element); 20560 xml.exit(FHIR_NS, name); 20561 } 20562 } 20563 20564 protected void composeStructureDefinitionStructureDefinitionMappingComponent(String name, StructureDefinition.StructureDefinitionMappingComponent element) throws IOException { 20565 if (element != null) { 20566 composeElementAttributes(element); 20567 xml.enter(FHIR_NS, name); 20568 composeBackboneElements(element); 20569 if (element.hasIdentityElement()) { 20570 composeId("identity", element.getIdentityElement()); 20571 } 20572 if (element.hasUriElement()) { 20573 composeUri("uri", element.getUriElement()); 20574 } 20575 if (element.hasNameElement()) { 20576 composeString("name", element.getNameElement()); 20577 } 20578 if (element.hasCommentsElement()) { 20579 composeString("comments", element.getCommentsElement()); 20580 } 20581 composeElementClose(element); 20582 xml.exit(FHIR_NS, name); 20583 } 20584 } 20585 20586 protected void composeStructureDefinitionStructureDefinitionSnapshotComponent(String name, StructureDefinition.StructureDefinitionSnapshotComponent element) throws IOException { 20587 if (element != null) { 20588 composeElementAttributes(element); 20589 xml.enter(FHIR_NS, name); 20590 composeBackboneElements(element); 20591 if (element.hasElement()) { 20592 for (ElementDefinition e : element.getElement()) 20593 composeElementDefinition("element", e); 20594 } 20595 composeElementClose(element); 20596 xml.exit(FHIR_NS, name); 20597 } 20598 } 20599 20600 protected void composeStructureDefinitionStructureDefinitionDifferentialComponent(String name, StructureDefinition.StructureDefinitionDifferentialComponent element) throws IOException { 20601 if (element != null) { 20602 composeElementAttributes(element); 20603 xml.enter(FHIR_NS, name); 20604 composeBackboneElements(element); 20605 if (element.hasElement()) { 20606 for (ElementDefinition e : element.getElement()) 20607 composeElementDefinition("element", e); 20608 } 20609 composeElementClose(element); 20610 xml.exit(FHIR_NS, name); 20611 } 20612 } 20613 20614 protected void composeSubscription(String name, Subscription element) throws IOException { 20615 if (element != null) { 20616 composeDomainResourceAttributes(element); 20617 xml.enter(FHIR_NS, name); 20618 composeDomainResourceElements(element); 20619 if (element.hasCriteriaElement()) { 20620 composeString("criteria", element.getCriteriaElement()); 20621 } 20622 if (element.hasContact()) { 20623 for (ContactPoint e : element.getContact()) 20624 composeContactPoint("contact", e); 20625 } 20626 if (element.hasReasonElement()) { 20627 composeString("reason", element.getReasonElement()); 20628 } 20629 if (element.hasStatusElement()) 20630 composeEnumeration("status", element.getStatusElement(), new Subscription.SubscriptionStatusEnumFactory()); 20631 if (element.hasErrorElement()) { 20632 composeString("error", element.getErrorElement()); 20633 } 20634 if (element.hasChannel()) { 20635 composeSubscriptionSubscriptionChannelComponent("channel", element.getChannel()); 20636 } 20637 if (element.hasEndElement()) { 20638 composeInstant("end", element.getEndElement()); 20639 } 20640 if (element.hasTag()) { 20641 for (Coding e : element.getTag()) 20642 composeCoding("tag", e); 20643 } 20644 composeElementClose(element); 20645 xml.exit(FHIR_NS, name); 20646 } 20647 } 20648 20649 protected void composeSubscriptionSubscriptionChannelComponent(String name, Subscription.SubscriptionChannelComponent element) throws IOException { 20650 if (element != null) { 20651 composeElementAttributes(element); 20652 xml.enter(FHIR_NS, name); 20653 composeBackboneElements(element); 20654 if (element.hasTypeElement()) 20655 composeEnumeration("type", element.getTypeElement(), new Subscription.SubscriptionChannelTypeEnumFactory()); 20656 if (element.hasEndpointElement()) { 20657 composeUri("endpoint", element.getEndpointElement()); 20658 } 20659 if (element.hasPayloadElement()) { 20660 composeString("payload", element.getPayloadElement()); 20661 } 20662 if (element.hasHeaderElement()) { 20663 composeString("header", element.getHeaderElement()); 20664 } 20665 composeElementClose(element); 20666 xml.exit(FHIR_NS, name); 20667 } 20668 } 20669 20670 protected void composeSubstance(String name, Substance element) throws IOException { 20671 if (element != null) { 20672 composeDomainResourceAttributes(element); 20673 xml.enter(FHIR_NS, name); 20674 composeDomainResourceElements(element); 20675 if (element.hasIdentifier()) { 20676 for (Identifier e : element.getIdentifier()) 20677 composeIdentifier("identifier", e); 20678 } 20679 if (element.hasCategory()) { 20680 for (CodeableConcept e : element.getCategory()) 20681 composeCodeableConcept("category", e); 20682 } 20683 if (element.hasCode()) { 20684 composeCodeableConcept("code", element.getCode()); 20685 } 20686 if (element.hasDescriptionElement()) { 20687 composeString("description", element.getDescriptionElement()); 20688 } 20689 if (element.hasInstance()) { 20690 for (Substance.SubstanceInstanceComponent e : element.getInstance()) 20691 composeSubstanceSubstanceInstanceComponent("instance", e); 20692 } 20693 if (element.hasIngredient()) { 20694 for (Substance.SubstanceIngredientComponent e : element.getIngredient()) 20695 composeSubstanceSubstanceIngredientComponent("ingredient", e); 20696 } 20697 composeElementClose(element); 20698 xml.exit(FHIR_NS, name); 20699 } 20700 } 20701 20702 protected void composeSubstanceSubstanceInstanceComponent(String name, Substance.SubstanceInstanceComponent element) throws IOException { 20703 if (element != null) { 20704 composeElementAttributes(element); 20705 xml.enter(FHIR_NS, name); 20706 composeBackboneElements(element); 20707 if (element.hasIdentifier()) { 20708 composeIdentifier("identifier", element.getIdentifier()); 20709 } 20710 if (element.hasExpiryElement()) { 20711 composeDateTime("expiry", element.getExpiryElement()); 20712 } 20713 if (element.hasQuantity()) { 20714 composeSimpleQuantity("quantity", element.getQuantity()); 20715 } 20716 composeElementClose(element); 20717 xml.exit(FHIR_NS, name); 20718 } 20719 } 20720 20721 protected void composeSubstanceSubstanceIngredientComponent(String name, Substance.SubstanceIngredientComponent element) throws IOException { 20722 if (element != null) { 20723 composeElementAttributes(element); 20724 xml.enter(FHIR_NS, name); 20725 composeBackboneElements(element); 20726 if (element.hasQuantity()) { 20727 composeRatio("quantity", element.getQuantity()); 20728 } 20729 if (element.hasSubstance()) { 20730 composeReference("substance", element.getSubstance()); 20731 } 20732 composeElementClose(element); 20733 xml.exit(FHIR_NS, name); 20734 } 20735 } 20736 20737 protected void composeSupplyDelivery(String name, SupplyDelivery element) throws IOException { 20738 if (element != null) { 20739 composeDomainResourceAttributes(element); 20740 xml.enter(FHIR_NS, name); 20741 composeDomainResourceElements(element); 20742 if (element.hasIdentifier()) { 20743 composeIdentifier("identifier", element.getIdentifier()); 20744 } 20745 if (element.hasStatusElement()) 20746 composeEnumeration("status", element.getStatusElement(), new SupplyDelivery.SupplyDeliveryStatusEnumFactory()); 20747 if (element.hasPatient()) { 20748 composeReference("patient", element.getPatient()); 20749 } 20750 if (element.hasType()) { 20751 composeCodeableConcept("type", element.getType()); 20752 } 20753 if (element.hasQuantity()) { 20754 composeSimpleQuantity("quantity", element.getQuantity()); 20755 } 20756 if (element.hasSuppliedItem()) { 20757 composeReference("suppliedItem", element.getSuppliedItem()); 20758 } 20759 if (element.hasSupplier()) { 20760 composeReference("supplier", element.getSupplier()); 20761 } 20762 if (element.hasWhenPrepared()) { 20763 composePeriod("whenPrepared", element.getWhenPrepared()); 20764 } 20765 if (element.hasTimeElement()) { 20766 composeDateTime("time", element.getTimeElement()); 20767 } 20768 if (element.hasDestination()) { 20769 composeReference("destination", element.getDestination()); 20770 } 20771 if (element.hasReceiver()) { 20772 for (Reference e : element.getReceiver()) 20773 composeReference("receiver", e); 20774 } 20775 composeElementClose(element); 20776 xml.exit(FHIR_NS, name); 20777 } 20778 } 20779 20780 protected void composeSupplyRequest(String name, SupplyRequest element) throws IOException { 20781 if (element != null) { 20782 composeDomainResourceAttributes(element); 20783 xml.enter(FHIR_NS, name); 20784 composeDomainResourceElements(element); 20785 if (element.hasPatient()) { 20786 composeReference("patient", element.getPatient()); 20787 } 20788 if (element.hasSource()) { 20789 composeReference("source", element.getSource()); 20790 } 20791 if (element.hasDateElement()) { 20792 composeDateTime("date", element.getDateElement()); 20793 } 20794 if (element.hasIdentifier()) { 20795 composeIdentifier("identifier", element.getIdentifier()); 20796 } 20797 if (element.hasStatusElement()) 20798 composeEnumeration("status", element.getStatusElement(), new SupplyRequest.SupplyRequestStatusEnumFactory()); 20799 if (element.hasKind()) { 20800 composeCodeableConcept("kind", element.getKind()); 20801 } 20802 if (element.hasOrderedItem()) { 20803 composeReference("orderedItem", element.getOrderedItem()); 20804 } 20805 if (element.hasSupplier()) { 20806 for (Reference e : element.getSupplier()) 20807 composeReference("supplier", e); 20808 } 20809 if (element.hasReason()) { 20810 composeType("reason", element.getReason()); 20811 } if (element.hasWhen()) { 20812 composeSupplyRequestSupplyRequestWhenComponent("when", element.getWhen()); 20813 } 20814 composeElementClose(element); 20815 xml.exit(FHIR_NS, name); 20816 } 20817 } 20818 20819 protected void composeSupplyRequestSupplyRequestWhenComponent(String name, SupplyRequest.SupplyRequestWhenComponent element) throws IOException { 20820 if (element != null) { 20821 composeElementAttributes(element); 20822 xml.enter(FHIR_NS, name); 20823 composeBackboneElements(element); 20824 if (element.hasCode()) { 20825 composeCodeableConcept("code", element.getCode()); 20826 } 20827 if (element.hasSchedule()) { 20828 composeTiming("schedule", element.getSchedule()); 20829 } 20830 composeElementClose(element); 20831 xml.exit(FHIR_NS, name); 20832 } 20833 } 20834 20835 protected void composeTestScript(String name, TestScript element) throws IOException { 20836 if (element != null) { 20837 composeDomainResourceAttributes(element); 20838 xml.enter(FHIR_NS, name); 20839 composeDomainResourceElements(element); 20840 if (element.hasUrlElement()) { 20841 composeUri("url", element.getUrlElement()); 20842 } 20843 if (element.hasVersionElement()) { 20844 composeString("version", element.getVersionElement()); 20845 } 20846 if (element.hasNameElement()) { 20847 composeString("name", element.getNameElement()); 20848 } 20849 if (element.hasStatusElement()) 20850 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 20851 if (element.hasIdentifier()) { 20852 composeIdentifier("identifier", element.getIdentifier()); 20853 } 20854 if (element.hasExperimentalElement()) { 20855 composeBoolean("experimental", element.getExperimentalElement()); 20856 } 20857 if (element.hasPublisherElement()) { 20858 composeString("publisher", element.getPublisherElement()); 20859 } 20860 if (element.hasContact()) { 20861 for (TestScript.TestScriptContactComponent e : element.getContact()) 20862 composeTestScriptTestScriptContactComponent("contact", e); 20863 } 20864 if (element.hasDateElement()) { 20865 composeDateTime("date", element.getDateElement()); 20866 } 20867 if (element.hasDescriptionElement()) { 20868 composeString("description", element.getDescriptionElement()); 20869 } 20870 if (element.hasUseContext()) { 20871 for (CodeableConcept e : element.getUseContext()) 20872 composeCodeableConcept("useContext", e); 20873 } 20874 if (element.hasRequirementsElement()) { 20875 composeString("requirements", element.getRequirementsElement()); 20876 } 20877 if (element.hasCopyrightElement()) { 20878 composeString("copyright", element.getCopyrightElement()); 20879 } 20880 if (element.hasMetadata()) { 20881 composeTestScriptTestScriptMetadataComponent("metadata", element.getMetadata()); 20882 } 20883 if (element.hasMultiserverElement()) { 20884 composeBoolean("multiserver", element.getMultiserverElement()); 20885 } 20886 if (element.hasFixture()) { 20887 for (TestScript.TestScriptFixtureComponent e : element.getFixture()) 20888 composeTestScriptTestScriptFixtureComponent("fixture", e); 20889 } 20890 if (element.hasProfile()) { 20891 for (Reference e : element.getProfile()) 20892 composeReference("profile", e); 20893 } 20894 if (element.hasVariable()) { 20895 for (TestScript.TestScriptVariableComponent e : element.getVariable()) 20896 composeTestScriptTestScriptVariableComponent("variable", e); 20897 } 20898 if (element.hasSetup()) { 20899 composeTestScriptTestScriptSetupComponent("setup", element.getSetup()); 20900 } 20901 if (element.hasTest()) { 20902 for (TestScript.TestScriptTestComponent e : element.getTest()) 20903 composeTestScriptTestScriptTestComponent("test", e); 20904 } 20905 if (element.hasTeardown()) { 20906 composeTestScriptTestScriptTeardownComponent("teardown", element.getTeardown()); 20907 } 20908 composeElementClose(element); 20909 xml.exit(FHIR_NS, name); 20910 } 20911 } 20912 20913 protected void composeTestScriptTestScriptContactComponent(String name, TestScript.TestScriptContactComponent element) throws IOException { 20914 if (element != null) { 20915 composeElementAttributes(element); 20916 xml.enter(FHIR_NS, name); 20917 composeBackboneElements(element); 20918 if (element.hasNameElement()) { 20919 composeString("name", element.getNameElement()); 20920 } 20921 if (element.hasTelecom()) { 20922 for (ContactPoint e : element.getTelecom()) 20923 composeContactPoint("telecom", e); 20924 } 20925 composeElementClose(element); 20926 xml.exit(FHIR_NS, name); 20927 } 20928 } 20929 20930 protected void composeTestScriptTestScriptMetadataComponent(String name, TestScript.TestScriptMetadataComponent element) throws IOException { 20931 if (element != null) { 20932 composeElementAttributes(element); 20933 xml.enter(FHIR_NS, name); 20934 composeBackboneElements(element); 20935 if (element.hasLink()) { 20936 for (TestScript.TestScriptMetadataLinkComponent e : element.getLink()) 20937 composeTestScriptTestScriptMetadataLinkComponent("link", e); 20938 } 20939 if (element.hasCapability()) { 20940 for (TestScript.TestScriptMetadataCapabilityComponent e : element.getCapability()) 20941 composeTestScriptTestScriptMetadataCapabilityComponent("capability", e); 20942 } 20943 composeElementClose(element); 20944 xml.exit(FHIR_NS, name); 20945 } 20946 } 20947 20948 protected void composeTestScriptTestScriptMetadataLinkComponent(String name, TestScript.TestScriptMetadataLinkComponent element) throws IOException { 20949 if (element != null) { 20950 composeElementAttributes(element); 20951 xml.enter(FHIR_NS, name); 20952 composeBackboneElements(element); 20953 if (element.hasUrlElement()) { 20954 composeUri("url", element.getUrlElement()); 20955 } 20956 if (element.hasDescriptionElement()) { 20957 composeString("description", element.getDescriptionElement()); 20958 } 20959 composeElementClose(element); 20960 xml.exit(FHIR_NS, name); 20961 } 20962 } 20963 20964 protected void composeTestScriptTestScriptMetadataCapabilityComponent(String name, TestScript.TestScriptMetadataCapabilityComponent element) throws IOException { 20965 if (element != null) { 20966 composeElementAttributes(element); 20967 xml.enter(FHIR_NS, name); 20968 composeBackboneElements(element); 20969 if (element.hasRequiredElement()) { 20970 composeBoolean("required", element.getRequiredElement()); 20971 } 20972 if (element.hasValidatedElement()) { 20973 composeBoolean("validated", element.getValidatedElement()); 20974 } 20975 if (element.hasDescriptionElement()) { 20976 composeString("description", element.getDescriptionElement()); 20977 } 20978 if (element.hasDestinationElement()) { 20979 composeInteger("destination", element.getDestinationElement()); 20980 } 20981 if (element.hasLink()) { 20982 for (UriType e : element.getLink()) 20983 composeUri("link", e); 20984 } 20985 if (element.hasConformance()) { 20986 composeReference("conformance", element.getConformance()); 20987 } 20988 composeElementClose(element); 20989 xml.exit(FHIR_NS, name); 20990 } 20991 } 20992 20993 protected void composeTestScriptTestScriptFixtureComponent(String name, TestScript.TestScriptFixtureComponent element) throws IOException { 20994 if (element != null) { 20995 composeElementAttributes(element); 20996 xml.enter(FHIR_NS, name); 20997 composeBackboneElements(element); 20998 if (element.hasAutocreateElement()) { 20999 composeBoolean("autocreate", element.getAutocreateElement()); 21000 } 21001 if (element.hasAutodeleteElement()) { 21002 composeBoolean("autodelete", element.getAutodeleteElement()); 21003 } 21004 if (element.hasResource()) { 21005 composeReference("resource", element.getResource()); 21006 } 21007 composeElementClose(element); 21008 xml.exit(FHIR_NS, name); 21009 } 21010 } 21011 21012 protected void composeTestScriptTestScriptVariableComponent(String name, TestScript.TestScriptVariableComponent element) throws IOException { 21013 if (element != null) { 21014 composeElementAttributes(element); 21015 xml.enter(FHIR_NS, name); 21016 composeBackboneElements(element); 21017 if (element.hasNameElement()) { 21018 composeString("name", element.getNameElement()); 21019 } 21020 if (element.hasHeaderFieldElement()) { 21021 composeString("headerField", element.getHeaderFieldElement()); 21022 } 21023 if (element.hasPathElement()) { 21024 composeString("path", element.getPathElement()); 21025 } 21026 if (element.hasSourceIdElement()) { 21027 composeId("sourceId", element.getSourceIdElement()); 21028 } 21029 composeElementClose(element); 21030 xml.exit(FHIR_NS, name); 21031 } 21032 } 21033 21034 protected void composeTestScriptTestScriptSetupComponent(String name, TestScript.TestScriptSetupComponent element) throws IOException { 21035 if (element != null) { 21036 composeElementAttributes(element); 21037 xml.enter(FHIR_NS, name); 21038 composeBackboneElements(element); 21039 if (element.hasMetadata()) { 21040 composeTestScriptTestScriptMetadataComponent("metadata", element.getMetadata()); 21041 } 21042 if (element.hasAction()) { 21043 for (TestScript.TestScriptSetupActionComponent e : element.getAction()) 21044 composeTestScriptTestScriptSetupActionComponent("action", e); 21045 } 21046 composeElementClose(element); 21047 xml.exit(FHIR_NS, name); 21048 } 21049 } 21050 21051 protected void composeTestScriptTestScriptSetupActionComponent(String name, TestScript.TestScriptSetupActionComponent element) throws IOException { 21052 if (element != null) { 21053 composeElementAttributes(element); 21054 xml.enter(FHIR_NS, name); 21055 composeBackboneElements(element); 21056 if (element.hasOperation()) { 21057 composeTestScriptTestScriptSetupActionOperationComponent("operation", element.getOperation()); 21058 } 21059 if (element.hasAssert()) { 21060 composeTestScriptTestScriptSetupActionAssertComponent("assert", element.getAssert()); 21061 } 21062 composeElementClose(element); 21063 xml.exit(FHIR_NS, name); 21064 } 21065 } 21066 21067 protected void composeTestScriptTestScriptSetupActionOperationComponent(String name, TestScript.TestScriptSetupActionOperationComponent element) throws IOException { 21068 if (element != null) { 21069 composeElementAttributes(element); 21070 xml.enter(FHIR_NS, name); 21071 composeBackboneElements(element); 21072 if (element.hasType()) { 21073 composeCoding("type", element.getType()); 21074 } 21075 if (element.hasResourceElement()) { 21076 composeCode("resource", element.getResourceElement()); 21077 } 21078 if (element.hasLabelElement()) { 21079 composeString("label", element.getLabelElement()); 21080 } 21081 if (element.hasDescriptionElement()) { 21082 composeString("description", element.getDescriptionElement()); 21083 } 21084 if (element.hasAcceptElement()) 21085 composeEnumeration("accept", element.getAcceptElement(), new TestScript.ContentTypeEnumFactory()); 21086 if (element.hasContentTypeElement()) 21087 composeEnumeration("contentType", element.getContentTypeElement(), new TestScript.ContentTypeEnumFactory()); 21088 if (element.hasDestinationElement()) { 21089 composeInteger("destination", element.getDestinationElement()); 21090 } 21091 if (element.hasEncodeRequestUrlElement()) { 21092 composeBoolean("encodeRequestUrl", element.getEncodeRequestUrlElement()); 21093 } 21094 if (element.hasParamsElement()) { 21095 composeString("params", element.getParamsElement()); 21096 } 21097 if (element.hasRequestHeader()) { 21098 for (TestScript.TestScriptSetupActionOperationRequestHeaderComponent e : element.getRequestHeader()) 21099 composeTestScriptTestScriptSetupActionOperationRequestHeaderComponent("requestHeader", e); 21100 } 21101 if (element.hasResponseIdElement()) { 21102 composeId("responseId", element.getResponseIdElement()); 21103 } 21104 if (element.hasSourceIdElement()) { 21105 composeId("sourceId", element.getSourceIdElement()); 21106 } 21107 if (element.hasTargetIdElement()) { 21108 composeId("targetId", element.getTargetIdElement()); 21109 } 21110 if (element.hasUrlElement()) { 21111 composeString("url", element.getUrlElement()); 21112 } 21113 composeElementClose(element); 21114 xml.exit(FHIR_NS, name); 21115 } 21116 } 21117 21118 protected void composeTestScriptTestScriptSetupActionOperationRequestHeaderComponent(String name, TestScript.TestScriptSetupActionOperationRequestHeaderComponent element) throws IOException { 21119 if (element != null) { 21120 composeElementAttributes(element); 21121 xml.enter(FHIR_NS, name); 21122 composeBackboneElements(element); 21123 if (element.hasFieldElement()) { 21124 composeString("field", element.getFieldElement()); 21125 } 21126 if (element.hasValueElement()) { 21127 composeString("value", element.getValueElement()); 21128 } 21129 composeElementClose(element); 21130 xml.exit(FHIR_NS, name); 21131 } 21132 } 21133 21134 protected void composeTestScriptTestScriptSetupActionAssertComponent(String name, TestScript.TestScriptSetupActionAssertComponent element) throws IOException { 21135 if (element != null) { 21136 composeElementAttributes(element); 21137 xml.enter(FHIR_NS, name); 21138 composeBackboneElements(element); 21139 if (element.hasLabelElement()) { 21140 composeString("label", element.getLabelElement()); 21141 } 21142 if (element.hasDescriptionElement()) { 21143 composeString("description", element.getDescriptionElement()); 21144 } 21145 if (element.hasDirectionElement()) 21146 composeEnumeration("direction", element.getDirectionElement(), new TestScript.AssertionDirectionTypeEnumFactory()); 21147 if (element.hasCompareToSourceIdElement()) { 21148 composeString("compareToSourceId", element.getCompareToSourceIdElement()); 21149 } 21150 if (element.hasCompareToSourcePathElement()) { 21151 composeString("compareToSourcePath", element.getCompareToSourcePathElement()); 21152 } 21153 if (element.hasContentTypeElement()) 21154 composeEnumeration("contentType", element.getContentTypeElement(), new TestScript.ContentTypeEnumFactory()); 21155 if (element.hasHeaderFieldElement()) { 21156 composeString("headerField", element.getHeaderFieldElement()); 21157 } 21158 if (element.hasMinimumIdElement()) { 21159 composeString("minimumId", element.getMinimumIdElement()); 21160 } 21161 if (element.hasNavigationLinksElement()) { 21162 composeBoolean("navigationLinks", element.getNavigationLinksElement()); 21163 } 21164 if (element.hasOperatorElement()) 21165 composeEnumeration("operator", element.getOperatorElement(), new TestScript.AssertionOperatorTypeEnumFactory()); 21166 if (element.hasPathElement()) { 21167 composeString("path", element.getPathElement()); 21168 } 21169 if (element.hasResourceElement()) { 21170 composeCode("resource", element.getResourceElement()); 21171 } 21172 if (element.hasResponseElement()) 21173 composeEnumeration("response", element.getResponseElement(), new TestScript.AssertionResponseTypesEnumFactory()); 21174 if (element.hasResponseCodeElement()) { 21175 composeString("responseCode", element.getResponseCodeElement()); 21176 } 21177 if (element.hasSourceIdElement()) { 21178 composeId("sourceId", element.getSourceIdElement()); 21179 } 21180 if (element.hasValidateProfileIdElement()) { 21181 composeId("validateProfileId", element.getValidateProfileIdElement()); 21182 } 21183 if (element.hasValueElement()) { 21184 composeString("value", element.getValueElement()); 21185 } 21186 if (element.hasWarningOnlyElement()) { 21187 composeBoolean("warningOnly", element.getWarningOnlyElement()); 21188 } 21189 composeElementClose(element); 21190 xml.exit(FHIR_NS, name); 21191 } 21192 } 21193 21194 protected void composeTestScriptTestScriptTestComponent(String name, TestScript.TestScriptTestComponent element) throws IOException { 21195 if (element != null) { 21196 composeElementAttributes(element); 21197 xml.enter(FHIR_NS, name); 21198 composeBackboneElements(element); 21199 if (element.hasNameElement()) { 21200 composeString("name", element.getNameElement()); 21201 } 21202 if (element.hasDescriptionElement()) { 21203 composeString("description", element.getDescriptionElement()); 21204 } 21205 if (element.hasMetadata()) { 21206 composeTestScriptTestScriptMetadataComponent("metadata", element.getMetadata()); 21207 } 21208 if (element.hasAction()) { 21209 for (TestScript.TestScriptTestActionComponent e : element.getAction()) 21210 composeTestScriptTestScriptTestActionComponent("action", e); 21211 } 21212 composeElementClose(element); 21213 xml.exit(FHIR_NS, name); 21214 } 21215 } 21216 21217 protected void composeTestScriptTestScriptTestActionComponent(String name, TestScript.TestScriptTestActionComponent element) throws IOException { 21218 if (element != null) { 21219 composeElementAttributes(element); 21220 xml.enter(FHIR_NS, name); 21221 composeBackboneElements(element); 21222 if (element.hasOperation()) { 21223 composeTestScriptTestScriptSetupActionOperationComponent("operation", element.getOperation()); 21224 } 21225 if (element.hasAssert()) { 21226 composeTestScriptTestScriptSetupActionAssertComponent("assert", element.getAssert()); 21227 } 21228 composeElementClose(element); 21229 xml.exit(FHIR_NS, name); 21230 } 21231 } 21232 21233 protected void composeTestScriptTestScriptTeardownComponent(String name, TestScript.TestScriptTeardownComponent element) throws IOException { 21234 if (element != null) { 21235 composeElementAttributes(element); 21236 xml.enter(FHIR_NS, name); 21237 composeBackboneElements(element); 21238 if (element.hasAction()) { 21239 for (TestScript.TestScriptTeardownActionComponent e : element.getAction()) 21240 composeTestScriptTestScriptTeardownActionComponent("action", e); 21241 } 21242 composeElementClose(element); 21243 xml.exit(FHIR_NS, name); 21244 } 21245 } 21246 21247 protected void composeTestScriptTestScriptTeardownActionComponent(String name, TestScript.TestScriptTeardownActionComponent element) throws IOException { 21248 if (element != null) { 21249 composeElementAttributes(element); 21250 xml.enter(FHIR_NS, name); 21251 composeBackboneElements(element); 21252 if (element.hasOperation()) { 21253 composeTestScriptTestScriptSetupActionOperationComponent("operation", element.getOperation()); 21254 } 21255 composeElementClose(element); 21256 xml.exit(FHIR_NS, name); 21257 } 21258 } 21259 21260 protected void composeValueSet(String name, ValueSet element) throws IOException { 21261 if (element != null) { 21262 composeDomainResourceAttributes(element); 21263 xml.enter(FHIR_NS, name); 21264 composeDomainResourceElements(element); 21265 if (element.hasUrlElement()) { 21266 composeUri("url", element.getUrlElement()); 21267 } 21268 if (element.hasIdentifier()) { 21269 composeIdentifier("identifier", element.getIdentifier()); 21270 } 21271 if (element.hasVersionElement()) { 21272 composeString("version", element.getVersionElement()); 21273 } 21274 if (element.hasNameElement()) { 21275 composeString("name", element.getNameElement()); 21276 } 21277 if (element.hasStatusElement()) 21278 composeEnumeration("status", element.getStatusElement(), new Enumerations.ConformanceResourceStatusEnumFactory()); 21279 if (element.hasExperimentalElement()) { 21280 composeBoolean("experimental", element.getExperimentalElement()); 21281 } 21282 if (element.hasPublisherElement()) { 21283 composeString("publisher", element.getPublisherElement()); 21284 } 21285 if (element.hasContact()) { 21286 for (ValueSet.ValueSetContactComponent e : element.getContact()) 21287 composeValueSetValueSetContactComponent("contact", e); 21288 } 21289 if (element.hasDateElement()) { 21290 composeDateTime("date", element.getDateElement()); 21291 } 21292 if (element.hasLockedDateElement()) { 21293 composeDate("lockedDate", element.getLockedDateElement()); 21294 } 21295 if (element.hasDescriptionElement()) { 21296 composeString("description", element.getDescriptionElement()); 21297 } 21298 if (element.hasUseContext()) { 21299 for (CodeableConcept e : element.getUseContext()) 21300 composeCodeableConcept("useContext", e); 21301 } 21302 if (element.hasImmutableElement()) { 21303 composeBoolean("immutable", element.getImmutableElement()); 21304 } 21305 if (element.hasRequirementsElement()) { 21306 composeString("requirements", element.getRequirementsElement()); 21307 } 21308 if (element.hasCopyrightElement()) { 21309 composeString("copyright", element.getCopyrightElement()); 21310 } 21311 if (element.hasExtensibleElement()) { 21312 composeBoolean("extensible", element.getExtensibleElement()); 21313 } 21314 if (element.hasCodeSystem()) { 21315 composeValueSetValueSetCodeSystemComponent("codeSystem", element.getCodeSystem()); 21316 } 21317 if (element.hasCompose()) { 21318 composeValueSetValueSetComposeComponent("compose", element.getCompose()); 21319 } 21320 if (element.hasExpansion()) { 21321 composeValueSetValueSetExpansionComponent("expansion", element.getExpansion()); 21322 } 21323 composeElementClose(element); 21324 xml.exit(FHIR_NS, name); 21325 } 21326 } 21327 21328 protected void composeValueSetValueSetContactComponent(String name, ValueSet.ValueSetContactComponent element) throws IOException { 21329 if (element != null) { 21330 composeElementAttributes(element); 21331 xml.enter(FHIR_NS, name); 21332 composeBackboneElements(element); 21333 if (element.hasNameElement()) { 21334 composeString("name", element.getNameElement()); 21335 } 21336 if (element.hasTelecom()) { 21337 for (ContactPoint e : element.getTelecom()) 21338 composeContactPoint("telecom", e); 21339 } 21340 composeElementClose(element); 21341 xml.exit(FHIR_NS, name); 21342 } 21343 } 21344 21345 protected void composeValueSetValueSetCodeSystemComponent(String name, ValueSet.ValueSetCodeSystemComponent element) throws IOException { 21346 if (element != null) { 21347 composeElementAttributes(element); 21348 xml.enter(FHIR_NS, name); 21349 composeBackboneElements(element); 21350 if (element.hasSystemElement()) { 21351 composeUri("system", element.getSystemElement()); 21352 } 21353 if (element.hasVersionElement()) { 21354 composeString("version", element.getVersionElement()); 21355 } 21356 if (element.hasCaseSensitiveElement()) { 21357 composeBoolean("caseSensitive", element.getCaseSensitiveElement()); 21358 } 21359 if (element.hasConcept()) { 21360 for (ValueSet.ConceptDefinitionComponent e : element.getConcept()) 21361 composeValueSetConceptDefinitionComponent("concept", e); 21362 } 21363 composeElementClose(element); 21364 xml.exit(FHIR_NS, name); 21365 } 21366 } 21367 21368 protected void composeValueSetConceptDefinitionComponent(String name, ValueSet.ConceptDefinitionComponent element) throws IOException { 21369 if (element != null) { 21370 composeElementAttributes(element); 21371 xml.enter(FHIR_NS, name); 21372 composeBackboneElements(element); 21373 if (element.hasCodeElement()) { 21374 composeCode("code", element.getCodeElement()); 21375 } 21376 if (element.hasAbstractElement()) { 21377 composeBoolean("abstract", element.getAbstractElement()); 21378 } 21379 if (element.hasDisplayElement()) { 21380 composeString("display", element.getDisplayElement()); 21381 } 21382 if (element.hasDefinitionElement()) { 21383 composeString("definition", element.getDefinitionElement()); 21384 } 21385 if (element.hasDesignation()) { 21386 for (ValueSet.ConceptDefinitionDesignationComponent e : element.getDesignation()) 21387 composeValueSetConceptDefinitionDesignationComponent("designation", e); 21388 } 21389 if (element.hasConcept()) { 21390 for (ValueSet.ConceptDefinitionComponent e : element.getConcept()) 21391 composeValueSetConceptDefinitionComponent("concept", e); 21392 } 21393 composeElementClose(element); 21394 xml.exit(FHIR_NS, name); 21395 } 21396 } 21397 21398 protected void composeValueSetConceptDefinitionDesignationComponent(String name, ValueSet.ConceptDefinitionDesignationComponent element) throws IOException { 21399 if (element != null) { 21400 composeElementAttributes(element); 21401 xml.enter(FHIR_NS, name); 21402 composeBackboneElements(element); 21403 if (element.hasLanguageElement()) { 21404 composeCode("language", element.getLanguageElement()); 21405 } 21406 if (element.hasUse()) { 21407 composeCoding("use", element.getUse()); 21408 } 21409 if (element.hasValueElement()) { 21410 composeString("value", element.getValueElement()); 21411 } 21412 composeElementClose(element); 21413 xml.exit(FHIR_NS, name); 21414 } 21415 } 21416 21417 protected void composeValueSetValueSetComposeComponent(String name, ValueSet.ValueSetComposeComponent element) throws IOException { 21418 if (element != null) { 21419 composeElementAttributes(element); 21420 xml.enter(FHIR_NS, name); 21421 composeBackboneElements(element); 21422 if (element.hasImport()) { 21423 for (UriType e : element.getImport()) 21424 composeUri("import", e); 21425 } 21426 if (element.hasInclude()) { 21427 for (ValueSet.ConceptSetComponent e : element.getInclude()) 21428 composeValueSetConceptSetComponent("include", e); 21429 } 21430 if (element.hasExclude()) { 21431 for (ValueSet.ConceptSetComponent e : element.getExclude()) 21432 composeValueSetConceptSetComponent("exclude", e); 21433 } 21434 composeElementClose(element); 21435 xml.exit(FHIR_NS, name); 21436 } 21437 } 21438 21439 protected void composeValueSetConceptSetComponent(String name, ValueSet.ConceptSetComponent element) throws IOException { 21440 if (element != null) { 21441 composeElementAttributes(element); 21442 xml.enter(FHIR_NS, name); 21443 composeBackboneElements(element); 21444 if (element.hasSystemElement()) { 21445 composeUri("system", element.getSystemElement()); 21446 } 21447 if (element.hasVersionElement()) { 21448 composeString("version", element.getVersionElement()); 21449 } 21450 if (element.hasConcept()) { 21451 for (ValueSet.ConceptReferenceComponent e : element.getConcept()) 21452 composeValueSetConceptReferenceComponent("concept", e); 21453 } 21454 if (element.hasFilter()) { 21455 for (ValueSet.ConceptSetFilterComponent e : element.getFilter()) 21456 composeValueSetConceptSetFilterComponent("filter", e); 21457 } 21458 composeElementClose(element); 21459 xml.exit(FHIR_NS, name); 21460 } 21461 } 21462 21463 protected void composeValueSetConceptReferenceComponent(String name, ValueSet.ConceptReferenceComponent element) throws IOException { 21464 if (element != null) { 21465 composeElementAttributes(element); 21466 xml.enter(FHIR_NS, name); 21467 composeBackboneElements(element); 21468 if (element.hasCodeElement()) { 21469 composeCode("code", element.getCodeElement()); 21470 } 21471 if (element.hasDisplayElement()) { 21472 composeString("display", element.getDisplayElement()); 21473 } 21474 if (element.hasDesignation()) { 21475 for (ValueSet.ConceptDefinitionDesignationComponent e : element.getDesignation()) 21476 composeValueSetConceptDefinitionDesignationComponent("designation", e); 21477 } 21478 composeElementClose(element); 21479 xml.exit(FHIR_NS, name); 21480 } 21481 } 21482 21483 protected void composeValueSetConceptSetFilterComponent(String name, ValueSet.ConceptSetFilterComponent element) throws IOException { 21484 if (element != null) { 21485 composeElementAttributes(element); 21486 xml.enter(FHIR_NS, name); 21487 composeBackboneElements(element); 21488 if (element.hasPropertyElement()) { 21489 composeCode("property", element.getPropertyElement()); 21490 } 21491 if (element.hasOpElement()) 21492 composeEnumeration("op", element.getOpElement(), new ValueSet.FilterOperatorEnumFactory()); 21493 if (element.hasValueElement()) { 21494 composeCode("value", element.getValueElement()); 21495 } 21496 composeElementClose(element); 21497 xml.exit(FHIR_NS, name); 21498 } 21499 } 21500 21501 protected void composeValueSetValueSetExpansionComponent(String name, ValueSet.ValueSetExpansionComponent element) throws IOException { 21502 if (element != null) { 21503 composeElementAttributes(element); 21504 xml.enter(FHIR_NS, name); 21505 composeBackboneElements(element); 21506 if (element.hasIdentifierElement()) { 21507 composeUri("identifier", element.getIdentifierElement()); 21508 } 21509 if (element.hasTimestampElement()) { 21510 composeDateTime("timestamp", element.getTimestampElement()); 21511 } 21512 if (element.hasTotalElement()) { 21513 composeInteger("total", element.getTotalElement()); 21514 } 21515 if (element.hasOffsetElement()) { 21516 composeInteger("offset", element.getOffsetElement()); 21517 } 21518 if (element.hasParameter()) { 21519 for (ValueSet.ValueSetExpansionParameterComponent e : element.getParameter()) 21520 composeValueSetValueSetExpansionParameterComponent("parameter", e); 21521 } 21522 if (element.hasContains()) { 21523 for (ValueSet.ValueSetExpansionContainsComponent e : element.getContains()) 21524 composeValueSetValueSetExpansionContainsComponent("contains", e); 21525 } 21526 composeElementClose(element); 21527 xml.exit(FHIR_NS, name); 21528 } 21529 } 21530 21531 protected void composeValueSetValueSetExpansionParameterComponent(String name, ValueSet.ValueSetExpansionParameterComponent element) throws IOException { 21532 if (element != null) { 21533 composeElementAttributes(element); 21534 xml.enter(FHIR_NS, name); 21535 composeBackboneElements(element); 21536 if (element.hasNameElement()) { 21537 composeString("name", element.getNameElement()); 21538 } 21539 if (element.hasValue()) { 21540 composeType("value", element.getValue()); 21541 } composeElementClose(element); 21542 xml.exit(FHIR_NS, name); 21543 } 21544 } 21545 21546 protected void composeValueSetValueSetExpansionContainsComponent(String name, ValueSet.ValueSetExpansionContainsComponent element) throws IOException { 21547 if (element != null) { 21548 composeElementAttributes(element); 21549 xml.enter(FHIR_NS, name); 21550 composeBackboneElements(element); 21551 if (element.hasSystemElement()) { 21552 composeUri("system", element.getSystemElement()); 21553 } 21554 if (element.hasAbstractElement()) { 21555 composeBoolean("abstract", element.getAbstractElement()); 21556 } 21557 if (element.hasVersionElement()) { 21558 composeString("version", element.getVersionElement()); 21559 } 21560 if (element.hasCodeElement()) { 21561 composeCode("code", element.getCodeElement()); 21562 } 21563 if (element.hasDisplayElement()) { 21564 composeString("display", element.getDisplayElement()); 21565 } 21566 if (element.hasContains()) { 21567 for (ValueSet.ValueSetExpansionContainsComponent e : element.getContains()) 21568 composeValueSetValueSetExpansionContainsComponent("contains", e); 21569 } 21570 composeElementClose(element); 21571 xml.exit(FHIR_NS, name); 21572 } 21573 } 21574 21575 protected void composeVisionPrescription(String name, VisionPrescription element) throws IOException { 21576 if (element != null) { 21577 composeDomainResourceAttributes(element); 21578 xml.enter(FHIR_NS, name); 21579 composeDomainResourceElements(element); 21580 if (element.hasIdentifier()) { 21581 for (Identifier e : element.getIdentifier()) 21582 composeIdentifier("identifier", e); 21583 } 21584 if (element.hasDateWrittenElement()) { 21585 composeDateTime("dateWritten", element.getDateWrittenElement()); 21586 } 21587 if (element.hasPatient()) { 21588 composeReference("patient", element.getPatient()); 21589 } 21590 if (element.hasPrescriber()) { 21591 composeReference("prescriber", element.getPrescriber()); 21592 } 21593 if (element.hasEncounter()) { 21594 composeReference("encounter", element.getEncounter()); 21595 } 21596 if (element.hasReason()) { 21597 composeType("reason", element.getReason()); 21598 } if (element.hasDispense()) { 21599 for (VisionPrescription.VisionPrescriptionDispenseComponent e : element.getDispense()) 21600 composeVisionPrescriptionVisionPrescriptionDispenseComponent("dispense", e); 21601 } 21602 composeElementClose(element); 21603 xml.exit(FHIR_NS, name); 21604 } 21605 } 21606 21607 protected void composeVisionPrescriptionVisionPrescriptionDispenseComponent(String name, VisionPrescription.VisionPrescriptionDispenseComponent element) throws IOException { 21608 if (element != null) { 21609 composeElementAttributes(element); 21610 xml.enter(FHIR_NS, name); 21611 composeBackboneElements(element); 21612 if (element.hasProduct()) { 21613 composeCoding("product", element.getProduct()); 21614 } 21615 if (element.hasEyeElement()) 21616 composeEnumeration("eye", element.getEyeElement(), new VisionPrescription.VisionEyesEnumFactory()); 21617 if (element.hasSphereElement()) { 21618 composeDecimal("sphere", element.getSphereElement()); 21619 } 21620 if (element.hasCylinderElement()) { 21621 composeDecimal("cylinder", element.getCylinderElement()); 21622 } 21623 if (element.hasAxisElement()) { 21624 composeInteger("axis", element.getAxisElement()); 21625 } 21626 if (element.hasPrismElement()) { 21627 composeDecimal("prism", element.getPrismElement()); 21628 } 21629 if (element.hasBaseElement()) 21630 composeEnumeration("base", element.getBaseElement(), new VisionPrescription.VisionBaseEnumFactory()); 21631 if (element.hasAddElement()) { 21632 composeDecimal("add", element.getAddElement()); 21633 } 21634 if (element.hasPowerElement()) { 21635 composeDecimal("power", element.getPowerElement()); 21636 } 21637 if (element.hasBackCurveElement()) { 21638 composeDecimal("backCurve", element.getBackCurveElement()); 21639 } 21640 if (element.hasDiameterElement()) { 21641 composeDecimal("diameter", element.getDiameterElement()); 21642 } 21643 if (element.hasDuration()) { 21644 composeSimpleQuantity("duration", element.getDuration()); 21645 } 21646 if (element.hasColorElement()) { 21647 composeString("color", element.getColorElement()); 21648 } 21649 if (element.hasBrandElement()) { 21650 composeString("brand", element.getBrandElement()); 21651 } 21652 if (element.hasNotesElement()) { 21653 composeString("notes", element.getNotesElement()); 21654 } 21655 composeElementClose(element); 21656 xml.exit(FHIR_NS, name); 21657 } 21658 } 21659 21660 @Override 21661 protected void composeResource(Resource resource) throws IOException { 21662 if (resource instanceof Parameters) 21663 composeParameters("Parameters", (Parameters)resource); 21664 else if (resource instanceof Account) 21665 composeAccount("Account", (Account)resource); 21666 else if (resource instanceof AllergyIntolerance) 21667 composeAllergyIntolerance("AllergyIntolerance", (AllergyIntolerance)resource); 21668 else if (resource instanceof Appointment) 21669 composeAppointment("Appointment", (Appointment)resource); 21670 else if (resource instanceof AppointmentResponse) 21671 composeAppointmentResponse("AppointmentResponse", (AppointmentResponse)resource); 21672 else if (resource instanceof AuditEvent) 21673 composeAuditEvent("AuditEvent", (AuditEvent)resource); 21674 else if (resource instanceof Basic) 21675 composeBasic("Basic", (Basic)resource); 21676 else if (resource instanceof Binary) 21677 composeBinary("Binary", (Binary)resource); 21678 else if (resource instanceof BodySite) 21679 composeBodySite("BodySite", (BodySite)resource); 21680 else if (resource instanceof Bundle) 21681 composeBundle("Bundle", (Bundle)resource); 21682 else if (resource instanceof CarePlan) 21683 composeCarePlan("CarePlan", (CarePlan)resource); 21684 else if (resource instanceof Claim) 21685 composeClaim("Claim", (Claim)resource); 21686 else if (resource instanceof ClaimResponse) 21687 composeClaimResponse("ClaimResponse", (ClaimResponse)resource); 21688 else if (resource instanceof ClinicalImpression) 21689 composeClinicalImpression("ClinicalImpression", (ClinicalImpression)resource); 21690 else if (resource instanceof Communication) 21691 composeCommunication("Communication", (Communication)resource); 21692 else if (resource instanceof CommunicationRequest) 21693 composeCommunicationRequest("CommunicationRequest", (CommunicationRequest)resource); 21694 else if (resource instanceof Composition) 21695 composeComposition("Composition", (Composition)resource); 21696 else if (resource instanceof ConceptMap) 21697 composeConceptMap("ConceptMap", (ConceptMap)resource); 21698 else if (resource instanceof Condition) 21699 composeCondition("Condition", (Condition)resource); 21700 else if (resource instanceof Conformance) 21701 composeConformance("Conformance", (Conformance)resource); 21702 else if (resource instanceof Contract) 21703 composeContract("Contract", (Contract)resource); 21704 else if (resource instanceof Coverage) 21705 composeCoverage("Coverage", (Coverage)resource); 21706 else if (resource instanceof DataElement) 21707 composeDataElement("DataElement", (DataElement)resource); 21708 else if (resource instanceof DetectedIssue) 21709 composeDetectedIssue("DetectedIssue", (DetectedIssue)resource); 21710 else if (resource instanceof Device) 21711 composeDevice("Device", (Device)resource); 21712 else if (resource instanceof DeviceComponent) 21713 composeDeviceComponent("DeviceComponent", (DeviceComponent)resource); 21714 else if (resource instanceof DeviceMetric) 21715 composeDeviceMetric("DeviceMetric", (DeviceMetric)resource); 21716 else if (resource instanceof DeviceUseRequest) 21717 composeDeviceUseRequest("DeviceUseRequest", (DeviceUseRequest)resource); 21718 else if (resource instanceof DeviceUseStatement) 21719 composeDeviceUseStatement("DeviceUseStatement", (DeviceUseStatement)resource); 21720 else if (resource instanceof DiagnosticOrder) 21721 composeDiagnosticOrder("DiagnosticOrder", (DiagnosticOrder)resource); 21722 else if (resource instanceof DiagnosticReport) 21723 composeDiagnosticReport("DiagnosticReport", (DiagnosticReport)resource); 21724 else if (resource instanceof DocumentManifest) 21725 composeDocumentManifest("DocumentManifest", (DocumentManifest)resource); 21726 else if (resource instanceof DocumentReference) 21727 composeDocumentReference("DocumentReference", (DocumentReference)resource); 21728 else if (resource instanceof EligibilityRequest) 21729 composeEligibilityRequest("EligibilityRequest", (EligibilityRequest)resource); 21730 else if (resource instanceof EligibilityResponse) 21731 composeEligibilityResponse("EligibilityResponse", (EligibilityResponse)resource); 21732 else if (resource instanceof Encounter) 21733 composeEncounter("Encounter", (Encounter)resource); 21734 else if (resource instanceof EnrollmentRequest) 21735 composeEnrollmentRequest("EnrollmentRequest", (EnrollmentRequest)resource); 21736 else if (resource instanceof EnrollmentResponse) 21737 composeEnrollmentResponse("EnrollmentResponse", (EnrollmentResponse)resource); 21738 else if (resource instanceof EpisodeOfCare) 21739 composeEpisodeOfCare("EpisodeOfCare", (EpisodeOfCare)resource); 21740 else if (resource instanceof ExplanationOfBenefit) 21741 composeExplanationOfBenefit("ExplanationOfBenefit", (ExplanationOfBenefit)resource); 21742 else if (resource instanceof FamilyMemberHistory) 21743 composeFamilyMemberHistory("FamilyMemberHistory", (FamilyMemberHistory)resource); 21744 else if (resource instanceof Flag) 21745 composeFlag("Flag", (Flag)resource); 21746 else if (resource instanceof Goal) 21747 composeGoal("Goal", (Goal)resource); 21748 else if (resource instanceof Group) 21749 composeGroup("Group", (Group)resource); 21750 else if (resource instanceof HealthcareService) 21751 composeHealthcareService("HealthcareService", (HealthcareService)resource); 21752 else if (resource instanceof ImagingObjectSelection) 21753 composeImagingObjectSelection("ImagingObjectSelection", (ImagingObjectSelection)resource); 21754 else if (resource instanceof ImagingStudy) 21755 composeImagingStudy("ImagingStudy", (ImagingStudy)resource); 21756 else if (resource instanceof Immunization) 21757 composeImmunization("Immunization", (Immunization)resource); 21758 else if (resource instanceof ImmunizationRecommendation) 21759 composeImmunizationRecommendation("ImmunizationRecommendation", (ImmunizationRecommendation)resource); 21760 else if (resource instanceof ImplementationGuide) 21761 composeImplementationGuide("ImplementationGuide", (ImplementationGuide)resource); 21762 else if (resource instanceof List_) 21763 composeList_("List", (List_)resource); 21764 else if (resource instanceof Location) 21765 composeLocation("Location", (Location)resource); 21766 else if (resource instanceof Media) 21767 composeMedia("Media", (Media)resource); 21768 else if (resource instanceof Medication) 21769 composeMedication("Medication", (Medication)resource); 21770 else if (resource instanceof MedicationAdministration) 21771 composeMedicationAdministration("MedicationAdministration", (MedicationAdministration)resource); 21772 else if (resource instanceof MedicationDispense) 21773 composeMedicationDispense("MedicationDispense", (MedicationDispense)resource); 21774 else if (resource instanceof MedicationOrder) 21775 composeMedicationOrder("MedicationOrder", (MedicationOrder)resource); 21776 else if (resource instanceof MedicationStatement) 21777 composeMedicationStatement("MedicationStatement", (MedicationStatement)resource); 21778 else if (resource instanceof MessageHeader) 21779 composeMessageHeader("MessageHeader", (MessageHeader)resource); 21780 else if (resource instanceof NamingSystem) 21781 composeNamingSystem("NamingSystem", (NamingSystem)resource); 21782 else if (resource instanceof NutritionOrder) 21783 composeNutritionOrder("NutritionOrder", (NutritionOrder)resource); 21784 else if (resource instanceof Observation) 21785 composeObservation("Observation", (Observation)resource); 21786 else if (resource instanceof OperationDefinition) 21787 composeOperationDefinition("OperationDefinition", (OperationDefinition)resource); 21788 else if (resource instanceof OperationOutcome) 21789 composeOperationOutcome("OperationOutcome", (OperationOutcome)resource); 21790 else if (resource instanceof Order) 21791 composeOrder("Order", (Order)resource); 21792 else if (resource instanceof OrderResponse) 21793 composeOrderResponse("OrderResponse", (OrderResponse)resource); 21794 else if (resource instanceof Organization) 21795 composeOrganization("Organization", (Organization)resource); 21796 else if (resource instanceof Patient) 21797 composePatient("Patient", (Patient)resource); 21798 else if (resource instanceof PaymentNotice) 21799 composePaymentNotice("PaymentNotice", (PaymentNotice)resource); 21800 else if (resource instanceof PaymentReconciliation) 21801 composePaymentReconciliation("PaymentReconciliation", (PaymentReconciliation)resource); 21802 else if (resource instanceof Person) 21803 composePerson("Person", (Person)resource); 21804 else if (resource instanceof Practitioner) 21805 composePractitioner("Practitioner", (Practitioner)resource); 21806 else if (resource instanceof Procedure) 21807 composeProcedure("Procedure", (Procedure)resource); 21808 else if (resource instanceof ProcedureRequest) 21809 composeProcedureRequest("ProcedureRequest", (ProcedureRequest)resource); 21810 else if (resource instanceof ProcessRequest) 21811 composeProcessRequest("ProcessRequest", (ProcessRequest)resource); 21812 else if (resource instanceof ProcessResponse) 21813 composeProcessResponse("ProcessResponse", (ProcessResponse)resource); 21814 else if (resource instanceof Provenance) 21815 composeProvenance("Provenance", (Provenance)resource); 21816 else if (resource instanceof Questionnaire) 21817 composeQuestionnaire("Questionnaire", (Questionnaire)resource); 21818 else if (resource instanceof QuestionnaireResponse) 21819 composeQuestionnaireResponse("QuestionnaireResponse", (QuestionnaireResponse)resource); 21820 else if (resource instanceof ReferralRequest) 21821 composeReferralRequest("ReferralRequest", (ReferralRequest)resource); 21822 else if (resource instanceof RelatedPerson) 21823 composeRelatedPerson("RelatedPerson", (RelatedPerson)resource); 21824 else if (resource instanceof RiskAssessment) 21825 composeRiskAssessment("RiskAssessment", (RiskAssessment)resource); 21826 else if (resource instanceof Schedule) 21827 composeSchedule("Schedule", (Schedule)resource); 21828 else if (resource instanceof SearchParameter) 21829 composeSearchParameter("SearchParameter", (SearchParameter)resource); 21830 else if (resource instanceof Slot) 21831 composeSlot("Slot", (Slot)resource); 21832 else if (resource instanceof Specimen) 21833 composeSpecimen("Specimen", (Specimen)resource); 21834 else if (resource instanceof StructureDefinition) 21835 composeStructureDefinition("StructureDefinition", (StructureDefinition)resource); 21836 else if (resource instanceof Subscription) 21837 composeSubscription("Subscription", (Subscription)resource); 21838 else if (resource instanceof Substance) 21839 composeSubstance("Substance", (Substance)resource); 21840 else if (resource instanceof SupplyDelivery) 21841 composeSupplyDelivery("SupplyDelivery", (SupplyDelivery)resource); 21842 else if (resource instanceof SupplyRequest) 21843 composeSupplyRequest("SupplyRequest", (SupplyRequest)resource); 21844 else if (resource instanceof TestScript) 21845 composeTestScript("TestScript", (TestScript)resource); 21846 else if (resource instanceof ValueSet) 21847 composeValueSet("ValueSet", (ValueSet)resource); 21848 else if (resource instanceof VisionPrescription) 21849 composeVisionPrescription("VisionPrescription", (VisionPrescription)resource); 21850 else if (resource instanceof Binary) 21851 composeBinary("Binary", (Binary)resource); 21852 else 21853 throw new Error("Unhandled resource type "+resource.getClass().getName()); 21854 } 21855 21856 protected void composeResource(String name, Resource resource) throws IOException { 21857 if (resource instanceof Parameters) 21858 composeParameters(name, (Parameters)resource); 21859 else if (resource instanceof Account) 21860 composeAccount(name, (Account)resource); 21861 else if (resource instanceof AllergyIntolerance) 21862 composeAllergyIntolerance(name, (AllergyIntolerance)resource); 21863 else if (resource instanceof Appointment) 21864 composeAppointment(name, (Appointment)resource); 21865 else if (resource instanceof AppointmentResponse) 21866 composeAppointmentResponse(name, (AppointmentResponse)resource); 21867 else if (resource instanceof AuditEvent) 21868 composeAuditEvent(name, (AuditEvent)resource); 21869 else if (resource instanceof Basic) 21870 composeBasic(name, (Basic)resource); 21871 else if (resource instanceof Binary) 21872 composeBinary(name, (Binary)resource); 21873 else if (resource instanceof BodySite) 21874 composeBodySite(name, (BodySite)resource); 21875 else if (resource instanceof Bundle) 21876 composeBundle(name, (Bundle)resource); 21877 else if (resource instanceof CarePlan) 21878 composeCarePlan(name, (CarePlan)resource); 21879 else if (resource instanceof Claim) 21880 composeClaim(name, (Claim)resource); 21881 else if (resource instanceof ClaimResponse) 21882 composeClaimResponse(name, (ClaimResponse)resource); 21883 else if (resource instanceof ClinicalImpression) 21884 composeClinicalImpression(name, (ClinicalImpression)resource); 21885 else if (resource instanceof Communication) 21886 composeCommunication(name, (Communication)resource); 21887 else if (resource instanceof CommunicationRequest) 21888 composeCommunicationRequest(name, (CommunicationRequest)resource); 21889 else if (resource instanceof Composition) 21890 composeComposition(name, (Composition)resource); 21891 else if (resource instanceof ConceptMap) 21892 composeConceptMap(name, (ConceptMap)resource); 21893 else if (resource instanceof Condition) 21894 composeCondition(name, (Condition)resource); 21895 else if (resource instanceof Conformance) 21896 composeConformance(name, (Conformance)resource); 21897 else if (resource instanceof Contract) 21898 composeContract(name, (Contract)resource); 21899 else if (resource instanceof Coverage) 21900 composeCoverage(name, (Coverage)resource); 21901 else if (resource instanceof DataElement) 21902 composeDataElement(name, (DataElement)resource); 21903 else if (resource instanceof DetectedIssue) 21904 composeDetectedIssue(name, (DetectedIssue)resource); 21905 else if (resource instanceof Device) 21906 composeDevice(name, (Device)resource); 21907 else if (resource instanceof DeviceComponent) 21908 composeDeviceComponent(name, (DeviceComponent)resource); 21909 else if (resource instanceof DeviceMetric) 21910 composeDeviceMetric(name, (DeviceMetric)resource); 21911 else if (resource instanceof DeviceUseRequest) 21912 composeDeviceUseRequest(name, (DeviceUseRequest)resource); 21913 else if (resource instanceof DeviceUseStatement) 21914 composeDeviceUseStatement(name, (DeviceUseStatement)resource); 21915 else if (resource instanceof DiagnosticOrder) 21916 composeDiagnosticOrder(name, (DiagnosticOrder)resource); 21917 else if (resource instanceof DiagnosticReport) 21918 composeDiagnosticReport(name, (DiagnosticReport)resource); 21919 else if (resource instanceof DocumentManifest) 21920 composeDocumentManifest(name, (DocumentManifest)resource); 21921 else if (resource instanceof DocumentReference) 21922 composeDocumentReference(name, (DocumentReference)resource); 21923 else if (resource instanceof EligibilityRequest) 21924 composeEligibilityRequest(name, (EligibilityRequest)resource); 21925 else if (resource instanceof EligibilityResponse) 21926 composeEligibilityResponse(name, (EligibilityResponse)resource); 21927 else if (resource instanceof Encounter) 21928 composeEncounter(name, (Encounter)resource); 21929 else if (resource instanceof EnrollmentRequest) 21930 composeEnrollmentRequest(name, (EnrollmentRequest)resource); 21931 else if (resource instanceof EnrollmentResponse) 21932 composeEnrollmentResponse(name, (EnrollmentResponse)resource); 21933 else if (resource instanceof EpisodeOfCare) 21934 composeEpisodeOfCare(name, (EpisodeOfCare)resource); 21935 else if (resource instanceof ExplanationOfBenefit) 21936 composeExplanationOfBenefit(name, (ExplanationOfBenefit)resource); 21937 else if (resource instanceof FamilyMemberHistory) 21938 composeFamilyMemberHistory(name, (FamilyMemberHistory)resource); 21939 else if (resource instanceof Flag) 21940 composeFlag(name, (Flag)resource); 21941 else if (resource instanceof Goal) 21942 composeGoal(name, (Goal)resource); 21943 else if (resource instanceof Group) 21944 composeGroup(name, (Group)resource); 21945 else if (resource instanceof HealthcareService) 21946 composeHealthcareService(name, (HealthcareService)resource); 21947 else if (resource instanceof ImagingObjectSelection) 21948 composeImagingObjectSelection(name, (ImagingObjectSelection)resource); 21949 else if (resource instanceof ImagingStudy) 21950 composeImagingStudy(name, (ImagingStudy)resource); 21951 else if (resource instanceof Immunization) 21952 composeImmunization(name, (Immunization)resource); 21953 else if (resource instanceof ImmunizationRecommendation) 21954 composeImmunizationRecommendation(name, (ImmunizationRecommendation)resource); 21955 else if (resource instanceof ImplementationGuide) 21956 composeImplementationGuide(name, (ImplementationGuide)resource); 21957 else if (resource instanceof List_) 21958 composeList_(name, (List_)resource); 21959 else if (resource instanceof Location) 21960 composeLocation(name, (Location)resource); 21961 else if (resource instanceof Media) 21962 composeMedia(name, (Media)resource); 21963 else if (resource instanceof Medication) 21964 composeMedication(name, (Medication)resource); 21965 else if (resource instanceof MedicationAdministration) 21966 composeMedicationAdministration(name, (MedicationAdministration)resource); 21967 else if (resource instanceof MedicationDispense) 21968 composeMedicationDispense(name, (MedicationDispense)resource); 21969 else if (resource instanceof MedicationOrder) 21970 composeMedicationOrder(name, (MedicationOrder)resource); 21971 else if (resource instanceof MedicationStatement) 21972 composeMedicationStatement(name, (MedicationStatement)resource); 21973 else if (resource instanceof MessageHeader) 21974 composeMessageHeader(name, (MessageHeader)resource); 21975 else if (resource instanceof NamingSystem) 21976 composeNamingSystem(name, (NamingSystem)resource); 21977 else if (resource instanceof NutritionOrder) 21978 composeNutritionOrder(name, (NutritionOrder)resource); 21979 else if (resource instanceof Observation) 21980 composeObservation(name, (Observation)resource); 21981 else if (resource instanceof OperationDefinition) 21982 composeOperationDefinition(name, (OperationDefinition)resource); 21983 else if (resource instanceof OperationOutcome) 21984 composeOperationOutcome(name, (OperationOutcome)resource); 21985 else if (resource instanceof Order) 21986 composeOrder(name, (Order)resource); 21987 else if (resource instanceof OrderResponse) 21988 composeOrderResponse(name, (OrderResponse)resource); 21989 else if (resource instanceof Organization) 21990 composeOrganization(name, (Organization)resource); 21991 else if (resource instanceof Patient) 21992 composePatient(name, (Patient)resource); 21993 else if (resource instanceof PaymentNotice) 21994 composePaymentNotice(name, (PaymentNotice)resource); 21995 else if (resource instanceof PaymentReconciliation) 21996 composePaymentReconciliation(name, (PaymentReconciliation)resource); 21997 else if (resource instanceof Person) 21998 composePerson(name, (Person)resource); 21999 else if (resource instanceof Practitioner) 22000 composePractitioner(name, (Practitioner)resource); 22001 else if (resource instanceof Procedure) 22002 composeProcedure(name, (Procedure)resource); 22003 else if (resource instanceof ProcedureRequest) 22004 composeProcedureRequest(name, (ProcedureRequest)resource); 22005 else if (resource instanceof ProcessRequest) 22006 composeProcessRequest(name, (ProcessRequest)resource); 22007 else if (resource instanceof ProcessResponse) 22008 composeProcessResponse(name, (ProcessResponse)resource); 22009 else if (resource instanceof Provenance) 22010 composeProvenance(name, (Provenance)resource); 22011 else if (resource instanceof Questionnaire) 22012 composeQuestionnaire(name, (Questionnaire)resource); 22013 else if (resource instanceof QuestionnaireResponse) 22014 composeQuestionnaireResponse(name, (QuestionnaireResponse)resource); 22015 else if (resource instanceof ReferralRequest) 22016 composeReferralRequest(name, (ReferralRequest)resource); 22017 else if (resource instanceof RelatedPerson) 22018 composeRelatedPerson(name, (RelatedPerson)resource); 22019 else if (resource instanceof RiskAssessment) 22020 composeRiskAssessment(name, (RiskAssessment)resource); 22021 else if (resource instanceof Schedule) 22022 composeSchedule(name, (Schedule)resource); 22023 else if (resource instanceof SearchParameter) 22024 composeSearchParameter(name, (SearchParameter)resource); 22025 else if (resource instanceof Slot) 22026 composeSlot(name, (Slot)resource); 22027 else if (resource instanceof Specimen) 22028 composeSpecimen(name, (Specimen)resource); 22029 else if (resource instanceof StructureDefinition) 22030 composeStructureDefinition(name, (StructureDefinition)resource); 22031 else if (resource instanceof Subscription) 22032 composeSubscription(name, (Subscription)resource); 22033 else if (resource instanceof Substance) 22034 composeSubstance(name, (Substance)resource); 22035 else if (resource instanceof SupplyDelivery) 22036 composeSupplyDelivery(name, (SupplyDelivery)resource); 22037 else if (resource instanceof SupplyRequest) 22038 composeSupplyRequest(name, (SupplyRequest)resource); 22039 else if (resource instanceof TestScript) 22040 composeTestScript(name, (TestScript)resource); 22041 else if (resource instanceof ValueSet) 22042 composeValueSet(name, (ValueSet)resource); 22043 else if (resource instanceof VisionPrescription) 22044 composeVisionPrescription(name, (VisionPrescription)resource); 22045 else if (resource instanceof Binary) 22046 composeBinary(name, (Binary)resource); 22047 else 22048 throw new Error("Unhandled resource type "+resource.getClass().getName()); 22049 } 22050 22051 protected void composeType(String prefix, Type type) throws IOException { 22052 if (type == null) 22053 ; 22054 else if (type instanceof Money) 22055 composeMoney(prefix+"Money", (Money) type); 22056 else if (type instanceof SimpleQuantity) 22057 composeSimpleQuantity(prefix+"SimpleQuantity", (SimpleQuantity) type); 22058 else if (type instanceof Duration) 22059 composeDuration(prefix+"Duration", (Duration) type); 22060 else if (type instanceof Count) 22061 composeCount(prefix+"Count", (Count) type); 22062 else if (type instanceof Distance) 22063 composeDistance(prefix+"Distance", (Distance) type); 22064 else if (type instanceof Age) 22065 composeAge(prefix+"Age", (Age) type); 22066 else if (type instanceof Identifier) 22067 composeIdentifier(prefix+"Identifier", (Identifier) type); 22068 else if (type instanceof Coding) 22069 composeCoding(prefix+"Coding", (Coding) type); 22070 else if (type instanceof Reference) 22071 composeReference(prefix+"Reference", (Reference) type); 22072 else if (type instanceof Signature) 22073 composeSignature(prefix+"Signature", (Signature) type); 22074 else if (type instanceof SampledData) 22075 composeSampledData(prefix+"SampledData", (SampledData) type); 22076 else if (type instanceof Quantity) 22077 composeQuantity(prefix+"Quantity", (Quantity) type); 22078 else if (type instanceof Period) 22079 composePeriod(prefix+"Period", (Period) type); 22080 else if (type instanceof Attachment) 22081 composeAttachment(prefix+"Attachment", (Attachment) type); 22082 else if (type instanceof Ratio) 22083 composeRatio(prefix+"Ratio", (Ratio) type); 22084 else if (type instanceof Range) 22085 composeRange(prefix+"Range", (Range) type); 22086 else if (type instanceof Annotation) 22087 composeAnnotation(prefix+"Annotation", (Annotation) type); 22088 else if (type instanceof CodeableConcept) 22089 composeCodeableConcept(prefix+"CodeableConcept", (CodeableConcept) type); 22090 else if (type instanceof HumanName) 22091 composeHumanName(prefix+"HumanName", (HumanName) type); 22092 else if (type instanceof ContactPoint) 22093 composeContactPoint(prefix+"ContactPoint", (ContactPoint) type); 22094 else if (type instanceof Meta) 22095 composeMeta(prefix+"Meta", (Meta) type); 22096 else if (type instanceof Address) 22097 composeAddress(prefix+"Address", (Address) type); 22098 else if (type instanceof Timing) 22099 composeTiming(prefix+"Timing", (Timing) type); 22100 else if (type instanceof ElementDefinition) 22101 composeElementDefinition(prefix+"ElementDefinition", (ElementDefinition) type); 22102 else if (type instanceof DateType) 22103 composeDate(prefix+"Date", (DateType) type); 22104 else if (type instanceof DateTimeType) 22105 composeDateTime(prefix+"DateTime", (DateTimeType) type); 22106 else if (type instanceof CodeType) 22107 composeCode(prefix+"Code", (CodeType) type); 22108 else if (type instanceof StringType) 22109 composeString(prefix+"String", (StringType) type); 22110 else if (type instanceof IntegerType) 22111 composeInteger(prefix+"Integer", (IntegerType) type); 22112 else if (type instanceof OidType) 22113 composeOid(prefix+"Oid", (OidType) type); 22114 else if (type instanceof UriType) 22115 composeUri(prefix+"Uri", (UriType) type); 22116 else if (type instanceof UuidType) 22117 composeUuid(prefix+"Uuid", (UuidType) type); 22118 else if (type instanceof InstantType) 22119 composeInstant(prefix+"Instant", (InstantType) type); 22120 else if (type instanceof BooleanType) 22121 composeBoolean(prefix+"Boolean", (BooleanType) type); 22122 else if (type instanceof Base64BinaryType) 22123 composeBase64Binary(prefix+"Base64Binary", (Base64BinaryType) type); 22124 else if (type instanceof UnsignedIntType) 22125 composeUnsignedInt(prefix+"UnsignedInt", (UnsignedIntType) type); 22126 else if (type instanceof MarkdownType) 22127 composeMarkdown(prefix+"Markdown", (MarkdownType) type); 22128 else if (type instanceof TimeType) 22129 composeTime(prefix+"Time", (TimeType) type); 22130 else if (type instanceof IdType) 22131 composeId(prefix+"Id", (IdType) type); 22132 else if (type instanceof PositiveIntType) 22133 composePositiveInt(prefix+"PositiveInt", (PositiveIntType) type); 22134 else if (type instanceof DecimalType) 22135 composeDecimal(prefix+"Decimal", (DecimalType) type); 22136 else 22137 throw new Error("Unhandled type"); 22138 } 22139 22140} 22141