All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ca.uhn.fhir.model.dstu.resource.Profile Maven / Gradle / Ivy

There is a newer version: 7.6.1
Show newest version
















package ca.uhn.fhir.model.dstu.resource;


import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.rest.gclient.*;

import ca.uhn.fhir.model.dstu.composite.AddressDt;
import ca.uhn.fhir.model.dstu.valueset.AdministrativeGenderCodesEnum;
import ca.uhn.fhir.model.dstu.valueset.AdmitSourceEnum;
import ca.uhn.fhir.model.dstu.resource.AdverseReaction;
import ca.uhn.fhir.model.dstu.valueset.AggregationModeEnum;
import ca.uhn.fhir.model.dstu.valueset.AlertStatusEnum;
import ca.uhn.fhir.model.dstu.resource.AllergyIntolerance;
import ca.uhn.fhir.model.dstu.valueset.AnimalSpeciesEnum;
import ca.uhn.fhir.model.dstu.resource.Appointment;
import ca.uhn.fhir.model.dstu.composite.AttachmentDt;
import ca.uhn.fhir.model.dstu.resource.Availability;
import ca.uhn.fhir.model.dstu.valueset.BindingConformanceEnum;
import ca.uhn.fhir.model.dstu.resource.CarePlan;
import ca.uhn.fhir.model.dstu.valueset.CarePlanActivityCategoryEnum;
import ca.uhn.fhir.model.dstu.valueset.CarePlanActivityStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.CarePlanGoalStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.CarePlanStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.CausalityExpectationEnum;
import ca.uhn.fhir.model.dstu.composite.CodeableConceptDt;
import ca.uhn.fhir.model.dstu.composite.CodingDt;
import ca.uhn.fhir.model.dstu.valueset.CompositionAttestationModeEnum;
import ca.uhn.fhir.model.dstu.valueset.CompositionStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.ConceptMapEquivalenceEnum;
import ca.uhn.fhir.model.dstu.resource.Condition;
import ca.uhn.fhir.model.dstu.valueset.ConditionRelationshipTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.ConditionStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.ConformanceEventModeEnum;
import ca.uhn.fhir.model.dstu.valueset.ConformanceStatementStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.ConstraintSeverityEnum;
import ca.uhn.fhir.model.dstu.composite.ContactDt;
import ca.uhn.fhir.model.dstu.valueset.ContactUseEnum;
import ca.uhn.fhir.model.dstu.valueset.CriticalityEnum;
import ca.uhn.fhir.model.dstu.valueset.DataTypeEnum;
import ca.uhn.fhir.model.dstu.resource.Device;
import ca.uhn.fhir.model.dstu.resource.DeviceObservationReport;
import ca.uhn.fhir.model.dstu.resource.DiagnosticOrder;
import ca.uhn.fhir.model.dstu.valueset.DiagnosticOrderPriorityEnum;
import ca.uhn.fhir.model.dstu.valueset.DiagnosticOrderStatusEnum;
import ca.uhn.fhir.model.dstu.resource.DiagnosticReport;
import ca.uhn.fhir.model.dstu.valueset.DiagnosticReportStatusEnum;
import ca.uhn.fhir.model.dstu.resource.DocumentManifest;
import ca.uhn.fhir.model.dstu.valueset.DocumentModeEnum;
import ca.uhn.fhir.model.dstu.resource.DocumentReference;
import ca.uhn.fhir.model.dstu.valueset.DocumentReferenceStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.DocumentRelationshipTypeEnum;
import ca.uhn.fhir.model.dstu.resource.Encounter;
import ca.uhn.fhir.model.dstu.valueset.EncounterClassEnum;
import ca.uhn.fhir.model.dstu.valueset.EncounterStateEnum;
import ca.uhn.fhir.model.dstu.valueset.EncounterTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.ExposureTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.ExtensionContextEnum;
import ca.uhn.fhir.model.dstu.valueset.FHIRDefinedTypeEnum;
import ca.uhn.fhir.model.dstu.resource.FamilyHistory;
import ca.uhn.fhir.model.dstu.valueset.FilterOperatorEnum;
import ca.uhn.fhir.model.dstu.resource.GVFMeta;
import ca.uhn.fhir.model.dstu.resource.Group;
import ca.uhn.fhir.model.dstu.valueset.GroupTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.HierarchicalRelationshipTypeEnum;
import ca.uhn.fhir.model.dstu.composite.HumanNameDt;
import ca.uhn.fhir.model.dstu.composite.IdentifierDt;
import ca.uhn.fhir.model.dstu.valueset.IdentifierUseEnum;
import ca.uhn.fhir.model.dstu.valueset.ImagingModalityEnum;
import ca.uhn.fhir.model.dstu.resource.ImagingStudy;
import ca.uhn.fhir.model.dstu.resource.Immunization;
import ca.uhn.fhir.model.dstu.valueset.ImmunizationReasonCodesEnum;
import ca.uhn.fhir.model.dstu.resource.ImmunizationRecommendation;
import ca.uhn.fhir.model.dstu.valueset.ImmunizationRecommendationDateCriterionCodesEnum;
import ca.uhn.fhir.model.dstu.valueset.ImmunizationRecommendationStatusCodesEnum;
import ca.uhn.fhir.model.dstu.valueset.ImmunizationRouteCodesEnum;
import ca.uhn.fhir.model.dstu.valueset.InstanceAvailabilityEnum;
import ca.uhn.fhir.model.dstu.valueset.IssueSeverityEnum;
import ca.uhn.fhir.model.dstu.valueset.IssueTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.LinkTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.ListModeEnum;
import ca.uhn.fhir.model.dstu.resource.Location;
import ca.uhn.fhir.model.dstu.valueset.LocationModeEnum;
import ca.uhn.fhir.model.dstu.valueset.LocationStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.LocationTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.MaritalStatusCodesEnum;
import ca.uhn.fhir.model.dstu.resource.Media;
import ca.uhn.fhir.model.dstu.valueset.MediaTypeEnum;
import ca.uhn.fhir.model.dstu.resource.Medication;
import ca.uhn.fhir.model.dstu.resource.MedicationAdministration;
import ca.uhn.fhir.model.dstu.valueset.MedicationAdministrationStatusEnum;
import ca.uhn.fhir.model.dstu.resource.MedicationDispense;
import ca.uhn.fhir.model.dstu.valueset.MedicationDispenseStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.MedicationKindEnum;
import ca.uhn.fhir.model.dstu.resource.MedicationPrescription;
import ca.uhn.fhir.model.dstu.valueset.MedicationPrescriptionStatusEnum;
import ca.uhn.fhir.model.dstu.resource.MedicationStatement;
import ca.uhn.fhir.model.dstu.valueset.MessageEventEnum;
import ca.uhn.fhir.model.dstu.valueset.MessageSignificanceCategoryEnum;
import ca.uhn.fhir.model.dstu.valueset.MessageTransportEnum;
import ca.uhn.fhir.model.dstu.resource.Microarray;
import ca.uhn.fhir.model.dstu.valueset.ModalityEnum;
import ca.uhn.fhir.model.dstu.resource.Observation;
import ca.uhn.fhir.model.dstu.valueset.ObservationRelationshipTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.ObservationReliabilityEnum;
import ca.uhn.fhir.model.dstu.valueset.ObservationStatusEnum;
import ca.uhn.fhir.model.dstu.resource.OperationOutcome;
import ca.uhn.fhir.model.dstu.resource.Order;
import ca.uhn.fhir.model.dstu.valueset.OrderOutcomeStatusEnum;
import ca.uhn.fhir.model.dstu.resource.Organization;
import ca.uhn.fhir.model.dstu.valueset.OrganizationTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.ParticipantTypeEnum;
import ca.uhn.fhir.model.dstu.resource.Patient;
import ca.uhn.fhir.model.dstu.composite.PeriodDt;
import ca.uhn.fhir.model.dstu.resource.Practitioner;
import ca.uhn.fhir.model.dstu.valueset.PractitionerRoleEnum;
import ca.uhn.fhir.model.dstu.valueset.PractitionerSpecialtyEnum;
import ca.uhn.fhir.model.dstu.resource.Procedure;
import ca.uhn.fhir.model.dstu.valueset.ProcedureRelationshipTypeEnum;
import ca.uhn.fhir.model.dstu.resource.Profile;
import ca.uhn.fhir.model.dstu.valueset.PropertyRepresentationEnum;
import ca.uhn.fhir.model.dstu.valueset.ProvenanceEntityRoleEnum;
import ca.uhn.fhir.model.dstu.valueset.QuantityCompararatorEnum;
import ca.uhn.fhir.model.dstu.composite.QuantityDt;
import ca.uhn.fhir.model.dstu.valueset.QueryOutcomeEnum;
import ca.uhn.fhir.model.dstu.valueset.QuestionnaireGroupNameEnum;
import ca.uhn.fhir.model.dstu.valueset.QuestionnaireNameEnum;
import ca.uhn.fhir.model.dstu.valueset.QuestionnaireStatusEnum;
import ca.uhn.fhir.model.dstu.composite.RangeDt;
import ca.uhn.fhir.model.dstu.composite.RatioDt;
import ca.uhn.fhir.model.dstu.valueset.ReactionSeverityEnum;
import ca.uhn.fhir.model.dstu.resource.RelatedPerson;
import ca.uhn.fhir.model.dstu.valueset.ResourceProfileStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.ResourceTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.ResponseTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.RestfulConformanceModeEnum;
import ca.uhn.fhir.model.dstu.valueset.RestfulOperationSystemEnum;
import ca.uhn.fhir.model.dstu.valueset.RestfulOperationTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.RestfulSecurityServiceEnum;
import ca.uhn.fhir.model.dstu.composite.SampledDataDt;
import ca.uhn.fhir.model.dstu.composite.ScheduleDt;
import ca.uhn.fhir.model.dstu.valueset.SearchParamTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.SecurityEventActionEnum;
import ca.uhn.fhir.model.dstu.valueset.SecurityEventObjectLifecycleEnum;
import ca.uhn.fhir.model.dstu.valueset.SecurityEventObjectRoleEnum;
import ca.uhn.fhir.model.dstu.valueset.SecurityEventObjectTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.SecurityEventOutcomeEnum;
import ca.uhn.fhir.model.dstu.valueset.SecurityEventParticipantNetworkTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.SecurityEventSourceTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.SensitivityStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.SensitivityTypeEnum;
import ca.uhn.fhir.model.dstu.resource.SequencingAnalysis;
import ca.uhn.fhir.model.dstu.resource.SequencingLab;
import ca.uhn.fhir.model.dstu.valueset.SlicingRulesEnum;
import ca.uhn.fhir.model.dstu.resource.Slot;
import ca.uhn.fhir.model.dstu.resource.Specimen;
import ca.uhn.fhir.model.dstu.valueset.SpecimenCollectionMethodEnum;
import ca.uhn.fhir.model.dstu.resource.Substance;
import ca.uhn.fhir.model.dstu.valueset.SupplyDispenseStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.SupplyItemTypeEnum;
import ca.uhn.fhir.model.dstu.valueset.SupplyStatusEnum;
import ca.uhn.fhir.model.dstu.valueset.SupplyTypeEnum;
import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
import ca.uhn.fhir.model.dstu.resource.ValueSet;
import ca.uhn.fhir.model.dstu.valueset.ValueSetStatusEnum;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.dstu.composite.AgeDt;
import ca.uhn.fhir.model.dstu.composite.DurationDt;
import ca.uhn.fhir.model.dstu.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dstu.resource.Binary;
import ca.uhn.fhir.model.primitive.Base64BinaryDt;
import ca.uhn.fhir.model.primitive.BooleanDt;
import ca.uhn.fhir.model.primitive.BoundCodeDt;
import ca.uhn.fhir.model.primitive.BoundCodeableConceptDt;
import ca.uhn.fhir.model.primitive.CodeDt;
import ca.uhn.fhir.model.primitive.DateDt;
import ca.uhn.fhir.model.primitive.DateTimeDt;
import ca.uhn.fhir.model.primitive.DecimalDt;
import ca.uhn.fhir.model.primitive.IdDt;
import ca.uhn.fhir.model.primitive.IdrefDt;
import ca.uhn.fhir.model.primitive.InstantDt;
import ca.uhn.fhir.model.primitive.IntegerDt;
import ca.uhn.fhir.model.primitive.OidDt;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.model.primitive.UriDt;


/**
 * HAPI/FHIR Profile Resource
 * (Resource Profile)
 *
 * 

* Definition: * A Resource Profile - a statement of use of one or more FHIR Resources. It may include constraints on Resources and Data Types, Terminology Binding Statements and Extension Definitions *

* *

* Requirements: * *

* *

* Profile Definition: * http://hl7.org/fhir/profiles/Profile *

* */ @ResourceDef(name="Profile", profile="http://hl7.org/fhir/profiles/Profile", id="profile") public class Profile extends ca.uhn.fhir.model.dstu.resource.BaseResource implements IResource { /** * Search parameter constant for identifier *

* Description: The identifier of the profile
* Type: token
* Path: Profile.identifier
*

*/ @SearchParamDefinition(name="identifier", path="Profile.identifier", description="The identifier of the profile", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier *

* Description: The identifier of the profile
* Type: token
* Path: Profile.identifier
*

*/ public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); /** * Search parameter constant for version *

* Description: The version identifier of the profile
* Type: token
* Path: Profile.version
*

*/ @SearchParamDefinition(name="version", path="Profile.version", description="The version identifier of the profile", type="token" ) public static final String SP_VERSION = "version"; /** * Fluent Client search parameter constant for version *

* Description: The version identifier of the profile
* Type: token
* Path: Profile.version
*

*/ public static final TokenClientParam VERSION = new TokenClientParam(SP_VERSION); /** * Search parameter constant for name *

* Description: Name of the profile
* Type: string
* Path: Profile.name
*

*/ @SearchParamDefinition(name="name", path="Profile.name", description="Name of the profile", type="string" ) public static final String SP_NAME = "name"; /** * Fluent Client search parameter constant for name *

* Description: Name of the profile
* Type: string
* Path: Profile.name
*

*/ public static final StringClientParam NAME = new StringClientParam(SP_NAME); /** * Search parameter constant for publisher *

* Description: Name of the publisher of the profile
* Type: string
* Path: Profile.publisher
*

*/ @SearchParamDefinition(name="publisher", path="Profile.publisher", description="Name of the publisher of the profile", type="string" ) public static final String SP_PUBLISHER = "publisher"; /** * Fluent Client search parameter constant for publisher *

* Description: Name of the publisher of the profile
* Type: string
* Path: Profile.publisher
*

*/ public static final StringClientParam PUBLISHER = new StringClientParam(SP_PUBLISHER); /** * Search parameter constant for description *

* Description: Text search in the description of the profile
* Type: string
* Path: Profile.description
*

*/ @SearchParamDefinition(name="description", path="Profile.description", description="Text search in the description of the profile", type="string" ) public static final String SP_DESCRIPTION = "description"; /** * Fluent Client search parameter constant for description *

* Description: Text search in the description of the profile
* Type: string
* Path: Profile.description
*

*/ public static final StringClientParam DESCRIPTION = new StringClientParam(SP_DESCRIPTION); /** * Search parameter constant for status *

* Description: The current status of the profile
* Type: token
* Path: Profile.status
*

*/ @SearchParamDefinition(name="status", path="Profile.status", description="The current status of the profile", type="token" ) public static final String SP_STATUS = "status"; /** * Fluent Client search parameter constant for status *

* Description: The current status of the profile
* Type: token
* Path: Profile.status
*

*/ public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); /** * Search parameter constant for date *

* Description: The profile publication date
* Type: date
* Path: Profile.date
*

*/ @SearchParamDefinition(name="date", path="Profile.date", description="The profile publication date", type="date" ) public static final String SP_DATE = "date"; /** * Fluent Client search parameter constant for date *

* Description: The profile publication date
* Type: date
* Path: Profile.date
*

*/ public static final DateClientParam DATE = new DateClientParam(SP_DATE); /** * Search parameter constant for code *

* Description: A code for the profile in the format uri::code (server may choose to do subsumption)
* Type: token
* Path: Profile.code
*

*/ @SearchParamDefinition(name="code", path="Profile.code", description="A code for the profile in the format uri::code (server may choose to do subsumption)", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code *

* Description: A code for the profile in the format uri::code (server may choose to do subsumption)
* Type: token
* Path: Profile.code
*

*/ public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); /** * Search parameter constant for extension *

* Description: An extension code (use or definition)
* Type: token
* Path: Profile.extensionDefn.code
*

*/ @SearchParamDefinition(name="extension", path="Profile.extensionDefn.code", description="An extension code (use or definition)", type="token" ) public static final String SP_EXTENSION = "extension"; /** * Fluent Client search parameter constant for extension *

* Description: An extension code (use or definition)
* Type: token
* Path: Profile.extensionDefn.code
*

*/ public static final TokenClientParam EXTENSION = new TokenClientParam(SP_EXTENSION); /** * Search parameter constant for valueset *

* Description: A vocabulary binding code
* Type: reference
* Path: Profile.structure.element.definition.binding.reference[x]
*

*/ @SearchParamDefinition(name="valueset", path="Profile.structure.element.definition.binding.reference[x]", description="A vocabulary binding code", type="reference" ) public static final String SP_VALUESET = "valueset"; /** * Fluent Client search parameter constant for valueset *

* Description: A vocabulary binding code
* Type: reference
* Path: Profile.structure.element.definition.binding.reference[x]
*

*/ public static final ReferenceClientParam VALUESET = new ReferenceClientParam(SP_VALUESET); /** * Constant for fluent queries to be used to add include statements. Specifies * the path value of "Profile.structure.element.definition.binding.reference[x]". */ public static final Include INCLUDE_STRUCTURE_ELEMENT_DEFINITION_BINDING_REFERENCE = new Include("Profile.structure.element.definition.binding.reference[x]"); /** * Search parameter constant for type *

* Description: Type of resource that is constrained in the profile
* Type: token
* Path: Profile.structure.type
*

*/ @SearchParamDefinition(name="type", path="Profile.structure.type", description="Type of resource that is constrained in the profile", type="token" ) public static final String SP_TYPE = "type"; /** * Fluent Client search parameter constant for type *

* Description: Type of resource that is constrained in the profile
* Type: token
* Path: Profile.structure.type
*

*/ public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); @Child(name="identifier", type=StringDt.class, order=0, min=0, max=1, summary=true, modifier=false) @Description( shortDefinition="Logical id to reference this profile", formalDefinition="The identifier that is used to identify this profile when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI)" ) private StringDt myIdentifier; @Child(name="version", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) @Description( shortDefinition="Logical id for this version of the profile", formalDefinition="The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp" ) private StringDt myVersion; @Child(name="name", type=StringDt.class, order=2, min=1, max=1, summary=true, modifier=false) @Description( shortDefinition="Informal name for this profile", formalDefinition="A free text natural language name identifying the Profile" ) private StringDt myName; @Child(name="publisher", type=StringDt.class, order=3, min=0, max=1, summary=true, modifier=false) @Description( shortDefinition="Name of the publisher (Organization or individual)", formalDefinition="Details of the individual or organization who accepts responsibility for publishing the profile" ) private StringDt myPublisher; @Child(name="telecom", type=ContactDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) @Description( shortDefinition="Contact information of the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher" ) private java.util.List myTelecom; @Child(name="description", type=StringDt.class, order=5, min=0, max=1, summary=true, modifier=false) @Description( shortDefinition="Natural language description of the profile", formalDefinition="A free text natural language description of the profile and its use" ) private StringDt myDescription; @Child(name="code", type=CodingDt.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) @Description( shortDefinition="Assist with indexing and finding", formalDefinition="A set of terms from external terminologies that may be used to assist with indexing and searching of templates." ) private java.util.List myCode; @Child(name="status", type=CodeDt.class, order=7, min=1, max=1, summary=true, modifier=false) @Description( shortDefinition="draft | active | retired", formalDefinition="The status of the profile" ) private BoundCodeDt myStatus; @Child(name="experimental", type=BooleanDt.class, order=8, min=0, max=1, summary=true, modifier=false) @Description( shortDefinition="If for testing purposes, not real usage", formalDefinition="This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage" ) private BooleanDt myExperimental; @Child(name="date", type=DateTimeDt.class, order=9, min=0, max=1, summary=true, modifier=false) @Description( shortDefinition="Date for this version of the profile", formalDefinition="The date that this version of the profile was published" ) private DateTimeDt myDate; @Child(name="requirements", type=StringDt.class, order=10, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Scope and Usage this profile is for", formalDefinition="The Scope and Usage that this profile was created to meet" ) private StringDt myRequirements; @Child(name="fhirVersion", type=IdDt.class, order=11, min=0, max=1, summary=true, modifier=false) @Description( shortDefinition="FHIR Version this profile targets", formalDefinition="The version of the FHIR specification on which this profile is based" ) private IdDt myFhirVersion; @Child(name="mapping", order=12, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="External specification that the content is mapped to", formalDefinition="An external specification that the content is mapped to" ) private java.util.List myMapping; @Child(name="structure", order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="A constraint on a resource or a data type", formalDefinition="A constraint statement about what contents a resource or data type may have" ) private java.util.List myStructure; @Child(name="extensionDefn", order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Definition of an extension", formalDefinition="An extension defined as part of the profile" ) private java.util.List myExtensionDefn; @Child(name="query", order=15, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Definition of a named query", formalDefinition="Definition of a named query and its parameters and their meaning" ) private java.util.List myQuery; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myVersion, myName, myPublisher, myTelecom, myDescription, myCode, myStatus, myExperimental, myDate, myRequirements, myFhirVersion, myMapping, myStructure, myExtensionDefn, myQuery); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myVersion, myName, myPublisher, myTelecom, myDescription, myCode, myStatus, myExperimental, myDate, myRequirements, myFhirVersion, myMapping, myStructure, myExtensionDefn, myQuery); } /** * Gets the value(s) for identifier (Logical id to reference this profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * The identifier that is used to identify this profile when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI) *

*/ public StringDt getIdentifier() { if (myIdentifier == null) { myIdentifier = new StringDt(); } return myIdentifier; } /** * Gets the value(s) for identifier (Logical id to reference this profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * The identifier that is used to identify this profile when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI) *

*/ public StringDt getIdentifierElement() { if (myIdentifier == null) { myIdentifier = new StringDt(); } return myIdentifier; } /** * Sets the value(s) for identifier (Logical id to reference this profile) * *

* Definition: * The identifier that is used to identify this profile when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI) *

*/ public Profile setIdentifier(StringDt theValue) { myIdentifier = theValue; return this; } /** * Sets the value for identifier (Logical id to reference this profile) * *

* Definition: * The identifier that is used to identify this profile when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI) *

*/ public Profile setIdentifier( String theString) { myIdentifier = new StringDt(theString); return this; } /** * Gets the value(s) for version (Logical id for this version of the profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp *

*/ public StringDt getVersion() { if (myVersion == null) { myVersion = new StringDt(); } return myVersion; } /** * Gets the value(s) for version (Logical id for this version of the profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp *

*/ public StringDt getVersionElement() { if (myVersion == null) { myVersion = new StringDt(); } return myVersion; } /** * Sets the value(s) for version (Logical id for this version of the profile) * *

* Definition: * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp *

*/ public Profile setVersion(StringDt theValue) { myVersion = theValue; return this; } /** * Sets the value for version (Logical id for this version of the profile) * *

* Definition: * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp *

*/ public Profile setVersion( String theString) { myVersion = new StringDt(theString); return this; } /** * Gets the value(s) for name (Informal name for this profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * A free text natural language name identifying the Profile *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Informal name for this profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * A free text natural language name identifying the Profile *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Informal name for this profile) * *

* Definition: * A free text natural language name identifying the Profile *

*/ public Profile setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Informal name for this profile) * *

* Definition: * A free text natural language name identifying the Profile *

*/ public Profile setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for publisher (Name of the publisher (Organization or individual)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Details of the individual or organization who accepts responsibility for publishing the profile *

*/ public StringDt getPublisher() { if (myPublisher == null) { myPublisher = new StringDt(); } return myPublisher; } /** * Gets the value(s) for publisher (Name of the publisher (Organization or individual)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Details of the individual or organization who accepts responsibility for publishing the profile *

*/ public StringDt getPublisherElement() { if (myPublisher == null) { myPublisher = new StringDt(); } return myPublisher; } /** * Sets the value(s) for publisher (Name of the publisher (Organization or individual)) * *

* Definition: * Details of the individual or organization who accepts responsibility for publishing the profile *

*/ public Profile setPublisher(StringDt theValue) { myPublisher = theValue; return this; } /** * Sets the value for publisher (Name of the publisher (Organization or individual)) * *

* Definition: * Details of the individual or organization who accepts responsibility for publishing the profile *

*/ public Profile setPublisher( String theString) { myPublisher = new StringDt(theString); return this; } /** * Gets the value(s) for telecom (Contact information of the publisher). * creating it if it does * not exist. Will not return null. * *

* Definition: * Contact details to assist a user in finding and communicating with the publisher *

*/ public java.util.List getTelecom() { if (myTelecom == null) { myTelecom = new java.util.ArrayList(); } return myTelecom; } /** * Gets the value(s) for telecom (Contact information of the publisher). * creating it if it does * not exist. Will not return null. * *

* Definition: * Contact details to assist a user in finding and communicating with the publisher *

*/ public java.util.List getTelecomElement() { if (myTelecom == null) { myTelecom = new java.util.ArrayList(); } return myTelecom; } /** * Sets the value(s) for telecom (Contact information of the publisher) * *

* Definition: * Contact details to assist a user in finding and communicating with the publisher *

*/ public Profile setTelecom(java.util.List theValue) { myTelecom = theValue; return this; } /** * Adds and returns a new value for telecom (Contact information of the publisher) * *

* Definition: * Contact details to assist a user in finding and communicating with the publisher *

*/ public ContactDt addTelecom() { ContactDt newType = new ContactDt(); getTelecom().add(newType); return newType; } /** * Gets the first repetition for telecom (Contact information of the publisher), * creating it if it does not already exist. * *

* Definition: * Contact details to assist a user in finding and communicating with the publisher *

*/ public ContactDt getTelecomFirstRep() { if (getTelecom().isEmpty()) { return addTelecom(); } return getTelecom().get(0); } /** * Adds a new value for telecom (Contact information of the publisher) * *

* Definition: * Contact details to assist a user in finding and communicating with the publisher *

* * @return Returns a reference to this object, to allow for simple chaining. */ public Profile addTelecom( ContactUseEnum theContactUse, String theValue) { if (myTelecom == null) { myTelecom = new java.util.ArrayList(); } myTelecom.add(new ContactDt(theContactUse, theValue)); return this; } /** * Adds a new value for telecom (Contact information of the publisher) * *

* Definition: * Contact details to assist a user in finding and communicating with the publisher *

* * @return Returns a reference to this object, to allow for simple chaining. */ public Profile addTelecom( String theValue) { if (myTelecom == null) { myTelecom = new java.util.ArrayList(); } myTelecom.add(new ContactDt(theValue)); return this; } /** * Gets the value(s) for description (Natural language description of the profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * A free text natural language description of the profile and its use *

*/ public StringDt getDescription() { if (myDescription == null) { myDescription = new StringDt(); } return myDescription; } /** * Gets the value(s) for description (Natural language description of the profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * A free text natural language description of the profile and its use *

*/ public StringDt getDescriptionElement() { if (myDescription == null) { myDescription = new StringDt(); } return myDescription; } /** * Sets the value(s) for description (Natural language description of the profile) * *

* Definition: * A free text natural language description of the profile and its use *

*/ public Profile setDescription(StringDt theValue) { myDescription = theValue; return this; } /** * Sets the value for description (Natural language description of the profile) * *

* Definition: * A free text natural language description of the profile and its use *

*/ public Profile setDescription( String theString) { myDescription = new StringDt(theString); return this; } /** * Gets the value(s) for code (Assist with indexing and finding). * creating it if it does * not exist. Will not return null. * *

* Definition: * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. *

*/ public java.util.List getCode() { if (myCode == null) { myCode = new java.util.ArrayList(); } return myCode; } /** * Gets the value(s) for code (Assist with indexing and finding). * creating it if it does * not exist. Will not return null. * *

* Definition: * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. *

*/ public java.util.List getCodeElement() { if (myCode == null) { myCode = new java.util.ArrayList(); } return myCode; } /** * Sets the value(s) for code (Assist with indexing and finding) * *

* Definition: * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. *

*/ public Profile setCode(java.util.List theValue) { myCode = theValue; return this; } /** * Adds and returns a new value for code (Assist with indexing and finding) * *

* Definition: * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. *

*/ public CodingDt addCode() { CodingDt newType = new CodingDt(); getCode().add(newType); return newType; } /** * Gets the first repetition for code (Assist with indexing and finding), * creating it if it does not already exist. * *

* Definition: * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. *

*/ public CodingDt getCodeFirstRep() { if (getCode().isEmpty()) { return addCode(); } return getCode().get(0); } /** * Gets the value(s) for status (draft | active | retired). * creating it if it does * not exist. Will not return null. * *

* Definition: * The status of the profile *

*/ public BoundCodeDt getStatus() { if (myStatus == null) { myStatus = new BoundCodeDt(ResourceProfileStatusEnum.VALUESET_BINDER); } return myStatus; } /** * Gets the value(s) for status (draft | active | retired). * creating it if it does * not exist. Will not return null. * *

* Definition: * The status of the profile *

*/ public BoundCodeDt getStatusElement() { if (myStatus == null) { myStatus = new BoundCodeDt(ResourceProfileStatusEnum.VALUESET_BINDER); } return myStatus; } /** * Sets the value(s) for status (draft | active | retired) * *

* Definition: * The status of the profile *

*/ public Profile setStatus(BoundCodeDt theValue) { myStatus = theValue; return this; } /** * Sets the value(s) for status (draft | active | retired) * *

* Definition: * The status of the profile *

*/ public Profile setStatus(ResourceProfileStatusEnum theValue) { getStatus().setValueAsEnum(theValue); return this; } /** * Gets the value(s) for experimental (If for testing purposes, not real usage). * creating it if it does * not exist. Will not return null. * *

* Definition: * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage *

*/ public BooleanDt getExperimental() { if (myExperimental == null) { myExperimental = new BooleanDt(); } return myExperimental; } /** * Gets the value(s) for experimental (If for testing purposes, not real usage). * creating it if it does * not exist. Will not return null. * *

* Definition: * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage *

*/ public BooleanDt getExperimentalElement() { if (myExperimental == null) { myExperimental = new BooleanDt(); } return myExperimental; } /** * Sets the value(s) for experimental (If for testing purposes, not real usage) * *

* Definition: * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage *

*/ public Profile setExperimental(BooleanDt theValue) { myExperimental = theValue; return this; } /** * Sets the value for experimental (If for testing purposes, not real usage) * *

* Definition: * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage *

*/ public Profile setExperimental( boolean theBoolean) { myExperimental = new BooleanDt(theBoolean); return this; } /** * Gets the value(s) for date (Date for this version of the profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * The date that this version of the profile was published *

*/ public DateTimeDt getDate() { if (myDate == null) { myDate = new DateTimeDt(); } return myDate; } /** * Gets the value(s) for date (Date for this version of the profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * The date that this version of the profile was published *

*/ public DateTimeDt getDateElement() { if (myDate == null) { myDate = new DateTimeDt(); } return myDate; } /** * Sets the value(s) for date (Date for this version of the profile) * *

* Definition: * The date that this version of the profile was published *

*/ public Profile setDate(DateTimeDt theValue) { myDate = theValue; return this; } /** * Sets the value for date (Date for this version of the profile) * *

* Definition: * The date that this version of the profile was published *

*/ public Profile setDate( Date theDate, TemporalPrecisionEnum thePrecision) { myDate = new DateTimeDt(theDate, thePrecision); return this; } /** * Sets the value for date (Date for this version of the profile) * *

* Definition: * The date that this version of the profile was published *

*/ public Profile setDateWithSecondsPrecision( Date theDate) { myDate = new DateTimeDt(theDate); return this; } /** * Gets the value(s) for requirements (Scope and Usage this profile is for). * creating it if it does * not exist. Will not return null. * *

* Definition: * The Scope and Usage that this profile was created to meet *

*/ public StringDt getRequirements() { if (myRequirements == null) { myRequirements = new StringDt(); } return myRequirements; } /** * Gets the value(s) for requirements (Scope and Usage this profile is for). * creating it if it does * not exist. Will not return null. * *

* Definition: * The Scope and Usage that this profile was created to meet *

*/ public StringDt getRequirementsElement() { if (myRequirements == null) { myRequirements = new StringDt(); } return myRequirements; } /** * Sets the value(s) for requirements (Scope and Usage this profile is for) * *

* Definition: * The Scope and Usage that this profile was created to meet *

*/ public Profile setRequirements(StringDt theValue) { myRequirements = theValue; return this; } /** * Sets the value for requirements (Scope and Usage this profile is for) * *

* Definition: * The Scope and Usage that this profile was created to meet *

*/ public Profile setRequirements( String theString) { myRequirements = new StringDt(theString); return this; } /** * Gets the value(s) for fhirVersion (FHIR Version this profile targets). * creating it if it does * not exist. Will not return null. * *

* Definition: * The version of the FHIR specification on which this profile is based *

*/ public IdDt getFhirVersion() { if (myFhirVersion == null) { myFhirVersion = new IdDt(); } return myFhirVersion; } /** * Gets the value(s) for fhirVersion (FHIR Version this profile targets). * creating it if it does * not exist. Will not return null. * *

* Definition: * The version of the FHIR specification on which this profile is based *

*/ public IdDt getFhirVersionElement() { if (myFhirVersion == null) { myFhirVersion = new IdDt(); } return myFhirVersion; } /** * Sets the value(s) for fhirVersion (FHIR Version this profile targets) * *

* Definition: * The version of the FHIR specification on which this profile is based *

*/ public Profile setFhirVersion(IdDt theValue) { myFhirVersion = theValue; return this; } /** * Sets the value for fhirVersion (FHIR Version this profile targets) * *

* Definition: * The version of the FHIR specification on which this profile is based *

*/ public Profile setFhirVersion( String theId) { myFhirVersion = new IdDt(theId); return this; } /** * Gets the value(s) for mapping (External specification that the content is mapped to). * creating it if it does * not exist. Will not return null. * *

* Definition: * An external specification that the content is mapped to *

*/ public java.util.List getMapping() { if (myMapping == null) { myMapping = new java.util.ArrayList(); } return myMapping; } /** * Gets the value(s) for mapping (External specification that the content is mapped to). * creating it if it does * not exist. Will not return null. * *

* Definition: * An external specification that the content is mapped to *

*/ public java.util.List getMappingElement() { if (myMapping == null) { myMapping = new java.util.ArrayList(); } return myMapping; } /** * Sets the value(s) for mapping (External specification that the content is mapped to) * *

* Definition: * An external specification that the content is mapped to *

*/ public Profile setMapping(java.util.List theValue) { myMapping = theValue; return this; } /** * Adds and returns a new value for mapping (External specification that the content is mapped to) * *

* Definition: * An external specification that the content is mapped to *

*/ public Mapping addMapping() { Mapping newType = new Mapping(); getMapping().add(newType); return newType; } /** * Gets the first repetition for mapping (External specification that the content is mapped to), * creating it if it does not already exist. * *

* Definition: * An external specification that the content is mapped to *

*/ public Mapping getMappingFirstRep() { if (getMapping().isEmpty()) { return addMapping(); } return getMapping().get(0); } /** * Gets the value(s) for structure (A constraint on a resource or a data type). * creating it if it does * not exist. Will not return null. * *

* Definition: * A constraint statement about what contents a resource or data type may have *

*/ public java.util.List getStructure() { if (myStructure == null) { myStructure = new java.util.ArrayList(); } return myStructure; } /** * Gets the value(s) for structure (A constraint on a resource or a data type). * creating it if it does * not exist. Will not return null. * *

* Definition: * A constraint statement about what contents a resource or data type may have *

*/ public java.util.List getStructureElement() { if (myStructure == null) { myStructure = new java.util.ArrayList(); } return myStructure; } /** * Sets the value(s) for structure (A constraint on a resource or a data type) * *

* Definition: * A constraint statement about what contents a resource or data type may have *

*/ public Profile setStructure(java.util.List theValue) { myStructure = theValue; return this; } /** * Adds and returns a new value for structure (A constraint on a resource or a data type) * *

* Definition: * A constraint statement about what contents a resource or data type may have *

*/ public Structure addStructure() { Structure newType = new Structure(); getStructure().add(newType); return newType; } /** * Gets the first repetition for structure (A constraint on a resource or a data type), * creating it if it does not already exist. * *

* Definition: * A constraint statement about what contents a resource or data type may have *

*/ public Structure getStructureFirstRep() { if (getStructure().isEmpty()) { return addStructure(); } return getStructure().get(0); } /** * Gets the value(s) for extensionDefn (Definition of an extension). * creating it if it does * not exist. Will not return null. * *

* Definition: * An extension defined as part of the profile *

*/ public java.util.List getExtensionDefn() { if (myExtensionDefn == null) { myExtensionDefn = new java.util.ArrayList(); } return myExtensionDefn; } /** * Gets the value(s) for extensionDefn (Definition of an extension). * creating it if it does * not exist. Will not return null. * *

* Definition: * An extension defined as part of the profile *

*/ public java.util.List getExtensionDefnElement() { if (myExtensionDefn == null) { myExtensionDefn = new java.util.ArrayList(); } return myExtensionDefn; } /** * Sets the value(s) for extensionDefn (Definition of an extension) * *

* Definition: * An extension defined as part of the profile *

*/ public Profile setExtensionDefn(java.util.List theValue) { myExtensionDefn = theValue; return this; } /** * Adds and returns a new value for extensionDefn (Definition of an extension) * *

* Definition: * An extension defined as part of the profile *

*/ public ExtensionDefn addExtensionDefn() { ExtensionDefn newType = new ExtensionDefn(); getExtensionDefn().add(newType); return newType; } /** * Gets the first repetition for extensionDefn (Definition of an extension), * creating it if it does not already exist. * *

* Definition: * An extension defined as part of the profile *

*/ public ExtensionDefn getExtensionDefnFirstRep() { if (getExtensionDefn().isEmpty()) { return addExtensionDefn(); } return getExtensionDefn().get(0); } /** * Gets the value(s) for query (Definition of a named query). * creating it if it does * not exist. Will not return null. * *

* Definition: * Definition of a named query and its parameters and their meaning *

*/ public java.util.List getQuery() { if (myQuery == null) { myQuery = new java.util.ArrayList(); } return myQuery; } /** * Gets the value(s) for query (Definition of a named query). * creating it if it does * not exist. Will not return null. * *

* Definition: * Definition of a named query and its parameters and their meaning *

*/ public java.util.List getQueryElement() { if (myQuery == null) { myQuery = new java.util.ArrayList(); } return myQuery; } /** * Sets the value(s) for query (Definition of a named query) * *

* Definition: * Definition of a named query and its parameters and their meaning *

*/ public Profile setQuery(java.util.List theValue) { myQuery = theValue; return this; } /** * Adds and returns a new value for query (Definition of a named query) * *

* Definition: * Definition of a named query and its parameters and their meaning *

*/ public Query addQuery() { Query newType = new Query(); getQuery().add(newType); return newType; } /** * Gets the first repetition for query (Definition of a named query), * creating it if it does not already exist. * *

* Definition: * Definition of a named query and its parameters and their meaning *

*/ public Query getQueryFirstRep() { if (getQuery().isEmpty()) { return addQuery(); } return getQuery().get(0); } /** * Block class for child element: Profile.mapping (External specification that the content is mapped to) * *

* Definition: * An external specification that the content is mapped to *

*/ @Block() public static class Mapping extends BaseIdentifiableElement implements IResourceBlock { @Child(name="identity", type=IdDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Internal id when this mapping is used", formalDefinition="An Internal id that is used to identify this mapping set when specific mappings are made" ) private IdDt myIdentity; @Child(name="uri", type=UriDt.class, order=1, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Identifies what this mapping refers to", formalDefinition="A URI that identifies the specification that this mapping is expressed to" ) private UriDt myUri; @Child(name="name", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Names what this mapping refers to", formalDefinition="A name for the specification that is being mapped to" ) private StringDt myName; @Child(name="comments", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Versions, Issues, Scope limitations etc", formalDefinition="Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage" ) private StringDt myComments; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentity, myUri, myName, myComments); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentity, myUri, myName, myComments); } /** * Gets the value(s) for identity (Internal id when this mapping is used). * creating it if it does * not exist. Will not return null. * *

* Definition: * An Internal id that is used to identify this mapping set when specific mappings are made *

*/ public IdDt getIdentity() { if (myIdentity == null) { myIdentity = new IdDt(); } return myIdentity; } /** * Gets the value(s) for identity (Internal id when this mapping is used). * creating it if it does * not exist. Will not return null. * *

* Definition: * An Internal id that is used to identify this mapping set when specific mappings are made *

*/ public IdDt getIdentityElement() { if (myIdentity == null) { myIdentity = new IdDt(); } return myIdentity; } /** * Sets the value(s) for identity (Internal id when this mapping is used) * *

* Definition: * An Internal id that is used to identify this mapping set when specific mappings are made *

*/ public Mapping setIdentity(IdDt theValue) { myIdentity = theValue; return this; } /** * Sets the value for identity (Internal id when this mapping is used) * *

* Definition: * An Internal id that is used to identify this mapping set when specific mappings are made *

*/ public Mapping setIdentity( String theId) { myIdentity = new IdDt(theId); return this; } /** * Gets the value(s) for uri (Identifies what this mapping refers to). * creating it if it does * not exist. Will not return null. * *

* Definition: * A URI that identifies the specification that this mapping is expressed to *

*/ public UriDt getUri() { if (myUri == null) { myUri = new UriDt(); } return myUri; } /** * Gets the value(s) for uri (Identifies what this mapping refers to). * creating it if it does * not exist. Will not return null. * *

* Definition: * A URI that identifies the specification that this mapping is expressed to *

*/ public UriDt getUriElement() { if (myUri == null) { myUri = new UriDt(); } return myUri; } /** * Sets the value(s) for uri (Identifies what this mapping refers to) * *

* Definition: * A URI that identifies the specification that this mapping is expressed to *

*/ public Mapping setUri(UriDt theValue) { myUri = theValue; return this; } /** * Sets the value for uri (Identifies what this mapping refers to) * *

* Definition: * A URI that identifies the specification that this mapping is expressed to *

*/ public Mapping setUri( String theUri) { myUri = new UriDt(theUri); return this; } /** * Gets the value(s) for name (Names what this mapping refers to). * creating it if it does * not exist. Will not return null. * *

* Definition: * A name for the specification that is being mapped to *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Names what this mapping refers to). * creating it if it does * not exist. Will not return null. * *

* Definition: * A name for the specification that is being mapped to *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Names what this mapping refers to) * *

* Definition: * A name for the specification that is being mapped to *

*/ public Mapping setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Names what this mapping refers to) * *

* Definition: * A name for the specification that is being mapped to *

*/ public Mapping setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for comments (Versions, Issues, Scope limitations etc). * creating it if it does * not exist. Will not return null. * *

* Definition: * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage *

*/ public StringDt getComments() { if (myComments == null) { myComments = new StringDt(); } return myComments; } /** * Gets the value(s) for comments (Versions, Issues, Scope limitations etc). * creating it if it does * not exist. Will not return null. * *

* Definition: * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage *

*/ public StringDt getCommentsElement() { if (myComments == null) { myComments = new StringDt(); } return myComments; } /** * Sets the value(s) for comments (Versions, Issues, Scope limitations etc) * *

* Definition: * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage *

*/ public Mapping setComments(StringDt theValue) { myComments = theValue; return this; } /** * Sets the value for comments (Versions, Issues, Scope limitations etc) * *

* Definition: * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage *

*/ public Mapping setComments( String theString) { myComments = new StringDt(theString); return this; } } /** * Block class for child element: Profile.structure (A constraint on a resource or a data type) * *

* Definition: * A constraint statement about what contents a resource or data type may have *

*/ @Block() public static class Structure extends BaseIdentifiableElement implements IResourceBlock { @Child(name="type", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="The Resource or Data Type being described", formalDefinition="The Resource or Data type being described" ) private BoundCodeDt myType; @Child(name="name", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Name for this particular structure (reference target)", formalDefinition="The name of this resource constraint statement (to refer to it from other resource constraints - from Profile.structure.element.definition.type.profile)" ) private StringDt myName; @Child(name="publish", type=BooleanDt.class, order=2, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="This definition is published (i.e. for validation)", formalDefinition="This definition of a profile on a structure is published as a formal statement. Some structural definitions might be defined purely for internal use within the profile, and not intended to be used outside that context" ) private BooleanDt myPublish; @Child(name="purpose", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Human summary: why describe this resource?", formalDefinition="Human summary: why describe this resource?" ) private StringDt myPurpose; @Child(name="element", order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Definition of elements in the resource (if no profile)", formalDefinition="Captures constraints on each element within the resource" ) private java.util.List myElement; @Child(name="searchParam", order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Search params defined", formalDefinition="Additional search parameters for implementations to support and/or make use of" ) private java.util.List mySearchParam; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myName, myPublish, myPurpose, myElement, mySearchParam); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myName, myPublish, myPurpose, myElement, mySearchParam); } /** * Gets the value(s) for type (The Resource or Data Type being described). * creating it if it does * not exist. Will not return null. * *

* Definition: * The Resource or Data type being described *

*/ public BoundCodeDt getType() { if (myType == null) { myType = new BoundCodeDt(FHIRDefinedTypeEnum.VALUESET_BINDER); } return myType; } /** * Gets the value(s) for type (The Resource or Data Type being described). * creating it if it does * not exist. Will not return null. * *

* Definition: * The Resource or Data type being described *

*/ public BoundCodeDt getTypeElement() { if (myType == null) { myType = new BoundCodeDt(FHIRDefinedTypeEnum.VALUESET_BINDER); } return myType; } /** * Sets the value(s) for type (The Resource or Data Type being described) * *

* Definition: * The Resource or Data type being described *

*/ public Structure setType(BoundCodeDt theValue) { myType = theValue; return this; } /** * Sets the value(s) for type (The Resource or Data Type being described) * *

* Definition: * The Resource or Data type being described *

*/ public Structure setType(FHIRDefinedTypeEnum theValue) { getType().setValueAsEnum(theValue); return this; } /** * Gets the value(s) for name (Name for this particular structure (reference target)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of this resource constraint statement (to refer to it from other resource constraints - from Profile.structure.element.definition.type.profile) *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Name for this particular structure (reference target)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of this resource constraint statement (to refer to it from other resource constraints - from Profile.structure.element.definition.type.profile) *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Name for this particular structure (reference target)) * *

* Definition: * The name of this resource constraint statement (to refer to it from other resource constraints - from Profile.structure.element.definition.type.profile) *

*/ public Structure setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Name for this particular structure (reference target)) * *

* Definition: * The name of this resource constraint statement (to refer to it from other resource constraints - from Profile.structure.element.definition.type.profile) *

*/ public Structure setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for publish (This definition is published (i.e. for validation)). * creating it if it does * not exist. Will not return null. * *

* Definition: * This definition of a profile on a structure is published as a formal statement. Some structural definitions might be defined purely for internal use within the profile, and not intended to be used outside that context *

*/ public BooleanDt getPublish() { if (myPublish == null) { myPublish = new BooleanDt(); } return myPublish; } /** * Gets the value(s) for publish (This definition is published (i.e. for validation)). * creating it if it does * not exist. Will not return null. * *

* Definition: * This definition of a profile on a structure is published as a formal statement. Some structural definitions might be defined purely for internal use within the profile, and not intended to be used outside that context *

*/ public BooleanDt getPublishElement() { if (myPublish == null) { myPublish = new BooleanDt(); } return myPublish; } /** * Sets the value(s) for publish (This definition is published (i.e. for validation)) * *

* Definition: * This definition of a profile on a structure is published as a formal statement. Some structural definitions might be defined purely for internal use within the profile, and not intended to be used outside that context *

*/ public Structure setPublish(BooleanDt theValue) { myPublish = theValue; return this; } /** * Sets the value for publish (This definition is published (i.e. for validation)) * *

* Definition: * This definition of a profile on a structure is published as a formal statement. Some structural definitions might be defined purely for internal use within the profile, and not intended to be used outside that context *

*/ public Structure setPublish( boolean theBoolean) { myPublish = new BooleanDt(theBoolean); return this; } /** * Gets the value(s) for purpose (Human summary: why describe this resource?). * creating it if it does * not exist. Will not return null. * *

* Definition: * Human summary: why describe this resource? *

*/ public StringDt getPurpose() { if (myPurpose == null) { myPurpose = new StringDt(); } return myPurpose; } /** * Gets the value(s) for purpose (Human summary: why describe this resource?). * creating it if it does * not exist. Will not return null. * *

* Definition: * Human summary: why describe this resource? *

*/ public StringDt getPurposeElement() { if (myPurpose == null) { myPurpose = new StringDt(); } return myPurpose; } /** * Sets the value(s) for purpose (Human summary: why describe this resource?) * *

* Definition: * Human summary: why describe this resource? *

*/ public Structure setPurpose(StringDt theValue) { myPurpose = theValue; return this; } /** * Sets the value for purpose (Human summary: why describe this resource?) * *

* Definition: * Human summary: why describe this resource? *

*/ public Structure setPurpose( String theString) { myPurpose = new StringDt(theString); return this; } /** * Gets the value(s) for element (Definition of elements in the resource (if no profile)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Captures constraints on each element within the resource *

*/ public java.util.List getElement() { if (myElement == null) { myElement = new java.util.ArrayList(); } return myElement; } /** * Gets the value(s) for element (Definition of elements in the resource (if no profile)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Captures constraints on each element within the resource *

*/ public java.util.List getElementElement() { if (myElement == null) { myElement = new java.util.ArrayList(); } return myElement; } /** * Sets the value(s) for element (Definition of elements in the resource (if no profile)) * *

* Definition: * Captures constraints on each element within the resource *

*/ public Structure setElement(java.util.List theValue) { myElement = theValue; return this; } /** * Adds and returns a new value for element (Definition of elements in the resource (if no profile)) * *

* Definition: * Captures constraints on each element within the resource *

*/ public StructureElement addElement() { StructureElement newType = new StructureElement(); getElement().add(newType); return newType; } /** * Gets the first repetition for element (Definition of elements in the resource (if no profile)), * creating it if it does not already exist. * *

* Definition: * Captures constraints on each element within the resource *

*/ public StructureElement getElementFirstRep() { if (getElement().isEmpty()) { return addElement(); } return getElement().get(0); } /** * Gets the value(s) for searchParam (Search params defined). * creating it if it does * not exist. Will not return null. * *

* Definition: * Additional search parameters for implementations to support and/or make use of *

*/ public java.util.List getSearchParam() { if (mySearchParam == null) { mySearchParam = new java.util.ArrayList(); } return mySearchParam; } /** * Gets the value(s) for searchParam (Search params defined). * creating it if it does * not exist. Will not return null. * *

* Definition: * Additional search parameters for implementations to support and/or make use of *

*/ public java.util.List getSearchParamElement() { if (mySearchParam == null) { mySearchParam = new java.util.ArrayList(); } return mySearchParam; } /** * Sets the value(s) for searchParam (Search params defined) * *

* Definition: * Additional search parameters for implementations to support and/or make use of *

*/ public Structure setSearchParam(java.util.List theValue) { mySearchParam = theValue; return this; } /** * Adds and returns a new value for searchParam (Search params defined) * *

* Definition: * Additional search parameters for implementations to support and/or make use of *

*/ public StructureSearchParam addSearchParam() { StructureSearchParam newType = new StructureSearchParam(); getSearchParam().add(newType); return newType; } /** * Gets the first repetition for searchParam (Search params defined), * creating it if it does not already exist. * *

* Definition: * Additional search parameters for implementations to support and/or make use of *

*/ public StructureSearchParam getSearchParamFirstRep() { if (getSearchParam().isEmpty()) { return addSearchParam(); } return getSearchParam().get(0); } } /** * Block class for child element: Profile.structure.element (Definition of elements in the resource (if no profile)) * *

* Definition: * Captures constraints on each element within the resource *

*/ @Block() public static class StructureElement extends BaseIdentifiableElement implements IResourceBlock { @Child(name="path", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="The path of the element (see the formal definitions)", formalDefinition="The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource" ) private StringDt myPath; @Child(name="representation", type=CodeDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="How this element is represented in instances", formalDefinition="Codes that define how this element is represented in instances, when the deviation varies from the normal case" ) private java.util.List> myRepresentation; @Child(name="name", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Name for this particular element definition (reference target)", formalDefinition="The name of this element definition (to refer to it from other element definitions using Profile.structure.element.definition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element" ) private StringDt myName; @Child(name="slicing", order=3, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="This element is sliced - slices follow", formalDefinition="Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set)" ) private StructureElementSlicing mySlicing; @Child(name="definition", order=4, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="More specific definition of the element", formalDefinition="Definition of the content of the element to provide a more specific definition than that contained for the element in the base resource" ) private StructureElementDefinition myDefinition; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myPath, myRepresentation, myName, mySlicing, myDefinition); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myPath, myRepresentation, myName, mySlicing, myDefinition); } /** * Gets the value(s) for path (The path of the element (see the formal definitions)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource *

*/ public StringDt getPath() { if (myPath == null) { myPath = new StringDt(); } return myPath; } /** * Gets the value(s) for path (The path of the element (see the formal definitions)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource *

*/ public StringDt getPathElement() { if (myPath == null) { myPath = new StringDt(); } return myPath; } /** * Sets the value(s) for path (The path of the element (see the formal definitions)) * *

* Definition: * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource *

*/ public StructureElement setPath(StringDt theValue) { myPath = theValue; return this; } /** * Sets the value for path (The path of the element (see the formal definitions)) * *

* Definition: * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource *

*/ public StructureElement setPath( String theString) { myPath = new StringDt(theString); return this; } /** * Gets the value(s) for representation (How this element is represented in instances). * creating it if it does * not exist. Will not return null. * *

* Definition: * Codes that define how this element is represented in instances, when the deviation varies from the normal case *

*/ public java.util.List> getRepresentation() { if (myRepresentation == null) { myRepresentation = new java.util.ArrayList>(); } return myRepresentation; } /** * Gets the value(s) for representation (How this element is represented in instances). * creating it if it does * not exist. Will not return null. * *

* Definition: * Codes that define how this element is represented in instances, when the deviation varies from the normal case *

*/ public java.util.List> getRepresentationElement() { if (myRepresentation == null) { myRepresentation = new java.util.ArrayList>(); } return myRepresentation; } /** * Sets the value(s) for representation (How this element is represented in instances) * *

* Definition: * Codes that define how this element is represented in instances, when the deviation varies from the normal case *

*/ public StructureElement setRepresentation(java.util.List> theValue) { myRepresentation = theValue; return this; } /** * Add a value for representation (How this element is represented in instances) using an enumerated type. This * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory * or contain the desirable codes. If you wish to use codes other than those which are built-in, * you may also use the {@link #addRepresentation()} method. * *

* Definition: * Codes that define how this element is represented in instances, when the deviation varies from the normal case *

*/ public BoundCodeDt addRepresentation(PropertyRepresentationEnum theValue) { BoundCodeDt retVal = new BoundCodeDt(PropertyRepresentationEnum.VALUESET_BINDER, theValue); getRepresentation().add(retVal); return retVal; } /** * Gets the first repetition for representation (How this element is represented in instances), * creating it if it does not already exist. * *

* Definition: * Codes that define how this element is represented in instances, when the deviation varies from the normal case *

*/ public BoundCodeDt getRepresentationFirstRep() { if (getRepresentation().size() == 0) { addRepresentation(); } return getRepresentation().get(0); } /** * Add a value for representation (How this element is represented in instances) * *

* Definition: * Codes that define how this element is represented in instances, when the deviation varies from the normal case *

*/ public BoundCodeDt addRepresentation() { BoundCodeDt retVal = new BoundCodeDt(PropertyRepresentationEnum.VALUESET_BINDER); getRepresentation().add(retVal); return retVal; } /** * Sets the value(s), and clears any existing value(s) for representation (How this element is represented in instances) * *

* Definition: * Codes that define how this element is represented in instances, when the deviation varies from the normal case *

*/ public StructureElement setRepresentation(PropertyRepresentationEnum theValue) { getRepresentation().clear(); addRepresentation(theValue); return this; } /** * Gets the value(s) for name (Name for this particular element definition (reference target)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of this element definition (to refer to it from other element definitions using Profile.structure.element.definition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Name for this particular element definition (reference target)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of this element definition (to refer to it from other element definitions using Profile.structure.element.definition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Name for this particular element definition (reference target)) * *

* Definition: * The name of this element definition (to refer to it from other element definitions using Profile.structure.element.definition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element *

*/ public StructureElement setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Name for this particular element definition (reference target)) * *

* Definition: * The name of this element definition (to refer to it from other element definitions using Profile.structure.element.definition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element *

*/ public StructureElement setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for slicing (This element is sliced - slices follow). * creating it if it does * not exist. Will not return null. * *

* Definition: * Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set) *

*/ public StructureElementSlicing getSlicing() { if (mySlicing == null) { mySlicing = new StructureElementSlicing(); } return mySlicing; } /** * Gets the value(s) for slicing (This element is sliced - slices follow). * creating it if it does * not exist. Will not return null. * *

* Definition: * Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set) *

*/ public StructureElementSlicing getSlicingElement() { if (mySlicing == null) { mySlicing = new StructureElementSlicing(); } return mySlicing; } /** * Sets the value(s) for slicing (This element is sliced - slices follow) * *

* Definition: * Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set) *

*/ public StructureElement setSlicing(StructureElementSlicing theValue) { mySlicing = theValue; return this; } /** * Gets the value(s) for definition (More specific definition of the element). * creating it if it does * not exist. Will not return null. * *

* Definition: * Definition of the content of the element to provide a more specific definition than that contained for the element in the base resource *

*/ public StructureElementDefinition getDefinition() { if (myDefinition == null) { myDefinition = new StructureElementDefinition(); } return myDefinition; } /** * Gets the value(s) for definition (More specific definition of the element). * creating it if it does * not exist. Will not return null. * *

* Definition: * Definition of the content of the element to provide a more specific definition than that contained for the element in the base resource *

*/ public StructureElementDefinition getDefinitionElement() { if (myDefinition == null) { myDefinition = new StructureElementDefinition(); } return myDefinition; } /** * Sets the value(s) for definition (More specific definition of the element) * *

* Definition: * Definition of the content of the element to provide a more specific definition than that contained for the element in the base resource *

*/ public StructureElement setDefinition(StructureElementDefinition theValue) { myDefinition = theValue; return this; } } /** * Block class for child element: Profile.structure.element.slicing (This element is sliced - slices follow) * *

* Definition: * Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set) *

*/ @Block() public static class StructureElementSlicing extends BaseIdentifiableElement implements IResourceBlock { @Child(name="discriminator", type=IdDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Element that used to distinguish the slices", formalDefinition="Designates which child element is used to discriminate between the slices when processing an instance. The value of the child element in the instance SHALL completely distinguish which slice the element in the resource matches based on the allowed values for that element in each of the slices" ) private IdDt myDiscriminator; @Child(name="ordered", type=BooleanDt.class, order=1, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="If elements must be in same order as slices", formalDefinition="If the matching elements have to occur in the same order as defined in the profile" ) private BooleanDt myOrdered; @Child(name="rules", type=CodeDt.class, order=2, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="closed | open | openAtEnd", formalDefinition="Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end" ) private BoundCodeDt myRules; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myDiscriminator, myOrdered, myRules); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myDiscriminator, myOrdered, myRules); } /** * Gets the value(s) for discriminator (Element that used to distinguish the slices). * creating it if it does * not exist. Will not return null. * *

* Definition: * Designates which child element is used to discriminate between the slices when processing an instance. The value of the child element in the instance SHALL completely distinguish which slice the element in the resource matches based on the allowed values for that element in each of the slices *

*/ public IdDt getDiscriminator() { if (myDiscriminator == null) { myDiscriminator = new IdDt(); } return myDiscriminator; } /** * Gets the value(s) for discriminator (Element that used to distinguish the slices). * creating it if it does * not exist. Will not return null. * *

* Definition: * Designates which child element is used to discriminate between the slices when processing an instance. The value of the child element in the instance SHALL completely distinguish which slice the element in the resource matches based on the allowed values for that element in each of the slices *

*/ public IdDt getDiscriminatorElement() { if (myDiscriminator == null) { myDiscriminator = new IdDt(); } return myDiscriminator; } /** * Sets the value(s) for discriminator (Element that used to distinguish the slices) * *

* Definition: * Designates which child element is used to discriminate between the slices when processing an instance. The value of the child element in the instance SHALL completely distinguish which slice the element in the resource matches based on the allowed values for that element in each of the slices *

*/ public StructureElementSlicing setDiscriminator(IdDt theValue) { myDiscriminator = theValue; return this; } /** * Sets the value for discriminator (Element that used to distinguish the slices) * *

* Definition: * Designates which child element is used to discriminate between the slices when processing an instance. The value of the child element in the instance SHALL completely distinguish which slice the element in the resource matches based on the allowed values for that element in each of the slices *

*/ public StructureElementSlicing setDiscriminator( String theId) { myDiscriminator = new IdDt(theId); return this; } /** * Gets the value(s) for ordered (If elements must be in same order as slices). * creating it if it does * not exist. Will not return null. * *

* Definition: * If the matching elements have to occur in the same order as defined in the profile *

*/ public BooleanDt getOrdered() { if (myOrdered == null) { myOrdered = new BooleanDt(); } return myOrdered; } /** * Gets the value(s) for ordered (If elements must be in same order as slices). * creating it if it does * not exist. Will not return null. * *

* Definition: * If the matching elements have to occur in the same order as defined in the profile *

*/ public BooleanDt getOrderedElement() { if (myOrdered == null) { myOrdered = new BooleanDt(); } return myOrdered; } /** * Sets the value(s) for ordered (If elements must be in same order as slices) * *

* Definition: * If the matching elements have to occur in the same order as defined in the profile *

*/ public StructureElementSlicing setOrdered(BooleanDt theValue) { myOrdered = theValue; return this; } /** * Sets the value for ordered (If elements must be in same order as slices) * *

* Definition: * If the matching elements have to occur in the same order as defined in the profile *

*/ public StructureElementSlicing setOrdered( boolean theBoolean) { myOrdered = new BooleanDt(theBoolean); return this; } /** * Gets the value(s) for rules (closed | open | openAtEnd). * creating it if it does * not exist. Will not return null. * *

* Definition: * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end *

*/ public BoundCodeDt getRules() { if (myRules == null) { myRules = new BoundCodeDt(SlicingRulesEnum.VALUESET_BINDER); } return myRules; } /** * Gets the value(s) for rules (closed | open | openAtEnd). * creating it if it does * not exist. Will not return null. * *

* Definition: * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end *

*/ public BoundCodeDt getRulesElement() { if (myRules == null) { myRules = new BoundCodeDt(SlicingRulesEnum.VALUESET_BINDER); } return myRules; } /** * Sets the value(s) for rules (closed | open | openAtEnd) * *

* Definition: * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end *

*/ public StructureElementSlicing setRules(BoundCodeDt theValue) { myRules = theValue; return this; } /** * Sets the value(s) for rules (closed | open | openAtEnd) * *

* Definition: * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end *

*/ public StructureElementSlicing setRules(SlicingRulesEnum theValue) { getRules().setValueAsEnum(theValue); return this; } } /** * Block class for child element: Profile.structure.element.definition (More specific definition of the element) * *

* Definition: * Definition of the content of the element to provide a more specific definition than that contained for the element in the base resource *

*/ @Block() public static class StructureElementDefinition extends BaseIdentifiableElement implements IResourceBlock { @Child(name="short", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Concise definition for xml presentation", formalDefinition="A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification)" ) private StringDt myShort; @Child(name="formal", type=StringDt.class, order=1, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Full formal definition in human language", formalDefinition="The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource" ) private StringDt myFormal; @Child(name="comments", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Comments about the use of this element", formalDefinition="Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc." ) private StringDt myComments; @Child(name="requirements", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Why is this needed?", formalDefinition="Explains why this element is needed and why it's been constrained as it has" ) private StringDt myRequirements; @Child(name="synonym", type=StringDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Other names", formalDefinition="Identifies additional names by which this element might also be known" ) private java.util.List mySynonym; @Child(name="min", type=IntegerDt.class, order=5, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Minimum Cardinality", formalDefinition="The minimum number of times this element SHALL appear in the instance" ) private IntegerDt myMin; @Child(name="max", type=StringDt.class, order=6, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Maximum Cardinality (a number or *)", formalDefinition="The maximum number of times this element is permitted to appear in the instance" ) private StringDt myMax; @Child(name="type", order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Data type and Profile for this element", formalDefinition="The data type or resource that the value of this element is permitted to be" ) private java.util.List myType; @Child(name="nameReference", type=StringDt.class, order=8, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="To another element constraint (by element.name)", formalDefinition="Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element" ) private StringDt myNameReference; @Child(name="value", type=IDatatype.class, order=9, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Fixed value: [as defined for a primitive type]", formalDefinition="Specifies a primitive value that SHALL hold for this element in the instance" ) private IDatatype myValue; @Child(name="example", type=IDatatype.class, order=10, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Example value: [as defined for type]", formalDefinition="An example value for this element" ) private IDatatype myExample; @Child(name="maxLength", type=IntegerDt.class, order=11, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Length for strings", formalDefinition="Indicates the shortest length that SHALL be supported by conformant instances without truncation" ) private IntegerDt myMaxLength; @Child(name="condition", type=IdDt.class, order=12, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Reference to invariant about presence", formalDefinition="A reference to an invariant that may make additional statements about the cardinality or value in the instance" ) private java.util.List myCondition; @Child(name="constraint", order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Condition that must evaluate to true", formalDefinition="Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance" ) private java.util.List myConstraint; @Child(name="mustSupport", type=BooleanDt.class, order=14, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="If the element must supported", formalDefinition="If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported" ) private BooleanDt myMustSupport; @Child(name="isModifier", type=BooleanDt.class, order=15, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="If this modifies the meaning of other elements", formalDefinition="If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system." ) private BooleanDt myIsModifier; @Child(name="binding", order=16, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="ValueSet details if this is coded", formalDefinition="Binds to a value set if this element is coded (code, Coding, CodeableConcept)" ) private StructureElementDefinitionBinding myBinding; @Child(name="mapping", order=17, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Map element to another set of definitions", formalDefinition="Identifies a concept from an external specification that roughly corresponds to this element" ) private java.util.List myMapping; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myShort, myFormal, myComments, myRequirements, mySynonym, myMin, myMax, myType, myNameReference, myValue, myExample, myMaxLength, myCondition, myConstraint, myMustSupport, myIsModifier, myBinding, myMapping); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myShort, myFormal, myComments, myRequirements, mySynonym, myMin, myMax, myType, myNameReference, myValue, myExample, myMaxLength, myCondition, myConstraint, myMustSupport, myIsModifier, myBinding, myMapping); } /** * Gets the value(s) for short (Concise definition for xml presentation). * creating it if it does * not exist. Will not return null. * *

* Definition: * A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification) *

*/ public StringDt getShort() { if (myShort == null) { myShort = new StringDt(); } return myShort; } /** * Gets the value(s) for short (Concise definition for xml presentation). * creating it if it does * not exist. Will not return null. * *

* Definition: * A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification) *

*/ public StringDt getShortElement() { if (myShort == null) { myShort = new StringDt(); } return myShort; } /** * Sets the value(s) for short (Concise definition for xml presentation) * *

* Definition: * A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification) *

*/ public StructureElementDefinition setShort(StringDt theValue) { myShort = theValue; return this; } /** * Sets the value for short (Concise definition for xml presentation) * *

* Definition: * A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification) *

*/ public StructureElementDefinition setShort( String theString) { myShort = new StringDt(theString); return this; } /** * Gets the value(s) for formal (Full formal definition in human language). * creating it if it does * not exist. Will not return null. * *

* Definition: * The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource *

*/ public StringDt getFormal() { if (myFormal == null) { myFormal = new StringDt(); } return myFormal; } /** * Gets the value(s) for formal (Full formal definition in human language). * creating it if it does * not exist. Will not return null. * *

* Definition: * The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource *

*/ public StringDt getFormalElement() { if (myFormal == null) { myFormal = new StringDt(); } return myFormal; } /** * Sets the value(s) for formal (Full formal definition in human language) * *

* Definition: * The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource *

*/ public StructureElementDefinition setFormal(StringDt theValue) { myFormal = theValue; return this; } /** * Sets the value for formal (Full formal definition in human language) * *

* Definition: * The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource *

*/ public StructureElementDefinition setFormal( String theString) { myFormal = new StringDt(theString); return this; } /** * Gets the value(s) for comments (Comments about the use of this element). * creating it if it does * not exist. Will not return null. * *

* Definition: * Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc. *

*/ public StringDt getComments() { if (myComments == null) { myComments = new StringDt(); } return myComments; } /** * Gets the value(s) for comments (Comments about the use of this element). * creating it if it does * not exist. Will not return null. * *

* Definition: * Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc. *

*/ public StringDt getCommentsElement() { if (myComments == null) { myComments = new StringDt(); } return myComments; } /** * Sets the value(s) for comments (Comments about the use of this element) * *

* Definition: * Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc. *

*/ public StructureElementDefinition setComments(StringDt theValue) { myComments = theValue; return this; } /** * Sets the value for comments (Comments about the use of this element) * *

* Definition: * Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc. *

*/ public StructureElementDefinition setComments( String theString) { myComments = new StringDt(theString); return this; } /** * Gets the value(s) for requirements (Why is this needed?). * creating it if it does * not exist. Will not return null. * *

* Definition: * Explains why this element is needed and why it's been constrained as it has *

*/ public StringDt getRequirements() { if (myRequirements == null) { myRequirements = new StringDt(); } return myRequirements; } /** * Gets the value(s) for requirements (Why is this needed?). * creating it if it does * not exist. Will not return null. * *

* Definition: * Explains why this element is needed and why it's been constrained as it has *

*/ public StringDt getRequirementsElement() { if (myRequirements == null) { myRequirements = new StringDt(); } return myRequirements; } /** * Sets the value(s) for requirements (Why is this needed?) * *

* Definition: * Explains why this element is needed and why it's been constrained as it has *

*/ public StructureElementDefinition setRequirements(StringDt theValue) { myRequirements = theValue; return this; } /** * Sets the value for requirements (Why is this needed?) * *

* Definition: * Explains why this element is needed and why it's been constrained as it has *

*/ public StructureElementDefinition setRequirements( String theString) { myRequirements = new StringDt(theString); return this; } /** * Gets the value(s) for synonym (Other names). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies additional names by which this element might also be known *

*/ public java.util.List getSynonym() { if (mySynonym == null) { mySynonym = new java.util.ArrayList(); } return mySynonym; } /** * Gets the value(s) for synonym (Other names). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies additional names by which this element might also be known *

*/ public java.util.List getSynonymElement() { if (mySynonym == null) { mySynonym = new java.util.ArrayList(); } return mySynonym; } /** * Sets the value(s) for synonym (Other names) * *

* Definition: * Identifies additional names by which this element might also be known *

*/ public StructureElementDefinition setSynonym(java.util.List theValue) { mySynonym = theValue; return this; } /** * Adds and returns a new value for synonym (Other names) * *

* Definition: * Identifies additional names by which this element might also be known *

*/ public StringDt addSynonym() { StringDt newType = new StringDt(); getSynonym().add(newType); return newType; } /** * Gets the first repetition for synonym (Other names), * creating it if it does not already exist. * *

* Definition: * Identifies additional names by which this element might also be known *

*/ public StringDt getSynonymFirstRep() { if (getSynonym().isEmpty()) { return addSynonym(); } return getSynonym().get(0); } /** * Adds a new value for synonym (Other names) * *

* Definition: * Identifies additional names by which this element might also be known *

* * @return Returns a reference to this object, to allow for simple chaining. */ public StructureElementDefinition addSynonym( String theString) { if (mySynonym == null) { mySynonym = new java.util.ArrayList(); } mySynonym.add(new StringDt(theString)); return this; } /** * Gets the value(s) for min (Minimum Cardinality). * creating it if it does * not exist. Will not return null. * *

* Definition: * The minimum number of times this element SHALL appear in the instance *

*/ public IntegerDt getMin() { if (myMin == null) { myMin = new IntegerDt(); } return myMin; } /** * Gets the value(s) for min (Minimum Cardinality). * creating it if it does * not exist. Will not return null. * *

* Definition: * The minimum number of times this element SHALL appear in the instance *

*/ public IntegerDt getMinElement() { if (myMin == null) { myMin = new IntegerDt(); } return myMin; } /** * Sets the value(s) for min (Minimum Cardinality) * *

* Definition: * The minimum number of times this element SHALL appear in the instance *

*/ public StructureElementDefinition setMin(IntegerDt theValue) { myMin = theValue; return this; } /** * Sets the value for min (Minimum Cardinality) * *

* Definition: * The minimum number of times this element SHALL appear in the instance *

*/ public StructureElementDefinition setMin( int theInteger) { myMin = new IntegerDt(theInteger); return this; } /** * Gets the value(s) for max (Maximum Cardinality (a number or *)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The maximum number of times this element is permitted to appear in the instance *

*/ public StringDt getMax() { if (myMax == null) { myMax = new StringDt(); } return myMax; } /** * Gets the value(s) for max (Maximum Cardinality (a number or *)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The maximum number of times this element is permitted to appear in the instance *

*/ public StringDt getMaxElement() { if (myMax == null) { myMax = new StringDt(); } return myMax; } /** * Sets the value(s) for max (Maximum Cardinality (a number or *)) * *

* Definition: * The maximum number of times this element is permitted to appear in the instance *

*/ public StructureElementDefinition setMax(StringDt theValue) { myMax = theValue; return this; } /** * Sets the value for max (Maximum Cardinality (a number or *)) * *

* Definition: * The maximum number of times this element is permitted to appear in the instance *

*/ public StructureElementDefinition setMax( String theString) { myMax = new StringDt(theString); return this; } /** * Gets the value(s) for type (Data type and Profile for this element). * creating it if it does * not exist. Will not return null. * *

* Definition: * The data type or resource that the value of this element is permitted to be *

*/ public java.util.List getType() { if (myType == null) { myType = new java.util.ArrayList(); } return myType; } /** * Gets the value(s) for type (Data type and Profile for this element). * creating it if it does * not exist. Will not return null. * *

* Definition: * The data type or resource that the value of this element is permitted to be *

*/ public java.util.List getTypeElement() { if (myType == null) { myType = new java.util.ArrayList(); } return myType; } /** * Sets the value(s) for type (Data type and Profile for this element) * *

* Definition: * The data type or resource that the value of this element is permitted to be *

*/ public StructureElementDefinition setType(java.util.List theValue) { myType = theValue; return this; } /** * Adds and returns a new value for type (Data type and Profile for this element) * *

* Definition: * The data type or resource that the value of this element is permitted to be *

*/ public StructureElementDefinitionType addType() { StructureElementDefinitionType newType = new StructureElementDefinitionType(); getType().add(newType); return newType; } /** * Gets the first repetition for type (Data type and Profile for this element), * creating it if it does not already exist. * *

* Definition: * The data type or resource that the value of this element is permitted to be *

*/ public StructureElementDefinitionType getTypeFirstRep() { if (getType().isEmpty()) { return addType(); } return getType().get(0); } /** * Gets the value(s) for nameReference (To another element constraint (by element.name)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element *

*/ public StringDt getNameReference() { if (myNameReference == null) { myNameReference = new StringDt(); } return myNameReference; } /** * Gets the value(s) for nameReference (To another element constraint (by element.name)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element *

*/ public StringDt getNameReferenceElement() { if (myNameReference == null) { myNameReference = new StringDt(); } return myNameReference; } /** * Sets the value(s) for nameReference (To another element constraint (by element.name)) * *

* Definition: * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element *

*/ public StructureElementDefinition setNameReference(StringDt theValue) { myNameReference = theValue; return this; } /** * Sets the value for nameReference (To another element constraint (by element.name)) * *

* Definition: * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element *

*/ public StructureElementDefinition setNameReference( String theString) { myNameReference = new StringDt(theString); return this; } /** * Gets the value(s) for value[x] (Fixed value: [as defined for a primitive type]). * creating it if it does * not exist. Will not return null. * *

* Definition: * Specifies a primitive value that SHALL hold for this element in the instance *

*/ public IDatatype getValue() { return myValue; } /** * Gets the value(s) for value[x] (Fixed value: [as defined for a primitive type]). * creating it if it does * not exist. Will not return null. * *

* Definition: * Specifies a primitive value that SHALL hold for this element in the instance *

*/ public IDatatype getValueElement() { return myValue; } /** * Sets the value(s) for value[x] (Fixed value: [as defined for a primitive type]) * *

* Definition: * Specifies a primitive value that SHALL hold for this element in the instance *

*/ public StructureElementDefinition setValue(IDatatype theValue) { myValue = theValue; return this; } /** * Gets the value(s) for example[x] (Example value: [as defined for type]). * creating it if it does * not exist. Will not return null. * *

* Definition: * An example value for this element *

*/ public IDatatype getExample() { return myExample; } /** * Gets the value(s) for example[x] (Example value: [as defined for type]). * creating it if it does * not exist. Will not return null. * *

* Definition: * An example value for this element *

*/ public IDatatype getExampleElement() { return myExample; } /** * Sets the value(s) for example[x] (Example value: [as defined for type]) * *

* Definition: * An example value for this element *

*/ public StructureElementDefinition setExample(IDatatype theValue) { myExample = theValue; return this; } /** * Gets the value(s) for maxLength (Length for strings). * creating it if it does * not exist. Will not return null. * *

* Definition: * Indicates the shortest length that SHALL be supported by conformant instances without truncation *

*/ public IntegerDt getMaxLength() { if (myMaxLength == null) { myMaxLength = new IntegerDt(); } return myMaxLength; } /** * Gets the value(s) for maxLength (Length for strings). * creating it if it does * not exist. Will not return null. * *

* Definition: * Indicates the shortest length that SHALL be supported by conformant instances without truncation *

*/ public IntegerDt getMaxLengthElement() { if (myMaxLength == null) { myMaxLength = new IntegerDt(); } return myMaxLength; } /** * Sets the value(s) for maxLength (Length for strings) * *

* Definition: * Indicates the shortest length that SHALL be supported by conformant instances without truncation *

*/ public StructureElementDefinition setMaxLength(IntegerDt theValue) { myMaxLength = theValue; return this; } /** * Sets the value for maxLength (Length for strings) * *

* Definition: * Indicates the shortest length that SHALL be supported by conformant instances without truncation *

*/ public StructureElementDefinition setMaxLength( int theInteger) { myMaxLength = new IntegerDt(theInteger); return this; } /** * Gets the value(s) for condition (Reference to invariant about presence). * creating it if it does * not exist. Will not return null. * *

* Definition: * A reference to an invariant that may make additional statements about the cardinality or value in the instance *

*/ public java.util.List getCondition() { if (myCondition == null) { myCondition = new java.util.ArrayList(); } return myCondition; } /** * Gets the value(s) for condition (Reference to invariant about presence). * creating it if it does * not exist. Will not return null. * *

* Definition: * A reference to an invariant that may make additional statements about the cardinality or value in the instance *

*/ public java.util.List getConditionElement() { if (myCondition == null) { myCondition = new java.util.ArrayList(); } return myCondition; } /** * Sets the value(s) for condition (Reference to invariant about presence) * *

* Definition: * A reference to an invariant that may make additional statements about the cardinality or value in the instance *

*/ public StructureElementDefinition setCondition(java.util.List theValue) { myCondition = theValue; return this; } /** * Adds and returns a new value for condition (Reference to invariant about presence) * *

* Definition: * A reference to an invariant that may make additional statements about the cardinality or value in the instance *

*/ public IdDt addCondition() { IdDt newType = new IdDt(); getCondition().add(newType); return newType; } /** * Gets the first repetition for condition (Reference to invariant about presence), * creating it if it does not already exist. * *

* Definition: * A reference to an invariant that may make additional statements about the cardinality or value in the instance *

*/ public IdDt getConditionFirstRep() { if (getCondition().isEmpty()) { return addCondition(); } return getCondition().get(0); } /** * Adds a new value for condition (Reference to invariant about presence) * *

* Definition: * A reference to an invariant that may make additional statements about the cardinality or value in the instance *

* * @return Returns a reference to this object, to allow for simple chaining. */ public StructureElementDefinition addCondition( String theId) { if (myCondition == null) { myCondition = new java.util.ArrayList(); } myCondition.add(new IdDt(theId)); return this; } /** * Gets the value(s) for constraint (Condition that must evaluate to true). * creating it if it does * not exist. Will not return null. * *

* Definition: * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance *

*/ public java.util.List getConstraint() { if (myConstraint == null) { myConstraint = new java.util.ArrayList(); } return myConstraint; } /** * Gets the value(s) for constraint (Condition that must evaluate to true). * creating it if it does * not exist. Will not return null. * *

* Definition: * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance *

*/ public java.util.List getConstraintElement() { if (myConstraint == null) { myConstraint = new java.util.ArrayList(); } return myConstraint; } /** * Sets the value(s) for constraint (Condition that must evaluate to true) * *

* Definition: * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance *

*/ public StructureElementDefinition setConstraint(java.util.List theValue) { myConstraint = theValue; return this; } /** * Adds and returns a new value for constraint (Condition that must evaluate to true) * *

* Definition: * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance *

*/ public StructureElementDefinitionConstraint addConstraint() { StructureElementDefinitionConstraint newType = new StructureElementDefinitionConstraint(); getConstraint().add(newType); return newType; } /** * Gets the first repetition for constraint (Condition that must evaluate to true), * creating it if it does not already exist. * *

* Definition: * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance *

*/ public StructureElementDefinitionConstraint getConstraintFirstRep() { if (getConstraint().isEmpty()) { return addConstraint(); } return getConstraint().get(0); } /** * Gets the value(s) for mustSupport (If the element must supported). * creating it if it does * not exist. Will not return null. * *

* Definition: * If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported *

*/ public BooleanDt getMustSupport() { if (myMustSupport == null) { myMustSupport = new BooleanDt(); } return myMustSupport; } /** * Gets the value(s) for mustSupport (If the element must supported). * creating it if it does * not exist. Will not return null. * *

* Definition: * If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported *

*/ public BooleanDt getMustSupportElement() { if (myMustSupport == null) { myMustSupport = new BooleanDt(); } return myMustSupport; } /** * Sets the value(s) for mustSupport (If the element must supported) * *

* Definition: * If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported *

*/ public StructureElementDefinition setMustSupport(BooleanDt theValue) { myMustSupport = theValue; return this; } /** * Sets the value for mustSupport (If the element must supported) * *

* Definition: * If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported *

*/ public StructureElementDefinition setMustSupport( boolean theBoolean) { myMustSupport = new BooleanDt(theBoolean); return this; } /** * Gets the value(s) for isModifier (If this modifies the meaning of other elements). * creating it if it does * not exist. Will not return null. * *

* Definition: * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. *

*/ public BooleanDt getIsModifier() { if (myIsModifier == null) { myIsModifier = new BooleanDt(); } return myIsModifier; } /** * Gets the value(s) for isModifier (If this modifies the meaning of other elements). * creating it if it does * not exist. Will not return null. * *

* Definition: * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. *

*/ public BooleanDt getIsModifierElement() { if (myIsModifier == null) { myIsModifier = new BooleanDt(); } return myIsModifier; } /** * Sets the value(s) for isModifier (If this modifies the meaning of other elements) * *

* Definition: * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. *

*/ public StructureElementDefinition setIsModifier(BooleanDt theValue) { myIsModifier = theValue; return this; } /** * Sets the value for isModifier (If this modifies the meaning of other elements) * *

* Definition: * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. *

*/ public StructureElementDefinition setIsModifier( boolean theBoolean) { myIsModifier = new BooleanDt(theBoolean); return this; } /** * Gets the value(s) for binding (ValueSet details if this is coded). * creating it if it does * not exist. Will not return null. * *

* Definition: * Binds to a value set if this element is coded (code, Coding, CodeableConcept) *

*/ public StructureElementDefinitionBinding getBinding() { if (myBinding == null) { myBinding = new StructureElementDefinitionBinding(); } return myBinding; } /** * Gets the value(s) for binding (ValueSet details if this is coded). * creating it if it does * not exist. Will not return null. * *

* Definition: * Binds to a value set if this element is coded (code, Coding, CodeableConcept) *

*/ public StructureElementDefinitionBinding getBindingElement() { if (myBinding == null) { myBinding = new StructureElementDefinitionBinding(); } return myBinding; } /** * Sets the value(s) for binding (ValueSet details if this is coded) * *

* Definition: * Binds to a value set if this element is coded (code, Coding, CodeableConcept) *

*/ public StructureElementDefinition setBinding(StructureElementDefinitionBinding theValue) { myBinding = theValue; return this; } /** * Gets the value(s) for mapping (Map element to another set of definitions). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies a concept from an external specification that roughly corresponds to this element *

*/ public java.util.List getMapping() { if (myMapping == null) { myMapping = new java.util.ArrayList(); } return myMapping; } /** * Gets the value(s) for mapping (Map element to another set of definitions). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies a concept from an external specification that roughly corresponds to this element *

*/ public java.util.List getMappingElement() { if (myMapping == null) { myMapping = new java.util.ArrayList(); } return myMapping; } /** * Sets the value(s) for mapping (Map element to another set of definitions) * *

* Definition: * Identifies a concept from an external specification that roughly corresponds to this element *

*/ public StructureElementDefinition setMapping(java.util.List theValue) { myMapping = theValue; return this; } /** * Adds and returns a new value for mapping (Map element to another set of definitions) * *

* Definition: * Identifies a concept from an external specification that roughly corresponds to this element *

*/ public StructureElementDefinitionMapping addMapping() { StructureElementDefinitionMapping newType = new StructureElementDefinitionMapping(); getMapping().add(newType); return newType; } /** * Gets the first repetition for mapping (Map element to another set of definitions), * creating it if it does not already exist. * *

* Definition: * Identifies a concept from an external specification that roughly corresponds to this element *

*/ public StructureElementDefinitionMapping getMappingFirstRep() { if (getMapping().isEmpty()) { return addMapping(); } return getMapping().get(0); } } /** * Block class for child element: Profile.structure.element.definition.type (Data type and Profile for this element) * *

* Definition: * The data type or resource that the value of this element is permitted to be *

*/ @Block() public static class StructureElementDefinitionType extends BaseIdentifiableElement implements IResourceBlock { @Child(name="code", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Name of Data type or Resource", formalDefinition="" ) private BoundCodeDt myCode; @Child(name="profile", type=UriDt.class, order=1, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Profile.structure to apply", formalDefinition="Identifies a profile that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile" ) private UriDt myProfile; @Child(name="aggregation", type=CodeDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="contained | referenced | bundled - how aggregated", formalDefinition="If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle" ) private java.util.List> myAggregation; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myProfile, myAggregation); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myProfile, myAggregation); } /** * Gets the value(s) for code (Name of Data type or Resource). * creating it if it does * not exist. Will not return null. * *

* Definition: * *

*/ public BoundCodeDt getCode() { if (myCode == null) { myCode = new BoundCodeDt(DataTypeEnum.VALUESET_BINDER); } return myCode; } /** * Gets the value(s) for code (Name of Data type or Resource). * creating it if it does * not exist. Will not return null. * *

* Definition: * *

*/ public BoundCodeDt getCodeElement() { if (myCode == null) { myCode = new BoundCodeDt(DataTypeEnum.VALUESET_BINDER); } return myCode; } /** * Sets the value(s) for code (Name of Data type or Resource) * *

* Definition: * *

*/ public StructureElementDefinitionType setCode(BoundCodeDt theValue) { myCode = theValue; return this; } /** * Sets the value(s) for code (Name of Data type or Resource) * *

* Definition: * *

*/ public StructureElementDefinitionType setCode(DataTypeEnum theValue) { getCode().setValueAsEnum(theValue); return this; } /** * Gets the value(s) for profile (Profile.structure to apply). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies a profile that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile *

*/ public UriDt getProfile() { if (myProfile == null) { myProfile = new UriDt(); } return myProfile; } /** * Gets the value(s) for profile (Profile.structure to apply). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies a profile that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile *

*/ public UriDt getProfileElement() { if (myProfile == null) { myProfile = new UriDt(); } return myProfile; } /** * Sets the value(s) for profile (Profile.structure to apply) * *

* Definition: * Identifies a profile that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile *

*/ public StructureElementDefinitionType setProfile(UriDt theValue) { myProfile = theValue; return this; } /** * Sets the value for profile (Profile.structure to apply) * *

* Definition: * Identifies a profile that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile *

*/ public StructureElementDefinitionType setProfile( String theUri) { myProfile = new UriDt(theUri); return this; } /** * Gets the value(s) for aggregation (contained | referenced | bundled - how aggregated). * creating it if it does * not exist. Will not return null. * *

* Definition: * If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle *

*/ public java.util.List> getAggregation() { if (myAggregation == null) { myAggregation = new java.util.ArrayList>(); } return myAggregation; } /** * Gets the value(s) for aggregation (contained | referenced | bundled - how aggregated). * creating it if it does * not exist. Will not return null. * *

* Definition: * If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle *

*/ public java.util.List> getAggregationElement() { if (myAggregation == null) { myAggregation = new java.util.ArrayList>(); } return myAggregation; } /** * Sets the value(s) for aggregation (contained | referenced | bundled - how aggregated) * *

* Definition: * If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle *

*/ public StructureElementDefinitionType setAggregation(java.util.List> theValue) { myAggregation = theValue; return this; } /** * Add a value for aggregation (contained | referenced | bundled - how aggregated) using an enumerated type. This * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory * or contain the desirable codes. If you wish to use codes other than those which are built-in, * you may also use the {@link #addAggregation()} method. * *

* Definition: * If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle *

*/ public BoundCodeDt addAggregation(AggregationModeEnum theValue) { BoundCodeDt retVal = new BoundCodeDt(AggregationModeEnum.VALUESET_BINDER, theValue); getAggregation().add(retVal); return retVal; } /** * Gets the first repetition for aggregation (contained | referenced | bundled - how aggregated), * creating it if it does not already exist. * *

* Definition: * If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle *

*/ public BoundCodeDt getAggregationFirstRep() { if (getAggregation().size() == 0) { addAggregation(); } return getAggregation().get(0); } /** * Add a value for aggregation (contained | referenced | bundled - how aggregated) * *

* Definition: * If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle *

*/ public BoundCodeDt addAggregation() { BoundCodeDt retVal = new BoundCodeDt(AggregationModeEnum.VALUESET_BINDER); getAggregation().add(retVal); return retVal; } /** * Sets the value(s), and clears any existing value(s) for aggregation (contained | referenced | bundled - how aggregated) * *

* Definition: * If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle *

*/ public StructureElementDefinitionType setAggregation(AggregationModeEnum theValue) { getAggregation().clear(); addAggregation(theValue); return this; } } /** * Block class for child element: Profile.structure.element.definition.constraint (Condition that must evaluate to true) * *

* Definition: * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance *

*/ @Block() public static class StructureElementDefinitionConstraint extends BaseIdentifiableElement implements IResourceBlock { @Child(name="key", type=IdDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Target of 'condition' reference above", formalDefinition="Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality" ) private IdDt myKey; @Child(name="name", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Short human label", formalDefinition="Used to label the constraint in OCL or in short displays incapable of displaying the full human description" ) private StringDt myName; @Child(name="severity", type=CodeDt.class, order=2, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="error | warning", formalDefinition="Identifies the impact constraint violation has on the conformance of the instance" ) private BoundCodeDt mySeverity; @Child(name="human", type=StringDt.class, order=3, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Human description of constraint", formalDefinition="Text that can be used to describe the constraint in messages identifying that the constraint has been violated" ) private StringDt myHuman; @Child(name="xpath", type=StringDt.class, order=4, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="XPath expression of constraint", formalDefinition="XPath expression of constraint" ) private StringDt myXpath; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myKey, myName, mySeverity, myHuman, myXpath); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myKey, myName, mySeverity, myHuman, myXpath); } /** * Gets the value(s) for key (Target of 'condition' reference above). * creating it if it does * not exist. Will not return null. * *

* Definition: * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality *

*/ public IdDt getKey() { if (myKey == null) { myKey = new IdDt(); } return myKey; } /** * Gets the value(s) for key (Target of 'condition' reference above). * creating it if it does * not exist. Will not return null. * *

* Definition: * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality *

*/ public IdDt getKeyElement() { if (myKey == null) { myKey = new IdDt(); } return myKey; } /** * Sets the value(s) for key (Target of 'condition' reference above) * *

* Definition: * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality *

*/ public StructureElementDefinitionConstraint setKey(IdDt theValue) { myKey = theValue; return this; } /** * Sets the value for key (Target of 'condition' reference above) * *

* Definition: * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality *

*/ public StructureElementDefinitionConstraint setKey( String theId) { myKey = new IdDt(theId); return this; } /** * Gets the value(s) for name (Short human label). * creating it if it does * not exist. Will not return null. * *

* Definition: * Used to label the constraint in OCL or in short displays incapable of displaying the full human description *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Short human label). * creating it if it does * not exist. Will not return null. * *

* Definition: * Used to label the constraint in OCL or in short displays incapable of displaying the full human description *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Short human label) * *

* Definition: * Used to label the constraint in OCL or in short displays incapable of displaying the full human description *

*/ public StructureElementDefinitionConstraint setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Short human label) * *

* Definition: * Used to label the constraint in OCL or in short displays incapable of displaying the full human description *

*/ public StructureElementDefinitionConstraint setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for severity (error | warning). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the impact constraint violation has on the conformance of the instance *

*/ public BoundCodeDt getSeverity() { if (mySeverity == null) { mySeverity = new BoundCodeDt(ConstraintSeverityEnum.VALUESET_BINDER); } return mySeverity; } /** * Gets the value(s) for severity (error | warning). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the impact constraint violation has on the conformance of the instance *

*/ public BoundCodeDt getSeverityElement() { if (mySeverity == null) { mySeverity = new BoundCodeDt(ConstraintSeverityEnum.VALUESET_BINDER); } return mySeverity; } /** * Sets the value(s) for severity (error | warning) * *

* Definition: * Identifies the impact constraint violation has on the conformance of the instance *

*/ public StructureElementDefinitionConstraint setSeverity(BoundCodeDt theValue) { mySeverity = theValue; return this; } /** * Sets the value(s) for severity (error | warning) * *

* Definition: * Identifies the impact constraint violation has on the conformance of the instance *

*/ public StructureElementDefinitionConstraint setSeverity(ConstraintSeverityEnum theValue) { getSeverity().setValueAsEnum(theValue); return this; } /** * Gets the value(s) for human (Human description of constraint). * creating it if it does * not exist. Will not return null. * *

* Definition: * Text that can be used to describe the constraint in messages identifying that the constraint has been violated *

*/ public StringDt getHuman() { if (myHuman == null) { myHuman = new StringDt(); } return myHuman; } /** * Gets the value(s) for human (Human description of constraint). * creating it if it does * not exist. Will not return null. * *

* Definition: * Text that can be used to describe the constraint in messages identifying that the constraint has been violated *

*/ public StringDt getHumanElement() { if (myHuman == null) { myHuman = new StringDt(); } return myHuman; } /** * Sets the value(s) for human (Human description of constraint) * *

* Definition: * Text that can be used to describe the constraint in messages identifying that the constraint has been violated *

*/ public StructureElementDefinitionConstraint setHuman(StringDt theValue) { myHuman = theValue; return this; } /** * Sets the value for human (Human description of constraint) * *

* Definition: * Text that can be used to describe the constraint in messages identifying that the constraint has been violated *

*/ public StructureElementDefinitionConstraint setHuman( String theString) { myHuman = new StringDt(theString); return this; } /** * Gets the value(s) for xpath (XPath expression of constraint). * creating it if it does * not exist. Will not return null. * *

* Definition: * XPath expression of constraint *

*/ public StringDt getXpath() { if (myXpath == null) { myXpath = new StringDt(); } return myXpath; } /** * Gets the value(s) for xpath (XPath expression of constraint). * creating it if it does * not exist. Will not return null. * *

* Definition: * XPath expression of constraint *

*/ public StringDt getXpathElement() { if (myXpath == null) { myXpath = new StringDt(); } return myXpath; } /** * Sets the value(s) for xpath (XPath expression of constraint) * *

* Definition: * XPath expression of constraint *

*/ public StructureElementDefinitionConstraint setXpath(StringDt theValue) { myXpath = theValue; return this; } /** * Sets the value for xpath (XPath expression of constraint) * *

* Definition: * XPath expression of constraint *

*/ public StructureElementDefinitionConstraint setXpath( String theString) { myXpath = new StringDt(theString); return this; } } /** * Block class for child element: Profile.structure.element.definition.binding (ValueSet details if this is coded) * *

* Definition: * Binds to a value set if this element is coded (code, Coding, CodeableConcept) *

*/ @Block() public static class StructureElementDefinitionBinding extends BaseIdentifiableElement implements IResourceBlock { @Child(name="name", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Descriptive Name", formalDefinition="A descriptive name for this - can be useful for generating implementation artifacts" ) private StringDt myName; @Child(name="isExtensible", type=BooleanDt.class, order=1, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Can additional codes be used?", formalDefinition="If true, then conformant systems may use additional codes or (where the data type permits) text alone to convey concepts not covered by the set of codes identified in the binding. If false, then conformant systems are constrained to the provided codes alone" ) private BooleanDt myIsExtensible; @Child(name="conformance", type=CodeDt.class, order=2, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="required | preferred | example", formalDefinition="Indicates the degree of conformance expectations associated with this binding" ) private BoundCodeDt myConformance; @Child(name="description", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Human explanation of the value set", formalDefinition="Describes the intended use of this particular set of codes" ) private StringDt myDescription; @Child(name="reference", order=4, min=0, max=1, summary=false, modifier=false, type={ UriDt.class, ValueSet.class }) @Description( shortDefinition="Source of value set", formalDefinition="Points to the value set or external definition that identifies the set of codes to be used" ) private IDatatype myReference; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myIsExtensible, myConformance, myDescription, myReference); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myIsExtensible, myConformance, myDescription, myReference); } /** * Gets the value(s) for name (Descriptive Name). * creating it if it does * not exist. Will not return null. * *

* Definition: * A descriptive name for this - can be useful for generating implementation artifacts *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Descriptive Name). * creating it if it does * not exist. Will not return null. * *

* Definition: * A descriptive name for this - can be useful for generating implementation artifacts *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Descriptive Name) * *

* Definition: * A descriptive name for this - can be useful for generating implementation artifacts *

*/ public StructureElementDefinitionBinding setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Descriptive Name) * *

* Definition: * A descriptive name for this - can be useful for generating implementation artifacts *

*/ public StructureElementDefinitionBinding setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for isExtensible (Can additional codes be used?). * creating it if it does * not exist. Will not return null. * *

* Definition: * If true, then conformant systems may use additional codes or (where the data type permits) text alone to convey concepts not covered by the set of codes identified in the binding. If false, then conformant systems are constrained to the provided codes alone *

*/ public BooleanDt getIsExtensible() { if (myIsExtensible == null) { myIsExtensible = new BooleanDt(); } return myIsExtensible; } /** * Gets the value(s) for isExtensible (Can additional codes be used?). * creating it if it does * not exist. Will not return null. * *

* Definition: * If true, then conformant systems may use additional codes or (where the data type permits) text alone to convey concepts not covered by the set of codes identified in the binding. If false, then conformant systems are constrained to the provided codes alone *

*/ public BooleanDt getIsExtensibleElement() { if (myIsExtensible == null) { myIsExtensible = new BooleanDt(); } return myIsExtensible; } /** * Sets the value(s) for isExtensible (Can additional codes be used?) * *

* Definition: * If true, then conformant systems may use additional codes or (where the data type permits) text alone to convey concepts not covered by the set of codes identified in the binding. If false, then conformant systems are constrained to the provided codes alone *

*/ public StructureElementDefinitionBinding setIsExtensible(BooleanDt theValue) { myIsExtensible = theValue; return this; } /** * Sets the value for isExtensible (Can additional codes be used?) * *

* Definition: * If true, then conformant systems may use additional codes or (where the data type permits) text alone to convey concepts not covered by the set of codes identified in the binding. If false, then conformant systems are constrained to the provided codes alone *

*/ public StructureElementDefinitionBinding setIsExtensible( boolean theBoolean) { myIsExtensible = new BooleanDt(theBoolean); return this; } /** * Gets the value(s) for conformance (required | preferred | example). * creating it if it does * not exist. Will not return null. * *

* Definition: * Indicates the degree of conformance expectations associated with this binding *

*/ public BoundCodeDt getConformance() { if (myConformance == null) { myConformance = new BoundCodeDt(BindingConformanceEnum.VALUESET_BINDER); } return myConformance; } /** * Gets the value(s) for conformance (required | preferred | example). * creating it if it does * not exist. Will not return null. * *

* Definition: * Indicates the degree of conformance expectations associated with this binding *

*/ public BoundCodeDt getConformanceElement() { if (myConformance == null) { myConformance = new BoundCodeDt(BindingConformanceEnum.VALUESET_BINDER); } return myConformance; } /** * Sets the value(s) for conformance (required | preferred | example) * *

* Definition: * Indicates the degree of conformance expectations associated with this binding *

*/ public StructureElementDefinitionBinding setConformance(BoundCodeDt theValue) { myConformance = theValue; return this; } /** * Sets the value(s) for conformance (required | preferred | example) * *

* Definition: * Indicates the degree of conformance expectations associated with this binding *

*/ public StructureElementDefinitionBinding setConformance(BindingConformanceEnum theValue) { getConformance().setValueAsEnum(theValue); return this; } /** * Gets the value(s) for description (Human explanation of the value set). * creating it if it does * not exist. Will not return null. * *

* Definition: * Describes the intended use of this particular set of codes *

*/ public StringDt getDescription() { if (myDescription == null) { myDescription = new StringDt(); } return myDescription; } /** * Gets the value(s) for description (Human explanation of the value set). * creating it if it does * not exist. Will not return null. * *

* Definition: * Describes the intended use of this particular set of codes *

*/ public StringDt getDescriptionElement() { if (myDescription == null) { myDescription = new StringDt(); } return myDescription; } /** * Sets the value(s) for description (Human explanation of the value set) * *

* Definition: * Describes the intended use of this particular set of codes *

*/ public StructureElementDefinitionBinding setDescription(StringDt theValue) { myDescription = theValue; return this; } /** * Sets the value for description (Human explanation of the value set) * *

* Definition: * Describes the intended use of this particular set of codes *

*/ public StructureElementDefinitionBinding setDescription( String theString) { myDescription = new StringDt(theString); return this; } /** * Gets the value(s) for reference[x] (Source of value set). * creating it if it does * not exist. Will not return null. * *

* Definition: * Points to the value set or external definition that identifies the set of codes to be used *

*/ public IDatatype getReference() { return myReference; } /** * Gets the value(s) for reference[x] (Source of value set). * creating it if it does * not exist. Will not return null. * *

* Definition: * Points to the value set or external definition that identifies the set of codes to be used *

*/ public IDatatype getReferenceElement() { return myReference; } /** * Sets the value(s) for reference[x] (Source of value set) * *

* Definition: * Points to the value set or external definition that identifies the set of codes to be used *

*/ public StructureElementDefinitionBinding setReference(IDatatype theValue) { myReference = theValue; return this; } } /** * Block class for child element: Profile.structure.element.definition.mapping (Map element to another set of definitions) * *

* Definition: * Identifies a concept from an external specification that roughly corresponds to this element *

*/ @Block() public static class StructureElementDefinitionMapping extends BaseIdentifiableElement implements IResourceBlock { @Child(name="identity", type=IdDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Reference to mapping declaration", formalDefinition="An internal reference to the definition of a mapping" ) private IdDt myIdentity; @Child(name="map", type=StringDt.class, order=1, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Details of the mapping", formalDefinition="Expresses what part of the target specification corresponds to this element" ) private StringDt myMap; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentity, myMap); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentity, myMap); } /** * Gets the value(s) for identity (Reference to mapping declaration). * creating it if it does * not exist. Will not return null. * *

* Definition: * An internal reference to the definition of a mapping *

*/ public IdDt getIdentity() { if (myIdentity == null) { myIdentity = new IdDt(); } return myIdentity; } /** * Gets the value(s) for identity (Reference to mapping declaration). * creating it if it does * not exist. Will not return null. * *

* Definition: * An internal reference to the definition of a mapping *

*/ public IdDt getIdentityElement() { if (myIdentity == null) { myIdentity = new IdDt(); } return myIdentity; } /** * Sets the value(s) for identity (Reference to mapping declaration) * *

* Definition: * An internal reference to the definition of a mapping *

*/ public StructureElementDefinitionMapping setIdentity(IdDt theValue) { myIdentity = theValue; return this; } /** * Sets the value for identity (Reference to mapping declaration) * *

* Definition: * An internal reference to the definition of a mapping *

*/ public StructureElementDefinitionMapping setIdentity( String theId) { myIdentity = new IdDt(theId); return this; } /** * Gets the value(s) for map (Details of the mapping). * creating it if it does * not exist. Will not return null. * *

* Definition: * Expresses what part of the target specification corresponds to this element *

*/ public StringDt getMap() { if (myMap == null) { myMap = new StringDt(); } return myMap; } /** * Gets the value(s) for map (Details of the mapping). * creating it if it does * not exist. Will not return null. * *

* Definition: * Expresses what part of the target specification corresponds to this element *

*/ public StringDt getMapElement() { if (myMap == null) { myMap = new StringDt(); } return myMap; } /** * Sets the value(s) for map (Details of the mapping) * *

* Definition: * Expresses what part of the target specification corresponds to this element *

*/ public StructureElementDefinitionMapping setMap(StringDt theValue) { myMap = theValue; return this; } /** * Sets the value for map (Details of the mapping) * *

* Definition: * Expresses what part of the target specification corresponds to this element *

*/ public StructureElementDefinitionMapping setMap( String theString) { myMap = new StringDt(theString); return this; } } /** * Block class for child element: Profile.structure.searchParam (Search params defined) * *

* Definition: * Additional search parameters for implementations to support and/or make use of *

*/ @Block() public static class StructureSearchParam extends BaseIdentifiableElement implements IResourceBlock { @Child(name="name", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Name of search parameter", formalDefinition="The name of the standard or custom search parameter" ) private StringDt myName; @Child(name="type", type=CodeDt.class, order=1, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="number | date | string | token | reference | composite | quantity", formalDefinition="The type of value a search parameter refers to, and how the content is interpreted" ) private BoundCodeDt myType; @Child(name="documentation", type=StringDt.class, order=2, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Contents and meaning of search parameter", formalDefinition="A specification for search parameters. For standard parameters, provides additional information on how the parameter is used in this solution. For custom parameters, provides a description of what the parameter does" ) private StringDt myDocumentation; @Child(name="xpath", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="XPath that extracts the parameter set", formalDefinition="An XPath expression that returns a set of elements for the search parameter" ) private StringDt myXpath; @Child(name="target", type=CodeDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Types of resource (if a resource reference)", formalDefinition="Types of resource (if a resource is referenced)" ) private java.util.List> myTarget; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myType, myDocumentation, myXpath, myTarget); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myType, myDocumentation, myXpath, myTarget); } /** * Gets the value(s) for name (Name of search parameter). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of the standard or custom search parameter *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Name of search parameter). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of the standard or custom search parameter *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Name of search parameter) * *

* Definition: * The name of the standard or custom search parameter *

*/ public StructureSearchParam setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Name of search parameter) * *

* Definition: * The name of the standard or custom search parameter *

*/ public StructureSearchParam setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for type (number | date | string | token | reference | composite | quantity). * creating it if it does * not exist. Will not return null. * *

* Definition: * The type of value a search parameter refers to, and how the content is interpreted *

*/ public BoundCodeDt getType() { if (myType == null) { myType = new BoundCodeDt(SearchParamTypeEnum.VALUESET_BINDER); } return myType; } /** * Gets the value(s) for type (number | date | string | token | reference | composite | quantity). * creating it if it does * not exist. Will not return null. * *

* Definition: * The type of value a search parameter refers to, and how the content is interpreted *

*/ public BoundCodeDt getTypeElement() { if (myType == null) { myType = new BoundCodeDt(SearchParamTypeEnum.VALUESET_BINDER); } return myType; } /** * Sets the value(s) for type (number | date | string | token | reference | composite | quantity) * *

* Definition: * The type of value a search parameter refers to, and how the content is interpreted *

*/ public StructureSearchParam setType(BoundCodeDt theValue) { myType = theValue; return this; } /** * Sets the value(s) for type (number | date | string | token | reference | composite | quantity) * *

* Definition: * The type of value a search parameter refers to, and how the content is interpreted *

*/ public StructureSearchParam setType(SearchParamTypeEnum theValue) { getType().setValueAsEnum(theValue); return this; } /** * Gets the value(s) for documentation (Contents and meaning of search parameter). * creating it if it does * not exist. Will not return null. * *

* Definition: * A specification for search parameters. For standard parameters, provides additional information on how the parameter is used in this solution. For custom parameters, provides a description of what the parameter does *

*/ public StringDt getDocumentation() { if (myDocumentation == null) { myDocumentation = new StringDt(); } return myDocumentation; } /** * Gets the value(s) for documentation (Contents and meaning of search parameter). * creating it if it does * not exist. Will not return null. * *

* Definition: * A specification for search parameters. For standard parameters, provides additional information on how the parameter is used in this solution. For custom parameters, provides a description of what the parameter does *

*/ public StringDt getDocumentationElement() { if (myDocumentation == null) { myDocumentation = new StringDt(); } return myDocumentation; } /** * Sets the value(s) for documentation (Contents and meaning of search parameter) * *

* Definition: * A specification for search parameters. For standard parameters, provides additional information on how the parameter is used in this solution. For custom parameters, provides a description of what the parameter does *

*/ public StructureSearchParam setDocumentation(StringDt theValue) { myDocumentation = theValue; return this; } /** * Sets the value for documentation (Contents and meaning of search parameter) * *

* Definition: * A specification for search parameters. For standard parameters, provides additional information on how the parameter is used in this solution. For custom parameters, provides a description of what the parameter does *

*/ public StructureSearchParam setDocumentation( String theString) { myDocumentation = new StringDt(theString); return this; } /** * Gets the value(s) for xpath (XPath that extracts the parameter set). * creating it if it does * not exist. Will not return null. * *

* Definition: * An XPath expression that returns a set of elements for the search parameter *

*/ public StringDt getXpath() { if (myXpath == null) { myXpath = new StringDt(); } return myXpath; } /** * Gets the value(s) for xpath (XPath that extracts the parameter set). * creating it if it does * not exist. Will not return null. * *

* Definition: * An XPath expression that returns a set of elements for the search parameter *

*/ public StringDt getXpathElement() { if (myXpath == null) { myXpath = new StringDt(); } return myXpath; } /** * Sets the value(s) for xpath (XPath that extracts the parameter set) * *

* Definition: * An XPath expression that returns a set of elements for the search parameter *

*/ public StructureSearchParam setXpath(StringDt theValue) { myXpath = theValue; return this; } /** * Sets the value for xpath (XPath that extracts the parameter set) * *

* Definition: * An XPath expression that returns a set of elements for the search parameter *

*/ public StructureSearchParam setXpath( String theString) { myXpath = new StringDt(theString); return this; } /** * Gets the value(s) for target (Types of resource (if a resource reference)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Types of resource (if a resource is referenced) *

*/ public java.util.List> getTarget() { if (myTarget == null) { myTarget = new java.util.ArrayList>(); } return myTarget; } /** * Gets the value(s) for target (Types of resource (if a resource reference)). * creating it if it does * not exist. Will not return null. * *

* Definition: * Types of resource (if a resource is referenced) *

*/ public java.util.List> getTargetElement() { if (myTarget == null) { myTarget = new java.util.ArrayList>(); } return myTarget; } /** * Sets the value(s) for target (Types of resource (if a resource reference)) * *

* Definition: * Types of resource (if a resource is referenced) *

*/ public StructureSearchParam setTarget(java.util.List> theValue) { myTarget = theValue; return this; } /** * Add a value for target (Types of resource (if a resource reference)) using an enumerated type. This * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory * or contain the desirable codes. If you wish to use codes other than those which are built-in, * you may also use the {@link #addTarget()} method. * *

* Definition: * Types of resource (if a resource is referenced) *

*/ public BoundCodeDt addTarget(ResourceTypeEnum theValue) { BoundCodeDt retVal = new BoundCodeDt(ResourceTypeEnum.VALUESET_BINDER, theValue); getTarget().add(retVal); return retVal; } /** * Gets the first repetition for target (Types of resource (if a resource reference)), * creating it if it does not already exist. * *

* Definition: * Types of resource (if a resource is referenced) *

*/ public BoundCodeDt getTargetFirstRep() { if (getTarget().size() == 0) { addTarget(); } return getTarget().get(0); } /** * Add a value for target (Types of resource (if a resource reference)) * *

* Definition: * Types of resource (if a resource is referenced) *

*/ public BoundCodeDt addTarget() { BoundCodeDt retVal = new BoundCodeDt(ResourceTypeEnum.VALUESET_BINDER); getTarget().add(retVal); return retVal; } /** * Sets the value(s), and clears any existing value(s) for target (Types of resource (if a resource reference)) * *

* Definition: * Types of resource (if a resource is referenced) *

*/ public StructureSearchParam setTarget(ResourceTypeEnum theValue) { getTarget().clear(); addTarget(theValue); return this; } } /** * Block class for child element: Profile.extensionDefn (Definition of an extension) * *

* Definition: * An extension defined as part of the profile *

*/ @Block() public static class ExtensionDefn extends BaseIdentifiableElement implements IResourceBlock { @Child(name="code", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Identifies the extension in this profile", formalDefinition="A unique code (within the profile) used to identify the extension" ) private CodeDt myCode; @Child(name="display", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) @Description( shortDefinition="Use this name when displaying the value", formalDefinition="Defined so that applications can use this name when displaying the value of the extension to the user" ) private StringDt myDisplay; @Child(name="contextType", type=CodeDt.class, order=2, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="resource | datatype | mapping | extension", formalDefinition="Identifies the type of context to which the extension applies" ) private BoundCodeDt myContextType; @Child(name="context", type=StringDt.class, order=3, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Where the extension can be used in instances", formalDefinition="Identifies the types of resource or data type elements to which the extension can be applied" ) private java.util.List myContext; @Child(name="definition", type=StructureElementDefinition.class, order=4, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Definition of the extension and its content", formalDefinition="Definition of the extension and its content" ) private StructureElementDefinition myDefinition; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myDisplay, myContextType, myContext, myDefinition); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myDisplay, myContextType, myContext, myDefinition); } /** * Gets the value(s) for code (Identifies the extension in this profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * A unique code (within the profile) used to identify the extension *

*/ public CodeDt getCode() { if (myCode == null) { myCode = new CodeDt(); } return myCode; } /** * Gets the value(s) for code (Identifies the extension in this profile). * creating it if it does * not exist. Will not return null. * *

* Definition: * A unique code (within the profile) used to identify the extension *

*/ public CodeDt getCodeElement() { if (myCode == null) { myCode = new CodeDt(); } return myCode; } /** * Sets the value(s) for code (Identifies the extension in this profile) * *

* Definition: * A unique code (within the profile) used to identify the extension *

*/ public ExtensionDefn setCode(CodeDt theValue) { myCode = theValue; return this; } /** * Sets the value for code (Identifies the extension in this profile) * *

* Definition: * A unique code (within the profile) used to identify the extension *

*/ public ExtensionDefn setCode( String theCode) { myCode = new CodeDt(theCode); return this; } /** * Gets the value(s) for display (Use this name when displaying the value). * creating it if it does * not exist. Will not return null. * *

* Definition: * Defined so that applications can use this name when displaying the value of the extension to the user *

*/ public StringDt getDisplay() { if (myDisplay == null) { myDisplay = new StringDt(); } return myDisplay; } /** * Gets the value(s) for display (Use this name when displaying the value). * creating it if it does * not exist. Will not return null. * *

* Definition: * Defined so that applications can use this name when displaying the value of the extension to the user *

*/ public StringDt getDisplayElement() { if (myDisplay == null) { myDisplay = new StringDt(); } return myDisplay; } /** * Sets the value(s) for display (Use this name when displaying the value) * *

* Definition: * Defined so that applications can use this name when displaying the value of the extension to the user *

*/ public ExtensionDefn setDisplay(StringDt theValue) { myDisplay = theValue; return this; } /** * Sets the value for display (Use this name when displaying the value) * *

* Definition: * Defined so that applications can use this name when displaying the value of the extension to the user *

*/ public ExtensionDefn setDisplay( String theString) { myDisplay = new StringDt(theString); return this; } /** * Gets the value(s) for contextType (resource | datatype | mapping | extension). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the type of context to which the extension applies *

*/ public BoundCodeDt getContextType() { if (myContextType == null) { myContextType = new BoundCodeDt(ExtensionContextEnum.VALUESET_BINDER); } return myContextType; } /** * Gets the value(s) for contextType (resource | datatype | mapping | extension). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the type of context to which the extension applies *

*/ public BoundCodeDt getContextTypeElement() { if (myContextType == null) { myContextType = new BoundCodeDt(ExtensionContextEnum.VALUESET_BINDER); } return myContextType; } /** * Sets the value(s) for contextType (resource | datatype | mapping | extension) * *

* Definition: * Identifies the type of context to which the extension applies *

*/ public ExtensionDefn setContextType(BoundCodeDt theValue) { myContextType = theValue; return this; } /** * Sets the value(s) for contextType (resource | datatype | mapping | extension) * *

* Definition: * Identifies the type of context to which the extension applies *

*/ public ExtensionDefn setContextType(ExtensionContextEnum theValue) { getContextType().setValueAsEnum(theValue); return this; } /** * Gets the value(s) for context (Where the extension can be used in instances). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the types of resource or data type elements to which the extension can be applied *

*/ public java.util.List getContext() { if (myContext == null) { myContext = new java.util.ArrayList(); } return myContext; } /** * Gets the value(s) for context (Where the extension can be used in instances). * creating it if it does * not exist. Will not return null. * *

* Definition: * Identifies the types of resource or data type elements to which the extension can be applied *

*/ public java.util.List getContextElement() { if (myContext == null) { myContext = new java.util.ArrayList(); } return myContext; } /** * Sets the value(s) for context (Where the extension can be used in instances) * *

* Definition: * Identifies the types of resource or data type elements to which the extension can be applied *

*/ public ExtensionDefn setContext(java.util.List theValue) { myContext = theValue; return this; } /** * Adds and returns a new value for context (Where the extension can be used in instances) * *

* Definition: * Identifies the types of resource or data type elements to which the extension can be applied *

*/ public StringDt addContext() { StringDt newType = new StringDt(); getContext().add(newType); return newType; } /** * Gets the first repetition for context (Where the extension can be used in instances), * creating it if it does not already exist. * *

* Definition: * Identifies the types of resource or data type elements to which the extension can be applied *

*/ public StringDt getContextFirstRep() { if (getContext().isEmpty()) { return addContext(); } return getContext().get(0); } /** * Adds a new value for context (Where the extension can be used in instances) * *

* Definition: * Identifies the types of resource or data type elements to which the extension can be applied *

* * @return Returns a reference to this object, to allow for simple chaining. */ public ExtensionDefn addContext( String theString) { if (myContext == null) { myContext = new java.util.ArrayList(); } myContext.add(new StringDt(theString)); return this; } /** * Gets the value(s) for definition (Definition of the extension and its content). * creating it if it does * not exist. Will not return null. * *

* Definition: * Definition of the extension and its content *

*/ public StructureElementDefinition getDefinition() { if (myDefinition == null) { myDefinition = new StructureElementDefinition(); } return myDefinition; } /** * Gets the value(s) for definition (Definition of the extension and its content). * creating it if it does * not exist. Will not return null. * *

* Definition: * Definition of the extension and its content *

*/ public StructureElementDefinition getDefinitionElement() { if (myDefinition == null) { myDefinition = new StructureElementDefinition(); } return myDefinition; } /** * Sets the value(s) for definition (Definition of the extension and its content) * *

* Definition: * Definition of the extension and its content *

*/ public ExtensionDefn setDefinition(StructureElementDefinition theValue) { myDefinition = theValue; return this; } } /** * Block class for child element: Profile.query (Definition of a named query) * *

* Definition: * Definition of a named query and its parameters and their meaning *

*/ @Block() public static class Query extends BaseIdentifiableElement implements IResourceBlock { @Child(name="name", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Special named queries (_query=)", formalDefinition="The name of a query, which is used in the URI from Conformance statements declaring use of the query. Typically this will also be the name for the _query parameter when the query is called, though in some cases it may be aliased by a server to avoid collisions" ) private StringDt myName; @Child(name="documentation", type=StringDt.class, order=1, min=1, max=1, summary=false, modifier=false) @Description( shortDefinition="Describes the named query", formalDefinition="Description of the query - the functionality it offers, and considerations about how it functions and to use it" ) private StringDt myDocumentation; @Child(name="parameter", type=StructureSearchParam.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) @Description( shortDefinition="Parameter for the named query", formalDefinition="A parameter of a named query" ) private java.util.List myParameter; @Override public boolean isEmpty() { return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myDocumentation, myParameter); } @Override public List getAllPopulatedChildElementsOfType(Class theType) { return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myDocumentation, myParameter); } /** * Gets the value(s) for name (Special named queries (_query=)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of a query, which is used in the URI from Conformance statements declaring use of the query. Typically this will also be the name for the _query parameter when the query is called, though in some cases it may be aliased by a server to avoid collisions *

*/ public StringDt getName() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Gets the value(s) for name (Special named queries (_query=)). * creating it if it does * not exist. Will not return null. * *

* Definition: * The name of a query, which is used in the URI from Conformance statements declaring use of the query. Typically this will also be the name for the _query parameter when the query is called, though in some cases it may be aliased by a server to avoid collisions *

*/ public StringDt getNameElement() { if (myName == null) { myName = new StringDt(); } return myName; } /** * Sets the value(s) for name (Special named queries (_query=)) * *

* Definition: * The name of a query, which is used in the URI from Conformance statements declaring use of the query. Typically this will also be the name for the _query parameter when the query is called, though in some cases it may be aliased by a server to avoid collisions *

*/ public Query setName(StringDt theValue) { myName = theValue; return this; } /** * Sets the value for name (Special named queries (_query=)) * *

* Definition: * The name of a query, which is used in the URI from Conformance statements declaring use of the query. Typically this will also be the name for the _query parameter when the query is called, though in some cases it may be aliased by a server to avoid collisions *

*/ public Query setName( String theString) { myName = new StringDt(theString); return this; } /** * Gets the value(s) for documentation (Describes the named query). * creating it if it does * not exist. Will not return null. * *

* Definition: * Description of the query - the functionality it offers, and considerations about how it functions and to use it *

*/ public StringDt getDocumentation() { if (myDocumentation == null) { myDocumentation = new StringDt(); } return myDocumentation; } /** * Gets the value(s) for documentation (Describes the named query). * creating it if it does * not exist. Will not return null. * *

* Definition: * Description of the query - the functionality it offers, and considerations about how it functions and to use it *

*/ public StringDt getDocumentationElement() { if (myDocumentation == null) { myDocumentation = new StringDt(); } return myDocumentation; } /** * Sets the value(s) for documentation (Describes the named query) * *

* Definition: * Description of the query - the functionality it offers, and considerations about how it functions and to use it *

*/ public Query setDocumentation(StringDt theValue) { myDocumentation = theValue; return this; } /** * Sets the value for documentation (Describes the named query) * *

* Definition: * Description of the query - the functionality it offers, and considerations about how it functions and to use it *

*/ public Query setDocumentation( String theString) { myDocumentation = new StringDt(theString); return this; } /** * Gets the value(s) for parameter (Parameter for the named query). * creating it if it does * not exist. Will not return null. * *

* Definition: * A parameter of a named query *

*/ public java.util.List getParameter() { if (myParameter == null) { myParameter = new java.util.ArrayList(); } return myParameter; } /** * Gets the value(s) for parameter (Parameter for the named query). * creating it if it does * not exist. Will not return null. * *

* Definition: * A parameter of a named query *

*/ public java.util.List getParameterElement() { if (myParameter == null) { myParameter = new java.util.ArrayList(); } return myParameter; } /** * Sets the value(s) for parameter (Parameter for the named query) * *

* Definition: * A parameter of a named query *

*/ public Query setParameter(java.util.List theValue) { myParameter = theValue; return this; } /** * Adds and returns a new value for parameter (Parameter for the named query) * *

* Definition: * A parameter of a named query *

*/ public StructureSearchParam addParameter() { StructureSearchParam newType = new StructureSearchParam(); getParameter().add(newType); return newType; } /** * Gets the first repetition for parameter (Parameter for the named query), * creating it if it does not already exist. * *

* Definition: * A parameter of a named query *

*/ public StructureSearchParam getParameterFirstRep() { if (getParameter().isEmpty()) { return addParameter(); } return getParameter().get(0); } } @Override public String getResourceName() { return "Profile"; } public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { return ca.uhn.fhir.context.FhirVersionEnum.DSTU1; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy