001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.r4.model.Enumerations.*; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * Example of workflow instance. 048 */ 049@ResourceDef(name="ExampleScenario", profile="http://hl7.org/fhir/Profile/ExampleScenario") 050@ChildOrder(names={"url", "identifier", "version", "name", "status", "experimental", "date", "publisher", "contact", "useContext", "jurisdiction", "copyright", "purpose", "actor", "instance", "process", "workflow"}) 051public class ExampleScenario extends MetadataResource { 052 053 public enum ExampleScenarioActorType { 054 /** 055 * A person 056 */ 057 PERSON, 058 /** 059 * A system 060 */ 061 ENTITY, 062 /** 063 * added to help the parsers with the generic types 064 */ 065 NULL; 066 public static ExampleScenarioActorType fromCode(String codeString) throws FHIRException { 067 if (codeString == null || "".equals(codeString)) 068 return null; 069 if ("person".equals(codeString)) 070 return PERSON; 071 if ("entity".equals(codeString)) 072 return ENTITY; 073 if (Configuration.isAcceptInvalidEnums()) 074 return null; 075 else 076 throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'"); 077 } 078 public String toCode() { 079 switch (this) { 080 case PERSON: return "person"; 081 case ENTITY: return "entity"; 082 default: return "?"; 083 } 084 } 085 public String getSystem() { 086 switch (this) { 087 case PERSON: return "http://hl7.org/fhir/examplescenario-actor-type"; 088 case ENTITY: return "http://hl7.org/fhir/examplescenario-actor-type"; 089 default: return "?"; 090 } 091 } 092 public String getDefinition() { 093 switch (this) { 094 case PERSON: return "A person"; 095 case ENTITY: return "A system"; 096 default: return "?"; 097 } 098 } 099 public String getDisplay() { 100 switch (this) { 101 case PERSON: return "Person"; 102 case ENTITY: return "System"; 103 default: return "?"; 104 } 105 } 106 } 107 108 public static class ExampleScenarioActorTypeEnumFactory implements EnumFactory<ExampleScenarioActorType> { 109 public ExampleScenarioActorType fromCode(String codeString) throws IllegalArgumentException { 110 if (codeString == null || "".equals(codeString)) 111 if (codeString == null || "".equals(codeString)) 112 return null; 113 if ("person".equals(codeString)) 114 return ExampleScenarioActorType.PERSON; 115 if ("entity".equals(codeString)) 116 return ExampleScenarioActorType.ENTITY; 117 throw new IllegalArgumentException("Unknown ExampleScenarioActorType code '"+codeString+"'"); 118 } 119 public Enumeration<ExampleScenarioActorType> fromType(Base code) throws FHIRException { 120 if (code == null) 121 return null; 122 if (code.isEmpty()) 123 return new Enumeration<ExampleScenarioActorType>(this); 124 String codeString = ((PrimitiveType) code).asStringValue(); 125 if (codeString == null || "".equals(codeString)) 126 return null; 127 if ("person".equals(codeString)) 128 return new Enumeration<ExampleScenarioActorType>(this, ExampleScenarioActorType.PERSON); 129 if ("entity".equals(codeString)) 130 return new Enumeration<ExampleScenarioActorType>(this, ExampleScenarioActorType.ENTITY); 131 throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'"); 132 } 133 public String toCode(ExampleScenarioActorType code) { 134 if (code == ExampleScenarioActorType.PERSON) 135 return "person"; 136 if (code == ExampleScenarioActorType.ENTITY) 137 return "entity"; 138 return "?"; 139 } 140 public String toSystem(ExampleScenarioActorType code) { 141 return code.getSystem(); 142 } 143 } 144 145 public enum FHIRResourceType { 146 /** 147 * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. 148 */ 149 ACCOUNT, 150 /** 151 * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. 152 */ 153 ACTIVITYDEFINITION, 154 /** 155 * Actual or potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death. 156 */ 157 ADVERSEEVENT, 158 /** 159 * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance. 160 */ 161 ALLERGYINTOLERANCE, 162 /** 163 * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). 164 */ 165 APPOINTMENT, 166 /** 167 * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. 168 */ 169 APPOINTMENTRESPONSE, 170 /** 171 * A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage. 172 */ 173 AUDITEVENT, 174 /** 175 * Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification. 176 */ 177 BASIC, 178 /** 179 * A binary resource can contain any content, whether text, image, pdf, zip archive, etc. 180 */ 181 BINARY, 182 /** 183 * A material substance originating from a biological entity intended to be transplanted or infused 184into another (possibly the same) biological entity. 185 */ 186 BIOLOGICALLYDERIVEDPRODUCT, 187 /** 188 * Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. 189 */ 190 BODYSTRUCTURE, 191 /** 192 * A container for a collection of resources. 193 */ 194 BUNDLE, 195 /** 196 * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. 197 */ 198 CAPABILITYSTATEMENT, 199 /** 200 * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. 201 */ 202 CAREPLAN, 203 /** 204 * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient. 205 */ 206 CARETEAM, 207 /** 208 * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. 209 */ 210 CHARGEITEM, 211 /** 212 * A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery. 213 */ 214 CLAIM, 215 /** 216 * This resource provides the adjudication details from the processing of a Claim resource. 217 */ 218 CLAIMRESPONSE, 219 /** 220 * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. 221 */ 222 CLINICALIMPRESSION, 223 /** 224 * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. 225 */ 226 CODESYSTEM, 227 /** 228 * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition. 229 */ 230 COMMUNICATION, 231 /** 232 * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. 233 */ 234 COMMUNICATIONREQUEST, 235 /** 236 * A compartment definition that defines how resources are accessed on a server. 237 */ 238 COMPARTMENTDEFINITION, 239 /** 240 * A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). 241 */ 242 COMPOSITION, 243 /** 244 * A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models. 245 */ 246 CONCEPTMAP, 247 /** 248 * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. 249 */ 250 CONDITION, 251 /** 252 * A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. 253 */ 254 CONSENT, 255 /** 256 * A formal agreement between parties regarding the conduct of business, exchange of information or other matters. 257 */ 258 CONTRACT, 259 /** 260 * Financial instrument which may be used to reimburse or pay for health care products and services. 261 */ 262 COVERAGE, 263 /** 264 * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. 265 */ 266 DETECTEDISSUE, 267 /** 268 * This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc. 269 */ 270 DEVICE, 271 /** 272 * The characteristics, operational status and capabilities of a medical-related component of a medical device. 273 */ 274 DEVICECOMPONENT, 275 /** 276 * Describes a measurement, calculation or setting capability of a medical device. 277 */ 278 DEVICEMETRIC, 279 /** 280 * Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker. 281 */ 282 DEVICEREQUEST, 283 /** 284 * A record of a device being used by a patient where the record is the result of a report from the patient or another clinician. 285 */ 286 DEVICEUSESTATEMENT, 287 /** 288 * The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. 289 */ 290 DIAGNOSTICREPORT, 291 /** 292 * A collection of documents compiled for a purpose together with metadata that applies to the collection. 293 */ 294 DOCUMENTMANIFEST, 295 /** 296 * A reference to a document. 297 */ 298 DOCUMENTREFERENCE, 299 /** 300 * A resource that includes narrative, extensions, and contained resources. 301 */ 302 DOMAINRESOURCE, 303 /** 304 * The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. 305 */ 306 ELIGIBILITYREQUEST, 307 /** 308 * This resource provides eligibility and plan details from the processing of an Eligibility resource. 309 */ 310 ELIGIBILITYRESPONSE, 311 /** 312 * An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. 313 */ 314 ENCOUNTER, 315 /** 316 * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information. 317 */ 318 ENDPOINT, 319 /** 320 * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. 321 */ 322 ENROLLMENTREQUEST, 323 /** 324 * This resource provides enrollment and plan details from the processing of an Enrollment resource. 325 */ 326 ENROLLMENTRESPONSE, 327 /** 328 * Catalog entries are wrappers that contextualize items included in a catalog. 329 */ 330 ENTRYDEFINITION, 331 /** 332 * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. 333 */ 334 EPISODEOFCARE, 335 /** 336 * The EventDefinition resource provides a reusable description of when a particular event can occur. 337 */ 338 EVENTDEFINITION, 339 /** 340 * Example of workflow instance. 341 */ 342 EXAMPLESCENARIO, 343 /** 344 * Resource to define constraints on the Expansion of a FHIR ValueSet. 345 */ 346 EXPANSIONPROFILE, 347 /** 348 * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. 349 */ 350 EXPLANATIONOFBENEFIT, 351 /** 352 * Significant health conditions for a person related to the patient relevant in the context of care for the patient. 353 */ 354 FAMILYMEMBERHISTORY, 355 /** 356 * Prospective warnings of potential issues when providing care to the patient. 357 */ 358 FLAG, 359 /** 360 * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. 361 */ 362 GOAL, 363 /** 364 * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. 365 */ 366 GRAPHDEFINITION, 367 /** 368 * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. 369 */ 370 GROUP, 371 /** 372 * A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken. 373 */ 374 GUIDANCERESPONSE, 375 /** 376 * The details of a healthcare service available at a location. 377 */ 378 HEALTHCARESERVICE, 379 /** 380 * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities. 381 */ 382 IMAGINGSTUDY, 383 /** 384 * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party. 385 */ 386 IMMUNIZATION, 387 /** 388 * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those recommendations. 389 */ 390 IMMUNIZATIONEVALUATION, 391 /** 392 * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. 393 */ 394 IMMUNIZATIONRECOMMENDATION, 395 /** 396 * A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. 397 */ 398 IMPLEMENTATIONGUIDE, 399 /** 400 * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. 401 */ 402 INVOICE, 403 /** 404 * A physical, countable instance of an item, for example one box or one unit. 405 */ 406 ITEMINSTANCE, 407 /** 408 * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. 409 */ 410 LIBRARY, 411 /** 412 * Identifies two or more records (resource instances) that are referring to the same real-world "occurrence". 413 */ 414 LINKAGE, 415 /** 416 * A set of information summarized from a list of other resources. 417 */ 418 LIST, 419 /** 420 * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated. 421 */ 422 LOCATION, 423 /** 424 * The Measure resource provides the definition of a quality measure. 425 */ 426 MEASURE, 427 /** 428 * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. 429 */ 430 MEASUREREPORT, 431 /** 432 * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference. 433 */ 434 MEDIA, 435 /** 436 * This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use. 437 */ 438 MEDICATION, 439 /** 440 * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. 441 */ 442 MEDICATIONADMINISTRATION, 443 /** 444 * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. 445 */ 446 MEDICATIONDISPENSE, 447 /** 448 * Information about a medication that is used to support knowledge. 449 */ 450 MEDICATIONKNOWLEDGE, 451 /** 452 * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. 453 */ 454 MEDICATIONREQUEST, 455 /** 456 * A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. 457 458The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. 459 */ 460 MEDICATIONSTATEMENT, 461 /** 462 * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use). 463 */ 464 MEDICINALPRODUCT, 465 /** 466 * The regulatory authorization of a medicinal product. 467 */ 468 MEDICINALPRODUCTAUTHORIZATION, 469 /** 470 * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes. 471 */ 472 MEDICINALPRODUCTCLINICALS, 473 /** 474 * A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances. 475 */ 476 MEDICINALPRODUCTDEVICESPEC, 477 /** 478 * An ingredient of a manufactured item or pharmaceutical product. 479 */ 480 MEDICINALPRODUCTINGREDIENT, 481 /** 482 * A medicinal product in a container or package. 483 */ 484 MEDICINALPRODUCTPACKAGED, 485 /** 486 * A pharmaceutical product described in terms of its composition and dose form. 487 */ 488 MEDICINALPRODUCTPHARMACEUTICAL, 489 /** 490 * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. 491 */ 492 MESSAGEDEFINITION, 493 /** 494 * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. 495 */ 496 MESSAGEHEADER, 497 /** 498 * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types. 499 */ 500 NAMINGSYSTEM, 501 /** 502 * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. 503 */ 504 NUTRITIONORDER, 505 /** 506 * Measurements and simple assertions made about a patient, device or other subject. 507 */ 508 OBSERVATION, 509 /** 510 * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. 511 */ 512 OBSERVATIONDEFINITION, 513 /** 514 * A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing. 515 */ 516 OCCUPATIONALDATA, 517 /** 518 * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). 519 */ 520 OPERATIONDEFINITION, 521 /** 522 * A collection of error, warning or information messages that result from a system action. 523 */ 524 OPERATIONOUTCOME, 525 /** 526 * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc. 527 */ 528 ORGANIZATION, 529 /** 530 * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. 531 */ 532 ORGANIZATIONROLE, 533 /** 534 * This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it. 535 */ 536 PARAMETERS, 537 /** 538 * Demographics and other administrative information about an individual or animal receiving care or other health-related services. 539 */ 540 PATIENT, 541 /** 542 * This resource provides the status of the payment for goods and services rendered, and the request and response resource references. 543 */ 544 PAYMENTNOTICE, 545 /** 546 * This resource provides payment details and claim references supporting a bulk payment. 547 */ 548 PAYMENTRECONCILIATION, 549 /** 550 * Demographics and administrative information about a person independent of a specific health-related context. 551 */ 552 PERSON, 553 /** 554 * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols. 555 */ 556 PLANDEFINITION, 557 /** 558 * A person who is directly or indirectly involved in the provisioning of healthcare. 559 */ 560 PRACTITIONER, 561 /** 562 * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. 563 */ 564 PRACTITIONERROLE, 565 /** 566 * An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy. 567 */ 568 PROCEDURE, 569 /** 570 * This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources. 571 */ 572 PROCESSREQUEST, 573 /** 574 * This resource provides processing status, errors and notes from the processing of a resource. 575 */ 576 PROCESSRESPONSE, 577 /** 578 * Details of a Health Insurance product/plan provided by an organization. 579 */ 580 PRODUCTPLAN, 581 /** 582 * Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. 583 */ 584 PROVENANCE, 585 /** 586 * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. 587 */ 588 QUESTIONNAIRE, 589 /** 590 * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. 591 */ 592 QUESTIONNAIRERESPONSE, 593 /** 594 * Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. 595 */ 596 RELATEDPERSON, 597 /** 598 * A group of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". 599 */ 600 REQUESTGROUP, 601 /** 602 * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. 603 */ 604 RESEARCHSTUDY, 605 /** 606 * A physical entity which is the primary unit of operational and/or administrative interest in a study. 607 */ 608 RESEARCHSUBJECT, 609 /** 610 * This is the base resource type for everything. 611 */ 612 RESOURCE, 613 /** 614 * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. 615 */ 616 RISKASSESSMENT, 617 /** 618 * A container for slots of time that may be available for booking appointments. 619 */ 620 SCHEDULE, 621 /** 622 * A search parameter that defines a named search item that can be used to search/filter on a resource. 623 */ 624 SEARCHPARAMETER, 625 /** 626 * Raw data describing a biological sequence. 627 */ 628 SEQUENCE, 629 /** 630 * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. 631 */ 632 SERVICEREQUEST, 633 /** 634 * A slot of time on a schedule that may be available for booking appointments. 635 */ 636 SLOT, 637 /** 638 * A sample to be used for analysis. 639 */ 640 SPECIMEN, 641 /** 642 * A kind of specimen with associated set of requirements. 643 */ 644 SPECIMENDEFINITION, 645 /** 646 * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. 647 */ 648 STRUCTUREDEFINITION, 649 /** 650 * A Map of relationships between 2 structures that can be used to transform data. 651 */ 652 STRUCTUREMAP, 653 /** 654 * The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system can take an appropriate action. 655 */ 656 SUBSCRIPTION, 657 /** 658 * A homogeneous material with a definite composition. 659 */ 660 SUBSTANCE, 661 /** 662 * Todo. 663 */ 664 SUBSTANCEPOLYMER, 665 /** 666 * Todo. 667 */ 668 SUBSTANCEREFERENCEINFORMATION, 669 /** 670 * The detailed description of a substance, typically at a level beyond what is used for prescribing. 671 */ 672 SUBSTANCESPECIFICATION, 673 /** 674 * Record of delivery of what is supplied. 675 */ 676 SUPPLYDELIVERY, 677 /** 678 * A record of a request for a medication, substance or device used in the healthcare setting. 679 */ 680 SUPPLYREQUEST, 681 /** 682 * A task to be performed. 683 */ 684 TASK, 685 /** 686 * A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. 687 */ 688 TERMINOLOGYCAPABILITIES, 689 /** 690 * A summary of information based on the results of executing a TestScript. 691 */ 692 TESTREPORT, 693 /** 694 * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. 695 */ 696 TESTSCRIPT, 697 /** 698 * Information about a user's current session. 699 */ 700 USERSESSION, 701 /** 702 * A ValueSet resource specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). 703 */ 704 VALUESET, 705 /** 706 * Describes validation requirements, source(s), status and dates for one or more elements. 707 */ 708 VERIFICATIONRESULT, 709 /** 710 * An authorization for the supply of glasses and/or contact lenses to a patient. 711 */ 712 VISIONPRESCRIPTION, 713 /** 714 * added to help the parsers with the generic types 715 */ 716 NULL; 717 public static FHIRResourceType fromCode(String codeString) throws FHIRException { 718 if (codeString == null || "".equals(codeString)) 719 return null; 720 if ("Account".equals(codeString)) 721 return ACCOUNT; 722 if ("ActivityDefinition".equals(codeString)) 723 return ACTIVITYDEFINITION; 724 if ("AdverseEvent".equals(codeString)) 725 return ADVERSEEVENT; 726 if ("AllergyIntolerance".equals(codeString)) 727 return ALLERGYINTOLERANCE; 728 if ("Appointment".equals(codeString)) 729 return APPOINTMENT; 730 if ("AppointmentResponse".equals(codeString)) 731 return APPOINTMENTRESPONSE; 732 if ("AuditEvent".equals(codeString)) 733 return AUDITEVENT; 734 if ("Basic".equals(codeString)) 735 return BASIC; 736 if ("Binary".equals(codeString)) 737 return BINARY; 738 if ("BiologicallyDerivedProduct".equals(codeString)) 739 return BIOLOGICALLYDERIVEDPRODUCT; 740 if ("BodyStructure".equals(codeString)) 741 return BODYSTRUCTURE; 742 if ("Bundle".equals(codeString)) 743 return BUNDLE; 744 if ("CapabilityStatement".equals(codeString)) 745 return CAPABILITYSTATEMENT; 746 if ("CarePlan".equals(codeString)) 747 return CAREPLAN; 748 if ("CareTeam".equals(codeString)) 749 return CARETEAM; 750 if ("ChargeItem".equals(codeString)) 751 return CHARGEITEM; 752 if ("Claim".equals(codeString)) 753 return CLAIM; 754 if ("ClaimResponse".equals(codeString)) 755 return CLAIMRESPONSE; 756 if ("ClinicalImpression".equals(codeString)) 757 return CLINICALIMPRESSION; 758 if ("CodeSystem".equals(codeString)) 759 return CODESYSTEM; 760 if ("Communication".equals(codeString)) 761 return COMMUNICATION; 762 if ("CommunicationRequest".equals(codeString)) 763 return COMMUNICATIONREQUEST; 764 if ("CompartmentDefinition".equals(codeString)) 765 return COMPARTMENTDEFINITION; 766 if ("Composition".equals(codeString)) 767 return COMPOSITION; 768 if ("ConceptMap".equals(codeString)) 769 return CONCEPTMAP; 770 if ("Condition".equals(codeString)) 771 return CONDITION; 772 if ("Consent".equals(codeString)) 773 return CONSENT; 774 if ("Contract".equals(codeString)) 775 return CONTRACT; 776 if ("Coverage".equals(codeString)) 777 return COVERAGE; 778 if ("DetectedIssue".equals(codeString)) 779 return DETECTEDISSUE; 780 if ("Device".equals(codeString)) 781 return DEVICE; 782 if ("DeviceComponent".equals(codeString)) 783 return DEVICECOMPONENT; 784 if ("DeviceMetric".equals(codeString)) 785 return DEVICEMETRIC; 786 if ("DeviceRequest".equals(codeString)) 787 return DEVICEREQUEST; 788 if ("DeviceUseStatement".equals(codeString)) 789 return DEVICEUSESTATEMENT; 790 if ("DiagnosticReport".equals(codeString)) 791 return DIAGNOSTICREPORT; 792 if ("DocumentManifest".equals(codeString)) 793 return DOCUMENTMANIFEST; 794 if ("DocumentReference".equals(codeString)) 795 return DOCUMENTREFERENCE; 796 if ("DomainResource".equals(codeString)) 797 return DOMAINRESOURCE; 798 if ("EligibilityRequest".equals(codeString)) 799 return ELIGIBILITYREQUEST; 800 if ("EligibilityResponse".equals(codeString)) 801 return ELIGIBILITYRESPONSE; 802 if ("Encounter".equals(codeString)) 803 return ENCOUNTER; 804 if ("Endpoint".equals(codeString)) 805 return ENDPOINT; 806 if ("EnrollmentRequest".equals(codeString)) 807 return ENROLLMENTREQUEST; 808 if ("EnrollmentResponse".equals(codeString)) 809 return ENROLLMENTRESPONSE; 810 if ("EntryDefinition".equals(codeString)) 811 return ENTRYDEFINITION; 812 if ("EpisodeOfCare".equals(codeString)) 813 return EPISODEOFCARE; 814 if ("EventDefinition".equals(codeString)) 815 return EVENTDEFINITION; 816 if ("ExampleScenario".equals(codeString)) 817 return EXAMPLESCENARIO; 818 if ("ExpansionProfile".equals(codeString)) 819 return EXPANSIONPROFILE; 820 if ("ExplanationOfBenefit".equals(codeString)) 821 return EXPLANATIONOFBENEFIT; 822 if ("FamilyMemberHistory".equals(codeString)) 823 return FAMILYMEMBERHISTORY; 824 if ("Flag".equals(codeString)) 825 return FLAG; 826 if ("Goal".equals(codeString)) 827 return GOAL; 828 if ("GraphDefinition".equals(codeString)) 829 return GRAPHDEFINITION; 830 if ("Group".equals(codeString)) 831 return GROUP; 832 if ("GuidanceResponse".equals(codeString)) 833 return GUIDANCERESPONSE; 834 if ("HealthcareService".equals(codeString)) 835 return HEALTHCARESERVICE; 836 if ("ImagingStudy".equals(codeString)) 837 return IMAGINGSTUDY; 838 if ("Immunization".equals(codeString)) 839 return IMMUNIZATION; 840 if ("ImmunizationEvaluation".equals(codeString)) 841 return IMMUNIZATIONEVALUATION; 842 if ("ImmunizationRecommendation".equals(codeString)) 843 return IMMUNIZATIONRECOMMENDATION; 844 if ("ImplementationGuide".equals(codeString)) 845 return IMPLEMENTATIONGUIDE; 846 if ("Invoice".equals(codeString)) 847 return INVOICE; 848 if ("ItemInstance".equals(codeString)) 849 return ITEMINSTANCE; 850 if ("Library".equals(codeString)) 851 return LIBRARY; 852 if ("Linkage".equals(codeString)) 853 return LINKAGE; 854 if ("List".equals(codeString)) 855 return LIST; 856 if ("Location".equals(codeString)) 857 return LOCATION; 858 if ("Measure".equals(codeString)) 859 return MEASURE; 860 if ("MeasureReport".equals(codeString)) 861 return MEASUREREPORT; 862 if ("Media".equals(codeString)) 863 return MEDIA; 864 if ("Medication".equals(codeString)) 865 return MEDICATION; 866 if ("MedicationAdministration".equals(codeString)) 867 return MEDICATIONADMINISTRATION; 868 if ("MedicationDispense".equals(codeString)) 869 return MEDICATIONDISPENSE; 870 if ("MedicationKnowledge".equals(codeString)) 871 return MEDICATIONKNOWLEDGE; 872 if ("MedicationRequest".equals(codeString)) 873 return MEDICATIONREQUEST; 874 if ("MedicationStatement".equals(codeString)) 875 return MEDICATIONSTATEMENT; 876 if ("MedicinalProduct".equals(codeString)) 877 return MEDICINALPRODUCT; 878 if ("MedicinalProductAuthorization".equals(codeString)) 879 return MEDICINALPRODUCTAUTHORIZATION; 880 if ("MedicinalProductClinicals".equals(codeString)) 881 return MEDICINALPRODUCTCLINICALS; 882 if ("MedicinalProductDeviceSpec".equals(codeString)) 883 return MEDICINALPRODUCTDEVICESPEC; 884 if ("MedicinalProductIngredient".equals(codeString)) 885 return MEDICINALPRODUCTINGREDIENT; 886 if ("MedicinalProductPackaged".equals(codeString)) 887 return MEDICINALPRODUCTPACKAGED; 888 if ("MedicinalProductPharmaceutical".equals(codeString)) 889 return MEDICINALPRODUCTPHARMACEUTICAL; 890 if ("MessageDefinition".equals(codeString)) 891 return MESSAGEDEFINITION; 892 if ("MessageHeader".equals(codeString)) 893 return MESSAGEHEADER; 894 if ("NamingSystem".equals(codeString)) 895 return NAMINGSYSTEM; 896 if ("NutritionOrder".equals(codeString)) 897 return NUTRITIONORDER; 898 if ("Observation".equals(codeString)) 899 return OBSERVATION; 900 if ("ObservationDefinition".equals(codeString)) 901 return OBSERVATIONDEFINITION; 902 if ("OccupationalData".equals(codeString)) 903 return OCCUPATIONALDATA; 904 if ("OperationDefinition".equals(codeString)) 905 return OPERATIONDEFINITION; 906 if ("OperationOutcome".equals(codeString)) 907 return OPERATIONOUTCOME; 908 if ("Organization".equals(codeString)) 909 return ORGANIZATION; 910 if ("OrganizationRole".equals(codeString)) 911 return ORGANIZATIONROLE; 912 if ("Parameters".equals(codeString)) 913 return PARAMETERS; 914 if ("Patient".equals(codeString)) 915 return PATIENT; 916 if ("PaymentNotice".equals(codeString)) 917 return PAYMENTNOTICE; 918 if ("PaymentReconciliation".equals(codeString)) 919 return PAYMENTRECONCILIATION; 920 if ("Person".equals(codeString)) 921 return PERSON; 922 if ("PlanDefinition".equals(codeString)) 923 return PLANDEFINITION; 924 if ("Practitioner".equals(codeString)) 925 return PRACTITIONER; 926 if ("PractitionerRole".equals(codeString)) 927 return PRACTITIONERROLE; 928 if ("Procedure".equals(codeString)) 929 return PROCEDURE; 930 if ("ProcessRequest".equals(codeString)) 931 return PROCESSREQUEST; 932 if ("ProcessResponse".equals(codeString)) 933 return PROCESSRESPONSE; 934 if ("ProductPlan".equals(codeString)) 935 return PRODUCTPLAN; 936 if ("Provenance".equals(codeString)) 937 return PROVENANCE; 938 if ("Questionnaire".equals(codeString)) 939 return QUESTIONNAIRE; 940 if ("QuestionnaireResponse".equals(codeString)) 941 return QUESTIONNAIRERESPONSE; 942 if ("RelatedPerson".equals(codeString)) 943 return RELATEDPERSON; 944 if ("RequestGroup".equals(codeString)) 945 return REQUESTGROUP; 946 if ("ResearchStudy".equals(codeString)) 947 return RESEARCHSTUDY; 948 if ("ResearchSubject".equals(codeString)) 949 return RESEARCHSUBJECT; 950 if ("Resource".equals(codeString)) 951 return RESOURCE; 952 if ("RiskAssessment".equals(codeString)) 953 return RISKASSESSMENT; 954 if ("Schedule".equals(codeString)) 955 return SCHEDULE; 956 if ("SearchParameter".equals(codeString)) 957 return SEARCHPARAMETER; 958 if ("Sequence".equals(codeString)) 959 return SEQUENCE; 960 if ("ServiceRequest".equals(codeString)) 961 return SERVICEREQUEST; 962 if ("Slot".equals(codeString)) 963 return SLOT; 964 if ("Specimen".equals(codeString)) 965 return SPECIMEN; 966 if ("SpecimenDefinition".equals(codeString)) 967 return SPECIMENDEFINITION; 968 if ("StructureDefinition".equals(codeString)) 969 return STRUCTUREDEFINITION; 970 if ("StructureMap".equals(codeString)) 971 return STRUCTUREMAP; 972 if ("Subscription".equals(codeString)) 973 return SUBSCRIPTION; 974 if ("Substance".equals(codeString)) 975 return SUBSTANCE; 976 if ("SubstancePolymer".equals(codeString)) 977 return SUBSTANCEPOLYMER; 978 if ("SubstanceReferenceInformation".equals(codeString)) 979 return SUBSTANCEREFERENCEINFORMATION; 980 if ("SubstanceSpecification".equals(codeString)) 981 return SUBSTANCESPECIFICATION; 982 if ("SupplyDelivery".equals(codeString)) 983 return SUPPLYDELIVERY; 984 if ("SupplyRequest".equals(codeString)) 985 return SUPPLYREQUEST; 986 if ("Task".equals(codeString)) 987 return TASK; 988 if ("TerminologyCapabilities".equals(codeString)) 989 return TERMINOLOGYCAPABILITIES; 990 if ("TestReport".equals(codeString)) 991 return TESTREPORT; 992 if ("TestScript".equals(codeString)) 993 return TESTSCRIPT; 994 if ("UserSession".equals(codeString)) 995 return USERSESSION; 996 if ("ValueSet".equals(codeString)) 997 return VALUESET; 998 if ("VerificationResult".equals(codeString)) 999 return VERIFICATIONRESULT; 1000 if ("VisionPrescription".equals(codeString)) 1001 return VISIONPRESCRIPTION; 1002 if (Configuration.isAcceptInvalidEnums()) 1003 return null; 1004 else 1005 throw new FHIRException("Unknown FHIRResourceType code '"+codeString+"'"); 1006 } 1007 public String toCode() { 1008 switch (this) { 1009 case ACCOUNT: return "Account"; 1010 case ACTIVITYDEFINITION: return "ActivityDefinition"; 1011 case ADVERSEEVENT: return "AdverseEvent"; 1012 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 1013 case APPOINTMENT: return "Appointment"; 1014 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 1015 case AUDITEVENT: return "AuditEvent"; 1016 case BASIC: return "Basic"; 1017 case BINARY: return "Binary"; 1018 case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; 1019 case BODYSTRUCTURE: return "BodyStructure"; 1020 case BUNDLE: return "Bundle"; 1021 case CAPABILITYSTATEMENT: return "CapabilityStatement"; 1022 case CAREPLAN: return "CarePlan"; 1023 case CARETEAM: return "CareTeam"; 1024 case CHARGEITEM: return "ChargeItem"; 1025 case CLAIM: return "Claim"; 1026 case CLAIMRESPONSE: return "ClaimResponse"; 1027 case CLINICALIMPRESSION: return "ClinicalImpression"; 1028 case CODESYSTEM: return "CodeSystem"; 1029 case COMMUNICATION: return "Communication"; 1030 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 1031 case COMPARTMENTDEFINITION: return "CompartmentDefinition"; 1032 case COMPOSITION: return "Composition"; 1033 case CONCEPTMAP: return "ConceptMap"; 1034 case CONDITION: return "Condition"; 1035 case CONSENT: return "Consent"; 1036 case CONTRACT: return "Contract"; 1037 case COVERAGE: return "Coverage"; 1038 case DETECTEDISSUE: return "DetectedIssue"; 1039 case DEVICE: return "Device"; 1040 case DEVICECOMPONENT: return "DeviceComponent"; 1041 case DEVICEMETRIC: return "DeviceMetric"; 1042 case DEVICEREQUEST: return "DeviceRequest"; 1043 case DEVICEUSESTATEMENT: return "DeviceUseStatement"; 1044 case DIAGNOSTICREPORT: return "DiagnosticReport"; 1045 case DOCUMENTMANIFEST: return "DocumentManifest"; 1046 case DOCUMENTREFERENCE: return "DocumentReference"; 1047 case DOMAINRESOURCE: return "DomainResource"; 1048 case ELIGIBILITYREQUEST: return "EligibilityRequest"; 1049 case ELIGIBILITYRESPONSE: return "EligibilityResponse"; 1050 case ENCOUNTER: return "Encounter"; 1051 case ENDPOINT: return "Endpoint"; 1052 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 1053 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 1054 case ENTRYDEFINITION: return "EntryDefinition"; 1055 case EPISODEOFCARE: return "EpisodeOfCare"; 1056 case EVENTDEFINITION: return "EventDefinition"; 1057 case EXAMPLESCENARIO: return "ExampleScenario"; 1058 case EXPANSIONPROFILE: return "ExpansionProfile"; 1059 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 1060 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 1061 case FLAG: return "Flag"; 1062 case GOAL: return "Goal"; 1063 case GRAPHDEFINITION: return "GraphDefinition"; 1064 case GROUP: return "Group"; 1065 case GUIDANCERESPONSE: return "GuidanceResponse"; 1066 case HEALTHCARESERVICE: return "HealthcareService"; 1067 case IMAGINGSTUDY: return "ImagingStudy"; 1068 case IMMUNIZATION: return "Immunization"; 1069 case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; 1070 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 1071 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 1072 case INVOICE: return "Invoice"; 1073 case ITEMINSTANCE: return "ItemInstance"; 1074 case LIBRARY: return "Library"; 1075 case LINKAGE: return "Linkage"; 1076 case LIST: return "List"; 1077 case LOCATION: return "Location"; 1078 case MEASURE: return "Measure"; 1079 case MEASUREREPORT: return "MeasureReport"; 1080 case MEDIA: return "Media"; 1081 case MEDICATION: return "Medication"; 1082 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 1083 case MEDICATIONDISPENSE: return "MedicationDispense"; 1084 case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; 1085 case MEDICATIONREQUEST: return "MedicationRequest"; 1086 case MEDICATIONSTATEMENT: return "MedicationStatement"; 1087 case MEDICINALPRODUCT: return "MedicinalProduct"; 1088 case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization"; 1089 case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals"; 1090 case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec"; 1091 case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient"; 1092 case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged"; 1093 case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical"; 1094 case MESSAGEDEFINITION: return "MessageDefinition"; 1095 case MESSAGEHEADER: return "MessageHeader"; 1096 case NAMINGSYSTEM: return "NamingSystem"; 1097 case NUTRITIONORDER: return "NutritionOrder"; 1098 case OBSERVATION: return "Observation"; 1099 case OBSERVATIONDEFINITION: return "ObservationDefinition"; 1100 case OCCUPATIONALDATA: return "OccupationalData"; 1101 case OPERATIONDEFINITION: return "OperationDefinition"; 1102 case OPERATIONOUTCOME: return "OperationOutcome"; 1103 case ORGANIZATION: return "Organization"; 1104 case ORGANIZATIONROLE: return "OrganizationRole"; 1105 case PARAMETERS: return "Parameters"; 1106 case PATIENT: return "Patient"; 1107 case PAYMENTNOTICE: return "PaymentNotice"; 1108 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 1109 case PERSON: return "Person"; 1110 case PLANDEFINITION: return "PlanDefinition"; 1111 case PRACTITIONER: return "Practitioner"; 1112 case PRACTITIONERROLE: return "PractitionerRole"; 1113 case PROCEDURE: return "Procedure"; 1114 case PROCESSREQUEST: return "ProcessRequest"; 1115 case PROCESSRESPONSE: return "ProcessResponse"; 1116 case PRODUCTPLAN: return "ProductPlan"; 1117 case PROVENANCE: return "Provenance"; 1118 case QUESTIONNAIRE: return "Questionnaire"; 1119 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 1120 case RELATEDPERSON: return "RelatedPerson"; 1121 case REQUESTGROUP: return "RequestGroup"; 1122 case RESEARCHSTUDY: return "ResearchStudy"; 1123 case RESEARCHSUBJECT: return "ResearchSubject"; 1124 case RESOURCE: return "Resource"; 1125 case RISKASSESSMENT: return "RiskAssessment"; 1126 case SCHEDULE: return "Schedule"; 1127 case SEARCHPARAMETER: return "SearchParameter"; 1128 case SEQUENCE: return "Sequence"; 1129 case SERVICEREQUEST: return "ServiceRequest"; 1130 case SLOT: return "Slot"; 1131 case SPECIMEN: return "Specimen"; 1132 case SPECIMENDEFINITION: return "SpecimenDefinition"; 1133 case STRUCTUREDEFINITION: return "StructureDefinition"; 1134 case STRUCTUREMAP: return "StructureMap"; 1135 case SUBSCRIPTION: return "Subscription"; 1136 case SUBSTANCE: return "Substance"; 1137 case SUBSTANCEPOLYMER: return "SubstancePolymer"; 1138 case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; 1139 case SUBSTANCESPECIFICATION: return "SubstanceSpecification"; 1140 case SUPPLYDELIVERY: return "SupplyDelivery"; 1141 case SUPPLYREQUEST: return "SupplyRequest"; 1142 case TASK: return "Task"; 1143 case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; 1144 case TESTREPORT: return "TestReport"; 1145 case TESTSCRIPT: return "TestScript"; 1146 case USERSESSION: return "UserSession"; 1147 case VALUESET: return "ValueSet"; 1148 case VERIFICATIONRESULT: return "VerificationResult"; 1149 case VISIONPRESCRIPTION: return "VisionPrescription"; 1150 default: return "?"; 1151 } 1152 } 1153 public String getSystem() { 1154 switch (this) { 1155 case ACCOUNT: return "http://hl7.org/fhir/resource-types"; 1156 case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types"; 1157 case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types"; 1158 case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types"; 1159 case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; 1160 case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 1161 case AUDITEVENT: return "http://hl7.org/fhir/resource-types"; 1162 case BASIC: return "http://hl7.org/fhir/resource-types"; 1163 case BINARY: return "http://hl7.org/fhir/resource-types"; 1164 case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types"; 1165 case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types"; 1166 case BUNDLE: return "http://hl7.org/fhir/resource-types"; 1167 case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types"; 1168 case CAREPLAN: return "http://hl7.org/fhir/resource-types"; 1169 case CARETEAM: return "http://hl7.org/fhir/resource-types"; 1170 case CHARGEITEM: return "http://hl7.org/fhir/resource-types"; 1171 case CLAIM: return "http://hl7.org/fhir/resource-types"; 1172 case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types"; 1173 case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types"; 1174 case CODESYSTEM: return "http://hl7.org/fhir/resource-types"; 1175 case COMMUNICATION: return "http://hl7.org/fhir/resource-types"; 1176 case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 1177 case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types"; 1178 case COMPOSITION: return "http://hl7.org/fhir/resource-types"; 1179 case CONCEPTMAP: return "http://hl7.org/fhir/resource-types"; 1180 case CONDITION: return "http://hl7.org/fhir/resource-types"; 1181 case CONSENT: return "http://hl7.org/fhir/resource-types"; 1182 case CONTRACT: return "http://hl7.org/fhir/resource-types"; 1183 case COVERAGE: return "http://hl7.org/fhir/resource-types"; 1184 case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types"; 1185 case DEVICE: return "http://hl7.org/fhir/resource-types"; 1186 case DEVICECOMPONENT: return "http://hl7.org/fhir/resource-types"; 1187 case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types"; 1188 case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types"; 1189 case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types"; 1190 case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types"; 1191 case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types"; 1192 case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types"; 1193 case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types"; 1194 case ELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types"; 1195 case ELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types"; 1196 case ENCOUNTER: return "http://hl7.org/fhir/resource-types"; 1197 case ENDPOINT: return "http://hl7.org/fhir/resource-types"; 1198 case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types"; 1199 case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 1200 case ENTRYDEFINITION: return "http://hl7.org/fhir/resource-types"; 1201 case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types"; 1202 case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types"; 1203 case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types"; 1204 case EXPANSIONPROFILE: return "http://hl7.org/fhir/resource-types"; 1205 case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types"; 1206 case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types"; 1207 case FLAG: return "http://hl7.org/fhir/resource-types"; 1208 case GOAL: return "http://hl7.org/fhir/resource-types"; 1209 case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types"; 1210 case GROUP: return "http://hl7.org/fhir/resource-types"; 1211 case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types"; 1212 case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types"; 1213 case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types"; 1214 case IMMUNIZATION: return "http://hl7.org/fhir/resource-types"; 1215 case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types"; 1216 case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types"; 1217 case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types"; 1218 case INVOICE: return "http://hl7.org/fhir/resource-types"; 1219 case ITEMINSTANCE: return "http://hl7.org/fhir/resource-types"; 1220 case LIBRARY: return "http://hl7.org/fhir/resource-types"; 1221 case LINKAGE: return "http://hl7.org/fhir/resource-types"; 1222 case LIST: return "http://hl7.org/fhir/resource-types"; 1223 case LOCATION: return "http://hl7.org/fhir/resource-types"; 1224 case MEASURE: return "http://hl7.org/fhir/resource-types"; 1225 case MEASUREREPORT: return "http://hl7.org/fhir/resource-types"; 1226 case MEDIA: return "http://hl7.org/fhir/resource-types"; 1227 case MEDICATION: return "http://hl7.org/fhir/resource-types"; 1228 case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types"; 1229 case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types"; 1230 case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types"; 1231 case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 1232 case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types"; 1233 case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types"; 1234 case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types"; 1235 case MEDICINALPRODUCTCLINICALS: return "http://hl7.org/fhir/resource-types"; 1236 case MEDICINALPRODUCTDEVICESPEC: return "http://hl7.org/fhir/resource-types"; 1237 case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types"; 1238 case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types"; 1239 case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types"; 1240 case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types"; 1241 case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types"; 1242 case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types"; 1243 case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; 1244 case OBSERVATION: return "http://hl7.org/fhir/resource-types"; 1245 case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; 1246 case OCCUPATIONALDATA: return "http://hl7.org/fhir/resource-types"; 1247 case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; 1248 case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types"; 1249 case ORGANIZATION: return "http://hl7.org/fhir/resource-types"; 1250 case ORGANIZATIONROLE: return "http://hl7.org/fhir/resource-types"; 1251 case PARAMETERS: return "http://hl7.org/fhir/resource-types"; 1252 case PATIENT: return "http://hl7.org/fhir/resource-types"; 1253 case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types"; 1254 case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types"; 1255 case PERSON: return "http://hl7.org/fhir/resource-types"; 1256 case PLANDEFINITION: return "http://hl7.org/fhir/resource-types"; 1257 case PRACTITIONER: return "http://hl7.org/fhir/resource-types"; 1258 case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types"; 1259 case PROCEDURE: return "http://hl7.org/fhir/resource-types"; 1260 case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types"; 1261 case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types"; 1262 case PRODUCTPLAN: return "http://hl7.org/fhir/resource-types"; 1263 case PROVENANCE: return "http://hl7.org/fhir/resource-types"; 1264 case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types"; 1265 case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types"; 1266 case RELATEDPERSON: return "http://hl7.org/fhir/resource-types"; 1267 case REQUESTGROUP: return "http://hl7.org/fhir/resource-types"; 1268 case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types"; 1269 case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types"; 1270 case RESOURCE: return "http://hl7.org/fhir/resource-types"; 1271 case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types"; 1272 case SCHEDULE: return "http://hl7.org/fhir/resource-types"; 1273 case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types"; 1274 case SEQUENCE: return "http://hl7.org/fhir/resource-types"; 1275 case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types"; 1276 case SLOT: return "http://hl7.org/fhir/resource-types"; 1277 case SPECIMEN: return "http://hl7.org/fhir/resource-types"; 1278 case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types"; 1279 case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types"; 1280 case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types"; 1281 case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types"; 1282 case SUBSTANCE: return "http://hl7.org/fhir/resource-types"; 1283 case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types"; 1284 case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types"; 1285 case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types"; 1286 case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types"; 1287 case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types"; 1288 case TASK: return "http://hl7.org/fhir/resource-types"; 1289 case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types"; 1290 case TESTREPORT: return "http://hl7.org/fhir/resource-types"; 1291 case TESTSCRIPT: return "http://hl7.org/fhir/resource-types"; 1292 case USERSESSION: return "http://hl7.org/fhir/resource-types"; 1293 case VALUESET: return "http://hl7.org/fhir/resource-types"; 1294 case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types"; 1295 case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; 1296 default: return "?"; 1297 } 1298 } 1299 public String getDefinition() { 1300 switch (this) { 1301 case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc."; 1302 case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; 1303 case ADVERSEEVENT: return "Actual or potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death."; 1304 case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; 1305 case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; 1306 case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; 1307 case AUDITEVENT: return "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage."; 1308 case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; 1309 case BINARY: return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc."; 1310 case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity."; 1311 case BODYSTRUCTURE: return "Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; 1312 case BUNDLE: return "A container for a collection of resources."; 1313 case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; 1314 case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; 1315 case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient."; 1316 case CHARGEITEM: return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation."; 1317 case CLAIM: return "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery."; 1318 case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; 1319 case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; 1320 case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; 1321 case COMMUNICATION: return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition."; 1322 case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; 1323 case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; 1324 case COMPOSITION: return "A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.)."; 1325 case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models."; 1326 case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern."; 1327 case CONSENT: return "A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time."; 1328 case CONTRACT: return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters."; 1329 case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services."; 1330 case DETECTEDISSUE: return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc."; 1331 case DEVICE: return "This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc."; 1332 case DEVICECOMPONENT: return "The characteristics, operational status and capabilities of a medical-related component of a medical device."; 1333 case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device."; 1334 case DEVICEREQUEST: return "Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker."; 1335 case DEVICEUSESTATEMENT: return "A record of a device being used by a patient where the record is the result of a report from the patient or another clinician."; 1336 case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports."; 1337 case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection."; 1338 case DOCUMENTREFERENCE: return "A reference to a document."; 1339 case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources."; 1340 case ELIGIBILITYREQUEST: return "The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy."; 1341 case ELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an Eligibility resource."; 1342 case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient."; 1343 case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information."; 1344 case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; 1345 case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource."; 1346 case ENTRYDEFINITION: return "Catalog entries are wrappers that contextualize items included in a catalog."; 1347 case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; 1348 case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; 1349 case EXAMPLESCENARIO: return "Example of workflow instance."; 1350 case EXPANSIONPROFILE: return "Resource to define constraints on the Expansion of a FHIR ValueSet."; 1351 case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; 1352 case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient."; 1353 case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; 1354 case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; 1355 case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; 1356 case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization."; 1357 case GUIDANCERESPONSE: return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken."; 1358 case HEALTHCARESERVICE: return "The details of a healthcare service available at a location."; 1359 case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; 1360 case IMMUNIZATION: return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party."; 1361 case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations."; 1362 case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification."; 1363 case IMPLEMENTATIONGUIDE: return "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; 1364 case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose."; 1365 case ITEMINSTANCE: return "A physical, countable instance of an item, for example one box or one unit."; 1366 case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; 1367 case LINKAGE: return "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\"."; 1368 case LIST: return "A set of information summarized from a list of other resources."; 1369 case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated."; 1370 case MEASURE: return "The Measure resource provides the definition of a quality measure."; 1371 case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation."; 1372 case MEDIA: return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference."; 1373 case MEDICATION: return "This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use."; 1374 case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; 1375 case MEDICATIONDISPENSE: return "Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order."; 1376 case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge."; 1377 case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; 1378 case MEDICATIONSTATEMENT: return "A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. \r\rThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information."; 1379 case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use)."; 1380 case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product."; 1381 case MEDICINALPRODUCTCLINICALS: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes."; 1382 case MEDICINALPRODUCTDEVICESPEC: return "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances."; 1383 case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product."; 1384 case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package."; 1385 case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form."; 1386 case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; 1387 case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; 1388 case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; 1389 case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; 1390 case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; 1391 case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service."; 1392 case OCCUPATIONALDATA: return "A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing."; 1393 case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; 1394 case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action."; 1395 case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc."; 1396 case ORGANIZATIONROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time."; 1397 case PARAMETERS: return "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it."; 1398 case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; 1399 case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; 1400 case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment."; 1401 case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; 1402 case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols."; 1403 case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare."; 1404 case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time."; 1405 case PROCEDURE: return "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy."; 1406 case PROCESSREQUEST: return "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources."; 1407 case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource."; 1408 case PRODUCTPLAN: return "Details of a Health Insurance product/plan provided by an organization."; 1409 case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; 1410 case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; 1411 case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to."; 1412 case RELATEDPERSON: return "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; 1413 case REQUESTGROUP: return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; 1414 case RESEARCHSTUDY: return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects."; 1415 case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study."; 1416 case RESOURCE: return "This is the base resource type for everything."; 1417 case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; 1418 case SCHEDULE: return "A container for slots of time that may be available for booking appointments."; 1419 case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; 1420 case SEQUENCE: return "Raw data describing a biological sequence."; 1421 case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; 1422 case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; 1423 case SPECIMEN: return "A sample to be used for analysis."; 1424 case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements."; 1425 case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; 1426 case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; 1427 case SUBSCRIPTION: return "The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system can take an appropriate action."; 1428 case SUBSTANCE: return "A homogeneous material with a definite composition."; 1429 case SUBSTANCEPOLYMER: return "Todo."; 1430 case SUBSTANCEREFERENCEINFORMATION: return "Todo."; 1431 case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing."; 1432 case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; 1433 case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting."; 1434 case TASK: return "A task to be performed."; 1435 case TERMINOLOGYCAPABILITIES: return "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; 1436 case TESTREPORT: return "A summary of information based on the results of executing a TestScript."; 1437 case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; 1438 case USERSESSION: return "Information about a user's current session."; 1439 case VALUESET: return "A ValueSet resource specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; 1440 case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements."; 1441 case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient."; 1442 default: return "?"; 1443 } 1444 } 1445 public String getDisplay() { 1446 switch (this) { 1447 case ACCOUNT: return "Account"; 1448 case ACTIVITYDEFINITION: return "ActivityDefinition"; 1449 case ADVERSEEVENT: return "AdverseEvent"; 1450 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 1451 case APPOINTMENT: return "Appointment"; 1452 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 1453 case AUDITEVENT: return "AuditEvent"; 1454 case BASIC: return "Basic"; 1455 case BINARY: return "Binary"; 1456 case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; 1457 case BODYSTRUCTURE: return "BodyStructure"; 1458 case BUNDLE: return "Bundle"; 1459 case CAPABILITYSTATEMENT: return "CapabilityStatement"; 1460 case CAREPLAN: return "CarePlan"; 1461 case CARETEAM: return "CareTeam"; 1462 case CHARGEITEM: return "ChargeItem"; 1463 case CLAIM: return "Claim"; 1464 case CLAIMRESPONSE: return "ClaimResponse"; 1465 case CLINICALIMPRESSION: return "ClinicalImpression"; 1466 case CODESYSTEM: return "CodeSystem"; 1467 case COMMUNICATION: return "Communication"; 1468 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 1469 case COMPARTMENTDEFINITION: return "CompartmentDefinition"; 1470 case COMPOSITION: return "Composition"; 1471 case CONCEPTMAP: return "ConceptMap"; 1472 case CONDITION: return "Condition"; 1473 case CONSENT: return "Consent"; 1474 case CONTRACT: return "Contract"; 1475 case COVERAGE: return "Coverage"; 1476 case DETECTEDISSUE: return "DetectedIssue"; 1477 case DEVICE: return "Device"; 1478 case DEVICECOMPONENT: return "DeviceComponent"; 1479 case DEVICEMETRIC: return "DeviceMetric"; 1480 case DEVICEREQUEST: return "DeviceRequest"; 1481 case DEVICEUSESTATEMENT: return "DeviceUseStatement"; 1482 case DIAGNOSTICREPORT: return "DiagnosticReport"; 1483 case DOCUMENTMANIFEST: return "DocumentManifest"; 1484 case DOCUMENTREFERENCE: return "DocumentReference"; 1485 case DOMAINRESOURCE: return "DomainResource"; 1486 case ELIGIBILITYREQUEST: return "EligibilityRequest"; 1487 case ELIGIBILITYRESPONSE: return "EligibilityResponse"; 1488 case ENCOUNTER: return "Encounter"; 1489 case ENDPOINT: return "Endpoint"; 1490 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 1491 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 1492 case ENTRYDEFINITION: return "EntryDefinition"; 1493 case EPISODEOFCARE: return "EpisodeOfCare"; 1494 case EVENTDEFINITION: return "EventDefinition"; 1495 case EXAMPLESCENARIO: return "ExampleScenario"; 1496 case EXPANSIONPROFILE: return "ExpansionProfile"; 1497 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 1498 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 1499 case FLAG: return "Flag"; 1500 case GOAL: return "Goal"; 1501 case GRAPHDEFINITION: return "GraphDefinition"; 1502 case GROUP: return "Group"; 1503 case GUIDANCERESPONSE: return "GuidanceResponse"; 1504 case HEALTHCARESERVICE: return "HealthcareService"; 1505 case IMAGINGSTUDY: return "ImagingStudy"; 1506 case IMMUNIZATION: return "Immunization"; 1507 case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; 1508 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 1509 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 1510 case INVOICE: return "Invoice"; 1511 case ITEMINSTANCE: return "ItemInstance"; 1512 case LIBRARY: return "Library"; 1513 case LINKAGE: return "Linkage"; 1514 case LIST: return "List"; 1515 case LOCATION: return "Location"; 1516 case MEASURE: return "Measure"; 1517 case MEASUREREPORT: return "MeasureReport"; 1518 case MEDIA: return "Media"; 1519 case MEDICATION: return "Medication"; 1520 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 1521 case MEDICATIONDISPENSE: return "MedicationDispense"; 1522 case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; 1523 case MEDICATIONREQUEST: return "MedicationRequest"; 1524 case MEDICATIONSTATEMENT: return "MedicationStatement"; 1525 case MEDICINALPRODUCT: return "MedicinalProduct"; 1526 case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization"; 1527 case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals"; 1528 case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec"; 1529 case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient"; 1530 case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged"; 1531 case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical"; 1532 case MESSAGEDEFINITION: return "MessageDefinition"; 1533 case MESSAGEHEADER: return "MessageHeader"; 1534 case NAMINGSYSTEM: return "NamingSystem"; 1535 case NUTRITIONORDER: return "NutritionOrder"; 1536 case OBSERVATION: return "Observation"; 1537 case OBSERVATIONDEFINITION: return "ObservationDefinition"; 1538 case OCCUPATIONALDATA: return "OccupationalData"; 1539 case OPERATIONDEFINITION: return "OperationDefinition"; 1540 case OPERATIONOUTCOME: return "OperationOutcome"; 1541 case ORGANIZATION: return "Organization"; 1542 case ORGANIZATIONROLE: return "OrganizationRole"; 1543 case PARAMETERS: return "Parameters"; 1544 case PATIENT: return "Patient"; 1545 case PAYMENTNOTICE: return "PaymentNotice"; 1546 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 1547 case PERSON: return "Person"; 1548 case PLANDEFINITION: return "PlanDefinition"; 1549 case PRACTITIONER: return "Practitioner"; 1550 case PRACTITIONERROLE: return "PractitionerRole"; 1551 case PROCEDURE: return "Procedure"; 1552 case PROCESSREQUEST: return "ProcessRequest"; 1553 case PROCESSRESPONSE: return "ProcessResponse"; 1554 case PRODUCTPLAN: return "ProductPlan"; 1555 case PROVENANCE: return "Provenance"; 1556 case QUESTIONNAIRE: return "Questionnaire"; 1557 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 1558 case RELATEDPERSON: return "RelatedPerson"; 1559 case REQUESTGROUP: return "RequestGroup"; 1560 case RESEARCHSTUDY: return "ResearchStudy"; 1561 case RESEARCHSUBJECT: return "ResearchSubject"; 1562 case RESOURCE: return "Resource"; 1563 case RISKASSESSMENT: return "RiskAssessment"; 1564 case SCHEDULE: return "Schedule"; 1565 case SEARCHPARAMETER: return "SearchParameter"; 1566 case SEQUENCE: return "Sequence"; 1567 case SERVICEREQUEST: return "ServiceRequest"; 1568 case SLOT: return "Slot"; 1569 case SPECIMEN: return "Specimen"; 1570 case SPECIMENDEFINITION: return "SpecimenDefinition"; 1571 case STRUCTUREDEFINITION: return "StructureDefinition"; 1572 case STRUCTUREMAP: return "StructureMap"; 1573 case SUBSCRIPTION: return "Subscription"; 1574 case SUBSTANCE: return "Substance"; 1575 case SUBSTANCEPOLYMER: return "SubstancePolymer"; 1576 case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; 1577 case SUBSTANCESPECIFICATION: return "SubstanceSpecification"; 1578 case SUPPLYDELIVERY: return "SupplyDelivery"; 1579 case SUPPLYREQUEST: return "SupplyRequest"; 1580 case TASK: return "Task"; 1581 case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; 1582 case TESTREPORT: return "TestReport"; 1583 case TESTSCRIPT: return "TestScript"; 1584 case USERSESSION: return "UserSession"; 1585 case VALUESET: return "ValueSet"; 1586 case VERIFICATIONRESULT: return "VerificationResult"; 1587 case VISIONPRESCRIPTION: return "VisionPrescription"; 1588 default: return "?"; 1589 } 1590 } 1591 } 1592 1593 public static class FHIRResourceTypeEnumFactory implements EnumFactory<FHIRResourceType> { 1594 public FHIRResourceType fromCode(String codeString) throws IllegalArgumentException { 1595 if (codeString == null || "".equals(codeString)) 1596 if (codeString == null || "".equals(codeString)) 1597 return null; 1598 if ("Account".equals(codeString)) 1599 return FHIRResourceType.ACCOUNT; 1600 if ("ActivityDefinition".equals(codeString)) 1601 return FHIRResourceType.ACTIVITYDEFINITION; 1602 if ("AdverseEvent".equals(codeString)) 1603 return FHIRResourceType.ADVERSEEVENT; 1604 if ("AllergyIntolerance".equals(codeString)) 1605 return FHIRResourceType.ALLERGYINTOLERANCE; 1606 if ("Appointment".equals(codeString)) 1607 return FHIRResourceType.APPOINTMENT; 1608 if ("AppointmentResponse".equals(codeString)) 1609 return FHIRResourceType.APPOINTMENTRESPONSE; 1610 if ("AuditEvent".equals(codeString)) 1611 return FHIRResourceType.AUDITEVENT; 1612 if ("Basic".equals(codeString)) 1613 return FHIRResourceType.BASIC; 1614 if ("Binary".equals(codeString)) 1615 return FHIRResourceType.BINARY; 1616 if ("BiologicallyDerivedProduct".equals(codeString)) 1617 return FHIRResourceType.BIOLOGICALLYDERIVEDPRODUCT; 1618 if ("BodyStructure".equals(codeString)) 1619 return FHIRResourceType.BODYSTRUCTURE; 1620 if ("Bundle".equals(codeString)) 1621 return FHIRResourceType.BUNDLE; 1622 if ("CapabilityStatement".equals(codeString)) 1623 return FHIRResourceType.CAPABILITYSTATEMENT; 1624 if ("CarePlan".equals(codeString)) 1625 return FHIRResourceType.CAREPLAN; 1626 if ("CareTeam".equals(codeString)) 1627 return FHIRResourceType.CARETEAM; 1628 if ("ChargeItem".equals(codeString)) 1629 return FHIRResourceType.CHARGEITEM; 1630 if ("Claim".equals(codeString)) 1631 return FHIRResourceType.CLAIM; 1632 if ("ClaimResponse".equals(codeString)) 1633 return FHIRResourceType.CLAIMRESPONSE; 1634 if ("ClinicalImpression".equals(codeString)) 1635 return FHIRResourceType.CLINICALIMPRESSION; 1636 if ("CodeSystem".equals(codeString)) 1637 return FHIRResourceType.CODESYSTEM; 1638 if ("Communication".equals(codeString)) 1639 return FHIRResourceType.COMMUNICATION; 1640 if ("CommunicationRequest".equals(codeString)) 1641 return FHIRResourceType.COMMUNICATIONREQUEST; 1642 if ("CompartmentDefinition".equals(codeString)) 1643 return FHIRResourceType.COMPARTMENTDEFINITION; 1644 if ("Composition".equals(codeString)) 1645 return FHIRResourceType.COMPOSITION; 1646 if ("ConceptMap".equals(codeString)) 1647 return FHIRResourceType.CONCEPTMAP; 1648 if ("Condition".equals(codeString)) 1649 return FHIRResourceType.CONDITION; 1650 if ("Consent".equals(codeString)) 1651 return FHIRResourceType.CONSENT; 1652 if ("Contract".equals(codeString)) 1653 return FHIRResourceType.CONTRACT; 1654 if ("Coverage".equals(codeString)) 1655 return FHIRResourceType.COVERAGE; 1656 if ("DetectedIssue".equals(codeString)) 1657 return FHIRResourceType.DETECTEDISSUE; 1658 if ("Device".equals(codeString)) 1659 return FHIRResourceType.DEVICE; 1660 if ("DeviceComponent".equals(codeString)) 1661 return FHIRResourceType.DEVICECOMPONENT; 1662 if ("DeviceMetric".equals(codeString)) 1663 return FHIRResourceType.DEVICEMETRIC; 1664 if ("DeviceRequest".equals(codeString)) 1665 return FHIRResourceType.DEVICEREQUEST; 1666 if ("DeviceUseStatement".equals(codeString)) 1667 return FHIRResourceType.DEVICEUSESTATEMENT; 1668 if ("DiagnosticReport".equals(codeString)) 1669 return FHIRResourceType.DIAGNOSTICREPORT; 1670 if ("DocumentManifest".equals(codeString)) 1671 return FHIRResourceType.DOCUMENTMANIFEST; 1672 if ("DocumentReference".equals(codeString)) 1673 return FHIRResourceType.DOCUMENTREFERENCE; 1674 if ("DomainResource".equals(codeString)) 1675 return FHIRResourceType.DOMAINRESOURCE; 1676 if ("EligibilityRequest".equals(codeString)) 1677 return FHIRResourceType.ELIGIBILITYREQUEST; 1678 if ("EligibilityResponse".equals(codeString)) 1679 return FHIRResourceType.ELIGIBILITYRESPONSE; 1680 if ("Encounter".equals(codeString)) 1681 return FHIRResourceType.ENCOUNTER; 1682 if ("Endpoint".equals(codeString)) 1683 return FHIRResourceType.ENDPOINT; 1684 if ("EnrollmentRequest".equals(codeString)) 1685 return FHIRResourceType.ENROLLMENTREQUEST; 1686 if ("EnrollmentResponse".equals(codeString)) 1687 return FHIRResourceType.ENROLLMENTRESPONSE; 1688 if ("EntryDefinition".equals(codeString)) 1689 return FHIRResourceType.ENTRYDEFINITION; 1690 if ("EpisodeOfCare".equals(codeString)) 1691 return FHIRResourceType.EPISODEOFCARE; 1692 if ("EventDefinition".equals(codeString)) 1693 return FHIRResourceType.EVENTDEFINITION; 1694 if ("ExampleScenario".equals(codeString)) 1695 return FHIRResourceType.EXAMPLESCENARIO; 1696 if ("ExpansionProfile".equals(codeString)) 1697 return FHIRResourceType.EXPANSIONPROFILE; 1698 if ("ExplanationOfBenefit".equals(codeString)) 1699 return FHIRResourceType.EXPLANATIONOFBENEFIT; 1700 if ("FamilyMemberHistory".equals(codeString)) 1701 return FHIRResourceType.FAMILYMEMBERHISTORY; 1702 if ("Flag".equals(codeString)) 1703 return FHIRResourceType.FLAG; 1704 if ("Goal".equals(codeString)) 1705 return FHIRResourceType.GOAL; 1706 if ("GraphDefinition".equals(codeString)) 1707 return FHIRResourceType.GRAPHDEFINITION; 1708 if ("Group".equals(codeString)) 1709 return FHIRResourceType.GROUP; 1710 if ("GuidanceResponse".equals(codeString)) 1711 return FHIRResourceType.GUIDANCERESPONSE; 1712 if ("HealthcareService".equals(codeString)) 1713 return FHIRResourceType.HEALTHCARESERVICE; 1714 if ("ImagingStudy".equals(codeString)) 1715 return FHIRResourceType.IMAGINGSTUDY; 1716 if ("Immunization".equals(codeString)) 1717 return FHIRResourceType.IMMUNIZATION; 1718 if ("ImmunizationEvaluation".equals(codeString)) 1719 return FHIRResourceType.IMMUNIZATIONEVALUATION; 1720 if ("ImmunizationRecommendation".equals(codeString)) 1721 return FHIRResourceType.IMMUNIZATIONRECOMMENDATION; 1722 if ("ImplementationGuide".equals(codeString)) 1723 return FHIRResourceType.IMPLEMENTATIONGUIDE; 1724 if ("Invoice".equals(codeString)) 1725 return FHIRResourceType.INVOICE; 1726 if ("ItemInstance".equals(codeString)) 1727 return FHIRResourceType.ITEMINSTANCE; 1728 if ("Library".equals(codeString)) 1729 return FHIRResourceType.LIBRARY; 1730 if ("Linkage".equals(codeString)) 1731 return FHIRResourceType.LINKAGE; 1732 if ("List".equals(codeString)) 1733 return FHIRResourceType.LIST; 1734 if ("Location".equals(codeString)) 1735 return FHIRResourceType.LOCATION; 1736 if ("Measure".equals(codeString)) 1737 return FHIRResourceType.MEASURE; 1738 if ("MeasureReport".equals(codeString)) 1739 return FHIRResourceType.MEASUREREPORT; 1740 if ("Media".equals(codeString)) 1741 return FHIRResourceType.MEDIA; 1742 if ("Medication".equals(codeString)) 1743 return FHIRResourceType.MEDICATION; 1744 if ("MedicationAdministration".equals(codeString)) 1745 return FHIRResourceType.MEDICATIONADMINISTRATION; 1746 if ("MedicationDispense".equals(codeString)) 1747 return FHIRResourceType.MEDICATIONDISPENSE; 1748 if ("MedicationKnowledge".equals(codeString)) 1749 return FHIRResourceType.MEDICATIONKNOWLEDGE; 1750 if ("MedicationRequest".equals(codeString)) 1751 return FHIRResourceType.MEDICATIONREQUEST; 1752 if ("MedicationStatement".equals(codeString)) 1753 return FHIRResourceType.MEDICATIONSTATEMENT; 1754 if ("MedicinalProduct".equals(codeString)) 1755 return FHIRResourceType.MEDICINALPRODUCT; 1756 if ("MedicinalProductAuthorization".equals(codeString)) 1757 return FHIRResourceType.MEDICINALPRODUCTAUTHORIZATION; 1758 if ("MedicinalProductClinicals".equals(codeString)) 1759 return FHIRResourceType.MEDICINALPRODUCTCLINICALS; 1760 if ("MedicinalProductDeviceSpec".equals(codeString)) 1761 return FHIRResourceType.MEDICINALPRODUCTDEVICESPEC; 1762 if ("MedicinalProductIngredient".equals(codeString)) 1763 return FHIRResourceType.MEDICINALPRODUCTINGREDIENT; 1764 if ("MedicinalProductPackaged".equals(codeString)) 1765 return FHIRResourceType.MEDICINALPRODUCTPACKAGED; 1766 if ("MedicinalProductPharmaceutical".equals(codeString)) 1767 return FHIRResourceType.MEDICINALPRODUCTPHARMACEUTICAL; 1768 if ("MessageDefinition".equals(codeString)) 1769 return FHIRResourceType.MESSAGEDEFINITION; 1770 if ("MessageHeader".equals(codeString)) 1771 return FHIRResourceType.MESSAGEHEADER; 1772 if ("NamingSystem".equals(codeString)) 1773 return FHIRResourceType.NAMINGSYSTEM; 1774 if ("NutritionOrder".equals(codeString)) 1775 return FHIRResourceType.NUTRITIONORDER; 1776 if ("Observation".equals(codeString)) 1777 return FHIRResourceType.OBSERVATION; 1778 if ("ObservationDefinition".equals(codeString)) 1779 return FHIRResourceType.OBSERVATIONDEFINITION; 1780 if ("OccupationalData".equals(codeString)) 1781 return FHIRResourceType.OCCUPATIONALDATA; 1782 if ("OperationDefinition".equals(codeString)) 1783 return FHIRResourceType.OPERATIONDEFINITION; 1784 if ("OperationOutcome".equals(codeString)) 1785 return FHIRResourceType.OPERATIONOUTCOME; 1786 if ("Organization".equals(codeString)) 1787 return FHIRResourceType.ORGANIZATION; 1788 if ("OrganizationRole".equals(codeString)) 1789 return FHIRResourceType.ORGANIZATIONROLE; 1790 if ("Parameters".equals(codeString)) 1791 return FHIRResourceType.PARAMETERS; 1792 if ("Patient".equals(codeString)) 1793 return FHIRResourceType.PATIENT; 1794 if ("PaymentNotice".equals(codeString)) 1795 return FHIRResourceType.PAYMENTNOTICE; 1796 if ("PaymentReconciliation".equals(codeString)) 1797 return FHIRResourceType.PAYMENTRECONCILIATION; 1798 if ("Person".equals(codeString)) 1799 return FHIRResourceType.PERSON; 1800 if ("PlanDefinition".equals(codeString)) 1801 return FHIRResourceType.PLANDEFINITION; 1802 if ("Practitioner".equals(codeString)) 1803 return FHIRResourceType.PRACTITIONER; 1804 if ("PractitionerRole".equals(codeString)) 1805 return FHIRResourceType.PRACTITIONERROLE; 1806 if ("Procedure".equals(codeString)) 1807 return FHIRResourceType.PROCEDURE; 1808 if ("ProcessRequest".equals(codeString)) 1809 return FHIRResourceType.PROCESSREQUEST; 1810 if ("ProcessResponse".equals(codeString)) 1811 return FHIRResourceType.PROCESSRESPONSE; 1812 if ("ProductPlan".equals(codeString)) 1813 return FHIRResourceType.PRODUCTPLAN; 1814 if ("Provenance".equals(codeString)) 1815 return FHIRResourceType.PROVENANCE; 1816 if ("Questionnaire".equals(codeString)) 1817 return FHIRResourceType.QUESTIONNAIRE; 1818 if ("QuestionnaireResponse".equals(codeString)) 1819 return FHIRResourceType.QUESTIONNAIRERESPONSE; 1820 if ("RelatedPerson".equals(codeString)) 1821 return FHIRResourceType.RELATEDPERSON; 1822 if ("RequestGroup".equals(codeString)) 1823 return FHIRResourceType.REQUESTGROUP; 1824 if ("ResearchStudy".equals(codeString)) 1825 return FHIRResourceType.RESEARCHSTUDY; 1826 if ("ResearchSubject".equals(codeString)) 1827 return FHIRResourceType.RESEARCHSUBJECT; 1828 if ("Resource".equals(codeString)) 1829 return FHIRResourceType.RESOURCE; 1830 if ("RiskAssessment".equals(codeString)) 1831 return FHIRResourceType.RISKASSESSMENT; 1832 if ("Schedule".equals(codeString)) 1833 return FHIRResourceType.SCHEDULE; 1834 if ("SearchParameter".equals(codeString)) 1835 return FHIRResourceType.SEARCHPARAMETER; 1836 if ("Sequence".equals(codeString)) 1837 return FHIRResourceType.SEQUENCE; 1838 if ("ServiceRequest".equals(codeString)) 1839 return FHIRResourceType.SERVICEREQUEST; 1840 if ("Slot".equals(codeString)) 1841 return FHIRResourceType.SLOT; 1842 if ("Specimen".equals(codeString)) 1843 return FHIRResourceType.SPECIMEN; 1844 if ("SpecimenDefinition".equals(codeString)) 1845 return FHIRResourceType.SPECIMENDEFINITION; 1846 if ("StructureDefinition".equals(codeString)) 1847 return FHIRResourceType.STRUCTUREDEFINITION; 1848 if ("StructureMap".equals(codeString)) 1849 return FHIRResourceType.STRUCTUREMAP; 1850 if ("Subscription".equals(codeString)) 1851 return FHIRResourceType.SUBSCRIPTION; 1852 if ("Substance".equals(codeString)) 1853 return FHIRResourceType.SUBSTANCE; 1854 if ("SubstancePolymer".equals(codeString)) 1855 return FHIRResourceType.SUBSTANCEPOLYMER; 1856 if ("SubstanceReferenceInformation".equals(codeString)) 1857 return FHIRResourceType.SUBSTANCEREFERENCEINFORMATION; 1858 if ("SubstanceSpecification".equals(codeString)) 1859 return FHIRResourceType.SUBSTANCESPECIFICATION; 1860 if ("SupplyDelivery".equals(codeString)) 1861 return FHIRResourceType.SUPPLYDELIVERY; 1862 if ("SupplyRequest".equals(codeString)) 1863 return FHIRResourceType.SUPPLYREQUEST; 1864 if ("Task".equals(codeString)) 1865 return FHIRResourceType.TASK; 1866 if ("TerminologyCapabilities".equals(codeString)) 1867 return FHIRResourceType.TERMINOLOGYCAPABILITIES; 1868 if ("TestReport".equals(codeString)) 1869 return FHIRResourceType.TESTREPORT; 1870 if ("TestScript".equals(codeString)) 1871 return FHIRResourceType.TESTSCRIPT; 1872 if ("UserSession".equals(codeString)) 1873 return FHIRResourceType.USERSESSION; 1874 if ("ValueSet".equals(codeString)) 1875 return FHIRResourceType.VALUESET; 1876 if ("VerificationResult".equals(codeString)) 1877 return FHIRResourceType.VERIFICATIONRESULT; 1878 if ("VisionPrescription".equals(codeString)) 1879 return FHIRResourceType.VISIONPRESCRIPTION; 1880 throw new IllegalArgumentException("Unknown FHIRResourceType code '"+codeString+"'"); 1881 } 1882 public Enumeration<FHIRResourceType> fromType(Base code) throws FHIRException { 1883 if (code == null) 1884 return null; 1885 if (code.isEmpty()) 1886 return new Enumeration<FHIRResourceType>(this); 1887 String codeString = ((PrimitiveType) code).asStringValue(); 1888 if (codeString == null || "".equals(codeString)) 1889 return null; 1890 if ("Account".equals(codeString)) 1891 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ACCOUNT); 1892 if ("ActivityDefinition".equals(codeString)) 1893 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ACTIVITYDEFINITION); 1894 if ("AdverseEvent".equals(codeString)) 1895 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ADVERSEEVENT); 1896 if ("AllergyIntolerance".equals(codeString)) 1897 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ALLERGYINTOLERANCE); 1898 if ("Appointment".equals(codeString)) 1899 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.APPOINTMENT); 1900 if ("AppointmentResponse".equals(codeString)) 1901 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.APPOINTMENTRESPONSE); 1902 if ("AuditEvent".equals(codeString)) 1903 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.AUDITEVENT); 1904 if ("Basic".equals(codeString)) 1905 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.BASIC); 1906 if ("Binary".equals(codeString)) 1907 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.BINARY); 1908 if ("BiologicallyDerivedProduct".equals(codeString)) 1909 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.BIOLOGICALLYDERIVEDPRODUCT); 1910 if ("BodyStructure".equals(codeString)) 1911 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.BODYSTRUCTURE); 1912 if ("Bundle".equals(codeString)) 1913 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.BUNDLE); 1914 if ("CapabilityStatement".equals(codeString)) 1915 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CAPABILITYSTATEMENT); 1916 if ("CarePlan".equals(codeString)) 1917 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CAREPLAN); 1918 if ("CareTeam".equals(codeString)) 1919 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CARETEAM); 1920 if ("ChargeItem".equals(codeString)) 1921 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CHARGEITEM); 1922 if ("Claim".equals(codeString)) 1923 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CLAIM); 1924 if ("ClaimResponse".equals(codeString)) 1925 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CLAIMRESPONSE); 1926 if ("ClinicalImpression".equals(codeString)) 1927 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CLINICALIMPRESSION); 1928 if ("CodeSystem".equals(codeString)) 1929 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CODESYSTEM); 1930 if ("Communication".equals(codeString)) 1931 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.COMMUNICATION); 1932 if ("CommunicationRequest".equals(codeString)) 1933 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.COMMUNICATIONREQUEST); 1934 if ("CompartmentDefinition".equals(codeString)) 1935 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.COMPARTMENTDEFINITION); 1936 if ("Composition".equals(codeString)) 1937 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.COMPOSITION); 1938 if ("ConceptMap".equals(codeString)) 1939 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CONCEPTMAP); 1940 if ("Condition".equals(codeString)) 1941 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CONDITION); 1942 if ("Consent".equals(codeString)) 1943 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CONSENT); 1944 if ("Contract".equals(codeString)) 1945 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.CONTRACT); 1946 if ("Coverage".equals(codeString)) 1947 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.COVERAGE); 1948 if ("DetectedIssue".equals(codeString)) 1949 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DETECTEDISSUE); 1950 if ("Device".equals(codeString)) 1951 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DEVICE); 1952 if ("DeviceComponent".equals(codeString)) 1953 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DEVICECOMPONENT); 1954 if ("DeviceMetric".equals(codeString)) 1955 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DEVICEMETRIC); 1956 if ("DeviceRequest".equals(codeString)) 1957 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DEVICEREQUEST); 1958 if ("DeviceUseStatement".equals(codeString)) 1959 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DEVICEUSESTATEMENT); 1960 if ("DiagnosticReport".equals(codeString)) 1961 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DIAGNOSTICREPORT); 1962 if ("DocumentManifest".equals(codeString)) 1963 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DOCUMENTMANIFEST); 1964 if ("DocumentReference".equals(codeString)) 1965 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DOCUMENTREFERENCE); 1966 if ("DomainResource".equals(codeString)) 1967 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.DOMAINRESOURCE); 1968 if ("EligibilityRequest".equals(codeString)) 1969 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ELIGIBILITYREQUEST); 1970 if ("EligibilityResponse".equals(codeString)) 1971 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ELIGIBILITYRESPONSE); 1972 if ("Encounter".equals(codeString)) 1973 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ENCOUNTER); 1974 if ("Endpoint".equals(codeString)) 1975 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ENDPOINT); 1976 if ("EnrollmentRequest".equals(codeString)) 1977 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ENROLLMENTREQUEST); 1978 if ("EnrollmentResponse".equals(codeString)) 1979 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ENROLLMENTRESPONSE); 1980 if ("EntryDefinition".equals(codeString)) 1981 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ENTRYDEFINITION); 1982 if ("EpisodeOfCare".equals(codeString)) 1983 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.EPISODEOFCARE); 1984 if ("EventDefinition".equals(codeString)) 1985 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.EVENTDEFINITION); 1986 if ("ExampleScenario".equals(codeString)) 1987 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.EXAMPLESCENARIO); 1988 if ("ExpansionProfile".equals(codeString)) 1989 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.EXPANSIONPROFILE); 1990 if ("ExplanationOfBenefit".equals(codeString)) 1991 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.EXPLANATIONOFBENEFIT); 1992 if ("FamilyMemberHistory".equals(codeString)) 1993 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.FAMILYMEMBERHISTORY); 1994 if ("Flag".equals(codeString)) 1995 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.FLAG); 1996 if ("Goal".equals(codeString)) 1997 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.GOAL); 1998 if ("GraphDefinition".equals(codeString)) 1999 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.GRAPHDEFINITION); 2000 if ("Group".equals(codeString)) 2001 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.GROUP); 2002 if ("GuidanceResponse".equals(codeString)) 2003 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.GUIDANCERESPONSE); 2004 if ("HealthcareService".equals(codeString)) 2005 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.HEALTHCARESERVICE); 2006 if ("ImagingStudy".equals(codeString)) 2007 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.IMAGINGSTUDY); 2008 if ("Immunization".equals(codeString)) 2009 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.IMMUNIZATION); 2010 if ("ImmunizationEvaluation".equals(codeString)) 2011 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.IMMUNIZATIONEVALUATION); 2012 if ("ImmunizationRecommendation".equals(codeString)) 2013 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.IMMUNIZATIONRECOMMENDATION); 2014 if ("ImplementationGuide".equals(codeString)) 2015 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.IMPLEMENTATIONGUIDE); 2016 if ("Invoice".equals(codeString)) 2017 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.INVOICE); 2018 if ("ItemInstance".equals(codeString)) 2019 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ITEMINSTANCE); 2020 if ("Library".equals(codeString)) 2021 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.LIBRARY); 2022 if ("Linkage".equals(codeString)) 2023 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.LINKAGE); 2024 if ("List".equals(codeString)) 2025 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.LIST); 2026 if ("Location".equals(codeString)) 2027 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.LOCATION); 2028 if ("Measure".equals(codeString)) 2029 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEASURE); 2030 if ("MeasureReport".equals(codeString)) 2031 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEASUREREPORT); 2032 if ("Media".equals(codeString)) 2033 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDIA); 2034 if ("Medication".equals(codeString)) 2035 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICATION); 2036 if ("MedicationAdministration".equals(codeString)) 2037 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICATIONADMINISTRATION); 2038 if ("MedicationDispense".equals(codeString)) 2039 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICATIONDISPENSE); 2040 if ("MedicationKnowledge".equals(codeString)) 2041 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICATIONKNOWLEDGE); 2042 if ("MedicationRequest".equals(codeString)) 2043 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICATIONREQUEST); 2044 if ("MedicationStatement".equals(codeString)) 2045 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICATIONSTATEMENT); 2046 if ("MedicinalProduct".equals(codeString)) 2047 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICINALPRODUCT); 2048 if ("MedicinalProductAuthorization".equals(codeString)) 2049 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICINALPRODUCTAUTHORIZATION); 2050 if ("MedicinalProductClinicals".equals(codeString)) 2051 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICINALPRODUCTCLINICALS); 2052 if ("MedicinalProductDeviceSpec".equals(codeString)) 2053 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICINALPRODUCTDEVICESPEC); 2054 if ("MedicinalProductIngredient".equals(codeString)) 2055 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICINALPRODUCTINGREDIENT); 2056 if ("MedicinalProductPackaged".equals(codeString)) 2057 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICINALPRODUCTPACKAGED); 2058 if ("MedicinalProductPharmaceutical".equals(codeString)) 2059 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MEDICINALPRODUCTPHARMACEUTICAL); 2060 if ("MessageDefinition".equals(codeString)) 2061 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MESSAGEDEFINITION); 2062 if ("MessageHeader".equals(codeString)) 2063 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.MESSAGEHEADER); 2064 if ("NamingSystem".equals(codeString)) 2065 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.NAMINGSYSTEM); 2066 if ("NutritionOrder".equals(codeString)) 2067 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.NUTRITIONORDER); 2068 if ("Observation".equals(codeString)) 2069 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.OBSERVATION); 2070 if ("ObservationDefinition".equals(codeString)) 2071 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.OBSERVATIONDEFINITION); 2072 if ("OccupationalData".equals(codeString)) 2073 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.OCCUPATIONALDATA); 2074 if ("OperationDefinition".equals(codeString)) 2075 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.OPERATIONDEFINITION); 2076 if ("OperationOutcome".equals(codeString)) 2077 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.OPERATIONOUTCOME); 2078 if ("Organization".equals(codeString)) 2079 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ORGANIZATION); 2080 if ("OrganizationRole".equals(codeString)) 2081 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.ORGANIZATIONROLE); 2082 if ("Parameters".equals(codeString)) 2083 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PARAMETERS); 2084 if ("Patient".equals(codeString)) 2085 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PATIENT); 2086 if ("PaymentNotice".equals(codeString)) 2087 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PAYMENTNOTICE); 2088 if ("PaymentReconciliation".equals(codeString)) 2089 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PAYMENTRECONCILIATION); 2090 if ("Person".equals(codeString)) 2091 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PERSON); 2092 if ("PlanDefinition".equals(codeString)) 2093 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PLANDEFINITION); 2094 if ("Practitioner".equals(codeString)) 2095 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PRACTITIONER); 2096 if ("PractitionerRole".equals(codeString)) 2097 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PRACTITIONERROLE); 2098 if ("Procedure".equals(codeString)) 2099 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PROCEDURE); 2100 if ("ProcessRequest".equals(codeString)) 2101 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PROCESSREQUEST); 2102 if ("ProcessResponse".equals(codeString)) 2103 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PROCESSRESPONSE); 2104 if ("ProductPlan".equals(codeString)) 2105 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PRODUCTPLAN); 2106 if ("Provenance".equals(codeString)) 2107 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.PROVENANCE); 2108 if ("Questionnaire".equals(codeString)) 2109 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.QUESTIONNAIRE); 2110 if ("QuestionnaireResponse".equals(codeString)) 2111 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.QUESTIONNAIRERESPONSE); 2112 if ("RelatedPerson".equals(codeString)) 2113 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.RELATEDPERSON); 2114 if ("RequestGroup".equals(codeString)) 2115 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.REQUESTGROUP); 2116 if ("ResearchStudy".equals(codeString)) 2117 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.RESEARCHSTUDY); 2118 if ("ResearchSubject".equals(codeString)) 2119 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.RESEARCHSUBJECT); 2120 if ("Resource".equals(codeString)) 2121 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.RESOURCE); 2122 if ("RiskAssessment".equals(codeString)) 2123 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.RISKASSESSMENT); 2124 if ("Schedule".equals(codeString)) 2125 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SCHEDULE); 2126 if ("SearchParameter".equals(codeString)) 2127 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SEARCHPARAMETER); 2128 if ("Sequence".equals(codeString)) 2129 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SEQUENCE); 2130 if ("ServiceRequest".equals(codeString)) 2131 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SERVICEREQUEST); 2132 if ("Slot".equals(codeString)) 2133 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SLOT); 2134 if ("Specimen".equals(codeString)) 2135 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SPECIMEN); 2136 if ("SpecimenDefinition".equals(codeString)) 2137 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SPECIMENDEFINITION); 2138 if ("StructureDefinition".equals(codeString)) 2139 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.STRUCTUREDEFINITION); 2140 if ("StructureMap".equals(codeString)) 2141 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.STRUCTUREMAP); 2142 if ("Subscription".equals(codeString)) 2143 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SUBSCRIPTION); 2144 if ("Substance".equals(codeString)) 2145 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SUBSTANCE); 2146 if ("SubstancePolymer".equals(codeString)) 2147 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SUBSTANCEPOLYMER); 2148 if ("SubstanceReferenceInformation".equals(codeString)) 2149 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SUBSTANCEREFERENCEINFORMATION); 2150 if ("SubstanceSpecification".equals(codeString)) 2151 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SUBSTANCESPECIFICATION); 2152 if ("SupplyDelivery".equals(codeString)) 2153 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SUPPLYDELIVERY); 2154 if ("SupplyRequest".equals(codeString)) 2155 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.SUPPLYREQUEST); 2156 if ("Task".equals(codeString)) 2157 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.TASK); 2158 if ("TerminologyCapabilities".equals(codeString)) 2159 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.TERMINOLOGYCAPABILITIES); 2160 if ("TestReport".equals(codeString)) 2161 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.TESTREPORT); 2162 if ("TestScript".equals(codeString)) 2163 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.TESTSCRIPT); 2164 if ("UserSession".equals(codeString)) 2165 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.USERSESSION); 2166 if ("ValueSet".equals(codeString)) 2167 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.VALUESET); 2168 if ("VerificationResult".equals(codeString)) 2169 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.VERIFICATIONRESULT); 2170 if ("VisionPrescription".equals(codeString)) 2171 return new Enumeration<FHIRResourceType>(this, FHIRResourceType.VISIONPRESCRIPTION); 2172 throw new FHIRException("Unknown FHIRResourceType code '"+codeString+"'"); 2173 } 2174 public String toCode(FHIRResourceType code) { 2175 if (code == FHIRResourceType.ACCOUNT) 2176 return "Account"; 2177 if (code == FHIRResourceType.ACTIVITYDEFINITION) 2178 return "ActivityDefinition"; 2179 if (code == FHIRResourceType.ADVERSEEVENT) 2180 return "AdverseEvent"; 2181 if (code == FHIRResourceType.ALLERGYINTOLERANCE) 2182 return "AllergyIntolerance"; 2183 if (code == FHIRResourceType.APPOINTMENT) 2184 return "Appointment"; 2185 if (code == FHIRResourceType.APPOINTMENTRESPONSE) 2186 return "AppointmentResponse"; 2187 if (code == FHIRResourceType.AUDITEVENT) 2188 return "AuditEvent"; 2189 if (code == FHIRResourceType.BASIC) 2190 return "Basic"; 2191 if (code == FHIRResourceType.BINARY) 2192 return "Binary"; 2193 if (code == FHIRResourceType.BIOLOGICALLYDERIVEDPRODUCT) 2194 return "BiologicallyDerivedProduct"; 2195 if (code == FHIRResourceType.BODYSTRUCTURE) 2196 return "BodyStructure"; 2197 if (code == FHIRResourceType.BUNDLE) 2198 return "Bundle"; 2199 if (code == FHIRResourceType.CAPABILITYSTATEMENT) 2200 return "CapabilityStatement"; 2201 if (code == FHIRResourceType.CAREPLAN) 2202 return "CarePlan"; 2203 if (code == FHIRResourceType.CARETEAM) 2204 return "CareTeam"; 2205 if (code == FHIRResourceType.CHARGEITEM) 2206 return "ChargeItem"; 2207 if (code == FHIRResourceType.CLAIM) 2208 return "Claim"; 2209 if (code == FHIRResourceType.CLAIMRESPONSE) 2210 return "ClaimResponse"; 2211 if (code == FHIRResourceType.CLINICALIMPRESSION) 2212 return "ClinicalImpression"; 2213 if (code == FHIRResourceType.CODESYSTEM) 2214 return "CodeSystem"; 2215 if (code == FHIRResourceType.COMMUNICATION) 2216 return "Communication"; 2217 if (code == FHIRResourceType.COMMUNICATIONREQUEST) 2218 return "CommunicationRequest"; 2219 if (code == FHIRResourceType.COMPARTMENTDEFINITION) 2220 return "CompartmentDefinition"; 2221 if (code == FHIRResourceType.COMPOSITION) 2222 return "Composition"; 2223 if (code == FHIRResourceType.CONCEPTMAP) 2224 return "ConceptMap"; 2225 if (code == FHIRResourceType.CONDITION) 2226 return "Condition"; 2227 if (code == FHIRResourceType.CONSENT) 2228 return "Consent"; 2229 if (code == FHIRResourceType.CONTRACT) 2230 return "Contract"; 2231 if (code == FHIRResourceType.COVERAGE) 2232 return "Coverage"; 2233 if (code == FHIRResourceType.DETECTEDISSUE) 2234 return "DetectedIssue"; 2235 if (code == FHIRResourceType.DEVICE) 2236 return "Device"; 2237 if (code == FHIRResourceType.DEVICECOMPONENT) 2238 return "DeviceComponent"; 2239 if (code == FHIRResourceType.DEVICEMETRIC) 2240 return "DeviceMetric"; 2241 if (code == FHIRResourceType.DEVICEREQUEST) 2242 return "DeviceRequest"; 2243 if (code == FHIRResourceType.DEVICEUSESTATEMENT) 2244 return "DeviceUseStatement"; 2245 if (code == FHIRResourceType.DIAGNOSTICREPORT) 2246 return "DiagnosticReport"; 2247 if (code == FHIRResourceType.DOCUMENTMANIFEST) 2248 return "DocumentManifest"; 2249 if (code == FHIRResourceType.DOCUMENTREFERENCE) 2250 return "DocumentReference"; 2251 if (code == FHIRResourceType.DOMAINRESOURCE) 2252 return "DomainResource"; 2253 if (code == FHIRResourceType.ELIGIBILITYREQUEST) 2254 return "EligibilityRequest"; 2255 if (code == FHIRResourceType.ELIGIBILITYRESPONSE) 2256 return "EligibilityResponse"; 2257 if (code == FHIRResourceType.ENCOUNTER) 2258 return "Encounter"; 2259 if (code == FHIRResourceType.ENDPOINT) 2260 return "Endpoint"; 2261 if (code == FHIRResourceType.ENROLLMENTREQUEST) 2262 return "EnrollmentRequest"; 2263 if (code == FHIRResourceType.ENROLLMENTRESPONSE) 2264 return "EnrollmentResponse"; 2265 if (code == FHIRResourceType.ENTRYDEFINITION) 2266 return "EntryDefinition"; 2267 if (code == FHIRResourceType.EPISODEOFCARE) 2268 return "EpisodeOfCare"; 2269 if (code == FHIRResourceType.EVENTDEFINITION) 2270 return "EventDefinition"; 2271 if (code == FHIRResourceType.EXAMPLESCENARIO) 2272 return "ExampleScenario"; 2273 if (code == FHIRResourceType.EXPANSIONPROFILE) 2274 return "ExpansionProfile"; 2275 if (code == FHIRResourceType.EXPLANATIONOFBENEFIT) 2276 return "ExplanationOfBenefit"; 2277 if (code == FHIRResourceType.FAMILYMEMBERHISTORY) 2278 return "FamilyMemberHistory"; 2279 if (code == FHIRResourceType.FLAG) 2280 return "Flag"; 2281 if (code == FHIRResourceType.GOAL) 2282 return "Goal"; 2283 if (code == FHIRResourceType.GRAPHDEFINITION) 2284 return "GraphDefinition"; 2285 if (code == FHIRResourceType.GROUP) 2286 return "Group"; 2287 if (code == FHIRResourceType.GUIDANCERESPONSE) 2288 return "GuidanceResponse"; 2289 if (code == FHIRResourceType.HEALTHCARESERVICE) 2290 return "HealthcareService"; 2291 if (code == FHIRResourceType.IMAGINGSTUDY) 2292 return "ImagingStudy"; 2293 if (code == FHIRResourceType.IMMUNIZATION) 2294 return "Immunization"; 2295 if (code == FHIRResourceType.IMMUNIZATIONEVALUATION) 2296 return "ImmunizationEvaluation"; 2297 if (code == FHIRResourceType.IMMUNIZATIONRECOMMENDATION) 2298 return "ImmunizationRecommendation"; 2299 if (code == FHIRResourceType.IMPLEMENTATIONGUIDE) 2300 return "ImplementationGuide"; 2301 if (code == FHIRResourceType.INVOICE) 2302 return "Invoice"; 2303 if (code == FHIRResourceType.ITEMINSTANCE) 2304 return "ItemInstance"; 2305 if (code == FHIRResourceType.LIBRARY) 2306 return "Library"; 2307 if (code == FHIRResourceType.LINKAGE) 2308 return "Linkage"; 2309 if (code == FHIRResourceType.LIST) 2310 return "List"; 2311 if (code == FHIRResourceType.LOCATION) 2312 return "Location"; 2313 if (code == FHIRResourceType.MEASURE) 2314 return "Measure"; 2315 if (code == FHIRResourceType.MEASUREREPORT) 2316 return "MeasureReport"; 2317 if (code == FHIRResourceType.MEDIA) 2318 return "Media"; 2319 if (code == FHIRResourceType.MEDICATION) 2320 return "Medication"; 2321 if (code == FHIRResourceType.MEDICATIONADMINISTRATION) 2322 return "MedicationAdministration"; 2323 if (code == FHIRResourceType.MEDICATIONDISPENSE) 2324 return "MedicationDispense"; 2325 if (code == FHIRResourceType.MEDICATIONKNOWLEDGE) 2326 return "MedicationKnowledge"; 2327 if (code == FHIRResourceType.MEDICATIONREQUEST) 2328 return "MedicationRequest"; 2329 if (code == FHIRResourceType.MEDICATIONSTATEMENT) 2330 return "MedicationStatement"; 2331 if (code == FHIRResourceType.MEDICINALPRODUCT) 2332 return "MedicinalProduct"; 2333 if (code == FHIRResourceType.MEDICINALPRODUCTAUTHORIZATION) 2334 return "MedicinalProductAuthorization"; 2335 if (code == FHIRResourceType.MEDICINALPRODUCTCLINICALS) 2336 return "MedicinalProductClinicals"; 2337 if (code == FHIRResourceType.MEDICINALPRODUCTDEVICESPEC) 2338 return "MedicinalProductDeviceSpec"; 2339 if (code == FHIRResourceType.MEDICINALPRODUCTINGREDIENT) 2340 return "MedicinalProductIngredient"; 2341 if (code == FHIRResourceType.MEDICINALPRODUCTPACKAGED) 2342 return "MedicinalProductPackaged"; 2343 if (code == FHIRResourceType.MEDICINALPRODUCTPHARMACEUTICAL) 2344 return "MedicinalProductPharmaceutical"; 2345 if (code == FHIRResourceType.MESSAGEDEFINITION) 2346 return "MessageDefinition"; 2347 if (code == FHIRResourceType.MESSAGEHEADER) 2348 return "MessageHeader"; 2349 if (code == FHIRResourceType.NAMINGSYSTEM) 2350 return "NamingSystem"; 2351 if (code == FHIRResourceType.NUTRITIONORDER) 2352 return "NutritionOrder"; 2353 if (code == FHIRResourceType.OBSERVATION) 2354 return "Observation"; 2355 if (code == FHIRResourceType.OBSERVATIONDEFINITION) 2356 return "ObservationDefinition"; 2357 if (code == FHIRResourceType.OCCUPATIONALDATA) 2358 return "OccupationalData"; 2359 if (code == FHIRResourceType.OPERATIONDEFINITION) 2360 return "OperationDefinition"; 2361 if (code == FHIRResourceType.OPERATIONOUTCOME) 2362 return "OperationOutcome"; 2363 if (code == FHIRResourceType.ORGANIZATION) 2364 return "Organization"; 2365 if (code == FHIRResourceType.ORGANIZATIONROLE) 2366 return "OrganizationRole"; 2367 if (code == FHIRResourceType.PARAMETERS) 2368 return "Parameters"; 2369 if (code == FHIRResourceType.PATIENT) 2370 return "Patient"; 2371 if (code == FHIRResourceType.PAYMENTNOTICE) 2372 return "PaymentNotice"; 2373 if (code == FHIRResourceType.PAYMENTRECONCILIATION) 2374 return "PaymentReconciliation"; 2375 if (code == FHIRResourceType.PERSON) 2376 return "Person"; 2377 if (code == FHIRResourceType.PLANDEFINITION) 2378 return "PlanDefinition"; 2379 if (code == FHIRResourceType.PRACTITIONER) 2380 return "Practitioner"; 2381 if (code == FHIRResourceType.PRACTITIONERROLE) 2382 return "PractitionerRole"; 2383 if (code == FHIRResourceType.PROCEDURE) 2384 return "Procedure"; 2385 if (code == FHIRResourceType.PROCESSREQUEST) 2386 return "ProcessRequest"; 2387 if (code == FHIRResourceType.PROCESSRESPONSE) 2388 return "ProcessResponse"; 2389 if (code == FHIRResourceType.PRODUCTPLAN) 2390 return "ProductPlan"; 2391 if (code == FHIRResourceType.PROVENANCE) 2392 return "Provenance"; 2393 if (code == FHIRResourceType.QUESTIONNAIRE) 2394 return "Questionnaire"; 2395 if (code == FHIRResourceType.QUESTIONNAIRERESPONSE) 2396 return "QuestionnaireResponse"; 2397 if (code == FHIRResourceType.RELATEDPERSON) 2398 return "RelatedPerson"; 2399 if (code == FHIRResourceType.REQUESTGROUP) 2400 return "RequestGroup"; 2401 if (code == FHIRResourceType.RESEARCHSTUDY) 2402 return "ResearchStudy"; 2403 if (code == FHIRResourceType.RESEARCHSUBJECT) 2404 return "ResearchSubject"; 2405 if (code == FHIRResourceType.RESOURCE) 2406 return "Resource"; 2407 if (code == FHIRResourceType.RISKASSESSMENT) 2408 return "RiskAssessment"; 2409 if (code == FHIRResourceType.SCHEDULE) 2410 return "Schedule"; 2411 if (code == FHIRResourceType.SEARCHPARAMETER) 2412 return "SearchParameter"; 2413 if (code == FHIRResourceType.SEQUENCE) 2414 return "Sequence"; 2415 if (code == FHIRResourceType.SERVICEREQUEST) 2416 return "ServiceRequest"; 2417 if (code == FHIRResourceType.SLOT) 2418 return "Slot"; 2419 if (code == FHIRResourceType.SPECIMEN) 2420 return "Specimen"; 2421 if (code == FHIRResourceType.SPECIMENDEFINITION) 2422 return "SpecimenDefinition"; 2423 if (code == FHIRResourceType.STRUCTUREDEFINITION) 2424 return "StructureDefinition"; 2425 if (code == FHIRResourceType.STRUCTUREMAP) 2426 return "StructureMap"; 2427 if (code == FHIRResourceType.SUBSCRIPTION) 2428 return "Subscription"; 2429 if (code == FHIRResourceType.SUBSTANCE) 2430 return "Substance"; 2431 if (code == FHIRResourceType.SUBSTANCEPOLYMER) 2432 return "SubstancePolymer"; 2433 if (code == FHIRResourceType.SUBSTANCEREFERENCEINFORMATION) 2434 return "SubstanceReferenceInformation"; 2435 if (code == FHIRResourceType.SUBSTANCESPECIFICATION) 2436 return "SubstanceSpecification"; 2437 if (code == FHIRResourceType.SUPPLYDELIVERY) 2438 return "SupplyDelivery"; 2439 if (code == FHIRResourceType.SUPPLYREQUEST) 2440 return "SupplyRequest"; 2441 if (code == FHIRResourceType.TASK) 2442 return "Task"; 2443 if (code == FHIRResourceType.TERMINOLOGYCAPABILITIES) 2444 return "TerminologyCapabilities"; 2445 if (code == FHIRResourceType.TESTREPORT) 2446 return "TestReport"; 2447 if (code == FHIRResourceType.TESTSCRIPT) 2448 return "TestScript"; 2449 if (code == FHIRResourceType.USERSESSION) 2450 return "UserSession"; 2451 if (code == FHIRResourceType.VALUESET) 2452 return "ValueSet"; 2453 if (code == FHIRResourceType.VERIFICATIONRESULT) 2454 return "VerificationResult"; 2455 if (code == FHIRResourceType.VISIONPRESCRIPTION) 2456 return "VisionPrescription"; 2457 return "?"; 2458 } 2459 public String toSystem(FHIRResourceType code) { 2460 return code.getSystem(); 2461 } 2462 } 2463 2464 @Block() 2465 public static class ExampleScenarioActorComponent extends BackboneElement implements IBaseBackboneElement { 2466 /** 2467 * ID or acronym of actor. 2468 */ 2469 @Child(name = "actorId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2470 @Description(shortDefinition="ID or acronym of the actor", formalDefinition="ID or acronym of actor." ) 2471 protected StringType actorId; 2472 2473 /** 2474 * The type of actor - person or system. 2475 */ 2476 @Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 2477 @Description(shortDefinition="person | entity", formalDefinition="The type of actor - person or system." ) 2478 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/examplescenario-actor-type") 2479 protected Enumeration<ExampleScenarioActorType> type; 2480 2481 /** 2482 * The name of the actor as shown in the page. 2483 */ 2484 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2485 @Description(shortDefinition="The name of the actor as shown in the page", formalDefinition="The name of the actor as shown in the page." ) 2486 protected StringType name; 2487 2488 /** 2489 * The description of the actor. 2490 */ 2491 @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) 2492 @Description(shortDefinition="The description of the actor", formalDefinition="The description of the actor." ) 2493 protected MarkdownType description; 2494 2495 private static final long serialVersionUID = 1348364162L; 2496 2497 /** 2498 * Constructor 2499 */ 2500 public ExampleScenarioActorComponent() { 2501 super(); 2502 } 2503 2504 /** 2505 * Constructor 2506 */ 2507 public ExampleScenarioActorComponent(StringType actorId, Enumeration<ExampleScenarioActorType> type) { 2508 super(); 2509 this.actorId = actorId; 2510 this.type = type; 2511 } 2512 2513 /** 2514 * @return {@link #actorId} (ID or acronym of actor.). This is the underlying object with id, value and extensions. The accessor "getActorId" gives direct access to the value 2515 */ 2516 public StringType getActorIdElement() { 2517 if (this.actorId == null) 2518 if (Configuration.errorOnAutoCreate()) 2519 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.actorId"); 2520 else if (Configuration.doAutoCreate()) 2521 this.actorId = new StringType(); // bb 2522 return this.actorId; 2523 } 2524 2525 public boolean hasActorIdElement() { 2526 return this.actorId != null && !this.actorId.isEmpty(); 2527 } 2528 2529 public boolean hasActorId() { 2530 return this.actorId != null && !this.actorId.isEmpty(); 2531 } 2532 2533 /** 2534 * @param value {@link #actorId} (ID or acronym of actor.). This is the underlying object with id, value and extensions. The accessor "getActorId" gives direct access to the value 2535 */ 2536 public ExampleScenarioActorComponent setActorIdElement(StringType value) { 2537 this.actorId = value; 2538 return this; 2539 } 2540 2541 /** 2542 * @return ID or acronym of actor. 2543 */ 2544 public String getActorId() { 2545 return this.actorId == null ? null : this.actorId.getValue(); 2546 } 2547 2548 /** 2549 * @param value ID or acronym of actor. 2550 */ 2551 public ExampleScenarioActorComponent setActorId(String value) { 2552 if (this.actorId == null) 2553 this.actorId = new StringType(); 2554 this.actorId.setValue(value); 2555 return this; 2556 } 2557 2558 /** 2559 * @return {@link #type} (The type of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 2560 */ 2561 public Enumeration<ExampleScenarioActorType> getTypeElement() { 2562 if (this.type == null) 2563 if (Configuration.errorOnAutoCreate()) 2564 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.type"); 2565 else if (Configuration.doAutoCreate()) 2566 this.type = new Enumeration<ExampleScenarioActorType>(new ExampleScenarioActorTypeEnumFactory()); // bb 2567 return this.type; 2568 } 2569 2570 public boolean hasTypeElement() { 2571 return this.type != null && !this.type.isEmpty(); 2572 } 2573 2574 public boolean hasType() { 2575 return this.type != null && !this.type.isEmpty(); 2576 } 2577 2578 /** 2579 * @param value {@link #type} (The type of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 2580 */ 2581 public ExampleScenarioActorComponent setTypeElement(Enumeration<ExampleScenarioActorType> value) { 2582 this.type = value; 2583 return this; 2584 } 2585 2586 /** 2587 * @return The type of actor - person or system. 2588 */ 2589 public ExampleScenarioActorType getType() { 2590 return this.type == null ? null : this.type.getValue(); 2591 } 2592 2593 /** 2594 * @param value The type of actor - person or system. 2595 */ 2596 public ExampleScenarioActorComponent setType(ExampleScenarioActorType value) { 2597 if (this.type == null) 2598 this.type = new Enumeration<ExampleScenarioActorType>(new ExampleScenarioActorTypeEnumFactory()); 2599 this.type.setValue(value); 2600 return this; 2601 } 2602 2603 /** 2604 * @return {@link #name} (The name of the actor as shown in the page.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2605 */ 2606 public StringType getNameElement() { 2607 if (this.name == null) 2608 if (Configuration.errorOnAutoCreate()) 2609 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.name"); 2610 else if (Configuration.doAutoCreate()) 2611 this.name = new StringType(); // bb 2612 return this.name; 2613 } 2614 2615 public boolean hasNameElement() { 2616 return this.name != null && !this.name.isEmpty(); 2617 } 2618 2619 public boolean hasName() { 2620 return this.name != null && !this.name.isEmpty(); 2621 } 2622 2623 /** 2624 * @param value {@link #name} (The name of the actor as shown in the page.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2625 */ 2626 public ExampleScenarioActorComponent setNameElement(StringType value) { 2627 this.name = value; 2628 return this; 2629 } 2630 2631 /** 2632 * @return The name of the actor as shown in the page. 2633 */ 2634 public String getName() { 2635 return this.name == null ? null : this.name.getValue(); 2636 } 2637 2638 /** 2639 * @param value The name of the actor as shown in the page. 2640 */ 2641 public ExampleScenarioActorComponent setName(String value) { 2642 if (Utilities.noString(value)) 2643 this.name = null; 2644 else { 2645 if (this.name == null) 2646 this.name = new StringType(); 2647 this.name.setValue(value); 2648 } 2649 return this; 2650 } 2651 2652 /** 2653 * @return {@link #description} (The description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2654 */ 2655 public MarkdownType getDescriptionElement() { 2656 if (this.description == null) 2657 if (Configuration.errorOnAutoCreate()) 2658 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.description"); 2659 else if (Configuration.doAutoCreate()) 2660 this.description = new MarkdownType(); // bb 2661 return this.description; 2662 } 2663 2664 public boolean hasDescriptionElement() { 2665 return this.description != null && !this.description.isEmpty(); 2666 } 2667 2668 public boolean hasDescription() { 2669 return this.description != null && !this.description.isEmpty(); 2670 } 2671 2672 /** 2673 * @param value {@link #description} (The description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2674 */ 2675 public ExampleScenarioActorComponent setDescriptionElement(MarkdownType value) { 2676 this.description = value; 2677 return this; 2678 } 2679 2680 /** 2681 * @return The description of the actor. 2682 */ 2683 public String getDescription() { 2684 return this.description == null ? null : this.description.getValue(); 2685 } 2686 2687 /** 2688 * @param value The description of the actor. 2689 */ 2690 public ExampleScenarioActorComponent setDescription(String value) { 2691 if (value == null) 2692 this.description = null; 2693 else { 2694 if (this.description == null) 2695 this.description = new MarkdownType(); 2696 this.description.setValue(value); 2697 } 2698 return this; 2699 } 2700 2701 protected void listChildren(List<Property> children) { 2702 super.listChildren(children); 2703 children.add(new Property("actorId", "string", "ID or acronym of actor.", 0, 1, actorId)); 2704 children.add(new Property("type", "code", "The type of actor - person or system.", 0, 1, type)); 2705 children.add(new Property("name", "string", "The name of the actor as shown in the page.", 0, 1, name)); 2706 children.add(new Property("description", "markdown", "The description of the actor.", 0, 1, description)); 2707 } 2708 2709 @Override 2710 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2711 switch (_hash) { 2712 case -1161623056: /*actorId*/ return new Property("actorId", "string", "ID or acronym of actor.", 0, 1, actorId); 2713 case 3575610: /*type*/ return new Property("type", "code", "The type of actor - person or system.", 0, 1, type); 2714 case 3373707: /*name*/ return new Property("name", "string", "The name of the actor as shown in the page.", 0, 1, name); 2715 case -1724546052: /*description*/ return new Property("description", "markdown", "The description of the actor.", 0, 1, description); 2716 default: return super.getNamedProperty(_hash, _name, _checkValid); 2717 } 2718 2719 } 2720 2721 @Override 2722 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2723 switch (hash) { 2724 case -1161623056: /*actorId*/ return this.actorId == null ? new Base[0] : new Base[] {this.actorId}; // StringType 2725 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<ExampleScenarioActorType> 2726 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2727 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 2728 default: return super.getProperty(hash, name, checkValid); 2729 } 2730 2731 } 2732 2733 @Override 2734 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2735 switch (hash) { 2736 case -1161623056: // actorId 2737 this.actorId = castToString(value); // StringType 2738 return value; 2739 case 3575610: // type 2740 value = new ExampleScenarioActorTypeEnumFactory().fromType(castToCode(value)); 2741 this.type = (Enumeration) value; // Enumeration<ExampleScenarioActorType> 2742 return value; 2743 case 3373707: // name 2744 this.name = castToString(value); // StringType 2745 return value; 2746 case -1724546052: // description 2747 this.description = castToMarkdown(value); // MarkdownType 2748 return value; 2749 default: return super.setProperty(hash, name, value); 2750 } 2751 2752 } 2753 2754 @Override 2755 public Base setProperty(String name, Base value) throws FHIRException { 2756 if (name.equals("actorId")) { 2757 this.actorId = castToString(value); // StringType 2758 } else if (name.equals("type")) { 2759 value = new ExampleScenarioActorTypeEnumFactory().fromType(castToCode(value)); 2760 this.type = (Enumeration) value; // Enumeration<ExampleScenarioActorType> 2761 } else if (name.equals("name")) { 2762 this.name = castToString(value); // StringType 2763 } else if (name.equals("description")) { 2764 this.description = castToMarkdown(value); // MarkdownType 2765 } else 2766 return super.setProperty(name, value); 2767 return value; 2768 } 2769 2770 @Override 2771 public Base makeProperty(int hash, String name) throws FHIRException { 2772 switch (hash) { 2773 case -1161623056: return getActorIdElement(); 2774 case 3575610: return getTypeElement(); 2775 case 3373707: return getNameElement(); 2776 case -1724546052: return getDescriptionElement(); 2777 default: return super.makeProperty(hash, name); 2778 } 2779 2780 } 2781 2782 @Override 2783 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2784 switch (hash) { 2785 case -1161623056: /*actorId*/ return new String[] {"string"}; 2786 case 3575610: /*type*/ return new String[] {"code"}; 2787 case 3373707: /*name*/ return new String[] {"string"}; 2788 case -1724546052: /*description*/ return new String[] {"markdown"}; 2789 default: return super.getTypesForProperty(hash, name); 2790 } 2791 2792 } 2793 2794 @Override 2795 public Base addChild(String name) throws FHIRException { 2796 if (name.equals("actorId")) { 2797 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actorId"); 2798 } 2799 else if (name.equals("type")) { 2800 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.type"); 2801 } 2802 else if (name.equals("name")) { 2803 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.name"); 2804 } 2805 else if (name.equals("description")) { 2806 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); 2807 } 2808 else 2809 return super.addChild(name); 2810 } 2811 2812 public ExampleScenarioActorComponent copy() { 2813 ExampleScenarioActorComponent dst = new ExampleScenarioActorComponent(); 2814 copyValues(dst); 2815 dst.actorId = actorId == null ? null : actorId.copy(); 2816 dst.type = type == null ? null : type.copy(); 2817 dst.name = name == null ? null : name.copy(); 2818 dst.description = description == null ? null : description.copy(); 2819 return dst; 2820 } 2821 2822 @Override 2823 public boolean equalsDeep(Base other_) { 2824 if (!super.equalsDeep(other_)) 2825 return false; 2826 if (!(other_ instanceof ExampleScenarioActorComponent)) 2827 return false; 2828 ExampleScenarioActorComponent o = (ExampleScenarioActorComponent) other_; 2829 return compareDeep(actorId, o.actorId, true) && compareDeep(type, o.type, true) && compareDeep(name, o.name, true) 2830 && compareDeep(description, o.description, true); 2831 } 2832 2833 @Override 2834 public boolean equalsShallow(Base other_) { 2835 if (!super.equalsShallow(other_)) 2836 return false; 2837 if (!(other_ instanceof ExampleScenarioActorComponent)) 2838 return false; 2839 ExampleScenarioActorComponent o = (ExampleScenarioActorComponent) other_; 2840 return compareValues(actorId, o.actorId, true) && compareValues(type, o.type, true) && compareValues(name, o.name, true) 2841 && compareValues(description, o.description, true); 2842 } 2843 2844 public boolean isEmpty() { 2845 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(actorId, type, name, description 2846 ); 2847 } 2848 2849 public String fhirType() { 2850 return "ExampleScenario.actor"; 2851 2852 } 2853 2854 } 2855 2856 @Block() 2857 public static class ExampleScenarioInstanceComponent extends BackboneElement implements IBaseBackboneElement { 2858 /** 2859 * The id of the resource for referencing. 2860 */ 2861 @Child(name = "resourceId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2862 @Description(shortDefinition="The id of the resource for referencing", formalDefinition="The id of the resource for referencing." ) 2863 protected StringType resourceId; 2864 2865 /** 2866 * The type of the resource. 2867 */ 2868 @Child(name = "resourceType", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 2869 @Description(shortDefinition="The type of the resource", formalDefinition="The type of the resource." ) 2870 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") 2871 protected Enumeration<FHIRResourceType> resourceType; 2872 2873 /** 2874 * A short name for the resource instance. 2875 */ 2876 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2877 @Description(shortDefinition="A short name for the resource instance", formalDefinition="A short name for the resource instance." ) 2878 protected StringType name; 2879 2880 /** 2881 * Human-friendly description of the resource instance. 2882 */ 2883 @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) 2884 @Description(shortDefinition="Human-friendly description of the resource instance", formalDefinition="Human-friendly description of the resource instance." ) 2885 protected MarkdownType description; 2886 2887 /** 2888 * A specific version of the resource. 2889 */ 2890 @Child(name = "version", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2891 @Description(shortDefinition="A specific version of the resource", formalDefinition="A specific version of the resource." ) 2892 protected List<ExampleScenarioInstanceVersionComponent> version; 2893 2894 /** 2895 * Resources contained in the instance (e.g. the observations contained in a bundle). 2896 */ 2897 @Child(name = "containedInstance", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2898 @Description(shortDefinition="Resources contained in the instance", formalDefinition="Resources contained in the instance (e.g. the observations contained in a bundle)." ) 2899 protected List<ExampleScenarioInstanceContainedInstanceComponent> containedInstance; 2900 2901 private static final long serialVersionUID = -1131860669L; 2902 2903 /** 2904 * Constructor 2905 */ 2906 public ExampleScenarioInstanceComponent() { 2907 super(); 2908 } 2909 2910 /** 2911 * Constructor 2912 */ 2913 public ExampleScenarioInstanceComponent(StringType resourceId, Enumeration<FHIRResourceType> resourceType) { 2914 super(); 2915 this.resourceId = resourceId; 2916 this.resourceType = resourceType; 2917 } 2918 2919 /** 2920 * @return {@link #resourceId} (The id of the resource for referencing.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value 2921 */ 2922 public StringType getResourceIdElement() { 2923 if (this.resourceId == null) 2924 if (Configuration.errorOnAutoCreate()) 2925 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.resourceId"); 2926 else if (Configuration.doAutoCreate()) 2927 this.resourceId = new StringType(); // bb 2928 return this.resourceId; 2929 } 2930 2931 public boolean hasResourceIdElement() { 2932 return this.resourceId != null && !this.resourceId.isEmpty(); 2933 } 2934 2935 public boolean hasResourceId() { 2936 return this.resourceId != null && !this.resourceId.isEmpty(); 2937 } 2938 2939 /** 2940 * @param value {@link #resourceId} (The id of the resource for referencing.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value 2941 */ 2942 public ExampleScenarioInstanceComponent setResourceIdElement(StringType value) { 2943 this.resourceId = value; 2944 return this; 2945 } 2946 2947 /** 2948 * @return The id of the resource for referencing. 2949 */ 2950 public String getResourceId() { 2951 return this.resourceId == null ? null : this.resourceId.getValue(); 2952 } 2953 2954 /** 2955 * @param value The id of the resource for referencing. 2956 */ 2957 public ExampleScenarioInstanceComponent setResourceId(String value) { 2958 if (this.resourceId == null) 2959 this.resourceId = new StringType(); 2960 this.resourceId.setValue(value); 2961 return this; 2962 } 2963 2964 /** 2965 * @return {@link #resourceType} (The type of the resource.). This is the underlying object with id, value and extensions. The accessor "getResourceType" gives direct access to the value 2966 */ 2967 public Enumeration<FHIRResourceType> getResourceTypeElement() { 2968 if (this.resourceType == null) 2969 if (Configuration.errorOnAutoCreate()) 2970 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.resourceType"); 2971 else if (Configuration.doAutoCreate()) 2972 this.resourceType = new Enumeration<FHIRResourceType>(new FHIRResourceTypeEnumFactory()); // bb 2973 return this.resourceType; 2974 } 2975 2976 public boolean hasResourceTypeElement() { 2977 return this.resourceType != null && !this.resourceType.isEmpty(); 2978 } 2979 2980 public boolean hasResourceType() { 2981 return this.resourceType != null && !this.resourceType.isEmpty(); 2982 } 2983 2984 /** 2985 * @param value {@link #resourceType} (The type of the resource.). This is the underlying object with id, value and extensions. The accessor "getResourceType" gives direct access to the value 2986 */ 2987 public ExampleScenarioInstanceComponent setResourceTypeElement(Enumeration<FHIRResourceType> value) { 2988 this.resourceType = value; 2989 return this; 2990 } 2991 2992 /** 2993 * @return The type of the resource. 2994 */ 2995 public FHIRResourceType getResourceType() { 2996 return this.resourceType == null ? null : this.resourceType.getValue(); 2997 } 2998 2999 /** 3000 * @param value The type of the resource. 3001 */ 3002 public ExampleScenarioInstanceComponent setResourceType(FHIRResourceType value) { 3003 if (this.resourceType == null) 3004 this.resourceType = new Enumeration<FHIRResourceType>(new FHIRResourceTypeEnumFactory()); 3005 this.resourceType.setValue(value); 3006 return this; 3007 } 3008 3009 /** 3010 * @return {@link #name} (A short name for the resource instance.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 3011 */ 3012 public StringType getNameElement() { 3013 if (this.name == null) 3014 if (Configuration.errorOnAutoCreate()) 3015 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.name"); 3016 else if (Configuration.doAutoCreate()) 3017 this.name = new StringType(); // bb 3018 return this.name; 3019 } 3020 3021 public boolean hasNameElement() { 3022 return this.name != null && !this.name.isEmpty(); 3023 } 3024 3025 public boolean hasName() { 3026 return this.name != null && !this.name.isEmpty(); 3027 } 3028 3029 /** 3030 * @param value {@link #name} (A short name for the resource instance.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 3031 */ 3032 public ExampleScenarioInstanceComponent setNameElement(StringType value) { 3033 this.name = value; 3034 return this; 3035 } 3036 3037 /** 3038 * @return A short name for the resource instance. 3039 */ 3040 public String getName() { 3041 return this.name == null ? null : this.name.getValue(); 3042 } 3043 3044 /** 3045 * @param value A short name for the resource instance. 3046 */ 3047 public ExampleScenarioInstanceComponent setName(String value) { 3048 if (Utilities.noString(value)) 3049 this.name = null; 3050 else { 3051 if (this.name == null) 3052 this.name = new StringType(); 3053 this.name.setValue(value); 3054 } 3055 return this; 3056 } 3057 3058 /** 3059 * @return {@link #description} (Human-friendly description of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3060 */ 3061 public MarkdownType getDescriptionElement() { 3062 if (this.description == null) 3063 if (Configuration.errorOnAutoCreate()) 3064 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.description"); 3065 else if (Configuration.doAutoCreate()) 3066 this.description = new MarkdownType(); // bb 3067 return this.description; 3068 } 3069 3070 public boolean hasDescriptionElement() { 3071 return this.description != null && !this.description.isEmpty(); 3072 } 3073 3074 public boolean hasDescription() { 3075 return this.description != null && !this.description.isEmpty(); 3076 } 3077 3078 /** 3079 * @param value {@link #description} (Human-friendly description of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3080 */ 3081 public ExampleScenarioInstanceComponent setDescriptionElement(MarkdownType value) { 3082 this.description = value; 3083 return this; 3084 } 3085 3086 /** 3087 * @return Human-friendly description of the resource instance. 3088 */ 3089 public String getDescription() { 3090 return this.description == null ? null : this.description.getValue(); 3091 } 3092 3093 /** 3094 * @param value Human-friendly description of the resource instance. 3095 */ 3096 public ExampleScenarioInstanceComponent setDescription(String value) { 3097 if (value == null) 3098 this.description = null; 3099 else { 3100 if (this.description == null) 3101 this.description = new MarkdownType(); 3102 this.description.setValue(value); 3103 } 3104 return this; 3105 } 3106 3107 /** 3108 * @return {@link #version} (A specific version of the resource.) 3109 */ 3110 public List<ExampleScenarioInstanceVersionComponent> getVersion() { 3111 if (this.version == null) 3112 this.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 3113 return this.version; 3114 } 3115 3116 /** 3117 * @return Returns a reference to <code>this</code> for easy method chaining 3118 */ 3119 public ExampleScenarioInstanceComponent setVersion(List<ExampleScenarioInstanceVersionComponent> theVersion) { 3120 this.version = theVersion; 3121 return this; 3122 } 3123 3124 public boolean hasVersion() { 3125 if (this.version == null) 3126 return false; 3127 for (ExampleScenarioInstanceVersionComponent item : this.version) 3128 if (!item.isEmpty()) 3129 return true; 3130 return false; 3131 } 3132 3133 public ExampleScenarioInstanceVersionComponent addVersion() { //3 3134 ExampleScenarioInstanceVersionComponent t = new ExampleScenarioInstanceVersionComponent(); 3135 if (this.version == null) 3136 this.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 3137 this.version.add(t); 3138 return t; 3139 } 3140 3141 public ExampleScenarioInstanceComponent addVersion(ExampleScenarioInstanceVersionComponent t) { //3 3142 if (t == null) 3143 return this; 3144 if (this.version == null) 3145 this.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 3146 this.version.add(t); 3147 return this; 3148 } 3149 3150 /** 3151 * @return The first repetition of repeating field {@link #version}, creating it if it does not already exist 3152 */ 3153 public ExampleScenarioInstanceVersionComponent getVersionFirstRep() { 3154 if (getVersion().isEmpty()) { 3155 addVersion(); 3156 } 3157 return getVersion().get(0); 3158 } 3159 3160 /** 3161 * @return {@link #containedInstance} (Resources contained in the instance (e.g. the observations contained in a bundle).) 3162 */ 3163 public List<ExampleScenarioInstanceContainedInstanceComponent> getContainedInstance() { 3164 if (this.containedInstance == null) 3165 this.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 3166 return this.containedInstance; 3167 } 3168 3169 /** 3170 * @return Returns a reference to <code>this</code> for easy method chaining 3171 */ 3172 public ExampleScenarioInstanceComponent setContainedInstance(List<ExampleScenarioInstanceContainedInstanceComponent> theContainedInstance) { 3173 this.containedInstance = theContainedInstance; 3174 return this; 3175 } 3176 3177 public boolean hasContainedInstance() { 3178 if (this.containedInstance == null) 3179 return false; 3180 for (ExampleScenarioInstanceContainedInstanceComponent item : this.containedInstance) 3181 if (!item.isEmpty()) 3182 return true; 3183 return false; 3184 } 3185 3186 public ExampleScenarioInstanceContainedInstanceComponent addContainedInstance() { //3 3187 ExampleScenarioInstanceContainedInstanceComponent t = new ExampleScenarioInstanceContainedInstanceComponent(); 3188 if (this.containedInstance == null) 3189 this.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 3190 this.containedInstance.add(t); 3191 return t; 3192 } 3193 3194 public ExampleScenarioInstanceComponent addContainedInstance(ExampleScenarioInstanceContainedInstanceComponent t) { //3 3195 if (t == null) 3196 return this; 3197 if (this.containedInstance == null) 3198 this.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 3199 this.containedInstance.add(t); 3200 return this; 3201 } 3202 3203 /** 3204 * @return The first repetition of repeating field {@link #containedInstance}, creating it if it does not already exist 3205 */ 3206 public ExampleScenarioInstanceContainedInstanceComponent getContainedInstanceFirstRep() { 3207 if (getContainedInstance().isEmpty()) { 3208 addContainedInstance(); 3209 } 3210 return getContainedInstance().get(0); 3211 } 3212 3213 protected void listChildren(List<Property> children) { 3214 super.listChildren(children); 3215 children.add(new Property("resourceId", "string", "The id of the resource for referencing.", 0, 1, resourceId)); 3216 children.add(new Property("resourceType", "code", "The type of the resource.", 0, 1, resourceType)); 3217 children.add(new Property("name", "string", "A short name for the resource instance.", 0, 1, name)); 3218 children.add(new Property("description", "markdown", "Human-friendly description of the resource instance.", 0, 1, description)); 3219 children.add(new Property("version", "", "A specific version of the resource.", 0, java.lang.Integer.MAX_VALUE, version)); 3220 children.add(new Property("containedInstance", "", "Resources contained in the instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance)); 3221 } 3222 3223 @Override 3224 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3225 switch (_hash) { 3226 case -1345650231: /*resourceId*/ return new Property("resourceId", "string", "The id of the resource for referencing.", 0, 1, resourceId); 3227 case -384364440: /*resourceType*/ return new Property("resourceType", "code", "The type of the resource.", 0, 1, resourceType); 3228 case 3373707: /*name*/ return new Property("name", "string", "A short name for the resource instance.", 0, 1, name); 3229 case -1724546052: /*description*/ return new Property("description", "markdown", "Human-friendly description of the resource instance.", 0, 1, description); 3230 case 351608024: /*version*/ return new Property("version", "", "A specific version of the resource.", 0, java.lang.Integer.MAX_VALUE, version); 3231 case -417062360: /*containedInstance*/ return new Property("containedInstance", "", "Resources contained in the instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance); 3232 default: return super.getNamedProperty(_hash, _name, _checkValid); 3233 } 3234 3235 } 3236 3237 @Override 3238 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3239 switch (hash) { 3240 case -1345650231: /*resourceId*/ return this.resourceId == null ? new Base[0] : new Base[] {this.resourceId}; // StringType 3241 case -384364440: /*resourceType*/ return this.resourceType == null ? new Base[0] : new Base[] {this.resourceType}; // Enumeration<FHIRResourceType> 3242 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3243 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3244 case 351608024: /*version*/ return this.version == null ? new Base[0] : this.version.toArray(new Base[this.version.size()]); // ExampleScenarioInstanceVersionComponent 3245 case -417062360: /*containedInstance*/ return this.containedInstance == null ? new Base[0] : this.containedInstance.toArray(new Base[this.containedInstance.size()]); // ExampleScenarioInstanceContainedInstanceComponent 3246 default: return super.getProperty(hash, name, checkValid); 3247 } 3248 3249 } 3250 3251 @Override 3252 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3253 switch (hash) { 3254 case -1345650231: // resourceId 3255 this.resourceId = castToString(value); // StringType 3256 return value; 3257 case -384364440: // resourceType 3258 value = new FHIRResourceTypeEnumFactory().fromType(castToCode(value)); 3259 this.resourceType = (Enumeration) value; // Enumeration<FHIRResourceType> 3260 return value; 3261 case 3373707: // name 3262 this.name = castToString(value); // StringType 3263 return value; 3264 case -1724546052: // description 3265 this.description = castToMarkdown(value); // MarkdownType 3266 return value; 3267 case 351608024: // version 3268 this.getVersion().add((ExampleScenarioInstanceVersionComponent) value); // ExampleScenarioInstanceVersionComponent 3269 return value; 3270 case -417062360: // containedInstance 3271 this.getContainedInstance().add((ExampleScenarioInstanceContainedInstanceComponent) value); // ExampleScenarioInstanceContainedInstanceComponent 3272 return value; 3273 default: return super.setProperty(hash, name, value); 3274 } 3275 3276 } 3277 3278 @Override 3279 public Base setProperty(String name, Base value) throws FHIRException { 3280 if (name.equals("resourceId")) { 3281 this.resourceId = castToString(value); // StringType 3282 } else if (name.equals("resourceType")) { 3283 value = new FHIRResourceTypeEnumFactory().fromType(castToCode(value)); 3284 this.resourceType = (Enumeration) value; // Enumeration<FHIRResourceType> 3285 } else if (name.equals("name")) { 3286 this.name = castToString(value); // StringType 3287 } else if (name.equals("description")) { 3288 this.description = castToMarkdown(value); // MarkdownType 3289 } else if (name.equals("version")) { 3290 this.getVersion().add((ExampleScenarioInstanceVersionComponent) value); 3291 } else if (name.equals("containedInstance")) { 3292 this.getContainedInstance().add((ExampleScenarioInstanceContainedInstanceComponent) value); 3293 } else 3294 return super.setProperty(name, value); 3295 return value; 3296 } 3297 3298 @Override 3299 public Base makeProperty(int hash, String name) throws FHIRException { 3300 switch (hash) { 3301 case -1345650231: return getResourceIdElement(); 3302 case -384364440: return getResourceTypeElement(); 3303 case 3373707: return getNameElement(); 3304 case -1724546052: return getDescriptionElement(); 3305 case 351608024: return addVersion(); 3306 case -417062360: return addContainedInstance(); 3307 default: return super.makeProperty(hash, name); 3308 } 3309 3310 } 3311 3312 @Override 3313 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3314 switch (hash) { 3315 case -1345650231: /*resourceId*/ return new String[] {"string"}; 3316 case -384364440: /*resourceType*/ return new String[] {"code"}; 3317 case 3373707: /*name*/ return new String[] {"string"}; 3318 case -1724546052: /*description*/ return new String[] {"markdown"}; 3319 case 351608024: /*version*/ return new String[] {}; 3320 case -417062360: /*containedInstance*/ return new String[] {}; 3321 default: return super.getTypesForProperty(hash, name); 3322 } 3323 3324 } 3325 3326 @Override 3327 public Base addChild(String name) throws FHIRException { 3328 if (name.equals("resourceId")) { 3329 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.resourceId"); 3330 } 3331 else if (name.equals("resourceType")) { 3332 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.resourceType"); 3333 } 3334 else if (name.equals("name")) { 3335 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.name"); 3336 } 3337 else if (name.equals("description")) { 3338 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); 3339 } 3340 else if (name.equals("version")) { 3341 return addVersion(); 3342 } 3343 else if (name.equals("containedInstance")) { 3344 return addContainedInstance(); 3345 } 3346 else 3347 return super.addChild(name); 3348 } 3349 3350 public ExampleScenarioInstanceComponent copy() { 3351 ExampleScenarioInstanceComponent dst = new ExampleScenarioInstanceComponent(); 3352 copyValues(dst); 3353 dst.resourceId = resourceId == null ? null : resourceId.copy(); 3354 dst.resourceType = resourceType == null ? null : resourceType.copy(); 3355 dst.name = name == null ? null : name.copy(); 3356 dst.description = description == null ? null : description.copy(); 3357 if (version != null) { 3358 dst.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 3359 for (ExampleScenarioInstanceVersionComponent i : version) 3360 dst.version.add(i.copy()); 3361 }; 3362 if (containedInstance != null) { 3363 dst.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 3364 for (ExampleScenarioInstanceContainedInstanceComponent i : containedInstance) 3365 dst.containedInstance.add(i.copy()); 3366 }; 3367 return dst; 3368 } 3369 3370 @Override 3371 public boolean equalsDeep(Base other_) { 3372 if (!super.equalsDeep(other_)) 3373 return false; 3374 if (!(other_ instanceof ExampleScenarioInstanceComponent)) 3375 return false; 3376 ExampleScenarioInstanceComponent o = (ExampleScenarioInstanceComponent) other_; 3377 return compareDeep(resourceId, o.resourceId, true) && compareDeep(resourceType, o.resourceType, true) 3378 && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(version, o.version, true) 3379 && compareDeep(containedInstance, o.containedInstance, true); 3380 } 3381 3382 @Override 3383 public boolean equalsShallow(Base other_) { 3384 if (!super.equalsShallow(other_)) 3385 return false; 3386 if (!(other_ instanceof ExampleScenarioInstanceComponent)) 3387 return false; 3388 ExampleScenarioInstanceComponent o = (ExampleScenarioInstanceComponent) other_; 3389 return compareValues(resourceId, o.resourceId, true) && compareValues(resourceType, o.resourceType, true) 3390 && compareValues(name, o.name, true) && compareValues(description, o.description, true); 3391 } 3392 3393 public boolean isEmpty() { 3394 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(resourceId, resourceType, name 3395 , description, version, containedInstance); 3396 } 3397 3398 public String fhirType() { 3399 return "ExampleScenario.instance"; 3400 3401 } 3402 3403 } 3404 3405 @Block() 3406 public static class ExampleScenarioInstanceVersionComponent extends BackboneElement implements IBaseBackboneElement { 3407 /** 3408 * The identifier of a specific version of a resource. 3409 */ 3410 @Child(name = "versionId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3411 @Description(shortDefinition="The identifier of a specific version of a resource", formalDefinition="The identifier of a specific version of a resource." ) 3412 protected StringType versionId; 3413 3414 /** 3415 * The description of the resource version. 3416 */ 3417 @Child(name = "description", type = {MarkdownType.class}, order=2, min=1, max=1, modifier=false, summary=false) 3418 @Description(shortDefinition="The description of the resource version", formalDefinition="The description of the resource version." ) 3419 protected MarkdownType description; 3420 3421 private static final long serialVersionUID = 960821913L; 3422 3423 /** 3424 * Constructor 3425 */ 3426 public ExampleScenarioInstanceVersionComponent() { 3427 super(); 3428 } 3429 3430 /** 3431 * Constructor 3432 */ 3433 public ExampleScenarioInstanceVersionComponent(StringType versionId, MarkdownType description) { 3434 super(); 3435 this.versionId = versionId; 3436 this.description = description; 3437 } 3438 3439 /** 3440 * @return {@link #versionId} (The identifier of a specific version of a resource.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value 3441 */ 3442 public StringType getVersionIdElement() { 3443 if (this.versionId == null) 3444 if (Configuration.errorOnAutoCreate()) 3445 throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.versionId"); 3446 else if (Configuration.doAutoCreate()) 3447 this.versionId = new StringType(); // bb 3448 return this.versionId; 3449 } 3450 3451 public boolean hasVersionIdElement() { 3452 return this.versionId != null && !this.versionId.isEmpty(); 3453 } 3454 3455 public boolean hasVersionId() { 3456 return this.versionId != null && !this.versionId.isEmpty(); 3457 } 3458 3459 /** 3460 * @param value {@link #versionId} (The identifier of a specific version of a resource.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value 3461 */ 3462 public ExampleScenarioInstanceVersionComponent setVersionIdElement(StringType value) { 3463 this.versionId = value; 3464 return this; 3465 } 3466 3467 /** 3468 * @return The identifier of a specific version of a resource. 3469 */ 3470 public String getVersionId() { 3471 return this.versionId == null ? null : this.versionId.getValue(); 3472 } 3473 3474 /** 3475 * @param value The identifier of a specific version of a resource. 3476 */ 3477 public ExampleScenarioInstanceVersionComponent setVersionId(String value) { 3478 if (this.versionId == null) 3479 this.versionId = new StringType(); 3480 this.versionId.setValue(value); 3481 return this; 3482 } 3483 3484 /** 3485 * @return {@link #description} (The description of the resource version.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3486 */ 3487 public MarkdownType getDescriptionElement() { 3488 if (this.description == null) 3489 if (Configuration.errorOnAutoCreate()) 3490 throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.description"); 3491 else if (Configuration.doAutoCreate()) 3492 this.description = new MarkdownType(); // bb 3493 return this.description; 3494 } 3495 3496 public boolean hasDescriptionElement() { 3497 return this.description != null && !this.description.isEmpty(); 3498 } 3499 3500 public boolean hasDescription() { 3501 return this.description != null && !this.description.isEmpty(); 3502 } 3503 3504 /** 3505 * @param value {@link #description} (The description of the resource version.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3506 */ 3507 public ExampleScenarioInstanceVersionComponent setDescriptionElement(MarkdownType value) { 3508 this.description = value; 3509 return this; 3510 } 3511 3512 /** 3513 * @return The description of the resource version. 3514 */ 3515 public String getDescription() { 3516 return this.description == null ? null : this.description.getValue(); 3517 } 3518 3519 /** 3520 * @param value The description of the resource version. 3521 */ 3522 public ExampleScenarioInstanceVersionComponent setDescription(String value) { 3523 if (this.description == null) 3524 this.description = new MarkdownType(); 3525 this.description.setValue(value); 3526 return this; 3527 } 3528 3529 protected void listChildren(List<Property> children) { 3530 super.listChildren(children); 3531 children.add(new Property("versionId", "string", "The identifier of a specific version of a resource.", 0, 1, versionId)); 3532 children.add(new Property("description", "markdown", "The description of the resource version.", 0, 1, description)); 3533 } 3534 3535 @Override 3536 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3537 switch (_hash) { 3538 case -1407102957: /*versionId*/ return new Property("versionId", "string", "The identifier of a specific version of a resource.", 0, 1, versionId); 3539 case -1724546052: /*description*/ return new Property("description", "markdown", "The description of the resource version.", 0, 1, description); 3540 default: return super.getNamedProperty(_hash, _name, _checkValid); 3541 } 3542 3543 } 3544 3545 @Override 3546 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3547 switch (hash) { 3548 case -1407102957: /*versionId*/ return this.versionId == null ? new Base[0] : new Base[] {this.versionId}; // StringType 3549 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3550 default: return super.getProperty(hash, name, checkValid); 3551 } 3552 3553 } 3554 3555 @Override 3556 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3557 switch (hash) { 3558 case -1407102957: // versionId 3559 this.versionId = castToString(value); // StringType 3560 return value; 3561 case -1724546052: // description 3562 this.description = castToMarkdown(value); // MarkdownType 3563 return value; 3564 default: return super.setProperty(hash, name, value); 3565 } 3566 3567 } 3568 3569 @Override 3570 public Base setProperty(String name, Base value) throws FHIRException { 3571 if (name.equals("versionId")) { 3572 this.versionId = castToString(value); // StringType 3573 } else if (name.equals("description")) { 3574 this.description = castToMarkdown(value); // MarkdownType 3575 } else 3576 return super.setProperty(name, value); 3577 return value; 3578 } 3579 3580 @Override 3581 public Base makeProperty(int hash, String name) throws FHIRException { 3582 switch (hash) { 3583 case -1407102957: return getVersionIdElement(); 3584 case -1724546052: return getDescriptionElement(); 3585 default: return super.makeProperty(hash, name); 3586 } 3587 3588 } 3589 3590 @Override 3591 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3592 switch (hash) { 3593 case -1407102957: /*versionId*/ return new String[] {"string"}; 3594 case -1724546052: /*description*/ return new String[] {"markdown"}; 3595 default: return super.getTypesForProperty(hash, name); 3596 } 3597 3598 } 3599 3600 @Override 3601 public Base addChild(String name) throws FHIRException { 3602 if (name.equals("versionId")) { 3603 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.versionId"); 3604 } 3605 else if (name.equals("description")) { 3606 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); 3607 } 3608 else 3609 return super.addChild(name); 3610 } 3611 3612 public ExampleScenarioInstanceVersionComponent copy() { 3613 ExampleScenarioInstanceVersionComponent dst = new ExampleScenarioInstanceVersionComponent(); 3614 copyValues(dst); 3615 dst.versionId = versionId == null ? null : versionId.copy(); 3616 dst.description = description == null ? null : description.copy(); 3617 return dst; 3618 } 3619 3620 @Override 3621 public boolean equalsDeep(Base other_) { 3622 if (!super.equalsDeep(other_)) 3623 return false; 3624 if (!(other_ instanceof ExampleScenarioInstanceVersionComponent)) 3625 return false; 3626 ExampleScenarioInstanceVersionComponent o = (ExampleScenarioInstanceVersionComponent) other_; 3627 return compareDeep(versionId, o.versionId, true) && compareDeep(description, o.description, true) 3628 ; 3629 } 3630 3631 @Override 3632 public boolean equalsShallow(Base other_) { 3633 if (!super.equalsShallow(other_)) 3634 return false; 3635 if (!(other_ instanceof ExampleScenarioInstanceVersionComponent)) 3636 return false; 3637 ExampleScenarioInstanceVersionComponent o = (ExampleScenarioInstanceVersionComponent) other_; 3638 return compareValues(versionId, o.versionId, true) && compareValues(description, o.description, true) 3639 ; 3640 } 3641 3642 public boolean isEmpty() { 3643 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(versionId, description); 3644 } 3645 3646 public String fhirType() { 3647 return "ExampleScenario.instance.version"; 3648 3649 } 3650 3651 } 3652 3653 @Block() 3654 public static class ExampleScenarioInstanceContainedInstanceComponent extends BackboneElement implements IBaseBackboneElement { 3655 /** 3656 * Each resource contained in the instance. 3657 */ 3658 @Child(name = "resourceId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3659 @Description(shortDefinition="Each resource contained in the instance", formalDefinition="Each resource contained in the instance." ) 3660 protected StringType resourceId; 3661 3662 /** 3663 * A specific version of a resource contained in the instance. 3664 */ 3665 @Child(name = "versionId", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3666 @Description(shortDefinition="A specific version of a resource contained in the instance", formalDefinition="A specific version of a resource contained in the instance." ) 3667 protected StringType versionId; 3668 3669 private static final long serialVersionUID = 908084124L; 3670 3671 /** 3672 * Constructor 3673 */ 3674 public ExampleScenarioInstanceContainedInstanceComponent() { 3675 super(); 3676 } 3677 3678 /** 3679 * Constructor 3680 */ 3681 public ExampleScenarioInstanceContainedInstanceComponent(StringType resourceId) { 3682 super(); 3683 this.resourceId = resourceId; 3684 } 3685 3686 /** 3687 * @return {@link #resourceId} (Each resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value 3688 */ 3689 public StringType getResourceIdElement() { 3690 if (this.resourceId == null) 3691 if (Configuration.errorOnAutoCreate()) 3692 throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.resourceId"); 3693 else if (Configuration.doAutoCreate()) 3694 this.resourceId = new StringType(); // bb 3695 return this.resourceId; 3696 } 3697 3698 public boolean hasResourceIdElement() { 3699 return this.resourceId != null && !this.resourceId.isEmpty(); 3700 } 3701 3702 public boolean hasResourceId() { 3703 return this.resourceId != null && !this.resourceId.isEmpty(); 3704 } 3705 3706 /** 3707 * @param value {@link #resourceId} (Each resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value 3708 */ 3709 public ExampleScenarioInstanceContainedInstanceComponent setResourceIdElement(StringType value) { 3710 this.resourceId = value; 3711 return this; 3712 } 3713 3714 /** 3715 * @return Each resource contained in the instance. 3716 */ 3717 public String getResourceId() { 3718 return this.resourceId == null ? null : this.resourceId.getValue(); 3719 } 3720 3721 /** 3722 * @param value Each resource contained in the instance. 3723 */ 3724 public ExampleScenarioInstanceContainedInstanceComponent setResourceId(String value) { 3725 if (this.resourceId == null) 3726 this.resourceId = new StringType(); 3727 this.resourceId.setValue(value); 3728 return this; 3729 } 3730 3731 /** 3732 * @return {@link #versionId} (A specific version of a resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value 3733 */ 3734 public StringType getVersionIdElement() { 3735 if (this.versionId == null) 3736 if (Configuration.errorOnAutoCreate()) 3737 throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.versionId"); 3738 else if (Configuration.doAutoCreate()) 3739 this.versionId = new StringType(); // bb 3740 return this.versionId; 3741 } 3742 3743 public boolean hasVersionIdElement() { 3744 return this.versionId != null && !this.versionId.isEmpty(); 3745 } 3746 3747 public boolean hasVersionId() { 3748 return this.versionId != null && !this.versionId.isEmpty(); 3749 } 3750 3751 /** 3752 * @param value {@link #versionId} (A specific version of a resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value 3753 */ 3754 public ExampleScenarioInstanceContainedInstanceComponent setVersionIdElement(StringType value) { 3755 this.versionId = value; 3756 return this; 3757 } 3758 3759 /** 3760 * @return A specific version of a resource contained in the instance. 3761 */ 3762 public String getVersionId() { 3763 return this.versionId == null ? null : this.versionId.getValue(); 3764 } 3765 3766 /** 3767 * @param value A specific version of a resource contained in the instance. 3768 */ 3769 public ExampleScenarioInstanceContainedInstanceComponent setVersionId(String value) { 3770 if (Utilities.noString(value)) 3771 this.versionId = null; 3772 else { 3773 if (this.versionId == null) 3774 this.versionId = new StringType(); 3775 this.versionId.setValue(value); 3776 } 3777 return this; 3778 } 3779 3780 protected void listChildren(List<Property> children) { 3781 super.listChildren(children); 3782 children.add(new Property("resourceId", "string", "Each resource contained in the instance.", 0, 1, resourceId)); 3783 children.add(new Property("versionId", "string", "A specific version of a resource contained in the instance.", 0, 1, versionId)); 3784 } 3785 3786 @Override 3787 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3788 switch (_hash) { 3789 case -1345650231: /*resourceId*/ return new Property("resourceId", "string", "Each resource contained in the instance.", 0, 1, resourceId); 3790 case -1407102957: /*versionId*/ return new Property("versionId", "string", "A specific version of a resource contained in the instance.", 0, 1, versionId); 3791 default: return super.getNamedProperty(_hash, _name, _checkValid); 3792 } 3793 3794 } 3795 3796 @Override 3797 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3798 switch (hash) { 3799 case -1345650231: /*resourceId*/ return this.resourceId == null ? new Base[0] : new Base[] {this.resourceId}; // StringType 3800 case -1407102957: /*versionId*/ return this.versionId == null ? new Base[0] : new Base[] {this.versionId}; // StringType 3801 default: return super.getProperty(hash, name, checkValid); 3802 } 3803 3804 } 3805 3806 @Override 3807 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3808 switch (hash) { 3809 case -1345650231: // resourceId 3810 this.resourceId = castToString(value); // StringType 3811 return value; 3812 case -1407102957: // versionId 3813 this.versionId = castToString(value); // StringType 3814 return value; 3815 default: return super.setProperty(hash, name, value); 3816 } 3817 3818 } 3819 3820 @Override 3821 public Base setProperty(String name, Base value) throws FHIRException { 3822 if (name.equals("resourceId")) { 3823 this.resourceId = castToString(value); // StringType 3824 } else if (name.equals("versionId")) { 3825 this.versionId = castToString(value); // StringType 3826 } else 3827 return super.setProperty(name, value); 3828 return value; 3829 } 3830 3831 @Override 3832 public Base makeProperty(int hash, String name) throws FHIRException { 3833 switch (hash) { 3834 case -1345650231: return getResourceIdElement(); 3835 case -1407102957: return getVersionIdElement(); 3836 default: return super.makeProperty(hash, name); 3837 } 3838 3839 } 3840 3841 @Override 3842 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3843 switch (hash) { 3844 case -1345650231: /*resourceId*/ return new String[] {"string"}; 3845 case -1407102957: /*versionId*/ return new String[] {"string"}; 3846 default: return super.getTypesForProperty(hash, name); 3847 } 3848 3849 } 3850 3851 @Override 3852 public Base addChild(String name) throws FHIRException { 3853 if (name.equals("resourceId")) { 3854 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.resourceId"); 3855 } 3856 else if (name.equals("versionId")) { 3857 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.versionId"); 3858 } 3859 else 3860 return super.addChild(name); 3861 } 3862 3863 public ExampleScenarioInstanceContainedInstanceComponent copy() { 3864 ExampleScenarioInstanceContainedInstanceComponent dst = new ExampleScenarioInstanceContainedInstanceComponent(); 3865 copyValues(dst); 3866 dst.resourceId = resourceId == null ? null : resourceId.copy(); 3867 dst.versionId = versionId == null ? null : versionId.copy(); 3868 return dst; 3869 } 3870 3871 @Override 3872 public boolean equalsDeep(Base other_) { 3873 if (!super.equalsDeep(other_)) 3874 return false; 3875 if (!(other_ instanceof ExampleScenarioInstanceContainedInstanceComponent)) 3876 return false; 3877 ExampleScenarioInstanceContainedInstanceComponent o = (ExampleScenarioInstanceContainedInstanceComponent) other_; 3878 return compareDeep(resourceId, o.resourceId, true) && compareDeep(versionId, o.versionId, true) 3879 ; 3880 } 3881 3882 @Override 3883 public boolean equalsShallow(Base other_) { 3884 if (!super.equalsShallow(other_)) 3885 return false; 3886 if (!(other_ instanceof ExampleScenarioInstanceContainedInstanceComponent)) 3887 return false; 3888 ExampleScenarioInstanceContainedInstanceComponent o = (ExampleScenarioInstanceContainedInstanceComponent) other_; 3889 return compareValues(resourceId, o.resourceId, true) && compareValues(versionId, o.versionId, true) 3890 ; 3891 } 3892 3893 public boolean isEmpty() { 3894 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(resourceId, versionId); 3895 } 3896 3897 public String fhirType() { 3898 return "ExampleScenario.instance.containedInstance"; 3899 3900 } 3901 3902 } 3903 3904 @Block() 3905 public static class ExampleScenarioProcessComponent extends BackboneElement implements IBaseBackboneElement { 3906 /** 3907 * The diagram title of the group of operations. 3908 */ 3909 @Child(name = "title", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) 3910 @Description(shortDefinition="The diagram title of the group of operations", formalDefinition="The diagram title of the group of operations." ) 3911 protected StringType title; 3912 3913 /** 3914 * A longer description of the group of operations. 3915 */ 3916 @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3917 @Description(shortDefinition="A longer description of the group of operations", formalDefinition="A longer description of the group of operations." ) 3918 protected MarkdownType description; 3919 3920 /** 3921 * Description of initial status before the process starts. 3922 */ 3923 @Child(name = "preConditions", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=false) 3924 @Description(shortDefinition="Description of initial status before the process starts", formalDefinition="Description of initial status before the process starts." ) 3925 protected MarkdownType preConditions; 3926 3927 /** 3928 * Description of final status after the process ends. 3929 */ 3930 @Child(name = "postConditions", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) 3931 @Description(shortDefinition="Description of final status after the process ends", formalDefinition="Description of final status after the process ends." ) 3932 protected MarkdownType postConditions; 3933 3934 /** 3935 * Each step of the process. 3936 */ 3937 @Child(name = "step", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3938 @Description(shortDefinition="Each step of the process", formalDefinition="Each step of the process." ) 3939 protected List<ExampleScenarioProcessStepComponent> step; 3940 3941 private static final long serialVersionUID = 325578043L; 3942 3943 /** 3944 * Constructor 3945 */ 3946 public ExampleScenarioProcessComponent() { 3947 super(); 3948 } 3949 3950 /** 3951 * Constructor 3952 */ 3953 public ExampleScenarioProcessComponent(StringType title) { 3954 super(); 3955 this.title = title; 3956 } 3957 3958 /** 3959 * @return {@link #title} (The diagram title of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3960 */ 3961 public StringType getTitleElement() { 3962 if (this.title == null) 3963 if (Configuration.errorOnAutoCreate()) 3964 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.title"); 3965 else if (Configuration.doAutoCreate()) 3966 this.title = new StringType(); // bb 3967 return this.title; 3968 } 3969 3970 public boolean hasTitleElement() { 3971 return this.title != null && !this.title.isEmpty(); 3972 } 3973 3974 public boolean hasTitle() { 3975 return this.title != null && !this.title.isEmpty(); 3976 } 3977 3978 /** 3979 * @param value {@link #title} (The diagram title of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3980 */ 3981 public ExampleScenarioProcessComponent setTitleElement(StringType value) { 3982 this.title = value; 3983 return this; 3984 } 3985 3986 /** 3987 * @return The diagram title of the group of operations. 3988 */ 3989 public String getTitle() { 3990 return this.title == null ? null : this.title.getValue(); 3991 } 3992 3993 /** 3994 * @param value The diagram title of the group of operations. 3995 */ 3996 public ExampleScenarioProcessComponent setTitle(String value) { 3997 if (this.title == null) 3998 this.title = new StringType(); 3999 this.title.setValue(value); 4000 return this; 4001 } 4002 4003 /** 4004 * @return {@link #description} (A longer description of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 4005 */ 4006 public MarkdownType getDescriptionElement() { 4007 if (this.description == null) 4008 if (Configuration.errorOnAutoCreate()) 4009 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.description"); 4010 else if (Configuration.doAutoCreate()) 4011 this.description = new MarkdownType(); // bb 4012 return this.description; 4013 } 4014 4015 public boolean hasDescriptionElement() { 4016 return this.description != null && !this.description.isEmpty(); 4017 } 4018 4019 public boolean hasDescription() { 4020 return this.description != null && !this.description.isEmpty(); 4021 } 4022 4023 /** 4024 * @param value {@link #description} (A longer description of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 4025 */ 4026 public ExampleScenarioProcessComponent setDescriptionElement(MarkdownType value) { 4027 this.description = value; 4028 return this; 4029 } 4030 4031 /** 4032 * @return A longer description of the group of operations. 4033 */ 4034 public String getDescription() { 4035 return this.description == null ? null : this.description.getValue(); 4036 } 4037 4038 /** 4039 * @param value A longer description of the group of operations. 4040 */ 4041 public ExampleScenarioProcessComponent setDescription(String value) { 4042 if (value == null) 4043 this.description = null; 4044 else { 4045 if (this.description == null) 4046 this.description = new MarkdownType(); 4047 this.description.setValue(value); 4048 } 4049 return this; 4050 } 4051 4052 /** 4053 * @return {@link #preConditions} (Description of initial status before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value 4054 */ 4055 public MarkdownType getPreConditionsElement() { 4056 if (this.preConditions == null) 4057 if (Configuration.errorOnAutoCreate()) 4058 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.preConditions"); 4059 else if (Configuration.doAutoCreate()) 4060 this.preConditions = new MarkdownType(); // bb 4061 return this.preConditions; 4062 } 4063 4064 public boolean hasPreConditionsElement() { 4065 return this.preConditions != null && !this.preConditions.isEmpty(); 4066 } 4067 4068 public boolean hasPreConditions() { 4069 return this.preConditions != null && !this.preConditions.isEmpty(); 4070 } 4071 4072 /** 4073 * @param value {@link #preConditions} (Description of initial status before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value 4074 */ 4075 public ExampleScenarioProcessComponent setPreConditionsElement(MarkdownType value) { 4076 this.preConditions = value; 4077 return this; 4078 } 4079 4080 /** 4081 * @return Description of initial status before the process starts. 4082 */ 4083 public String getPreConditions() { 4084 return this.preConditions == null ? null : this.preConditions.getValue(); 4085 } 4086 4087 /** 4088 * @param value Description of initial status before the process starts. 4089 */ 4090 public ExampleScenarioProcessComponent setPreConditions(String value) { 4091 if (value == null) 4092 this.preConditions = null; 4093 else { 4094 if (this.preConditions == null) 4095 this.preConditions = new MarkdownType(); 4096 this.preConditions.setValue(value); 4097 } 4098 return this; 4099 } 4100 4101 /** 4102 * @return {@link #postConditions} (Description of final status after the process ends.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value 4103 */ 4104 public MarkdownType getPostConditionsElement() { 4105 if (this.postConditions == null) 4106 if (Configuration.errorOnAutoCreate()) 4107 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.postConditions"); 4108 else if (Configuration.doAutoCreate()) 4109 this.postConditions = new MarkdownType(); // bb 4110 return this.postConditions; 4111 } 4112 4113 public boolean hasPostConditionsElement() { 4114 return this.postConditions != null && !this.postConditions.isEmpty(); 4115 } 4116 4117 public boolean hasPostConditions() { 4118 return this.postConditions != null && !this.postConditions.isEmpty(); 4119 } 4120 4121 /** 4122 * @param value {@link #postConditions} (Description of final status after the process ends.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value 4123 */ 4124 public ExampleScenarioProcessComponent setPostConditionsElement(MarkdownType value) { 4125 this.postConditions = value; 4126 return this; 4127 } 4128 4129 /** 4130 * @return Description of final status after the process ends. 4131 */ 4132 public String getPostConditions() { 4133 return this.postConditions == null ? null : this.postConditions.getValue(); 4134 } 4135 4136 /** 4137 * @param value Description of final status after the process ends. 4138 */ 4139 public ExampleScenarioProcessComponent setPostConditions(String value) { 4140 if (value == null) 4141 this.postConditions = null; 4142 else { 4143 if (this.postConditions == null) 4144 this.postConditions = new MarkdownType(); 4145 this.postConditions.setValue(value); 4146 } 4147 return this; 4148 } 4149 4150 /** 4151 * @return {@link #step} (Each step of the process.) 4152 */ 4153 public List<ExampleScenarioProcessStepComponent> getStep() { 4154 if (this.step == null) 4155 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 4156 return this.step; 4157 } 4158 4159 /** 4160 * @return Returns a reference to <code>this</code> for easy method chaining 4161 */ 4162 public ExampleScenarioProcessComponent setStep(List<ExampleScenarioProcessStepComponent> theStep) { 4163 this.step = theStep; 4164 return this; 4165 } 4166 4167 public boolean hasStep() { 4168 if (this.step == null) 4169 return false; 4170 for (ExampleScenarioProcessStepComponent item : this.step) 4171 if (!item.isEmpty()) 4172 return true; 4173 return false; 4174 } 4175 4176 public ExampleScenarioProcessStepComponent addStep() { //3 4177 ExampleScenarioProcessStepComponent t = new ExampleScenarioProcessStepComponent(); 4178 if (this.step == null) 4179 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 4180 this.step.add(t); 4181 return t; 4182 } 4183 4184 public ExampleScenarioProcessComponent addStep(ExampleScenarioProcessStepComponent t) { //3 4185 if (t == null) 4186 return this; 4187 if (this.step == null) 4188 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 4189 this.step.add(t); 4190 return this; 4191 } 4192 4193 /** 4194 * @return The first repetition of repeating field {@link #step}, creating it if it does not already exist 4195 */ 4196 public ExampleScenarioProcessStepComponent getStepFirstRep() { 4197 if (getStep().isEmpty()) { 4198 addStep(); 4199 } 4200 return getStep().get(0); 4201 } 4202 4203 protected void listChildren(List<Property> children) { 4204 super.listChildren(children); 4205 children.add(new Property("title", "string", "The diagram title of the group of operations.", 0, 1, title)); 4206 children.add(new Property("description", "markdown", "A longer description of the group of operations.", 0, 1, description)); 4207 children.add(new Property("preConditions", "markdown", "Description of initial status before the process starts.", 0, 1, preConditions)); 4208 children.add(new Property("postConditions", "markdown", "Description of final status after the process ends.", 0, 1, postConditions)); 4209 children.add(new Property("step", "", "Each step of the process.", 0, java.lang.Integer.MAX_VALUE, step)); 4210 } 4211 4212 @Override 4213 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4214 switch (_hash) { 4215 case 110371416: /*title*/ return new Property("title", "string", "The diagram title of the group of operations.", 0, 1, title); 4216 case -1724546052: /*description*/ return new Property("description", "markdown", "A longer description of the group of operations.", 0, 1, description); 4217 case -1006692933: /*preConditions*/ return new Property("preConditions", "markdown", "Description of initial status before the process starts.", 0, 1, preConditions); 4218 case 1738302328: /*postConditions*/ return new Property("postConditions", "markdown", "Description of final status after the process ends.", 0, 1, postConditions); 4219 case 3540684: /*step*/ return new Property("step", "", "Each step of the process.", 0, java.lang.Integer.MAX_VALUE, step); 4220 default: return super.getNamedProperty(_hash, _name, _checkValid); 4221 } 4222 4223 } 4224 4225 @Override 4226 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4227 switch (hash) { 4228 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 4229 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 4230 case -1006692933: /*preConditions*/ return this.preConditions == null ? new Base[0] : new Base[] {this.preConditions}; // MarkdownType 4231 case 1738302328: /*postConditions*/ return this.postConditions == null ? new Base[0] : new Base[] {this.postConditions}; // MarkdownType 4232 case 3540684: /*step*/ return this.step == null ? new Base[0] : this.step.toArray(new Base[this.step.size()]); // ExampleScenarioProcessStepComponent 4233 default: return super.getProperty(hash, name, checkValid); 4234 } 4235 4236 } 4237 4238 @Override 4239 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4240 switch (hash) { 4241 case 110371416: // title 4242 this.title = castToString(value); // StringType 4243 return value; 4244 case -1724546052: // description 4245 this.description = castToMarkdown(value); // MarkdownType 4246 return value; 4247 case -1006692933: // preConditions 4248 this.preConditions = castToMarkdown(value); // MarkdownType 4249 return value; 4250 case 1738302328: // postConditions 4251 this.postConditions = castToMarkdown(value); // MarkdownType 4252 return value; 4253 case 3540684: // step 4254 this.getStep().add((ExampleScenarioProcessStepComponent) value); // ExampleScenarioProcessStepComponent 4255 return value; 4256 default: return super.setProperty(hash, name, value); 4257 } 4258 4259 } 4260 4261 @Override 4262 public Base setProperty(String name, Base value) throws FHIRException { 4263 if (name.equals("title")) { 4264 this.title = castToString(value); // StringType 4265 } else if (name.equals("description")) { 4266 this.description = castToMarkdown(value); // MarkdownType 4267 } else if (name.equals("preConditions")) { 4268 this.preConditions = castToMarkdown(value); // MarkdownType 4269 } else if (name.equals("postConditions")) { 4270 this.postConditions = castToMarkdown(value); // MarkdownType 4271 } else if (name.equals("step")) { 4272 this.getStep().add((ExampleScenarioProcessStepComponent) value); 4273 } else 4274 return super.setProperty(name, value); 4275 return value; 4276 } 4277 4278 @Override 4279 public Base makeProperty(int hash, String name) throws FHIRException { 4280 switch (hash) { 4281 case 110371416: return getTitleElement(); 4282 case -1724546052: return getDescriptionElement(); 4283 case -1006692933: return getPreConditionsElement(); 4284 case 1738302328: return getPostConditionsElement(); 4285 case 3540684: return addStep(); 4286 default: return super.makeProperty(hash, name); 4287 } 4288 4289 } 4290 4291 @Override 4292 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4293 switch (hash) { 4294 case 110371416: /*title*/ return new String[] {"string"}; 4295 case -1724546052: /*description*/ return new String[] {"markdown"}; 4296 case -1006692933: /*preConditions*/ return new String[] {"markdown"}; 4297 case 1738302328: /*postConditions*/ return new String[] {"markdown"}; 4298 case 3540684: /*step*/ return new String[] {}; 4299 default: return super.getTypesForProperty(hash, name); 4300 } 4301 4302 } 4303 4304 @Override 4305 public Base addChild(String name) throws FHIRException { 4306 if (name.equals("title")) { 4307 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.title"); 4308 } 4309 else if (name.equals("description")) { 4310 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); 4311 } 4312 else if (name.equals("preConditions")) { 4313 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.preConditions"); 4314 } 4315 else if (name.equals("postConditions")) { 4316 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.postConditions"); 4317 } 4318 else if (name.equals("step")) { 4319 return addStep(); 4320 } 4321 else 4322 return super.addChild(name); 4323 } 4324 4325 public ExampleScenarioProcessComponent copy() { 4326 ExampleScenarioProcessComponent dst = new ExampleScenarioProcessComponent(); 4327 copyValues(dst); 4328 dst.title = title == null ? null : title.copy(); 4329 dst.description = description == null ? null : description.copy(); 4330 dst.preConditions = preConditions == null ? null : preConditions.copy(); 4331 dst.postConditions = postConditions == null ? null : postConditions.copy(); 4332 if (step != null) { 4333 dst.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 4334 for (ExampleScenarioProcessStepComponent i : step) 4335 dst.step.add(i.copy()); 4336 }; 4337 return dst; 4338 } 4339 4340 @Override 4341 public boolean equalsDeep(Base other_) { 4342 if (!super.equalsDeep(other_)) 4343 return false; 4344 if (!(other_ instanceof ExampleScenarioProcessComponent)) 4345 return false; 4346 ExampleScenarioProcessComponent o = (ExampleScenarioProcessComponent) other_; 4347 return compareDeep(title, o.title, true) && compareDeep(description, o.description, true) && compareDeep(preConditions, o.preConditions, true) 4348 && compareDeep(postConditions, o.postConditions, true) && compareDeep(step, o.step, true); 4349 } 4350 4351 @Override 4352 public boolean equalsShallow(Base other_) { 4353 if (!super.equalsShallow(other_)) 4354 return false; 4355 if (!(other_ instanceof ExampleScenarioProcessComponent)) 4356 return false; 4357 ExampleScenarioProcessComponent o = (ExampleScenarioProcessComponent) other_; 4358 return compareValues(title, o.title, true) && compareValues(description, o.description, true) && compareValues(preConditions, o.preConditions, true) 4359 && compareValues(postConditions, o.postConditions, true); 4360 } 4361 4362 public boolean isEmpty() { 4363 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(title, description, preConditions 4364 , postConditions, step); 4365 } 4366 4367 public String fhirType() { 4368 return "ExampleScenario.process"; 4369 4370 } 4371 4372 } 4373 4374 @Block() 4375 public static class ExampleScenarioProcessStepComponent extends BackboneElement implements IBaseBackboneElement { 4376 /** 4377 * Nested process. 4378 */ 4379 @Child(name = "process", type = {ExampleScenarioProcessComponent.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4380 @Description(shortDefinition="Nested process", formalDefinition="Nested process." ) 4381 protected List<ExampleScenarioProcessComponent> process; 4382 4383 /** 4384 * If there is a pause in the flow. 4385 */ 4386 @Child(name = "pause", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 4387 @Description(shortDefinition="If there is a pause in the flow", formalDefinition="If there is a pause in the flow." ) 4388 protected BooleanType pause; 4389 4390 /** 4391 * Each interaction or action. 4392 */ 4393 @Child(name = "operation", type = {}, order=3, min=0, max=1, modifier=false, summary=false) 4394 @Description(shortDefinition="Each interaction or action", formalDefinition="Each interaction or action." ) 4395 protected ExampleScenarioProcessStepOperationComponent operation; 4396 4397 /** 4398 * Each interaction in the workflow. 4399 */ 4400 @Child(name = "alternative", type = {}, order=4, min=0, max=1, modifier=false, summary=false) 4401 @Description(shortDefinition="Each interaction in the process", formalDefinition="Each interaction in the workflow." ) 4402 protected ExampleScenarioProcessStepAlternativeComponent alternative; 4403 4404 private static final long serialVersionUID = -939172007L; 4405 4406 /** 4407 * Constructor 4408 */ 4409 public ExampleScenarioProcessStepComponent() { 4410 super(); 4411 } 4412 4413 /** 4414 * @return {@link #process} (Nested process.) 4415 */ 4416 public List<ExampleScenarioProcessComponent> getProcess() { 4417 if (this.process == null) 4418 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 4419 return this.process; 4420 } 4421 4422 /** 4423 * @return Returns a reference to <code>this</code> for easy method chaining 4424 */ 4425 public ExampleScenarioProcessStepComponent setProcess(List<ExampleScenarioProcessComponent> theProcess) { 4426 this.process = theProcess; 4427 return this; 4428 } 4429 4430 public boolean hasProcess() { 4431 if (this.process == null) 4432 return false; 4433 for (ExampleScenarioProcessComponent item : this.process) 4434 if (!item.isEmpty()) 4435 return true; 4436 return false; 4437 } 4438 4439 public ExampleScenarioProcessComponent addProcess() { //3 4440 ExampleScenarioProcessComponent t = new ExampleScenarioProcessComponent(); 4441 if (this.process == null) 4442 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 4443 this.process.add(t); 4444 return t; 4445 } 4446 4447 public ExampleScenarioProcessStepComponent addProcess(ExampleScenarioProcessComponent t) { //3 4448 if (t == null) 4449 return this; 4450 if (this.process == null) 4451 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 4452 this.process.add(t); 4453 return this; 4454 } 4455 4456 /** 4457 * @return The first repetition of repeating field {@link #process}, creating it if it does not already exist 4458 */ 4459 public ExampleScenarioProcessComponent getProcessFirstRep() { 4460 if (getProcess().isEmpty()) { 4461 addProcess(); 4462 } 4463 return getProcess().get(0); 4464 } 4465 4466 /** 4467 * @return {@link #pause} (If there is a pause in the flow.). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value 4468 */ 4469 public BooleanType getPauseElement() { 4470 if (this.pause == null) 4471 if (Configuration.errorOnAutoCreate()) 4472 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.pause"); 4473 else if (Configuration.doAutoCreate()) 4474 this.pause = new BooleanType(); // bb 4475 return this.pause; 4476 } 4477 4478 public boolean hasPauseElement() { 4479 return this.pause != null && !this.pause.isEmpty(); 4480 } 4481 4482 public boolean hasPause() { 4483 return this.pause != null && !this.pause.isEmpty(); 4484 } 4485 4486 /** 4487 * @param value {@link #pause} (If there is a pause in the flow.). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value 4488 */ 4489 public ExampleScenarioProcessStepComponent setPauseElement(BooleanType value) { 4490 this.pause = value; 4491 return this; 4492 } 4493 4494 /** 4495 * @return If there is a pause in the flow. 4496 */ 4497 public boolean getPause() { 4498 return this.pause == null || this.pause.isEmpty() ? false : this.pause.getValue(); 4499 } 4500 4501 /** 4502 * @param value If there is a pause in the flow. 4503 */ 4504 public ExampleScenarioProcessStepComponent setPause(boolean value) { 4505 if (this.pause == null) 4506 this.pause = new BooleanType(); 4507 this.pause.setValue(value); 4508 return this; 4509 } 4510 4511 /** 4512 * @return {@link #operation} (Each interaction or action.) 4513 */ 4514 public ExampleScenarioProcessStepOperationComponent getOperation() { 4515 if (this.operation == null) 4516 if (Configuration.errorOnAutoCreate()) 4517 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.operation"); 4518 else if (Configuration.doAutoCreate()) 4519 this.operation = new ExampleScenarioProcessStepOperationComponent(); // cc 4520 return this.operation; 4521 } 4522 4523 public boolean hasOperation() { 4524 return this.operation != null && !this.operation.isEmpty(); 4525 } 4526 4527 /** 4528 * @param value {@link #operation} (Each interaction or action.) 4529 */ 4530 public ExampleScenarioProcessStepComponent setOperation(ExampleScenarioProcessStepOperationComponent value) { 4531 this.operation = value; 4532 return this; 4533 } 4534 4535 /** 4536 * @return {@link #alternative} (Each interaction in the workflow.) 4537 */ 4538 public ExampleScenarioProcessStepAlternativeComponent getAlternative() { 4539 if (this.alternative == null) 4540 if (Configuration.errorOnAutoCreate()) 4541 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.alternative"); 4542 else if (Configuration.doAutoCreate()) 4543 this.alternative = new ExampleScenarioProcessStepAlternativeComponent(); // cc 4544 return this.alternative; 4545 } 4546 4547 public boolean hasAlternative() { 4548 return this.alternative != null && !this.alternative.isEmpty(); 4549 } 4550 4551 /** 4552 * @param value {@link #alternative} (Each interaction in the workflow.) 4553 */ 4554 public ExampleScenarioProcessStepComponent setAlternative(ExampleScenarioProcessStepAlternativeComponent value) { 4555 this.alternative = value; 4556 return this; 4557 } 4558 4559 protected void listChildren(List<Property> children) { 4560 super.listChildren(children); 4561 children.add(new Property("process", "@ExampleScenario.process", "Nested process.", 0, java.lang.Integer.MAX_VALUE, process)); 4562 children.add(new Property("pause", "boolean", "If there is a pause in the flow.", 0, 1, pause)); 4563 children.add(new Property("operation", "", "Each interaction or action.", 0, 1, operation)); 4564 children.add(new Property("alternative", "", "Each interaction in the workflow.", 0, 1, alternative)); 4565 } 4566 4567 @Override 4568 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4569 switch (_hash) { 4570 case -309518737: /*process*/ return new Property("process", "@ExampleScenario.process", "Nested process.", 0, java.lang.Integer.MAX_VALUE, process); 4571 case 106440182: /*pause*/ return new Property("pause", "boolean", "If there is a pause in the flow.", 0, 1, pause); 4572 case 1662702951: /*operation*/ return new Property("operation", "", "Each interaction or action.", 0, 1, operation); 4573 case -196794451: /*alternative*/ return new Property("alternative", "", "Each interaction in the workflow.", 0, 1, alternative); 4574 default: return super.getNamedProperty(_hash, _name, _checkValid); 4575 } 4576 4577 } 4578 4579 @Override 4580 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4581 switch (hash) { 4582 case -309518737: /*process*/ return this.process == null ? new Base[0] : this.process.toArray(new Base[this.process.size()]); // ExampleScenarioProcessComponent 4583 case 106440182: /*pause*/ return this.pause == null ? new Base[0] : new Base[] {this.pause}; // BooleanType 4584 case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : new Base[] {this.operation}; // ExampleScenarioProcessStepOperationComponent 4585 case -196794451: /*alternative*/ return this.alternative == null ? new Base[0] : new Base[] {this.alternative}; // ExampleScenarioProcessStepAlternativeComponent 4586 default: return super.getProperty(hash, name, checkValid); 4587 } 4588 4589 } 4590 4591 @Override 4592 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4593 switch (hash) { 4594 case -309518737: // process 4595 this.getProcess().add((ExampleScenarioProcessComponent) value); // ExampleScenarioProcessComponent 4596 return value; 4597 case 106440182: // pause 4598 this.pause = castToBoolean(value); // BooleanType 4599 return value; 4600 case 1662702951: // operation 4601 this.operation = (ExampleScenarioProcessStepOperationComponent) value; // ExampleScenarioProcessStepOperationComponent 4602 return value; 4603 case -196794451: // alternative 4604 this.alternative = (ExampleScenarioProcessStepAlternativeComponent) value; // ExampleScenarioProcessStepAlternativeComponent 4605 return value; 4606 default: return super.setProperty(hash, name, value); 4607 } 4608 4609 } 4610 4611 @Override 4612 public Base setProperty(String name, Base value) throws FHIRException { 4613 if (name.equals("process")) { 4614 this.getProcess().add((ExampleScenarioProcessComponent) value); 4615 } else if (name.equals("pause")) { 4616 this.pause = castToBoolean(value); // BooleanType 4617 } else if (name.equals("operation")) { 4618 this.operation = (ExampleScenarioProcessStepOperationComponent) value; // ExampleScenarioProcessStepOperationComponent 4619 } else if (name.equals("alternative")) { 4620 this.alternative = (ExampleScenarioProcessStepAlternativeComponent) value; // ExampleScenarioProcessStepAlternativeComponent 4621 } else 4622 return super.setProperty(name, value); 4623 return value; 4624 } 4625 4626 @Override 4627 public Base makeProperty(int hash, String name) throws FHIRException { 4628 switch (hash) { 4629 case -309518737: return addProcess(); 4630 case 106440182: return getPauseElement(); 4631 case 1662702951: return getOperation(); 4632 case -196794451: return getAlternative(); 4633 default: return super.makeProperty(hash, name); 4634 } 4635 4636 } 4637 4638 @Override 4639 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4640 switch (hash) { 4641 case -309518737: /*process*/ return new String[] {"@ExampleScenario.process"}; 4642 case 106440182: /*pause*/ return new String[] {"boolean"}; 4643 case 1662702951: /*operation*/ return new String[] {}; 4644 case -196794451: /*alternative*/ return new String[] {}; 4645 default: return super.getTypesForProperty(hash, name); 4646 } 4647 4648 } 4649 4650 @Override 4651 public Base addChild(String name) throws FHIRException { 4652 if (name.equals("process")) { 4653 return addProcess(); 4654 } 4655 else if (name.equals("pause")) { 4656 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.pause"); 4657 } 4658 else if (name.equals("operation")) { 4659 this.operation = new ExampleScenarioProcessStepOperationComponent(); 4660 return this.operation; 4661 } 4662 else if (name.equals("alternative")) { 4663 this.alternative = new ExampleScenarioProcessStepAlternativeComponent(); 4664 return this.alternative; 4665 } 4666 else 4667 return super.addChild(name); 4668 } 4669 4670 public ExampleScenarioProcessStepComponent copy() { 4671 ExampleScenarioProcessStepComponent dst = new ExampleScenarioProcessStepComponent(); 4672 copyValues(dst); 4673 if (process != null) { 4674 dst.process = new ArrayList<ExampleScenarioProcessComponent>(); 4675 for (ExampleScenarioProcessComponent i : process) 4676 dst.process.add(i.copy()); 4677 }; 4678 dst.pause = pause == null ? null : pause.copy(); 4679 dst.operation = operation == null ? null : operation.copy(); 4680 dst.alternative = alternative == null ? null : alternative.copy(); 4681 return dst; 4682 } 4683 4684 @Override 4685 public boolean equalsDeep(Base other_) { 4686 if (!super.equalsDeep(other_)) 4687 return false; 4688 if (!(other_ instanceof ExampleScenarioProcessStepComponent)) 4689 return false; 4690 ExampleScenarioProcessStepComponent o = (ExampleScenarioProcessStepComponent) other_; 4691 return compareDeep(process, o.process, true) && compareDeep(pause, o.pause, true) && compareDeep(operation, o.operation, true) 4692 && compareDeep(alternative, o.alternative, true); 4693 } 4694 4695 @Override 4696 public boolean equalsShallow(Base other_) { 4697 if (!super.equalsShallow(other_)) 4698 return false; 4699 if (!(other_ instanceof ExampleScenarioProcessStepComponent)) 4700 return false; 4701 ExampleScenarioProcessStepComponent o = (ExampleScenarioProcessStepComponent) other_; 4702 return compareValues(pause, o.pause, true); 4703 } 4704 4705 public boolean isEmpty() { 4706 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(process, pause, operation 4707 , alternative); 4708 } 4709 4710 public String fhirType() { 4711 return "ExampleScenario.process.step"; 4712 4713 } 4714 4715 } 4716 4717 @Block() 4718 public static class ExampleScenarioProcessStepOperationComponent extends BackboneElement implements IBaseBackboneElement { 4719 /** 4720 * The sequential number of the interaction. 4721 */ 4722 @Child(name = "number", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 4723 @Description(shortDefinition="The sequential number of the interaction", formalDefinition="The sequential number of the interaction." ) 4724 protected StringType number; 4725 4726 /** 4727 * The type of operation - CRUD. 4728 */ 4729 @Child(name = "type", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 4730 @Description(shortDefinition="The type of operation - CRUD", formalDefinition="The type of operation - CRUD." ) 4731 protected StringType type; 4732 4733 /** 4734 * The human-friendly name of the interaction. 4735 */ 4736 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 4737 @Description(shortDefinition="The human-friendly name of the interaction", formalDefinition="The human-friendly name of the interaction." ) 4738 protected StringType name; 4739 4740 /** 4741 * Who starts the transaction. 4742 */ 4743 @Child(name = "initiator", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 4744 @Description(shortDefinition="Who starts the transaction", formalDefinition="Who starts the transaction." ) 4745 protected StringType initiator; 4746 4747 /** 4748 * Who receives the transaction. 4749 */ 4750 @Child(name = "receiver", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 4751 @Description(shortDefinition="Who receives the transaction", formalDefinition="Who receives the transaction." ) 4752 protected StringType receiver; 4753 4754 /** 4755 * A comment to be inserted in the diagram. 4756 */ 4757 @Child(name = "description", type = {MarkdownType.class}, order=6, min=0, max=1, modifier=false, summary=false) 4758 @Description(shortDefinition="A comment to be inserted in the diagram", formalDefinition="A comment to be inserted in the diagram." ) 4759 protected MarkdownType description; 4760 4761 /** 4762 * Whether the initiator is deactivated right after the transaction. 4763 */ 4764 @Child(name = "initiatorActive", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=false) 4765 @Description(shortDefinition="Whether the initiator is deactivated right after the transaction", formalDefinition="Whether the initiator is deactivated right after the transaction." ) 4766 protected BooleanType initiatorActive; 4767 4768 /** 4769 * Whether the receiver is deactivated right after the transaction. 4770 */ 4771 @Child(name = "receiverActive", type = {BooleanType.class}, order=8, min=0, max=1, modifier=false, summary=false) 4772 @Description(shortDefinition="Whether the receiver is deactivated right after the transaction", formalDefinition="Whether the receiver is deactivated right after the transaction." ) 4773 protected BooleanType receiverActive; 4774 4775 /** 4776 * Each resource instance used by the initiator. 4777 */ 4778 @Child(name = "request", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=9, min=0, max=1, modifier=false, summary=false) 4779 @Description(shortDefinition="Each resource instance used by the initiator", formalDefinition="Each resource instance used by the initiator." ) 4780 protected ExampleScenarioInstanceContainedInstanceComponent request; 4781 4782 /** 4783 * Each resource instance used by the responder. 4784 */ 4785 @Child(name = "response", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=10, min=0, max=1, modifier=false, summary=false) 4786 @Description(shortDefinition="Each resource instance used by the responder", formalDefinition="Each resource instance used by the responder." ) 4787 protected ExampleScenarioInstanceContainedInstanceComponent response; 4788 4789 private static final long serialVersionUID = 911241906L; 4790 4791 /** 4792 * Constructor 4793 */ 4794 public ExampleScenarioProcessStepOperationComponent() { 4795 super(); 4796 } 4797 4798 /** 4799 * Constructor 4800 */ 4801 public ExampleScenarioProcessStepOperationComponent(StringType number) { 4802 super(); 4803 this.number = number; 4804 } 4805 4806 /** 4807 * @return {@link #number} (The sequential number of the interaction.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 4808 */ 4809 public StringType getNumberElement() { 4810 if (this.number == null) 4811 if (Configuration.errorOnAutoCreate()) 4812 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.number"); 4813 else if (Configuration.doAutoCreate()) 4814 this.number = new StringType(); // bb 4815 return this.number; 4816 } 4817 4818 public boolean hasNumberElement() { 4819 return this.number != null && !this.number.isEmpty(); 4820 } 4821 4822 public boolean hasNumber() { 4823 return this.number != null && !this.number.isEmpty(); 4824 } 4825 4826 /** 4827 * @param value {@link #number} (The sequential number of the interaction.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 4828 */ 4829 public ExampleScenarioProcessStepOperationComponent setNumberElement(StringType value) { 4830 this.number = value; 4831 return this; 4832 } 4833 4834 /** 4835 * @return The sequential number of the interaction. 4836 */ 4837 public String getNumber() { 4838 return this.number == null ? null : this.number.getValue(); 4839 } 4840 4841 /** 4842 * @param value The sequential number of the interaction. 4843 */ 4844 public ExampleScenarioProcessStepOperationComponent setNumber(String value) { 4845 if (this.number == null) 4846 this.number = new StringType(); 4847 this.number.setValue(value); 4848 return this; 4849 } 4850 4851 /** 4852 * @return {@link #type} (The type of operation - CRUD.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 4853 */ 4854 public StringType getTypeElement() { 4855 if (this.type == null) 4856 if (Configuration.errorOnAutoCreate()) 4857 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.type"); 4858 else if (Configuration.doAutoCreate()) 4859 this.type = new StringType(); // bb 4860 return this.type; 4861 } 4862 4863 public boolean hasTypeElement() { 4864 return this.type != null && !this.type.isEmpty(); 4865 } 4866 4867 public boolean hasType() { 4868 return this.type != null && !this.type.isEmpty(); 4869 } 4870 4871 /** 4872 * @param value {@link #type} (The type of operation - CRUD.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 4873 */ 4874 public ExampleScenarioProcessStepOperationComponent setTypeElement(StringType value) { 4875 this.type = value; 4876 return this; 4877 } 4878 4879 /** 4880 * @return The type of operation - CRUD. 4881 */ 4882 public String getType() { 4883 return this.type == null ? null : this.type.getValue(); 4884 } 4885 4886 /** 4887 * @param value The type of operation - CRUD. 4888 */ 4889 public ExampleScenarioProcessStepOperationComponent setType(String value) { 4890 if (Utilities.noString(value)) 4891 this.type = null; 4892 else { 4893 if (this.type == null) 4894 this.type = new StringType(); 4895 this.type.setValue(value); 4896 } 4897 return this; 4898 } 4899 4900 /** 4901 * @return {@link #name} (The human-friendly name of the interaction.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 4902 */ 4903 public StringType getNameElement() { 4904 if (this.name == null) 4905 if (Configuration.errorOnAutoCreate()) 4906 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.name"); 4907 else if (Configuration.doAutoCreate()) 4908 this.name = new StringType(); // bb 4909 return this.name; 4910 } 4911 4912 public boolean hasNameElement() { 4913 return this.name != null && !this.name.isEmpty(); 4914 } 4915 4916 public boolean hasName() { 4917 return this.name != null && !this.name.isEmpty(); 4918 } 4919 4920 /** 4921 * @param value {@link #name} (The human-friendly name of the interaction.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 4922 */ 4923 public ExampleScenarioProcessStepOperationComponent setNameElement(StringType value) { 4924 this.name = value; 4925 return this; 4926 } 4927 4928 /** 4929 * @return The human-friendly name of the interaction. 4930 */ 4931 public String getName() { 4932 return this.name == null ? null : this.name.getValue(); 4933 } 4934 4935 /** 4936 * @param value The human-friendly name of the interaction. 4937 */ 4938 public ExampleScenarioProcessStepOperationComponent setName(String value) { 4939 if (Utilities.noString(value)) 4940 this.name = null; 4941 else { 4942 if (this.name == null) 4943 this.name = new StringType(); 4944 this.name.setValue(value); 4945 } 4946 return this; 4947 } 4948 4949 /** 4950 * @return {@link #initiator} (Who starts the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value 4951 */ 4952 public StringType getInitiatorElement() { 4953 if (this.initiator == null) 4954 if (Configuration.errorOnAutoCreate()) 4955 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.initiator"); 4956 else if (Configuration.doAutoCreate()) 4957 this.initiator = new StringType(); // bb 4958 return this.initiator; 4959 } 4960 4961 public boolean hasInitiatorElement() { 4962 return this.initiator != null && !this.initiator.isEmpty(); 4963 } 4964 4965 public boolean hasInitiator() { 4966 return this.initiator != null && !this.initiator.isEmpty(); 4967 } 4968 4969 /** 4970 * @param value {@link #initiator} (Who starts the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value 4971 */ 4972 public ExampleScenarioProcessStepOperationComponent setInitiatorElement(StringType value) { 4973 this.initiator = value; 4974 return this; 4975 } 4976 4977 /** 4978 * @return Who starts the transaction. 4979 */ 4980 public String getInitiator() { 4981 return this.initiator == null ? null : this.initiator.getValue(); 4982 } 4983 4984 /** 4985 * @param value Who starts the transaction. 4986 */ 4987 public ExampleScenarioProcessStepOperationComponent setInitiator(String value) { 4988 if (Utilities.noString(value)) 4989 this.initiator = null; 4990 else { 4991 if (this.initiator == null) 4992 this.initiator = new StringType(); 4993 this.initiator.setValue(value); 4994 } 4995 return this; 4996 } 4997 4998 /** 4999 * @return {@link #receiver} (Who receives the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value 5000 */ 5001 public StringType getReceiverElement() { 5002 if (this.receiver == null) 5003 if (Configuration.errorOnAutoCreate()) 5004 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.receiver"); 5005 else if (Configuration.doAutoCreate()) 5006 this.receiver = new StringType(); // bb 5007 return this.receiver; 5008 } 5009 5010 public boolean hasReceiverElement() { 5011 return this.receiver != null && !this.receiver.isEmpty(); 5012 } 5013 5014 public boolean hasReceiver() { 5015 return this.receiver != null && !this.receiver.isEmpty(); 5016 } 5017 5018 /** 5019 * @param value {@link #receiver} (Who receives the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value 5020 */ 5021 public ExampleScenarioProcessStepOperationComponent setReceiverElement(StringType value) { 5022 this.receiver = value; 5023 return this; 5024 } 5025 5026 /** 5027 * @return Who receives the transaction. 5028 */ 5029 public String getReceiver() { 5030 return this.receiver == null ? null : this.receiver.getValue(); 5031 } 5032 5033 /** 5034 * @param value Who receives the transaction. 5035 */ 5036 public ExampleScenarioProcessStepOperationComponent setReceiver(String value) { 5037 if (Utilities.noString(value)) 5038 this.receiver = null; 5039 else { 5040 if (this.receiver == null) 5041 this.receiver = new StringType(); 5042 this.receiver.setValue(value); 5043 } 5044 return this; 5045 } 5046 5047 /** 5048 * @return {@link #description} (A comment to be inserted in the diagram.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5049 */ 5050 public MarkdownType getDescriptionElement() { 5051 if (this.description == null) 5052 if (Configuration.errorOnAutoCreate()) 5053 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.description"); 5054 else if (Configuration.doAutoCreate()) 5055 this.description = new MarkdownType(); // bb 5056 return this.description; 5057 } 5058 5059 public boolean hasDescriptionElement() { 5060 return this.description != null && !this.description.isEmpty(); 5061 } 5062 5063 public boolean hasDescription() { 5064 return this.description != null && !this.description.isEmpty(); 5065 } 5066 5067 /** 5068 * @param value {@link #description} (A comment to be inserted in the diagram.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5069 */ 5070 public ExampleScenarioProcessStepOperationComponent setDescriptionElement(MarkdownType value) { 5071 this.description = value; 5072 return this; 5073 } 5074 5075 /** 5076 * @return A comment to be inserted in the diagram. 5077 */ 5078 public String getDescription() { 5079 return this.description == null ? null : this.description.getValue(); 5080 } 5081 5082 /** 5083 * @param value A comment to be inserted in the diagram. 5084 */ 5085 public ExampleScenarioProcessStepOperationComponent setDescription(String value) { 5086 if (value == null) 5087 this.description = null; 5088 else { 5089 if (this.description == null) 5090 this.description = new MarkdownType(); 5091 this.description.setValue(value); 5092 } 5093 return this; 5094 } 5095 5096 /** 5097 * @return {@link #initiatorActive} (Whether the initiator is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value 5098 */ 5099 public BooleanType getInitiatorActiveElement() { 5100 if (this.initiatorActive == null) 5101 if (Configuration.errorOnAutoCreate()) 5102 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.initiatorActive"); 5103 else if (Configuration.doAutoCreate()) 5104 this.initiatorActive = new BooleanType(); // bb 5105 return this.initiatorActive; 5106 } 5107 5108 public boolean hasInitiatorActiveElement() { 5109 return this.initiatorActive != null && !this.initiatorActive.isEmpty(); 5110 } 5111 5112 public boolean hasInitiatorActive() { 5113 return this.initiatorActive != null && !this.initiatorActive.isEmpty(); 5114 } 5115 5116 /** 5117 * @param value {@link #initiatorActive} (Whether the initiator is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value 5118 */ 5119 public ExampleScenarioProcessStepOperationComponent setInitiatorActiveElement(BooleanType value) { 5120 this.initiatorActive = value; 5121 return this; 5122 } 5123 5124 /** 5125 * @return Whether the initiator is deactivated right after the transaction. 5126 */ 5127 public boolean getInitiatorActive() { 5128 return this.initiatorActive == null || this.initiatorActive.isEmpty() ? false : this.initiatorActive.getValue(); 5129 } 5130 5131 /** 5132 * @param value Whether the initiator is deactivated right after the transaction. 5133 */ 5134 public ExampleScenarioProcessStepOperationComponent setInitiatorActive(boolean value) { 5135 if (this.initiatorActive == null) 5136 this.initiatorActive = new BooleanType(); 5137 this.initiatorActive.setValue(value); 5138 return this; 5139 } 5140 5141 /** 5142 * @return {@link #receiverActive} (Whether the receiver is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value 5143 */ 5144 public BooleanType getReceiverActiveElement() { 5145 if (this.receiverActive == null) 5146 if (Configuration.errorOnAutoCreate()) 5147 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.receiverActive"); 5148 else if (Configuration.doAutoCreate()) 5149 this.receiverActive = new BooleanType(); // bb 5150 return this.receiverActive; 5151 } 5152 5153 public boolean hasReceiverActiveElement() { 5154 return this.receiverActive != null && !this.receiverActive.isEmpty(); 5155 } 5156 5157 public boolean hasReceiverActive() { 5158 return this.receiverActive != null && !this.receiverActive.isEmpty(); 5159 } 5160 5161 /** 5162 * @param value {@link #receiverActive} (Whether the receiver is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value 5163 */ 5164 public ExampleScenarioProcessStepOperationComponent setReceiverActiveElement(BooleanType value) { 5165 this.receiverActive = value; 5166 return this; 5167 } 5168 5169 /** 5170 * @return Whether the receiver is deactivated right after the transaction. 5171 */ 5172 public boolean getReceiverActive() { 5173 return this.receiverActive == null || this.receiverActive.isEmpty() ? false : this.receiverActive.getValue(); 5174 } 5175 5176 /** 5177 * @param value Whether the receiver is deactivated right after the transaction. 5178 */ 5179 public ExampleScenarioProcessStepOperationComponent setReceiverActive(boolean value) { 5180 if (this.receiverActive == null) 5181 this.receiverActive = new BooleanType(); 5182 this.receiverActive.setValue(value); 5183 return this; 5184 } 5185 5186 /** 5187 * @return {@link #request} (Each resource instance used by the initiator.) 5188 */ 5189 public ExampleScenarioInstanceContainedInstanceComponent getRequest() { 5190 if (this.request == null) 5191 if (Configuration.errorOnAutoCreate()) 5192 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.request"); 5193 else if (Configuration.doAutoCreate()) 5194 this.request = new ExampleScenarioInstanceContainedInstanceComponent(); // cc 5195 return this.request; 5196 } 5197 5198 public boolean hasRequest() { 5199 return this.request != null && !this.request.isEmpty(); 5200 } 5201 5202 /** 5203 * @param value {@link #request} (Each resource instance used by the initiator.) 5204 */ 5205 public ExampleScenarioProcessStepOperationComponent setRequest(ExampleScenarioInstanceContainedInstanceComponent value) { 5206 this.request = value; 5207 return this; 5208 } 5209 5210 /** 5211 * @return {@link #response} (Each resource instance used by the responder.) 5212 */ 5213 public ExampleScenarioInstanceContainedInstanceComponent getResponse() { 5214 if (this.response == null) 5215 if (Configuration.errorOnAutoCreate()) 5216 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.response"); 5217 else if (Configuration.doAutoCreate()) 5218 this.response = new ExampleScenarioInstanceContainedInstanceComponent(); // cc 5219 return this.response; 5220 } 5221 5222 public boolean hasResponse() { 5223 return this.response != null && !this.response.isEmpty(); 5224 } 5225 5226 /** 5227 * @param value {@link #response} (Each resource instance used by the responder.) 5228 */ 5229 public ExampleScenarioProcessStepOperationComponent setResponse(ExampleScenarioInstanceContainedInstanceComponent value) { 5230 this.response = value; 5231 return this; 5232 } 5233 5234 protected void listChildren(List<Property> children) { 5235 super.listChildren(children); 5236 children.add(new Property("number", "string", "The sequential number of the interaction.", 0, 1, number)); 5237 children.add(new Property("type", "string", "The type of operation - CRUD.", 0, 1, type)); 5238 children.add(new Property("name", "string", "The human-friendly name of the interaction.", 0, 1, name)); 5239 children.add(new Property("initiator", "string", "Who starts the transaction.", 0, 1, initiator)); 5240 children.add(new Property("receiver", "string", "Who receives the transaction.", 0, 1, receiver)); 5241 children.add(new Property("description", "markdown", "A comment to be inserted in the diagram.", 0, 1, description)); 5242 children.add(new Property("initiatorActive", "boolean", "Whether the initiator is deactivated right after the transaction.", 0, 1, initiatorActive)); 5243 children.add(new Property("receiverActive", "boolean", "Whether the receiver is deactivated right after the transaction.", 0, 1, receiverActive)); 5244 children.add(new Property("request", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the initiator.", 0, 1, request)); 5245 children.add(new Property("response", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the responder.", 0, 1, response)); 5246 } 5247 5248 @Override 5249 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5250 switch (_hash) { 5251 case -1034364087: /*number*/ return new Property("number", "string", "The sequential number of the interaction.", 0, 1, number); 5252 case 3575610: /*type*/ return new Property("type", "string", "The type of operation - CRUD.", 0, 1, type); 5253 case 3373707: /*name*/ return new Property("name", "string", "The human-friendly name of the interaction.", 0, 1, name); 5254 case -248987089: /*initiator*/ return new Property("initiator", "string", "Who starts the transaction.", 0, 1, initiator); 5255 case -808719889: /*receiver*/ return new Property("receiver", "string", "Who receives the transaction.", 0, 1, receiver); 5256 case -1724546052: /*description*/ return new Property("description", "markdown", "A comment to be inserted in the diagram.", 0, 1, description); 5257 case 384339477: /*initiatorActive*/ return new Property("initiatorActive", "boolean", "Whether the initiator is deactivated right after the transaction.", 0, 1, initiatorActive); 5258 case -285284907: /*receiverActive*/ return new Property("receiverActive", "boolean", "Whether the receiver is deactivated right after the transaction.", 0, 1, receiverActive); 5259 case 1095692943: /*request*/ return new Property("request", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the initiator.", 0, 1, request); 5260 case -340323263: /*response*/ return new Property("response", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the responder.", 0, 1, response); 5261 default: return super.getNamedProperty(_hash, _name, _checkValid); 5262 } 5263 5264 } 5265 5266 @Override 5267 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5268 switch (hash) { 5269 case -1034364087: /*number*/ return this.number == null ? new Base[0] : new Base[] {this.number}; // StringType 5270 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // StringType 5271 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 5272 case -248987089: /*initiator*/ return this.initiator == null ? new Base[0] : new Base[] {this.initiator}; // StringType 5273 case -808719889: /*receiver*/ return this.receiver == null ? new Base[0] : new Base[] {this.receiver}; // StringType 5274 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 5275 case 384339477: /*initiatorActive*/ return this.initiatorActive == null ? new Base[0] : new Base[] {this.initiatorActive}; // BooleanType 5276 case -285284907: /*receiverActive*/ return this.receiverActive == null ? new Base[0] : new Base[] {this.receiverActive}; // BooleanType 5277 case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // ExampleScenarioInstanceContainedInstanceComponent 5278 case -340323263: /*response*/ return this.response == null ? new Base[0] : new Base[] {this.response}; // ExampleScenarioInstanceContainedInstanceComponent 5279 default: return super.getProperty(hash, name, checkValid); 5280 } 5281 5282 } 5283 5284 @Override 5285 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5286 switch (hash) { 5287 case -1034364087: // number 5288 this.number = castToString(value); // StringType 5289 return value; 5290 case 3575610: // type 5291 this.type = castToString(value); // StringType 5292 return value; 5293 case 3373707: // name 5294 this.name = castToString(value); // StringType 5295 return value; 5296 case -248987089: // initiator 5297 this.initiator = castToString(value); // StringType 5298 return value; 5299 case -808719889: // receiver 5300 this.receiver = castToString(value); // StringType 5301 return value; 5302 case -1724546052: // description 5303 this.description = castToMarkdown(value); // MarkdownType 5304 return value; 5305 case 384339477: // initiatorActive 5306 this.initiatorActive = castToBoolean(value); // BooleanType 5307 return value; 5308 case -285284907: // receiverActive 5309 this.receiverActive = castToBoolean(value); // BooleanType 5310 return value; 5311 case 1095692943: // request 5312 this.request = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 5313 return value; 5314 case -340323263: // response 5315 this.response = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 5316 return value; 5317 default: return super.setProperty(hash, name, value); 5318 } 5319 5320 } 5321 5322 @Override 5323 public Base setProperty(String name, Base value) throws FHIRException { 5324 if (name.equals("number")) { 5325 this.number = castToString(value); // StringType 5326 } else if (name.equals("type")) { 5327 this.type = castToString(value); // StringType 5328 } else if (name.equals("name")) { 5329 this.name = castToString(value); // StringType 5330 } else if (name.equals("initiator")) { 5331 this.initiator = castToString(value); // StringType 5332 } else if (name.equals("receiver")) { 5333 this.receiver = castToString(value); // StringType 5334 } else if (name.equals("description")) { 5335 this.description = castToMarkdown(value); // MarkdownType 5336 } else if (name.equals("initiatorActive")) { 5337 this.initiatorActive = castToBoolean(value); // BooleanType 5338 } else if (name.equals("receiverActive")) { 5339 this.receiverActive = castToBoolean(value); // BooleanType 5340 } else if (name.equals("request")) { 5341 this.request = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 5342 } else if (name.equals("response")) { 5343 this.response = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 5344 } else 5345 return super.setProperty(name, value); 5346 return value; 5347 } 5348 5349 @Override 5350 public Base makeProperty(int hash, String name) throws FHIRException { 5351 switch (hash) { 5352 case -1034364087: return getNumberElement(); 5353 case 3575610: return getTypeElement(); 5354 case 3373707: return getNameElement(); 5355 case -248987089: return getInitiatorElement(); 5356 case -808719889: return getReceiverElement(); 5357 case -1724546052: return getDescriptionElement(); 5358 case 384339477: return getInitiatorActiveElement(); 5359 case -285284907: return getReceiverActiveElement(); 5360 case 1095692943: return getRequest(); 5361 case -340323263: return getResponse(); 5362 default: return super.makeProperty(hash, name); 5363 } 5364 5365 } 5366 5367 @Override 5368 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5369 switch (hash) { 5370 case -1034364087: /*number*/ return new String[] {"string"}; 5371 case 3575610: /*type*/ return new String[] {"string"}; 5372 case 3373707: /*name*/ return new String[] {"string"}; 5373 case -248987089: /*initiator*/ return new String[] {"string"}; 5374 case -808719889: /*receiver*/ return new String[] {"string"}; 5375 case -1724546052: /*description*/ return new String[] {"markdown"}; 5376 case 384339477: /*initiatorActive*/ return new String[] {"boolean"}; 5377 case -285284907: /*receiverActive*/ return new String[] {"boolean"}; 5378 case 1095692943: /*request*/ return new String[] {"@ExampleScenario.instance.containedInstance"}; 5379 case -340323263: /*response*/ return new String[] {"@ExampleScenario.instance.containedInstance"}; 5380 default: return super.getTypesForProperty(hash, name); 5381 } 5382 5383 } 5384 5385 @Override 5386 public Base addChild(String name) throws FHIRException { 5387 if (name.equals("number")) { 5388 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.number"); 5389 } 5390 else if (name.equals("type")) { 5391 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.type"); 5392 } 5393 else if (name.equals("name")) { 5394 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.name"); 5395 } 5396 else if (name.equals("initiator")) { 5397 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.initiator"); 5398 } 5399 else if (name.equals("receiver")) { 5400 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.receiver"); 5401 } 5402 else if (name.equals("description")) { 5403 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); 5404 } 5405 else if (name.equals("initiatorActive")) { 5406 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.initiatorActive"); 5407 } 5408 else if (name.equals("receiverActive")) { 5409 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.receiverActive"); 5410 } 5411 else if (name.equals("request")) { 5412 this.request = new ExampleScenarioInstanceContainedInstanceComponent(); 5413 return this.request; 5414 } 5415 else if (name.equals("response")) { 5416 this.response = new ExampleScenarioInstanceContainedInstanceComponent(); 5417 return this.response; 5418 } 5419 else 5420 return super.addChild(name); 5421 } 5422 5423 public ExampleScenarioProcessStepOperationComponent copy() { 5424 ExampleScenarioProcessStepOperationComponent dst = new ExampleScenarioProcessStepOperationComponent(); 5425 copyValues(dst); 5426 dst.number = number == null ? null : number.copy(); 5427 dst.type = type == null ? null : type.copy(); 5428 dst.name = name == null ? null : name.copy(); 5429 dst.initiator = initiator == null ? null : initiator.copy(); 5430 dst.receiver = receiver == null ? null : receiver.copy(); 5431 dst.description = description == null ? null : description.copy(); 5432 dst.initiatorActive = initiatorActive == null ? null : initiatorActive.copy(); 5433 dst.receiverActive = receiverActive == null ? null : receiverActive.copy(); 5434 dst.request = request == null ? null : request.copy(); 5435 dst.response = response == null ? null : response.copy(); 5436 return dst; 5437 } 5438 5439 @Override 5440 public boolean equalsDeep(Base other_) { 5441 if (!super.equalsDeep(other_)) 5442 return false; 5443 if (!(other_ instanceof ExampleScenarioProcessStepOperationComponent)) 5444 return false; 5445 ExampleScenarioProcessStepOperationComponent o = (ExampleScenarioProcessStepOperationComponent) other_; 5446 return compareDeep(number, o.number, true) && compareDeep(type, o.type, true) && compareDeep(name, o.name, true) 5447 && compareDeep(initiator, o.initiator, true) && compareDeep(receiver, o.receiver, true) && compareDeep(description, o.description, true) 5448 && compareDeep(initiatorActive, o.initiatorActive, true) && compareDeep(receiverActive, o.receiverActive, true) 5449 && compareDeep(request, o.request, true) && compareDeep(response, o.response, true); 5450 } 5451 5452 @Override 5453 public boolean equalsShallow(Base other_) { 5454 if (!super.equalsShallow(other_)) 5455 return false; 5456 if (!(other_ instanceof ExampleScenarioProcessStepOperationComponent)) 5457 return false; 5458 ExampleScenarioProcessStepOperationComponent o = (ExampleScenarioProcessStepOperationComponent) other_; 5459 return compareValues(number, o.number, true) && compareValues(type, o.type, true) && compareValues(name, o.name, true) 5460 && compareValues(initiator, o.initiator, true) && compareValues(receiver, o.receiver, true) && compareValues(description, o.description, true) 5461 && compareValues(initiatorActive, o.initiatorActive, true) && compareValues(receiverActive, o.receiverActive, true) 5462 ; 5463 } 5464 5465 public boolean isEmpty() { 5466 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(number, type, name, initiator 5467 , receiver, description, initiatorActive, receiverActive, request, response); 5468 } 5469 5470 public String fhirType() { 5471 return "ExampleScenario.process.step.operation"; 5472 5473 } 5474 5475 } 5476 5477 @Block() 5478 public static class ExampleScenarioProcessStepAlternativeComponent extends BackboneElement implements IBaseBackboneElement { 5479 /** 5480 * The name of each alternative. 5481 */ 5482 @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 5483 @Description(shortDefinition="The name of each alternative", formalDefinition="The name of each alternative." ) 5484 protected StringType name; 5485 5486 /** 5487 * Each of the possible options in an alternative. 5488 */ 5489 @Child(name = "option", type = {}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5490 @Description(shortDefinition="Each of the possible options in an alternative", formalDefinition="Each of the possible options in an alternative." ) 5491 protected List<ExampleScenarioProcessStepAlternativeOptionComponent> option; 5492 5493 private static final long serialVersionUID = 379920547L; 5494 5495 /** 5496 * Constructor 5497 */ 5498 public ExampleScenarioProcessStepAlternativeComponent() { 5499 super(); 5500 } 5501 5502 /** 5503 * @return {@link #name} (The name of each alternative.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 5504 */ 5505 public StringType getNameElement() { 5506 if (this.name == null) 5507 if (Configuration.errorOnAutoCreate()) 5508 throw new Error("Attempt to auto-create ExampleScenarioProcessStepAlternativeComponent.name"); 5509 else if (Configuration.doAutoCreate()) 5510 this.name = new StringType(); // bb 5511 return this.name; 5512 } 5513 5514 public boolean hasNameElement() { 5515 return this.name != null && !this.name.isEmpty(); 5516 } 5517 5518 public boolean hasName() { 5519 return this.name != null && !this.name.isEmpty(); 5520 } 5521 5522 /** 5523 * @param value {@link #name} (The name of each alternative.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 5524 */ 5525 public ExampleScenarioProcessStepAlternativeComponent setNameElement(StringType value) { 5526 this.name = value; 5527 return this; 5528 } 5529 5530 /** 5531 * @return The name of each alternative. 5532 */ 5533 public String getName() { 5534 return this.name == null ? null : this.name.getValue(); 5535 } 5536 5537 /** 5538 * @param value The name of each alternative. 5539 */ 5540 public ExampleScenarioProcessStepAlternativeComponent setName(String value) { 5541 if (Utilities.noString(value)) 5542 this.name = null; 5543 else { 5544 if (this.name == null) 5545 this.name = new StringType(); 5546 this.name.setValue(value); 5547 } 5548 return this; 5549 } 5550 5551 /** 5552 * @return {@link #option} (Each of the possible options in an alternative.) 5553 */ 5554 public List<ExampleScenarioProcessStepAlternativeOptionComponent> getOption() { 5555 if (this.option == null) 5556 this.option = new ArrayList<ExampleScenarioProcessStepAlternativeOptionComponent>(); 5557 return this.option; 5558 } 5559 5560 /** 5561 * @return Returns a reference to <code>this</code> for easy method chaining 5562 */ 5563 public ExampleScenarioProcessStepAlternativeComponent setOption(List<ExampleScenarioProcessStepAlternativeOptionComponent> theOption) { 5564 this.option = theOption; 5565 return this; 5566 } 5567 5568 public boolean hasOption() { 5569 if (this.option == null) 5570 return false; 5571 for (ExampleScenarioProcessStepAlternativeOptionComponent item : this.option) 5572 if (!item.isEmpty()) 5573 return true; 5574 return false; 5575 } 5576 5577 public ExampleScenarioProcessStepAlternativeOptionComponent addOption() { //3 5578 ExampleScenarioProcessStepAlternativeOptionComponent t = new ExampleScenarioProcessStepAlternativeOptionComponent(); 5579 if (this.option == null) 5580 this.option = new ArrayList<ExampleScenarioProcessStepAlternativeOptionComponent>(); 5581 this.option.add(t); 5582 return t; 5583 } 5584 5585 public ExampleScenarioProcessStepAlternativeComponent addOption(ExampleScenarioProcessStepAlternativeOptionComponent t) { //3 5586 if (t == null) 5587 return this; 5588 if (this.option == null) 5589 this.option = new ArrayList<ExampleScenarioProcessStepAlternativeOptionComponent>(); 5590 this.option.add(t); 5591 return this; 5592 } 5593 5594 /** 5595 * @return The first repetition of repeating field {@link #option}, creating it if it does not already exist 5596 */ 5597 public ExampleScenarioProcessStepAlternativeOptionComponent getOptionFirstRep() { 5598 if (getOption().isEmpty()) { 5599 addOption(); 5600 } 5601 return getOption().get(0); 5602 } 5603 5604 protected void listChildren(List<Property> children) { 5605 super.listChildren(children); 5606 children.add(new Property("name", "string", "The name of each alternative.", 0, 1, name)); 5607 children.add(new Property("option", "", "Each of the possible options in an alternative.", 0, java.lang.Integer.MAX_VALUE, option)); 5608 } 5609 5610 @Override 5611 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5612 switch (_hash) { 5613 case 3373707: /*name*/ return new Property("name", "string", "The name of each alternative.", 0, 1, name); 5614 case -1010136971: /*option*/ return new Property("option", "", "Each of the possible options in an alternative.", 0, java.lang.Integer.MAX_VALUE, option); 5615 default: return super.getNamedProperty(_hash, _name, _checkValid); 5616 } 5617 5618 } 5619 5620 @Override 5621 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5622 switch (hash) { 5623 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 5624 case -1010136971: /*option*/ return this.option == null ? new Base[0] : this.option.toArray(new Base[this.option.size()]); // ExampleScenarioProcessStepAlternativeOptionComponent 5625 default: return super.getProperty(hash, name, checkValid); 5626 } 5627 5628 } 5629 5630 @Override 5631 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5632 switch (hash) { 5633 case 3373707: // name 5634 this.name = castToString(value); // StringType 5635 return value; 5636 case -1010136971: // option 5637 this.getOption().add((ExampleScenarioProcessStepAlternativeOptionComponent) value); // ExampleScenarioProcessStepAlternativeOptionComponent 5638 return value; 5639 default: return super.setProperty(hash, name, value); 5640 } 5641 5642 } 5643 5644 @Override 5645 public Base setProperty(String name, Base value) throws FHIRException { 5646 if (name.equals("name")) { 5647 this.name = castToString(value); // StringType 5648 } else if (name.equals("option")) { 5649 this.getOption().add((ExampleScenarioProcessStepAlternativeOptionComponent) value); 5650 } else 5651 return super.setProperty(name, value); 5652 return value; 5653 } 5654 5655 @Override 5656 public Base makeProperty(int hash, String name) throws FHIRException { 5657 switch (hash) { 5658 case 3373707: return getNameElement(); 5659 case -1010136971: return addOption(); 5660 default: return super.makeProperty(hash, name); 5661 } 5662 5663 } 5664 5665 @Override 5666 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5667 switch (hash) { 5668 case 3373707: /*name*/ return new String[] {"string"}; 5669 case -1010136971: /*option*/ return new String[] {}; 5670 default: return super.getTypesForProperty(hash, name); 5671 } 5672 5673 } 5674 5675 @Override 5676 public Base addChild(String name) throws FHIRException { 5677 if (name.equals("name")) { 5678 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.name"); 5679 } 5680 else if (name.equals("option")) { 5681 return addOption(); 5682 } 5683 else 5684 return super.addChild(name); 5685 } 5686 5687 public ExampleScenarioProcessStepAlternativeComponent copy() { 5688 ExampleScenarioProcessStepAlternativeComponent dst = new ExampleScenarioProcessStepAlternativeComponent(); 5689 copyValues(dst); 5690 dst.name = name == null ? null : name.copy(); 5691 if (option != null) { 5692 dst.option = new ArrayList<ExampleScenarioProcessStepAlternativeOptionComponent>(); 5693 for (ExampleScenarioProcessStepAlternativeOptionComponent i : option) 5694 dst.option.add(i.copy()); 5695 }; 5696 return dst; 5697 } 5698 5699 @Override 5700 public boolean equalsDeep(Base other_) { 5701 if (!super.equalsDeep(other_)) 5702 return false; 5703 if (!(other_ instanceof ExampleScenarioProcessStepAlternativeComponent)) 5704 return false; 5705 ExampleScenarioProcessStepAlternativeComponent o = (ExampleScenarioProcessStepAlternativeComponent) other_; 5706 return compareDeep(name, o.name, true) && compareDeep(option, o.option, true); 5707 } 5708 5709 @Override 5710 public boolean equalsShallow(Base other_) { 5711 if (!super.equalsShallow(other_)) 5712 return false; 5713 if (!(other_ instanceof ExampleScenarioProcessStepAlternativeComponent)) 5714 return false; 5715 ExampleScenarioProcessStepAlternativeComponent o = (ExampleScenarioProcessStepAlternativeComponent) other_; 5716 return compareValues(name, o.name, true); 5717 } 5718 5719 public boolean isEmpty() { 5720 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, option); 5721 } 5722 5723 public String fhirType() { 5724 return "ExampleScenario.process.step.alternative"; 5725 5726 } 5727 5728 } 5729 5730 @Block() 5731 public static class ExampleScenarioProcessStepAlternativeOptionComponent extends BackboneElement implements IBaseBackboneElement { 5732 /** 5733 * A human-readable description of each option. 5734 */ 5735 @Child(name = "description", type = {MarkdownType.class}, order=1, min=1, max=1, modifier=false, summary=false) 5736 @Description(shortDefinition="A human-readable description of each option", formalDefinition="A human-readable description of each option." ) 5737 protected MarkdownType description; 5738 5739 /** 5740 * What happens in each alternative option. 5741 */ 5742 @Child(name = "step", type = {ExampleScenarioProcessStepComponent.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5743 @Description(shortDefinition="What happens in each alternative option", formalDefinition="What happens in each alternative option." ) 5744 protected List<ExampleScenarioProcessStepComponent> step; 5745 5746 /** 5747 * If there is a pause in the flow. 5748 */ 5749 @Child(name = "pause", type = {BooleanType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5750 @Description(shortDefinition="If there is a pause in the flow", formalDefinition="If there is a pause in the flow." ) 5751 protected List<BooleanType> pause; 5752 5753 private static final long serialVersionUID = -1719991565L; 5754 5755 /** 5756 * Constructor 5757 */ 5758 public ExampleScenarioProcessStepAlternativeOptionComponent() { 5759 super(); 5760 } 5761 5762 /** 5763 * Constructor 5764 */ 5765 public ExampleScenarioProcessStepAlternativeOptionComponent(MarkdownType description) { 5766 super(); 5767 this.description = description; 5768 } 5769 5770 /** 5771 * @return {@link #description} (A human-readable description of each option.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5772 */ 5773 public MarkdownType getDescriptionElement() { 5774 if (this.description == null) 5775 if (Configuration.errorOnAutoCreate()) 5776 throw new Error("Attempt to auto-create ExampleScenarioProcessStepAlternativeOptionComponent.description"); 5777 else if (Configuration.doAutoCreate()) 5778 this.description = new MarkdownType(); // bb 5779 return this.description; 5780 } 5781 5782 public boolean hasDescriptionElement() { 5783 return this.description != null && !this.description.isEmpty(); 5784 } 5785 5786 public boolean hasDescription() { 5787 return this.description != null && !this.description.isEmpty(); 5788 } 5789 5790 /** 5791 * @param value {@link #description} (A human-readable description of each option.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5792 */ 5793 public ExampleScenarioProcessStepAlternativeOptionComponent setDescriptionElement(MarkdownType value) { 5794 this.description = value; 5795 return this; 5796 } 5797 5798 /** 5799 * @return A human-readable description of each option. 5800 */ 5801 public String getDescription() { 5802 return this.description == null ? null : this.description.getValue(); 5803 } 5804 5805 /** 5806 * @param value A human-readable description of each option. 5807 */ 5808 public ExampleScenarioProcessStepAlternativeOptionComponent setDescription(String value) { 5809 if (this.description == null) 5810 this.description = new MarkdownType(); 5811 this.description.setValue(value); 5812 return this; 5813 } 5814 5815 /** 5816 * @return {@link #step} (What happens in each alternative option.) 5817 */ 5818 public List<ExampleScenarioProcessStepComponent> getStep() { 5819 if (this.step == null) 5820 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 5821 return this.step; 5822 } 5823 5824 /** 5825 * @return Returns a reference to <code>this</code> for easy method chaining 5826 */ 5827 public ExampleScenarioProcessStepAlternativeOptionComponent setStep(List<ExampleScenarioProcessStepComponent> theStep) { 5828 this.step = theStep; 5829 return this; 5830 } 5831 5832 public boolean hasStep() { 5833 if (this.step == null) 5834 return false; 5835 for (ExampleScenarioProcessStepComponent item : this.step) 5836 if (!item.isEmpty()) 5837 return true; 5838 return false; 5839 } 5840 5841 public ExampleScenarioProcessStepComponent addStep() { //3 5842 ExampleScenarioProcessStepComponent t = new ExampleScenarioProcessStepComponent(); 5843 if (this.step == null) 5844 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 5845 this.step.add(t); 5846 return t; 5847 } 5848 5849 public ExampleScenarioProcessStepAlternativeOptionComponent addStep(ExampleScenarioProcessStepComponent t) { //3 5850 if (t == null) 5851 return this; 5852 if (this.step == null) 5853 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 5854 this.step.add(t); 5855 return this; 5856 } 5857 5858 /** 5859 * @return The first repetition of repeating field {@link #step}, creating it if it does not already exist 5860 */ 5861 public ExampleScenarioProcessStepComponent getStepFirstRep() { 5862 if (getStep().isEmpty()) { 5863 addStep(); 5864 } 5865 return getStep().get(0); 5866 } 5867 5868 /** 5869 * @return {@link #pause} (If there is a pause in the flow.) 5870 */ 5871 public List<BooleanType> getPause() { 5872 if (this.pause == null) 5873 this.pause = new ArrayList<BooleanType>(); 5874 return this.pause; 5875 } 5876 5877 /** 5878 * @return Returns a reference to <code>this</code> for easy method chaining 5879 */ 5880 public ExampleScenarioProcessStepAlternativeOptionComponent setPause(List<BooleanType> thePause) { 5881 this.pause = thePause; 5882 return this; 5883 } 5884 5885 public boolean hasPause() { 5886 if (this.pause == null) 5887 return false; 5888 for (BooleanType item : this.pause) 5889 if (!item.isEmpty()) 5890 return true; 5891 return false; 5892 } 5893 5894 /** 5895 * @return {@link #pause} (If there is a pause in the flow.) 5896 */ 5897 public BooleanType addPauseElement() {//2 5898 BooleanType t = new BooleanType(); 5899 if (this.pause == null) 5900 this.pause = new ArrayList<BooleanType>(); 5901 this.pause.add(t); 5902 return t; 5903 } 5904 5905 /** 5906 * @param value {@link #pause} (If there is a pause in the flow.) 5907 */ 5908 public ExampleScenarioProcessStepAlternativeOptionComponent addPause(boolean value) { //1 5909 BooleanType t = new BooleanType(); 5910 t.setValue(value); 5911 if (this.pause == null) 5912 this.pause = new ArrayList<BooleanType>(); 5913 this.pause.add(t); 5914 return this; 5915 } 5916 5917 /** 5918 * @param value {@link #pause} (If there is a pause in the flow.) 5919 */ 5920 public boolean hasPause(boolean value) { 5921 if (this.pause == null) 5922 return false; 5923 for (BooleanType v : this.pause) 5924 if (v.getValue().equals(value)) // boolean 5925 return true; 5926 return false; 5927 } 5928 5929 protected void listChildren(List<Property> children) { 5930 super.listChildren(children); 5931 children.add(new Property("description", "markdown", "A human-readable description of each option.", 0, 1, description)); 5932 children.add(new Property("step", "@ExampleScenario.process.step", "What happens in each alternative option.", 0, java.lang.Integer.MAX_VALUE, step)); 5933 children.add(new Property("pause", "boolean", "If there is a pause in the flow.", 0, java.lang.Integer.MAX_VALUE, pause)); 5934 } 5935 5936 @Override 5937 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5938 switch (_hash) { 5939 case -1724546052: /*description*/ return new Property("description", "markdown", "A human-readable description of each option.", 0, 1, description); 5940 case 3540684: /*step*/ return new Property("step", "@ExampleScenario.process.step", "What happens in each alternative option.", 0, java.lang.Integer.MAX_VALUE, step); 5941 case 106440182: /*pause*/ return new Property("pause", "boolean", "If there is a pause in the flow.", 0, java.lang.Integer.MAX_VALUE, pause); 5942 default: return super.getNamedProperty(_hash, _name, _checkValid); 5943 } 5944 5945 } 5946 5947 @Override 5948 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5949 switch (hash) { 5950 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 5951 case 3540684: /*step*/ return this.step == null ? new Base[0] : this.step.toArray(new Base[this.step.size()]); // ExampleScenarioProcessStepComponent 5952 case 106440182: /*pause*/ return this.pause == null ? new Base[0] : this.pause.toArray(new Base[this.pause.size()]); // BooleanType 5953 default: return super.getProperty(hash, name, checkValid); 5954 } 5955 5956 } 5957 5958 @Override 5959 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5960 switch (hash) { 5961 case -1724546052: // description 5962 this.description = castToMarkdown(value); // MarkdownType 5963 return value; 5964 case 3540684: // step 5965 this.getStep().add((ExampleScenarioProcessStepComponent) value); // ExampleScenarioProcessStepComponent 5966 return value; 5967 case 106440182: // pause 5968 this.getPause().add(castToBoolean(value)); // BooleanType 5969 return value; 5970 default: return super.setProperty(hash, name, value); 5971 } 5972 5973 } 5974 5975 @Override 5976 public Base setProperty(String name, Base value) throws FHIRException { 5977 if (name.equals("description")) { 5978 this.description = castToMarkdown(value); // MarkdownType 5979 } else if (name.equals("step")) { 5980 this.getStep().add((ExampleScenarioProcessStepComponent) value); 5981 } else if (name.equals("pause")) { 5982 this.getPause().add(castToBoolean(value)); 5983 } else 5984 return super.setProperty(name, value); 5985 return value; 5986 } 5987 5988 @Override 5989 public Base makeProperty(int hash, String name) throws FHIRException { 5990 switch (hash) { 5991 case -1724546052: return getDescriptionElement(); 5992 case 3540684: return addStep(); 5993 case 106440182: return addPauseElement(); 5994 default: return super.makeProperty(hash, name); 5995 } 5996 5997 } 5998 5999 @Override 6000 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 6001 switch (hash) { 6002 case -1724546052: /*description*/ return new String[] {"markdown"}; 6003 case 3540684: /*step*/ return new String[] {"@ExampleScenario.process.step"}; 6004 case 106440182: /*pause*/ return new String[] {"boolean"}; 6005 default: return super.getTypesForProperty(hash, name); 6006 } 6007 6008 } 6009 6010 @Override 6011 public Base addChild(String name) throws FHIRException { 6012 if (name.equals("description")) { 6013 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); 6014 } 6015 else if (name.equals("step")) { 6016 return addStep(); 6017 } 6018 else if (name.equals("pause")) { 6019 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.pause"); 6020 } 6021 else 6022 return super.addChild(name); 6023 } 6024 6025 public ExampleScenarioProcessStepAlternativeOptionComponent copy() { 6026 ExampleScenarioProcessStepAlternativeOptionComponent dst = new ExampleScenarioProcessStepAlternativeOptionComponent(); 6027 copyValues(dst); 6028 dst.description = description == null ? null : description.copy(); 6029 if (step != null) { 6030 dst.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 6031 for (ExampleScenarioProcessStepComponent i : step) 6032 dst.step.add(i.copy()); 6033 }; 6034 if (pause != null) { 6035 dst.pause = new ArrayList<BooleanType>(); 6036 for (BooleanType i : pause) 6037 dst.pause.add(i.copy()); 6038 }; 6039 return dst; 6040 } 6041 6042 @Override 6043 public boolean equalsDeep(Base other_) { 6044 if (!super.equalsDeep(other_)) 6045 return false; 6046 if (!(other_ instanceof ExampleScenarioProcessStepAlternativeOptionComponent)) 6047 return false; 6048 ExampleScenarioProcessStepAlternativeOptionComponent o = (ExampleScenarioProcessStepAlternativeOptionComponent) other_; 6049 return compareDeep(description, o.description, true) && compareDeep(step, o.step, true) && compareDeep(pause, o.pause, true) 6050 ; 6051 } 6052 6053 @Override 6054 public boolean equalsShallow(Base other_) { 6055 if (!super.equalsShallow(other_)) 6056 return false; 6057 if (!(other_ instanceof ExampleScenarioProcessStepAlternativeOptionComponent)) 6058 return false; 6059 ExampleScenarioProcessStepAlternativeOptionComponent o = (ExampleScenarioProcessStepAlternativeOptionComponent) other_; 6060 return compareValues(description, o.description, true) && compareValues(pause, o.pause, true); 6061 } 6062 6063 public boolean isEmpty() { 6064 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, step, pause 6065 ); 6066 } 6067 6068 public String fhirType() { 6069 return "ExampleScenario.process.step.alternative.option"; 6070 6071 } 6072 6073 } 6074 6075 /** 6076 * A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance. 6077 */ 6078 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6079 @Description(shortDefinition="Additional identifier for the example scenario", formalDefinition="A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 6080 protected List<Identifier> identifier; 6081 6082 /** 6083 * A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario. 6084 */ 6085 @Child(name = "copyright", type = {MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false) 6086 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario." ) 6087 protected MarkdownType copyright; 6088 6089 /** 6090 * What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario. 6091 */ 6092 @Child(name = "purpose", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 6093 @Description(shortDefinition="The purpose of the example, e.g. to illustrate a scenario", formalDefinition="What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario." ) 6094 protected MarkdownType purpose; 6095 6096 /** 6097 * Actor participating in the resource. 6098 */ 6099 @Child(name = "actor", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6100 @Description(shortDefinition="Actor participating in the resource", formalDefinition="Actor participating in the resource." ) 6101 protected List<ExampleScenarioActorComponent> actor; 6102 6103 /** 6104 * Each resource and each version that is present in the workflow. 6105 */ 6106 @Child(name = "instance", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6107 @Description(shortDefinition="Each resource and each version that is present in the workflow", formalDefinition="Each resource and each version that is present in the workflow." ) 6108 protected List<ExampleScenarioInstanceComponent> instance; 6109 6110 /** 6111 * Each major process - a group of operations. 6112 */ 6113 @Child(name = "process", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6114 @Description(shortDefinition="Each major process - a group of operations", formalDefinition="Each major process - a group of operations." ) 6115 protected List<ExampleScenarioProcessComponent> process; 6116 6117 /** 6118 * Another nested workflow. 6119 */ 6120 @Child(name = "workflow", type = {CanonicalType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6121 @Description(shortDefinition="Another nested workflow", formalDefinition="Another nested workflow." ) 6122 protected List<CanonicalType> workflow; 6123 6124 private static final long serialVersionUID = 758248907L; 6125 6126 /** 6127 * Constructor 6128 */ 6129 public ExampleScenario() { 6130 super(); 6131 } 6132 6133 /** 6134 * Constructor 6135 */ 6136 public ExampleScenario(Enumeration<PublicationStatus> status) { 6137 super(); 6138 this.status = status; 6139 } 6140 6141 /** 6142 * @return {@link #url} (An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this example scenario is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 6143 */ 6144 public UriType getUrlElement() { 6145 if (this.url == null) 6146 if (Configuration.errorOnAutoCreate()) 6147 throw new Error("Attempt to auto-create ExampleScenario.url"); 6148 else if (Configuration.doAutoCreate()) 6149 this.url = new UriType(); // bb 6150 return this.url; 6151 } 6152 6153 public boolean hasUrlElement() { 6154 return this.url != null && !this.url.isEmpty(); 6155 } 6156 6157 public boolean hasUrl() { 6158 return this.url != null && !this.url.isEmpty(); 6159 } 6160 6161 /** 6162 * @param value {@link #url} (An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this example scenario is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 6163 */ 6164 public ExampleScenario setUrlElement(UriType value) { 6165 this.url = value; 6166 return this; 6167 } 6168 6169 /** 6170 * @return An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this example scenario is (or will be) published. 6171 */ 6172 public String getUrl() { 6173 return this.url == null ? null : this.url.getValue(); 6174 } 6175 6176 /** 6177 * @param value An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this example scenario is (or will be) published. 6178 */ 6179 public ExampleScenario setUrl(String value) { 6180 if (Utilities.noString(value)) 6181 this.url = null; 6182 else { 6183 if (this.url == null) 6184 this.url = new UriType(); 6185 this.url.setValue(value); 6186 } 6187 return this; 6188 } 6189 6190 /** 6191 * @return {@link #identifier} (A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.) 6192 */ 6193 public List<Identifier> getIdentifier() { 6194 if (this.identifier == null) 6195 this.identifier = new ArrayList<Identifier>(); 6196 return this.identifier; 6197 } 6198 6199 /** 6200 * @return Returns a reference to <code>this</code> for easy method chaining 6201 */ 6202 public ExampleScenario setIdentifier(List<Identifier> theIdentifier) { 6203 this.identifier = theIdentifier; 6204 return this; 6205 } 6206 6207 public boolean hasIdentifier() { 6208 if (this.identifier == null) 6209 return false; 6210 for (Identifier item : this.identifier) 6211 if (!item.isEmpty()) 6212 return true; 6213 return false; 6214 } 6215 6216 public Identifier addIdentifier() { //3 6217 Identifier t = new Identifier(); 6218 if (this.identifier == null) 6219 this.identifier = new ArrayList<Identifier>(); 6220 this.identifier.add(t); 6221 return t; 6222 } 6223 6224 public ExampleScenario addIdentifier(Identifier t) { //3 6225 if (t == null) 6226 return this; 6227 if (this.identifier == null) 6228 this.identifier = new ArrayList<Identifier>(); 6229 this.identifier.add(t); 6230 return this; 6231 } 6232 6233 /** 6234 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 6235 */ 6236 public Identifier getIdentifierFirstRep() { 6237 if (getIdentifier().isEmpty()) { 6238 addIdentifier(); 6239 } 6240 return getIdentifier().get(0); 6241 } 6242 6243 /** 6244 * @return {@link #version} (The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 6245 */ 6246 public StringType getVersionElement() { 6247 if (this.version == null) 6248 if (Configuration.errorOnAutoCreate()) 6249 throw new Error("Attempt to auto-create ExampleScenario.version"); 6250 else if (Configuration.doAutoCreate()) 6251 this.version = new StringType(); // bb 6252 return this.version; 6253 } 6254 6255 public boolean hasVersionElement() { 6256 return this.version != null && !this.version.isEmpty(); 6257 } 6258 6259 public boolean hasVersion() { 6260 return this.version != null && !this.version.isEmpty(); 6261 } 6262 6263 /** 6264 * @param value {@link #version} (The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 6265 */ 6266 public ExampleScenario setVersionElement(StringType value) { 6267 this.version = value; 6268 return this; 6269 } 6270 6271 /** 6272 * @return The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 6273 */ 6274 public String getVersion() { 6275 return this.version == null ? null : this.version.getValue(); 6276 } 6277 6278 /** 6279 * @param value The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 6280 */ 6281 public ExampleScenario setVersion(String value) { 6282 if (Utilities.noString(value)) 6283 this.version = null; 6284 else { 6285 if (this.version == null) 6286 this.version = new StringType(); 6287 this.version.setValue(value); 6288 } 6289 return this; 6290 } 6291 6292 /** 6293 * @return {@link #name} (A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 6294 */ 6295 public StringType getNameElement() { 6296 if (this.name == null) 6297 if (Configuration.errorOnAutoCreate()) 6298 throw new Error("Attempt to auto-create ExampleScenario.name"); 6299 else if (Configuration.doAutoCreate()) 6300 this.name = new StringType(); // bb 6301 return this.name; 6302 } 6303 6304 public boolean hasNameElement() { 6305 return this.name != null && !this.name.isEmpty(); 6306 } 6307 6308 public boolean hasName() { 6309 return this.name != null && !this.name.isEmpty(); 6310 } 6311 6312 /** 6313 * @param value {@link #name} (A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 6314 */ 6315 public ExampleScenario setNameElement(StringType value) { 6316 this.name = value; 6317 return this; 6318 } 6319 6320 /** 6321 * @return A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation. 6322 */ 6323 public String getName() { 6324 return this.name == null ? null : this.name.getValue(); 6325 } 6326 6327 /** 6328 * @param value A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation. 6329 */ 6330 public ExampleScenario setName(String value) { 6331 if (Utilities.noString(value)) 6332 this.name = null; 6333 else { 6334 if (this.name == null) 6335 this.name = new StringType(); 6336 this.name.setValue(value); 6337 } 6338 return this; 6339 } 6340 6341 /** 6342 * @return {@link #status} (The status of this example scenario. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 6343 */ 6344 public Enumeration<PublicationStatus> getStatusElement() { 6345 if (this.status == null) 6346 if (Configuration.errorOnAutoCreate()) 6347 throw new Error("Attempt to auto-create ExampleScenario.status"); 6348 else if (Configuration.doAutoCreate()) 6349 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 6350 return this.status; 6351 } 6352 6353 public boolean hasStatusElement() { 6354 return this.status != null && !this.status.isEmpty(); 6355 } 6356 6357 public boolean hasStatus() { 6358 return this.status != null && !this.status.isEmpty(); 6359 } 6360 6361 /** 6362 * @param value {@link #status} (The status of this example scenario. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 6363 */ 6364 public ExampleScenario setStatusElement(Enumeration<PublicationStatus> value) { 6365 this.status = value; 6366 return this; 6367 } 6368 6369 /** 6370 * @return The status of this example scenario. Enables tracking the life-cycle of the content. 6371 */ 6372 public PublicationStatus getStatus() { 6373 return this.status == null ? null : this.status.getValue(); 6374 } 6375 6376 /** 6377 * @param value The status of this example scenario. Enables tracking the life-cycle of the content. 6378 */ 6379 public ExampleScenario setStatus(PublicationStatus value) { 6380 if (this.status == null) 6381 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 6382 this.status.setValue(value); 6383 return this; 6384 } 6385 6386 /** 6387 * @return {@link #experimental} (A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 6388 */ 6389 public BooleanType getExperimentalElement() { 6390 if (this.experimental == null) 6391 if (Configuration.errorOnAutoCreate()) 6392 throw new Error("Attempt to auto-create ExampleScenario.experimental"); 6393 else if (Configuration.doAutoCreate()) 6394 this.experimental = new BooleanType(); // bb 6395 return this.experimental; 6396 } 6397 6398 public boolean hasExperimentalElement() { 6399 return this.experimental != null && !this.experimental.isEmpty(); 6400 } 6401 6402 public boolean hasExperimental() { 6403 return this.experimental != null && !this.experimental.isEmpty(); 6404 } 6405 6406 /** 6407 * @param value {@link #experimental} (A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 6408 */ 6409 public ExampleScenario setExperimentalElement(BooleanType value) { 6410 this.experimental = value; 6411 return this; 6412 } 6413 6414 /** 6415 * @return A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 6416 */ 6417 public boolean getExperimental() { 6418 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 6419 } 6420 6421 /** 6422 * @param value A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 6423 */ 6424 public ExampleScenario setExperimental(boolean value) { 6425 if (this.experimental == null) 6426 this.experimental = new BooleanType(); 6427 this.experimental.setValue(value); 6428 return this; 6429 } 6430 6431 /** 6432 * @return {@link #date} (The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition').). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 6433 */ 6434 public DateTimeType getDateElement() { 6435 if (this.date == null) 6436 if (Configuration.errorOnAutoCreate()) 6437 throw new Error("Attempt to auto-create ExampleScenario.date"); 6438 else if (Configuration.doAutoCreate()) 6439 this.date = new DateTimeType(); // bb 6440 return this.date; 6441 } 6442 6443 public boolean hasDateElement() { 6444 return this.date != null && !this.date.isEmpty(); 6445 } 6446 6447 public boolean hasDate() { 6448 return this.date != null && !this.date.isEmpty(); 6449 } 6450 6451 /** 6452 * @param value {@link #date} (The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition').). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 6453 */ 6454 public ExampleScenario setDateElement(DateTimeType value) { 6455 this.date = value; 6456 return this; 6457 } 6458 6459 /** 6460 * @return The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition'). 6461 */ 6462 public Date getDate() { 6463 return this.date == null ? null : this.date.getValue(); 6464 } 6465 6466 /** 6467 * @param value The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition'). 6468 */ 6469 public ExampleScenario setDate(Date value) { 6470 if (value == null) 6471 this.date = null; 6472 else { 6473 if (this.date == null) 6474 this.date = new DateTimeType(); 6475 this.date.setValue(value); 6476 } 6477 return this; 6478 } 6479 6480 /** 6481 * @return {@link #publisher} (The name of the organization or individual that published the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 6482 */ 6483 public StringType getPublisherElement() { 6484 if (this.publisher == null) 6485 if (Configuration.errorOnAutoCreate()) 6486 throw new Error("Attempt to auto-create ExampleScenario.publisher"); 6487 else if (Configuration.doAutoCreate()) 6488 this.publisher = new StringType(); // bb 6489 return this.publisher; 6490 } 6491 6492 public boolean hasPublisherElement() { 6493 return this.publisher != null && !this.publisher.isEmpty(); 6494 } 6495 6496 public boolean hasPublisher() { 6497 return this.publisher != null && !this.publisher.isEmpty(); 6498 } 6499 6500 /** 6501 * @param value {@link #publisher} (The name of the organization or individual that published the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 6502 */ 6503 public ExampleScenario setPublisherElement(StringType value) { 6504 this.publisher = value; 6505 return this; 6506 } 6507 6508 /** 6509 * @return The name of the organization or individual that published the example scenario. 6510 */ 6511 public String getPublisher() { 6512 return this.publisher == null ? null : this.publisher.getValue(); 6513 } 6514 6515 /** 6516 * @param value The name of the organization or individual that published the example scenario. 6517 */ 6518 public ExampleScenario setPublisher(String value) { 6519 if (Utilities.noString(value)) 6520 this.publisher = null; 6521 else { 6522 if (this.publisher == null) 6523 this.publisher = new StringType(); 6524 this.publisher.setValue(value); 6525 } 6526 return this; 6527 } 6528 6529 /** 6530 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 6531 */ 6532 public List<ContactDetail> getContact() { 6533 if (this.contact == null) 6534 this.contact = new ArrayList<ContactDetail>(); 6535 return this.contact; 6536 } 6537 6538 /** 6539 * @return Returns a reference to <code>this</code> for easy method chaining 6540 */ 6541 public ExampleScenario setContact(List<ContactDetail> theContact) { 6542 this.contact = theContact; 6543 return this; 6544 } 6545 6546 public boolean hasContact() { 6547 if (this.contact == null) 6548 return false; 6549 for (ContactDetail item : this.contact) 6550 if (!item.isEmpty()) 6551 return true; 6552 return false; 6553 } 6554 6555 public ContactDetail addContact() { //3 6556 ContactDetail t = new ContactDetail(); 6557 if (this.contact == null) 6558 this.contact = new ArrayList<ContactDetail>(); 6559 this.contact.add(t); 6560 return t; 6561 } 6562 6563 public ExampleScenario addContact(ContactDetail t) { //3 6564 if (t == null) 6565 return this; 6566 if (this.contact == null) 6567 this.contact = new ArrayList<ContactDetail>(); 6568 this.contact.add(t); 6569 return this; 6570 } 6571 6572 /** 6573 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 6574 */ 6575 public ContactDetail getContactFirstRep() { 6576 if (getContact().isEmpty()) { 6577 addContact(); 6578 } 6579 return getContact().get(0); 6580 } 6581 6582 /** 6583 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate example scenario instances.) 6584 */ 6585 public List<UsageContext> getUseContext() { 6586 if (this.useContext == null) 6587 this.useContext = new ArrayList<UsageContext>(); 6588 return this.useContext; 6589 } 6590 6591 /** 6592 * @return Returns a reference to <code>this</code> for easy method chaining 6593 */ 6594 public ExampleScenario setUseContext(List<UsageContext> theUseContext) { 6595 this.useContext = theUseContext; 6596 return this; 6597 } 6598 6599 public boolean hasUseContext() { 6600 if (this.useContext == null) 6601 return false; 6602 for (UsageContext item : this.useContext) 6603 if (!item.isEmpty()) 6604 return true; 6605 return false; 6606 } 6607 6608 public UsageContext addUseContext() { //3 6609 UsageContext t = new UsageContext(); 6610 if (this.useContext == null) 6611 this.useContext = new ArrayList<UsageContext>(); 6612 this.useContext.add(t); 6613 return t; 6614 } 6615 6616 public ExampleScenario addUseContext(UsageContext t) { //3 6617 if (t == null) 6618 return this; 6619 if (this.useContext == null) 6620 this.useContext = new ArrayList<UsageContext>(); 6621 this.useContext.add(t); 6622 return this; 6623 } 6624 6625 /** 6626 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 6627 */ 6628 public UsageContext getUseContextFirstRep() { 6629 if (getUseContext().isEmpty()) { 6630 addUseContext(); 6631 } 6632 return getUseContext().get(0); 6633 } 6634 6635 /** 6636 * @return {@link #jurisdiction} (A legal or geographic region in which the example scenario is intended to be used.) 6637 */ 6638 public List<CodeableConcept> getJurisdiction() { 6639 if (this.jurisdiction == null) 6640 this.jurisdiction = new ArrayList<CodeableConcept>(); 6641 return this.jurisdiction; 6642 } 6643 6644 /** 6645 * @return Returns a reference to <code>this</code> for easy method chaining 6646 */ 6647 public ExampleScenario setJurisdiction(List<CodeableConcept> theJurisdiction) { 6648 this.jurisdiction = theJurisdiction; 6649 return this; 6650 } 6651 6652 public boolean hasJurisdiction() { 6653 if (this.jurisdiction == null) 6654 return false; 6655 for (CodeableConcept item : this.jurisdiction) 6656 if (!item.isEmpty()) 6657 return true; 6658 return false; 6659 } 6660 6661 public CodeableConcept addJurisdiction() { //3 6662 CodeableConcept t = new CodeableConcept(); 6663 if (this.jurisdiction == null) 6664 this.jurisdiction = new ArrayList<CodeableConcept>(); 6665 this.jurisdiction.add(t); 6666 return t; 6667 } 6668 6669 public ExampleScenario addJurisdiction(CodeableConcept t) { //3 6670 if (t == null) 6671 return this; 6672 if (this.jurisdiction == null) 6673 this.jurisdiction = new ArrayList<CodeableConcept>(); 6674 this.jurisdiction.add(t); 6675 return this; 6676 } 6677 6678 /** 6679 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 6680 */ 6681 public CodeableConcept getJurisdictionFirstRep() { 6682 if (getJurisdiction().isEmpty()) { 6683 addJurisdiction(); 6684 } 6685 return getJurisdiction().get(0); 6686 } 6687 6688 /** 6689 * @return {@link #copyright} (A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 6690 */ 6691 public MarkdownType getCopyrightElement() { 6692 if (this.copyright == null) 6693 if (Configuration.errorOnAutoCreate()) 6694 throw new Error("Attempt to auto-create ExampleScenario.copyright"); 6695 else if (Configuration.doAutoCreate()) 6696 this.copyright = new MarkdownType(); // bb 6697 return this.copyright; 6698 } 6699 6700 public boolean hasCopyrightElement() { 6701 return this.copyright != null && !this.copyright.isEmpty(); 6702 } 6703 6704 public boolean hasCopyright() { 6705 return this.copyright != null && !this.copyright.isEmpty(); 6706 } 6707 6708 /** 6709 * @param value {@link #copyright} (A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 6710 */ 6711 public ExampleScenario setCopyrightElement(MarkdownType value) { 6712 this.copyright = value; 6713 return this; 6714 } 6715 6716 /** 6717 * @return A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario. 6718 */ 6719 public String getCopyright() { 6720 return this.copyright == null ? null : this.copyright.getValue(); 6721 } 6722 6723 /** 6724 * @param value A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario. 6725 */ 6726 public ExampleScenario setCopyright(String value) { 6727 if (value == null) 6728 this.copyright = null; 6729 else { 6730 if (this.copyright == null) 6731 this.copyright = new MarkdownType(); 6732 this.copyright.setValue(value); 6733 } 6734 return this; 6735 } 6736 6737 /** 6738 * @return {@link #purpose} (What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 6739 */ 6740 public MarkdownType getPurposeElement() { 6741 if (this.purpose == null) 6742 if (Configuration.errorOnAutoCreate()) 6743 throw new Error("Attempt to auto-create ExampleScenario.purpose"); 6744 else if (Configuration.doAutoCreate()) 6745 this.purpose = new MarkdownType(); // bb 6746 return this.purpose; 6747 } 6748 6749 public boolean hasPurposeElement() { 6750 return this.purpose != null && !this.purpose.isEmpty(); 6751 } 6752 6753 public boolean hasPurpose() { 6754 return this.purpose != null && !this.purpose.isEmpty(); 6755 } 6756 6757 /** 6758 * @param value {@link #purpose} (What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 6759 */ 6760 public ExampleScenario setPurposeElement(MarkdownType value) { 6761 this.purpose = value; 6762 return this; 6763 } 6764 6765 /** 6766 * @return What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario. 6767 */ 6768 public String getPurpose() { 6769 return this.purpose == null ? null : this.purpose.getValue(); 6770 } 6771 6772 /** 6773 * @param value What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario. 6774 */ 6775 public ExampleScenario setPurpose(String value) { 6776 if (value == null) 6777 this.purpose = null; 6778 else { 6779 if (this.purpose == null) 6780 this.purpose = new MarkdownType(); 6781 this.purpose.setValue(value); 6782 } 6783 return this; 6784 } 6785 6786 /** 6787 * @return {@link #actor} (Actor participating in the resource.) 6788 */ 6789 public List<ExampleScenarioActorComponent> getActor() { 6790 if (this.actor == null) 6791 this.actor = new ArrayList<ExampleScenarioActorComponent>(); 6792 return this.actor; 6793 } 6794 6795 /** 6796 * @return Returns a reference to <code>this</code> for easy method chaining 6797 */ 6798 public ExampleScenario setActor(List<ExampleScenarioActorComponent> theActor) { 6799 this.actor = theActor; 6800 return this; 6801 } 6802 6803 public boolean hasActor() { 6804 if (this.actor == null) 6805 return false; 6806 for (ExampleScenarioActorComponent item : this.actor) 6807 if (!item.isEmpty()) 6808 return true; 6809 return false; 6810 } 6811 6812 public ExampleScenarioActorComponent addActor() { //3 6813 ExampleScenarioActorComponent t = new ExampleScenarioActorComponent(); 6814 if (this.actor == null) 6815 this.actor = new ArrayList<ExampleScenarioActorComponent>(); 6816 this.actor.add(t); 6817 return t; 6818 } 6819 6820 public ExampleScenario addActor(ExampleScenarioActorComponent t) { //3 6821 if (t == null) 6822 return this; 6823 if (this.actor == null) 6824 this.actor = new ArrayList<ExampleScenarioActorComponent>(); 6825 this.actor.add(t); 6826 return this; 6827 } 6828 6829 /** 6830 * @return The first repetition of repeating field {@link #actor}, creating it if it does not already exist 6831 */ 6832 public ExampleScenarioActorComponent getActorFirstRep() { 6833 if (getActor().isEmpty()) { 6834 addActor(); 6835 } 6836 return getActor().get(0); 6837 } 6838 6839 /** 6840 * @return {@link #instance} (Each resource and each version that is present in the workflow.) 6841 */ 6842 public List<ExampleScenarioInstanceComponent> getInstance() { 6843 if (this.instance == null) 6844 this.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 6845 return this.instance; 6846 } 6847 6848 /** 6849 * @return Returns a reference to <code>this</code> for easy method chaining 6850 */ 6851 public ExampleScenario setInstance(List<ExampleScenarioInstanceComponent> theInstance) { 6852 this.instance = theInstance; 6853 return this; 6854 } 6855 6856 public boolean hasInstance() { 6857 if (this.instance == null) 6858 return false; 6859 for (ExampleScenarioInstanceComponent item : this.instance) 6860 if (!item.isEmpty()) 6861 return true; 6862 return false; 6863 } 6864 6865 public ExampleScenarioInstanceComponent addInstance() { //3 6866 ExampleScenarioInstanceComponent t = new ExampleScenarioInstanceComponent(); 6867 if (this.instance == null) 6868 this.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 6869 this.instance.add(t); 6870 return t; 6871 } 6872 6873 public ExampleScenario addInstance(ExampleScenarioInstanceComponent t) { //3 6874 if (t == null) 6875 return this; 6876 if (this.instance == null) 6877 this.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 6878 this.instance.add(t); 6879 return this; 6880 } 6881 6882 /** 6883 * @return The first repetition of repeating field {@link #instance}, creating it if it does not already exist 6884 */ 6885 public ExampleScenarioInstanceComponent getInstanceFirstRep() { 6886 if (getInstance().isEmpty()) { 6887 addInstance(); 6888 } 6889 return getInstance().get(0); 6890 } 6891 6892 /** 6893 * @return {@link #process} (Each major process - a group of operations.) 6894 */ 6895 public List<ExampleScenarioProcessComponent> getProcess() { 6896 if (this.process == null) 6897 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 6898 return this.process; 6899 } 6900 6901 /** 6902 * @return Returns a reference to <code>this</code> for easy method chaining 6903 */ 6904 public ExampleScenario setProcess(List<ExampleScenarioProcessComponent> theProcess) { 6905 this.process = theProcess; 6906 return this; 6907 } 6908 6909 public boolean hasProcess() { 6910 if (this.process == null) 6911 return false; 6912 for (ExampleScenarioProcessComponent item : this.process) 6913 if (!item.isEmpty()) 6914 return true; 6915 return false; 6916 } 6917 6918 public ExampleScenarioProcessComponent addProcess() { //3 6919 ExampleScenarioProcessComponent t = new ExampleScenarioProcessComponent(); 6920 if (this.process == null) 6921 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 6922 this.process.add(t); 6923 return t; 6924 } 6925 6926 public ExampleScenario addProcess(ExampleScenarioProcessComponent t) { //3 6927 if (t == null) 6928 return this; 6929 if (this.process == null) 6930 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 6931 this.process.add(t); 6932 return this; 6933 } 6934 6935 /** 6936 * @return The first repetition of repeating field {@link #process}, creating it if it does not already exist 6937 */ 6938 public ExampleScenarioProcessComponent getProcessFirstRep() { 6939 if (getProcess().isEmpty()) { 6940 addProcess(); 6941 } 6942 return getProcess().get(0); 6943 } 6944 6945 /** 6946 * @return {@link #workflow} (Another nested workflow.) 6947 */ 6948 public List<CanonicalType> getWorkflow() { 6949 if (this.workflow == null) 6950 this.workflow = new ArrayList<CanonicalType>(); 6951 return this.workflow; 6952 } 6953 6954 /** 6955 * @return Returns a reference to <code>this</code> for easy method chaining 6956 */ 6957 public ExampleScenario setWorkflow(List<CanonicalType> theWorkflow) { 6958 this.workflow = theWorkflow; 6959 return this; 6960 } 6961 6962 public boolean hasWorkflow() { 6963 if (this.workflow == null) 6964 return false; 6965 for (CanonicalType item : this.workflow) 6966 if (!item.isEmpty()) 6967 return true; 6968 return false; 6969 } 6970 6971 /** 6972 * @return {@link #workflow} (Another nested workflow.) 6973 */ 6974 public CanonicalType addWorkflowElement() {//2 6975 CanonicalType t = new CanonicalType(); 6976 if (this.workflow == null) 6977 this.workflow = new ArrayList<CanonicalType>(); 6978 this.workflow.add(t); 6979 return t; 6980 } 6981 6982 /** 6983 * @param value {@link #workflow} (Another nested workflow.) 6984 */ 6985 public ExampleScenario addWorkflow(String value) { //1 6986 CanonicalType t = new CanonicalType(); 6987 t.setValue(value); 6988 if (this.workflow == null) 6989 this.workflow = new ArrayList<CanonicalType>(); 6990 this.workflow.add(t); 6991 return this; 6992 } 6993 6994 /** 6995 * @param value {@link #workflow} (Another nested workflow.) 6996 */ 6997 public boolean hasWorkflow(String value) { 6998 if (this.workflow == null) 6999 return false; 7000 for (CanonicalType v : this.workflow) 7001 if (v.getValue().equals(value)) // canonical(ExampleScenario) 7002 return true; 7003 return false; 7004 } 7005 7006 protected void listChildren(List<Property> children) { 7007 super.listChildren(children); 7008 children.add(new Property("url", "uri", "An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this example scenario is (or will be) published.", 0, 1, url)); 7009 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 7010 children.add(new Property("version", "string", "The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); 7011 children.add(new Property("name", "string", "A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 7012 children.add(new Property("status", "code", "The status of this example scenario. Enables tracking the life-cycle of the content.", 0, 1, status)); 7013 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 7014 children.add(new Property("date", "dateTime", "The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition').", 0, 1, date)); 7015 children.add(new Property("publisher", "string", "The name of the organization or individual that published the example scenario.", 0, 1, publisher)); 7016 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 7017 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate example scenario instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 7018 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the example scenario is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 7019 children.add(new Property("copyright", "markdown", "A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.", 0, 1, copyright)); 7020 children.add(new Property("purpose", "markdown", "What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.", 0, 1, purpose)); 7021 children.add(new Property("actor", "", "Actor participating in the resource.", 0, java.lang.Integer.MAX_VALUE, actor)); 7022 children.add(new Property("instance", "", "Each resource and each version that is present in the workflow.", 0, java.lang.Integer.MAX_VALUE, instance)); 7023 children.add(new Property("process", "", "Each major process - a group of operations.", 0, java.lang.Integer.MAX_VALUE, process)); 7024 children.add(new Property("workflow", "canonical(ExampleScenario)", "Another nested workflow.", 0, java.lang.Integer.MAX_VALUE, workflow)); 7025 } 7026 7027 @Override 7028 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 7029 switch (_hash) { 7030 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this example scenario is (or will be) published.", 0, 1, url); 7031 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 7032 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); 7033 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 7034 case -892481550: /*status*/ return new Property("status", "code", "The status of this example scenario. Enables tracking the life-cycle of the content.", 0, 1, status); 7035 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 7036 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition').", 0, 1, date); 7037 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the example scenario.", 0, 1, publisher); 7038 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 7039 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate example scenario instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 7040 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the example scenario is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 7041 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.", 0, 1, copyright); 7042 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.", 0, 1, purpose); 7043 case 92645877: /*actor*/ return new Property("actor", "", "Actor participating in the resource.", 0, java.lang.Integer.MAX_VALUE, actor); 7044 case 555127957: /*instance*/ return new Property("instance", "", "Each resource and each version that is present in the workflow.", 0, java.lang.Integer.MAX_VALUE, instance); 7045 case -309518737: /*process*/ return new Property("process", "", "Each major process - a group of operations.", 0, java.lang.Integer.MAX_VALUE, process); 7046 case 35379135: /*workflow*/ return new Property("workflow", "canonical(ExampleScenario)", "Another nested workflow.", 0, java.lang.Integer.MAX_VALUE, workflow); 7047 default: return super.getNamedProperty(_hash, _name, _checkValid); 7048 } 7049 7050 } 7051 7052 @Override 7053 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 7054 switch (hash) { 7055 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 7056 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 7057 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 7058 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 7059 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 7060 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 7061 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 7062 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 7063 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 7064 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 7065 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 7066 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 7067 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 7068 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // ExampleScenarioActorComponent 7069 case 555127957: /*instance*/ return this.instance == null ? new Base[0] : this.instance.toArray(new Base[this.instance.size()]); // ExampleScenarioInstanceComponent 7070 case -309518737: /*process*/ return this.process == null ? new Base[0] : this.process.toArray(new Base[this.process.size()]); // ExampleScenarioProcessComponent 7071 case 35379135: /*workflow*/ return this.workflow == null ? new Base[0] : this.workflow.toArray(new Base[this.workflow.size()]); // CanonicalType 7072 default: return super.getProperty(hash, name, checkValid); 7073 } 7074 7075 } 7076 7077 @Override 7078 public Base setProperty(int hash, String name, Base value) throws FHIRException { 7079 switch (hash) { 7080 case 116079: // url 7081 this.url = castToUri(value); // UriType 7082 return value; 7083 case -1618432855: // identifier 7084 this.getIdentifier().add(castToIdentifier(value)); // Identifier 7085 return value; 7086 case 351608024: // version 7087 this.version = castToString(value); // StringType 7088 return value; 7089 case 3373707: // name 7090 this.name = castToString(value); // StringType 7091 return value; 7092 case -892481550: // status 7093 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 7094 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 7095 return value; 7096 case -404562712: // experimental 7097 this.experimental = castToBoolean(value); // BooleanType 7098 return value; 7099 case 3076014: // date 7100 this.date = castToDateTime(value); // DateTimeType 7101 return value; 7102 case 1447404028: // publisher 7103 this.publisher = castToString(value); // StringType 7104 return value; 7105 case 951526432: // contact 7106 this.getContact().add(castToContactDetail(value)); // ContactDetail 7107 return value; 7108 case -669707736: // useContext 7109 this.getUseContext().add(castToUsageContext(value)); // UsageContext 7110 return value; 7111 case -507075711: // jurisdiction 7112 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 7113 return value; 7114 case 1522889671: // copyright 7115 this.copyright = castToMarkdown(value); // MarkdownType 7116 return value; 7117 case -220463842: // purpose 7118 this.purpose = castToMarkdown(value); // MarkdownType 7119 return value; 7120 case 92645877: // actor 7121 this.getActor().add((ExampleScenarioActorComponent) value); // ExampleScenarioActorComponent 7122 return value; 7123 case 555127957: // instance 7124 this.getInstance().add((ExampleScenarioInstanceComponent) value); // ExampleScenarioInstanceComponent 7125 return value; 7126 case -309518737: // process 7127 this.getProcess().add((ExampleScenarioProcessComponent) value); // ExampleScenarioProcessComponent 7128 return value; 7129 case 35379135: // workflow 7130 this.getWorkflow().add(castToCanonical(value)); // CanonicalType 7131 return value; 7132 default: return super.setProperty(hash, name, value); 7133 } 7134 7135 } 7136 7137 @Override 7138 public Base setProperty(String name, Base value) throws FHIRException { 7139 if (name.equals("url")) { 7140 this.url = castToUri(value); // UriType 7141 } else if (name.equals("identifier")) { 7142 this.getIdentifier().add(castToIdentifier(value)); 7143 } else if (name.equals("version")) { 7144 this.version = castToString(value); // StringType 7145 } else if (name.equals("name")) { 7146 this.name = castToString(value); // StringType 7147 } else if (name.equals("status")) { 7148 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 7149 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 7150 } else if (name.equals("experimental")) { 7151 this.experimental = castToBoolean(value); // BooleanType 7152 } else if (name.equals("date")) { 7153 this.date = castToDateTime(value); // DateTimeType 7154 } else if (name.equals("publisher")) { 7155 this.publisher = castToString(value); // StringType 7156 } else if (name.equals("contact")) { 7157 this.getContact().add(castToContactDetail(value)); 7158 } else if (name.equals("useContext")) { 7159 this.getUseContext().add(castToUsageContext(value)); 7160 } else if (name.equals("jurisdiction")) { 7161 this.getJurisdiction().add(castToCodeableConcept(value)); 7162 } else if (name.equals("copyright")) { 7163 this.copyright = castToMarkdown(value); // MarkdownType 7164 } else if (name.equals("purpose")) { 7165 this.purpose = castToMarkdown(value); // MarkdownType 7166 } else if (name.equals("actor")) { 7167 this.getActor().add((ExampleScenarioActorComponent) value); 7168 } else if (name.equals("instance")) { 7169 this.getInstance().add((ExampleScenarioInstanceComponent) value); 7170 } else if (name.equals("process")) { 7171 this.getProcess().add((ExampleScenarioProcessComponent) value); 7172 } else if (name.equals("workflow")) { 7173 this.getWorkflow().add(castToCanonical(value)); 7174 } else 7175 return super.setProperty(name, value); 7176 return value; 7177 } 7178 7179 @Override 7180 public Base makeProperty(int hash, String name) throws FHIRException { 7181 switch (hash) { 7182 case 116079: return getUrlElement(); 7183 case -1618432855: return addIdentifier(); 7184 case 351608024: return getVersionElement(); 7185 case 3373707: return getNameElement(); 7186 case -892481550: return getStatusElement(); 7187 case -404562712: return getExperimentalElement(); 7188 case 3076014: return getDateElement(); 7189 case 1447404028: return getPublisherElement(); 7190 case 951526432: return addContact(); 7191 case -669707736: return addUseContext(); 7192 case -507075711: return addJurisdiction(); 7193 case 1522889671: return getCopyrightElement(); 7194 case -220463842: return getPurposeElement(); 7195 case 92645877: return addActor(); 7196 case 555127957: return addInstance(); 7197 case -309518737: return addProcess(); 7198 case 35379135: return addWorkflowElement(); 7199 default: return super.makeProperty(hash, name); 7200 } 7201 7202 } 7203 7204 @Override 7205 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 7206 switch (hash) { 7207 case 116079: /*url*/ return new String[] {"uri"}; 7208 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 7209 case 351608024: /*version*/ return new String[] {"string"}; 7210 case 3373707: /*name*/ return new String[] {"string"}; 7211 case -892481550: /*status*/ return new String[] {"code"}; 7212 case -404562712: /*experimental*/ return new String[] {"boolean"}; 7213 case 3076014: /*date*/ return new String[] {"dateTime"}; 7214 case 1447404028: /*publisher*/ return new String[] {"string"}; 7215 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 7216 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 7217 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 7218 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 7219 case -220463842: /*purpose*/ return new String[] {"markdown"}; 7220 case 92645877: /*actor*/ return new String[] {}; 7221 case 555127957: /*instance*/ return new String[] {}; 7222 case -309518737: /*process*/ return new String[] {}; 7223 case 35379135: /*workflow*/ return new String[] {"canonical"}; 7224 default: return super.getTypesForProperty(hash, name); 7225 } 7226 7227 } 7228 7229 @Override 7230 public Base addChild(String name) throws FHIRException { 7231 if (name.equals("url")) { 7232 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.url"); 7233 } 7234 else if (name.equals("identifier")) { 7235 return addIdentifier(); 7236 } 7237 else if (name.equals("version")) { 7238 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.version"); 7239 } 7240 else if (name.equals("name")) { 7241 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.name"); 7242 } 7243 else if (name.equals("status")) { 7244 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.status"); 7245 } 7246 else if (name.equals("experimental")) { 7247 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.experimental"); 7248 } 7249 else if (name.equals("date")) { 7250 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.date"); 7251 } 7252 else if (name.equals("publisher")) { 7253 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.publisher"); 7254 } 7255 else if (name.equals("contact")) { 7256 return addContact(); 7257 } 7258 else if (name.equals("useContext")) { 7259 return addUseContext(); 7260 } 7261 else if (name.equals("jurisdiction")) { 7262 return addJurisdiction(); 7263 } 7264 else if (name.equals("copyright")) { 7265 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.copyright"); 7266 } 7267 else if (name.equals("purpose")) { 7268 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.purpose"); 7269 } 7270 else if (name.equals("actor")) { 7271 return addActor(); 7272 } 7273 else if (name.equals("instance")) { 7274 return addInstance(); 7275 } 7276 else if (name.equals("process")) { 7277 return addProcess(); 7278 } 7279 else if (name.equals("workflow")) { 7280 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.workflow"); 7281 } 7282 else 7283 return super.addChild(name); 7284 } 7285 7286 public String fhirType() { 7287 return "ExampleScenario"; 7288 7289 } 7290 7291 public ExampleScenario copy() { 7292 ExampleScenario dst = new ExampleScenario(); 7293 copyValues(dst); 7294 dst.url = url == null ? null : url.copy(); 7295 if (identifier != null) { 7296 dst.identifier = new ArrayList<Identifier>(); 7297 for (Identifier i : identifier) 7298 dst.identifier.add(i.copy()); 7299 }; 7300 dst.version = version == null ? null : version.copy(); 7301 dst.name = name == null ? null : name.copy(); 7302 dst.status = status == null ? null : status.copy(); 7303 dst.experimental = experimental == null ? null : experimental.copy(); 7304 dst.date = date == null ? null : date.copy(); 7305 dst.publisher = publisher == null ? null : publisher.copy(); 7306 if (contact != null) { 7307 dst.contact = new ArrayList<ContactDetail>(); 7308 for (ContactDetail i : contact) 7309 dst.contact.add(i.copy()); 7310 }; 7311 if (useContext != null) { 7312 dst.useContext = new ArrayList<UsageContext>(); 7313 for (UsageContext i : useContext) 7314 dst.useContext.add(i.copy()); 7315 }; 7316 if (jurisdiction != null) { 7317 dst.jurisdiction = new ArrayList<CodeableConcept>(); 7318 for (CodeableConcept i : jurisdiction) 7319 dst.jurisdiction.add(i.copy()); 7320 }; 7321 dst.copyright = copyright == null ? null : copyright.copy(); 7322 dst.purpose = purpose == null ? null : purpose.copy(); 7323 if (actor != null) { 7324 dst.actor = new ArrayList<ExampleScenarioActorComponent>(); 7325 for (ExampleScenarioActorComponent i : actor) 7326 dst.actor.add(i.copy()); 7327 }; 7328 if (instance != null) { 7329 dst.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 7330 for (ExampleScenarioInstanceComponent i : instance) 7331 dst.instance.add(i.copy()); 7332 }; 7333 if (process != null) { 7334 dst.process = new ArrayList<ExampleScenarioProcessComponent>(); 7335 for (ExampleScenarioProcessComponent i : process) 7336 dst.process.add(i.copy()); 7337 }; 7338 if (workflow != null) { 7339 dst.workflow = new ArrayList<CanonicalType>(); 7340 for (CanonicalType i : workflow) 7341 dst.workflow.add(i.copy()); 7342 }; 7343 return dst; 7344 } 7345 7346 protected ExampleScenario typedCopy() { 7347 return copy(); 7348 } 7349 7350 @Override 7351 public boolean equalsDeep(Base other_) { 7352 if (!super.equalsDeep(other_)) 7353 return false; 7354 if (!(other_ instanceof ExampleScenario)) 7355 return false; 7356 ExampleScenario o = (ExampleScenario) other_; 7357 return compareDeep(identifier, o.identifier, true) && compareDeep(copyright, o.copyright, true) 7358 && compareDeep(purpose, o.purpose, true) && compareDeep(actor, o.actor, true) && compareDeep(instance, o.instance, true) 7359 && compareDeep(process, o.process, true) && compareDeep(workflow, o.workflow, true); 7360 } 7361 7362 @Override 7363 public boolean equalsShallow(Base other_) { 7364 if (!super.equalsShallow(other_)) 7365 return false; 7366 if (!(other_ instanceof ExampleScenario)) 7367 return false; 7368 ExampleScenario o = (ExampleScenario) other_; 7369 return compareValues(copyright, o.copyright, true) && compareValues(purpose, o.purpose, true); 7370 } 7371 7372 public boolean isEmpty() { 7373 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, copyright, purpose 7374 , actor, instance, process, workflow); 7375 } 7376 7377 @Override 7378 public ResourceType getResourceType() { 7379 return ResourceType.ExampleScenario; 7380 } 7381 7382 /** 7383 * Search parameter: <b>date</b> 7384 * <p> 7385 * Description: <b>The example scenario publication date</b><br> 7386 * Type: <b>date</b><br> 7387 * Path: <b>ExampleScenario.date</b><br> 7388 * </p> 7389 */ 7390 @SearchParamDefinition(name="date", path="ExampleScenario.date", description="The example scenario publication date", type="date" ) 7391 public static final String SP_DATE = "date"; 7392 /** 7393 * <b>Fluent Client</b> search parameter constant for <b>date</b> 7394 * <p> 7395 * Description: <b>The example scenario publication date</b><br> 7396 * Type: <b>date</b><br> 7397 * Path: <b>ExampleScenario.date</b><br> 7398 * </p> 7399 */ 7400 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 7401 7402 /** 7403 * Search parameter: <b>identifier</b> 7404 * <p> 7405 * Description: <b>External identifier for the example scenario</b><br> 7406 * Type: <b>token</b><br> 7407 * Path: <b>ExampleScenario.identifier</b><br> 7408 * </p> 7409 */ 7410 @SearchParamDefinition(name="identifier", path="ExampleScenario.identifier", description="External identifier for the example scenario", type="token" ) 7411 public static final String SP_IDENTIFIER = "identifier"; 7412 /** 7413 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 7414 * <p> 7415 * Description: <b>External identifier for the example scenario</b><br> 7416 * Type: <b>token</b><br> 7417 * Path: <b>ExampleScenario.identifier</b><br> 7418 * </p> 7419 */ 7420 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 7421 7422 /** 7423 * Search parameter: <b>jurisdiction</b> 7424 * <p> 7425 * Description: <b>Intended jurisdiction for the example scenario</b><br> 7426 * Type: <b>token</b><br> 7427 * Path: <b>ExampleScenario.jurisdiction</b><br> 7428 * </p> 7429 */ 7430 @SearchParamDefinition(name="jurisdiction", path="ExampleScenario.jurisdiction", description="Intended jurisdiction for the example scenario", type="token" ) 7431 public static final String SP_JURISDICTION = "jurisdiction"; 7432 /** 7433 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 7434 * <p> 7435 * Description: <b>Intended jurisdiction for the example scenario</b><br> 7436 * Type: <b>token</b><br> 7437 * Path: <b>ExampleScenario.jurisdiction</b><br> 7438 * </p> 7439 */ 7440 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 7441 7442 /** 7443 * Search parameter: <b>name</b> 7444 * <p> 7445 * Description: <b>Computationally friendly name of the example scenario</b><br> 7446 * Type: <b>string</b><br> 7447 * Path: <b>ExampleScenario.name</b><br> 7448 * </p> 7449 */ 7450 @SearchParamDefinition(name="name", path="ExampleScenario.name", description="Computationally friendly name of the example scenario", type="string" ) 7451 public static final String SP_NAME = "name"; 7452 /** 7453 * <b>Fluent Client</b> search parameter constant for <b>name</b> 7454 * <p> 7455 * Description: <b>Computationally friendly name of the example scenario</b><br> 7456 * Type: <b>string</b><br> 7457 * Path: <b>ExampleScenario.name</b><br> 7458 * </p> 7459 */ 7460 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 7461 7462 /** 7463 * Search parameter: <b>publisher</b> 7464 * <p> 7465 * Description: <b>Name of the publisher of the example scenario</b><br> 7466 * Type: <b>string</b><br> 7467 * Path: <b>ExampleScenario.publisher</b><br> 7468 * </p> 7469 */ 7470 @SearchParamDefinition(name="publisher", path="ExampleScenario.publisher", description="Name of the publisher of the example scenario", type="string" ) 7471 public static final String SP_PUBLISHER = "publisher"; 7472 /** 7473 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 7474 * <p> 7475 * Description: <b>Name of the publisher of the example scenario</b><br> 7476 * Type: <b>string</b><br> 7477 * Path: <b>ExampleScenario.publisher</b><br> 7478 * </p> 7479 */ 7480 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 7481 7482 /** 7483 * Search parameter: <b>version</b> 7484 * <p> 7485 * Description: <b>The business version of the example scenario</b><br> 7486 * Type: <b>token</b><br> 7487 * Path: <b>ExampleScenario.version</b><br> 7488 * </p> 7489 */ 7490 @SearchParamDefinition(name="version", path="ExampleScenario.version", description="The business version of the example scenario", type="token" ) 7491 public static final String SP_VERSION = "version"; 7492 /** 7493 * <b>Fluent Client</b> search parameter constant for <b>version</b> 7494 * <p> 7495 * Description: <b>The business version of the example scenario</b><br> 7496 * Type: <b>token</b><br> 7497 * Path: <b>ExampleScenario.version</b><br> 7498 * </p> 7499 */ 7500 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 7501 7502 /** 7503 * Search parameter: <b>url</b> 7504 * <p> 7505 * Description: <b>The uri that identifies the example scenario</b><br> 7506 * Type: <b>uri</b><br> 7507 * Path: <b>ExampleScenario.url</b><br> 7508 * </p> 7509 */ 7510 @SearchParamDefinition(name="url", path="ExampleScenario.url", description="The uri that identifies the example scenario", type="uri" ) 7511 public static final String SP_URL = "url"; 7512 /** 7513 * <b>Fluent Client</b> search parameter constant for <b>url</b> 7514 * <p> 7515 * Description: <b>The uri that identifies the example scenario</b><br> 7516 * Type: <b>uri</b><br> 7517 * Path: <b>ExampleScenario.url</b><br> 7518 * </p> 7519 */ 7520 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 7521 7522 /** 7523 * Search parameter: <b>status</b> 7524 * <p> 7525 * Description: <b>The current status of the example scenario</b><br> 7526 * Type: <b>token</b><br> 7527 * Path: <b>ExampleScenario.status</b><br> 7528 * </p> 7529 */ 7530 @SearchParamDefinition(name="status", path="ExampleScenario.status", description="The current status of the example scenario", type="token" ) 7531 public static final String SP_STATUS = "status"; 7532 /** 7533 * <b>Fluent Client</b> search parameter constant for <b>status</b> 7534 * <p> 7535 * Description: <b>The current status of the example scenario</b><br> 7536 * Type: <b>token</b><br> 7537 * Path: <b>ExampleScenario.status</b><br> 7538 * </p> 7539 */ 7540 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 7541 7542 7543} 7544