001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017package ca.uhn.fhir.model.dstu2.resource;
018
019import java.math.BigDecimal;
020import java.net.URI;
021import java.util.*;
022import ca.uhn.fhir.model.api.*;
023import ca.uhn.fhir.model.api.annotation.*;
024import ca.uhn.fhir.rest.gclient.*;
025
026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum;
027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum;
028import ca.uhn.fhir.model.dstu2.composite.AddressDt;
029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum;
030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum;
031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum;
032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum;
033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum;
034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance;
035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum;
036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum;
037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum;
038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum;
039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum;
040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum;
041import ca.uhn.fhir.model.dstu2.composite.AnnotationDt;
042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum;
043import ca.uhn.fhir.model.dstu2.resource.Appointment;
044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum;
045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum;
046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum;
047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum;
048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt;
049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum;
050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum;
051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum;
052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum;
053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum;
054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum;
055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum;
056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum;
057import ca.uhn.fhir.model.dstu2.resource.BodySite;
058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum;
059import ca.uhn.fhir.model.dstu2.resource.CarePlan;
060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum;
061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum;
062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum;
063import ca.uhn.fhir.model.dstu2.resource.Claim;
064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse;
065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum;
066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression;
067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum;
068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt;
069import ca.uhn.fhir.model.dstu2.composite.CodingDt;
070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest;
071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum;
072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum;
073import ca.uhn.fhir.model.dstu2.resource.Composition;
074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum;
075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum;
076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum;
077import ca.uhn.fhir.model.dstu2.resource.Condition;
078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum;
079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum;
080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum;
081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum;
082import ca.uhn.fhir.model.dstu2.resource.Conformance;
083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum;
084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum;
085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum;
086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt;
087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum;
088import ca.uhn.fhir.model.dstu2.resource.Contract;
089import ca.uhn.fhir.model.dstu2.resource.Coverage;
090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum;
091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum;
092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum;
093import ca.uhn.fhir.model.dstu2.resource.Device;
094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent;
095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric;
096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum;
097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum;
098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum;
099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum;
100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum;
101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum;
102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest;
103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum;
104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum;
105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder;
106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum;
107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum;
108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport;
109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum;
110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum;
111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum;
112import ca.uhn.fhir.model.dstu2.resource.DocumentReference;
113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum;
114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum;
115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt;
116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest;
117import ca.uhn.fhir.model.dstu2.resource.Encounter;
118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum;
119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum;
120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum;
121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest;
122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare;
123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum;
124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum;
125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum;
126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory;
127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum;
128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum;
129import ca.uhn.fhir.model.dstu2.resource.Goal;
130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum;
131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum;
132import ca.uhn.fhir.model.dstu2.resource.Group;
133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum;
134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum;
135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum;
136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum;
137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum;
138import ca.uhn.fhir.model.dstu2.resource.HealthcareService;
139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt;
141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum;
142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum;
143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection;
144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy;
145import ca.uhn.fhir.model.dstu2.resource.Immunization;
146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum;
147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum;
148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum;
149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum;
150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum;
151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum;
152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum;
153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum;
154import ca.uhn.fhir.model.dstu2.resource.Location;
155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum;
156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum;
157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum;
158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum;
159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum;
160import ca.uhn.fhir.model.dstu2.resource.Media;
161import ca.uhn.fhir.model.dstu2.resource.Medication;
162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum;
163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum;
164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder;
165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum;
166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement;
167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum;
168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum;
169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum;
170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum;
171import ca.uhn.fhir.model.dstu2.resource.NamingSystem;
172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum;
173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum;
174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum;
175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder;
176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum;
177import ca.uhn.fhir.model.dstu2.resource.Observation;
178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum;
179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum;
180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition;
181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum;
182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome;
183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum;
184import ca.uhn.fhir.model.dstu2.resource.Order;
185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum;
186import ca.uhn.fhir.model.dstu2.resource.Organization;
187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum;
188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum;
189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum;
190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum;
191import ca.uhn.fhir.model.dstu2.resource.Patient;
192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum;
193import ca.uhn.fhir.model.dstu2.composite.PeriodDt;
194import ca.uhn.fhir.model.dstu2.resource.Person;
195import ca.uhn.fhir.model.dstu2.resource.Practitioner;
196import ca.uhn.fhir.model.dstu2.resource.Procedure;
197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest;
198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum;
199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum;
200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum;
201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest;
202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum;
203import ca.uhn.fhir.model.dstu2.composite.QuantityDt;
204import ca.uhn.fhir.model.dstu2.resource.Questionnaire;
205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse;
206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum;
207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum;
208import ca.uhn.fhir.model.dstu2.composite.RangeDt;
209import ca.uhn.fhir.model.dstu2.composite.RatioDt;
210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum;
211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest;
212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum;
213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson;
214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum;
215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum;
216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum;
217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum;
218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum;
219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum;
220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment;
221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum;
222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt;
223import ca.uhn.fhir.model.dstu2.resource.Schedule;
224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum;
225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum;
226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum;
227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum;
228import ca.uhn.fhir.model.dstu2.composite.SignatureDt;
229import ca.uhn.fhir.model.dstu2.resource.Slot;
230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum;
231import ca.uhn.fhir.model.dstu2.resource.Specimen;
232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum;
233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition;
234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum;
235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum;
236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum;
237import ca.uhn.fhir.model.dstu2.resource.Substance;
238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum;
239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum;
240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest;
241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum;
242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum;
243import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
244import ca.uhn.fhir.model.dstu2.composite.TimingDt;
245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum;
246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum;
247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum;
248import ca.uhn.fhir.model.dstu2.valueset.UseEnum;
249import ca.uhn.fhir.model.dstu2.resource.ValueSet;
250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum;
251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum;
252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription;
253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum;
254import ca.uhn.fhir.model.api.IResource;
255import ca.uhn.fhir.model.dstu2.composite.AgeDt;
256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt;
257import ca.uhn.fhir.model.dstu2.composite.DurationDt;
258import ca.uhn.fhir.model.dstu2.composite.MoneyDt;
259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt;
260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt;
262import ca.uhn.fhir.model.primitive.Base64BinaryDt;
263import ca.uhn.fhir.model.primitive.BooleanDt;
264import ca.uhn.fhir.model.primitive.BoundCodeDt;
265import ca.uhn.fhir.model.primitive.CodeDt;
266import ca.uhn.fhir.model.primitive.DateDt;
267import ca.uhn.fhir.model.primitive.DateTimeDt;
268import ca.uhn.fhir.model.primitive.DecimalDt;
269import ca.uhn.fhir.model.primitive.IdDt;
270import ca.uhn.fhir.model.primitive.InstantDt;
271import ca.uhn.fhir.model.primitive.IntegerDt;
272import ca.uhn.fhir.model.primitive.OidDt;
273import ca.uhn.fhir.model.primitive.PositiveIntDt;
274import ca.uhn.fhir.model.primitive.StringDt;
275import ca.uhn.fhir.model.primitive.TimeDt;
276import ca.uhn.fhir.model.primitive.UnsignedIntDt;
277import ca.uhn.fhir.model.primitive.UriDt;
278
279
280/**
281 * HAPI/FHIR <b>Coverage</b> Resource
282 * ()
283 *
284 * <p>
285 * <b>Definition:</b>
286 * Financial instrument which may be used to pay for or reimburse health care products and services.
287 * </p> 
288 *
289 * <p>
290 * <b>Requirements:</b>
291 * Health care programs and insurers are significant payors of health service costs
292 * </p> 
293 *
294 * <p>
295 * <b>Profile Definition:</b>
296 * <a href="http://hl7.org/fhir/profiles/Coverage">http://hl7.org/fhir/profiles/Coverage</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="Coverage", profile="http://hl7.org/fhir/profiles/Coverage", id="coverage")
301public class Coverage extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource     {
303
304        /**
305         * Search parameter constant for <b>issuer</b>
306         * <p>
307         * Description: <b>The identity of the insurer</b><br>
308         * Type: <b>reference</b><br>
309         * Path: <b>Coverage.issuer</b><br>
310         * </p>
311         */
312        @SearchParamDefinition(name="issuer", path="Coverage.issuer", description="The identity of the insurer", type="reference"  )
313        public static final String SP_ISSUER = "issuer";
314
315        /**
316         * <b>Fluent Client</b> search parameter constant for <b>issuer</b>
317         * <p>
318         * Description: <b>The identity of the insurer</b><br>
319         * Type: <b>reference</b><br>
320         * Path: <b>Coverage.issuer</b><br>
321         * </p>
322         */
323        public static final ReferenceClientParam ISSUER = new ReferenceClientParam(SP_ISSUER);
324
325        /**
326         * Search parameter constant for <b>identifier</b>
327         * <p>
328         * Description: <b>The primary identifier of the insured</b><br>
329         * Type: <b>token</b><br>
330         * Path: <b>Coverage.identifier</b><br>
331         * </p>
332         */
333        @SearchParamDefinition(name="identifier", path="Coverage.identifier", description="The primary identifier of the insured", type="token"  )
334        public static final String SP_IDENTIFIER = "identifier";
335
336        /**
337         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
338         * <p>
339         * Description: <b>The primary identifier of the insured</b><br>
340         * Type: <b>token</b><br>
341         * Path: <b>Coverage.identifier</b><br>
342         * </p>
343         */
344        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
345
346        /**
347         * Search parameter constant for <b>type</b>
348         * <p>
349         * Description: <b>The kind of coverage</b><br>
350         * Type: <b>token</b><br>
351         * Path: <b>Coverage.type</b><br>
352         * </p>
353         */
354        @SearchParamDefinition(name="type", path="Coverage.type", description="The kind of coverage", type="token"  )
355        public static final String SP_TYPE = "type";
356
357        /**
358         * <b>Fluent Client</b> search parameter constant for <b>type</b>
359         * <p>
360         * Description: <b>The kind of coverage</b><br>
361         * Type: <b>token</b><br>
362         * Path: <b>Coverage.type</b><br>
363         * </p>
364         */
365        public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE);
366
367        /**
368         * Search parameter constant for <b>plan</b>
369         * <p>
370         * Description: <b>A plan or policy identifier</b><br>
371         * Type: <b>token</b><br>
372         * Path: <b>Coverage.plan</b><br>
373         * </p>
374         */
375        @SearchParamDefinition(name="plan", path="Coverage.plan", description="A plan or policy identifier", type="token"  )
376        public static final String SP_PLAN = "plan";
377
378        /**
379         * <b>Fluent Client</b> search parameter constant for <b>plan</b>
380         * <p>
381         * Description: <b>A plan or policy identifier</b><br>
382         * Type: <b>token</b><br>
383         * Path: <b>Coverage.plan</b><br>
384         * </p>
385         */
386        public static final TokenClientParam PLAN = new TokenClientParam(SP_PLAN);
387
388        /**
389         * Search parameter constant for <b>subplan</b>
390         * <p>
391         * Description: <b>Sub-plan identifier</b><br>
392         * Type: <b>token</b><br>
393         * Path: <b>Coverage.subPlan</b><br>
394         * </p>
395         */
396        @SearchParamDefinition(name="subplan", path="Coverage.subPlan", description="Sub-plan identifier", type="token"  )
397        public static final String SP_SUBPLAN = "subplan";
398
399        /**
400         * <b>Fluent Client</b> search parameter constant for <b>subplan</b>
401         * <p>
402         * Description: <b>Sub-plan identifier</b><br>
403         * Type: <b>token</b><br>
404         * Path: <b>Coverage.subPlan</b><br>
405         * </p>
406         */
407        public static final TokenClientParam SUBPLAN = new TokenClientParam(SP_SUBPLAN);
408
409        /**
410         * Search parameter constant for <b>group</b>
411         * <p>
412         * Description: <b>Group identifier</b><br>
413         * Type: <b>token</b><br>
414         * Path: <b>Coverage.group</b><br>
415         * </p>
416         */
417        @SearchParamDefinition(name="group", path="Coverage.group", description="Group identifier", type="token"  )
418        public static final String SP_GROUP = "group";
419
420        /**
421         * <b>Fluent Client</b> search parameter constant for <b>group</b>
422         * <p>
423         * Description: <b>Group identifier</b><br>
424         * Type: <b>token</b><br>
425         * Path: <b>Coverage.group</b><br>
426         * </p>
427         */
428        public static final TokenClientParam GROUP = new TokenClientParam(SP_GROUP);
429
430        /**
431         * Search parameter constant for <b>dependent</b>
432         * <p>
433         * Description: <b>Dependent number</b><br>
434         * Type: <b>token</b><br>
435         * Path: <b>Coverage.dependent</b><br>
436         * </p>
437         */
438        @SearchParamDefinition(name="dependent", path="Coverage.dependent", description="Dependent number", type="token"  )
439        public static final String SP_DEPENDENT = "dependent";
440
441        /**
442         * <b>Fluent Client</b> search parameter constant for <b>dependent</b>
443         * <p>
444         * Description: <b>Dependent number</b><br>
445         * Type: <b>token</b><br>
446         * Path: <b>Coverage.dependent</b><br>
447         * </p>
448         */
449        public static final TokenClientParam DEPENDENT = new TokenClientParam(SP_DEPENDENT);
450
451        /**
452         * Search parameter constant for <b>sequence</b>
453         * <p>
454         * Description: <b>Sequence number</b><br>
455         * Type: <b>token</b><br>
456         * Path: <b>Coverage.sequence</b><br>
457         * </p>
458         */
459        @SearchParamDefinition(name="sequence", path="Coverage.sequence", description="Sequence number", type="token"  )
460        public static final String SP_SEQUENCE = "sequence";
461
462        /**
463         * <b>Fluent Client</b> search parameter constant for <b>sequence</b>
464         * <p>
465         * Description: <b>Sequence number</b><br>
466         * Type: <b>token</b><br>
467         * Path: <b>Coverage.sequence</b><br>
468         * </p>
469         */
470        public static final TokenClientParam SEQUENCE = new TokenClientParam(SP_SEQUENCE);
471
472
473        /**
474         * Constant for fluent queries to be used to add include statements. Specifies
475         * the path value of "<b>Coverage:issuer</b>".
476         */
477        public static final Include INCLUDE_ISSUER = new Include("Coverage:issuer");
478
479
480        @Child(name="issuer", order=0, min=0, max=1, summary=true, modifier=false, type={
481                ca.uhn.fhir.model.dstu2.resource.Organization.class     })
482        @Description(
483                shortDefinition="",
484                formalDefinition="The program or plan underwriter or payor."
485        )
486        private ResourceReferenceDt myIssuer;
487        
488        @Child(name="bin", type=IdentifierDt.class, order=1, min=0, max=1, summary=false, modifier=false)       
489        @Description(
490                shortDefinition="",
491                formalDefinition="Business Identification Number (BIN number) used to identify the routing  of eclaims if the insurer themselves don't have a BIN number for all of their business."
492        )
493        private IdentifierDt myBin;
494        
495        @Child(name="period", type=PeriodDt.class, order=2, min=0, max=1, summary=true, modifier=false) 
496        @Description(
497                shortDefinition="",
498                formalDefinition="Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force."
499        )
500        private PeriodDt myPeriod;
501        
502        @Child(name="type", type=CodingDt.class, order=3, min=0, max=1, summary=true, modifier=false)   
503        @Description(
504                shortDefinition="",
505                formalDefinition="The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health."
506        )
507        private CodingDt myType;
508        
509        @Child(name="subscriberId", type=IdentifierDt.class, order=4, min=0, max=1, summary=true, modifier=false)       
510        @Description(
511                shortDefinition="",
512                formalDefinition="The id issued to the subscriber."
513        )
514        private IdentifierDt mySubscriberId;
515        
516        @Child(name="identifier", type=IdentifierDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false)       
517        @Description(
518                shortDefinition="",
519                formalDefinition="The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Subscriber Id, Certificate number or Personal Health Number or Case ID."
520        )
521        private java.util.List<IdentifierDt> myIdentifier;
522        
523        @Child(name="group", type=StringDt.class, order=6, min=0, max=1, summary=true, modifier=false)  
524        @Description(
525                shortDefinition="",
526                formalDefinition="Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID."
527        )
528        private StringDt myGroup;
529        
530        @Child(name="plan", type=StringDt.class, order=7, min=0, max=1, summary=true, modifier=false)   
531        @Description(
532                shortDefinition="",
533                formalDefinition="Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID."
534        )
535        private StringDt myPlan;
536        
537        @Child(name="subPlan", type=StringDt.class, order=8, min=0, max=1, summary=true, modifier=false)        
538        @Description(
539                shortDefinition="",
540                formalDefinition="Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID."
541        )
542        private StringDt mySubPlan;
543        
544        @Child(name="dependent", type=PositiveIntDt.class, order=9, min=0, max=1, summary=true, modifier=false) 
545        @Description(
546                shortDefinition="",
547                formalDefinition="A unique identifier for a dependent under the coverage."
548        )
549        private PositiveIntDt myDependent;
550        
551        @Child(name="sequence", type=PositiveIntDt.class, order=10, min=0, max=1, summary=true, modifier=false) 
552        @Description(
553                shortDefinition="",
554                formalDefinition="An optional counter for a particular instance of the identified coverage which increments upon each renewal."
555        )
556        private PositiveIntDt mySequence;
557        
558        @Child(name="subscriber", order=11, min=0, max=1, summary=false, modifier=true, type={
559                ca.uhn.fhir.model.dstu2.resource.Patient.class  })
560        @Description(
561                shortDefinition="",
562                formalDefinition="The party who 'owns' the insurance contractual relationship to the policy or to whom the benefit of the policy is due."
563        )
564        private ResourceReferenceDt mySubscriber;
565        
566        @Child(name="network", type=IdentifierDt.class, order=12, min=0, max=1, summary=true, modifier=false)   
567        @Description(
568                shortDefinition="",
569                formalDefinition="The identifier for a community of providers."
570        )
571        private IdentifierDt myNetwork;
572        
573        @Child(name="contract", order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={
574                ca.uhn.fhir.model.dstu2.resource.Contract.class })
575        @Description(
576                shortDefinition="",
577                formalDefinition="The policy(s) which constitute this insurance coverage."
578        )
579        private java.util.List<ResourceReferenceDt> myContract;
580        
581
582        @Override
583        public boolean isEmpty() {
584                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myIssuer,  myBin,  myPeriod,  myType,  mySubscriberId,  myIdentifier,  myGroup,  myPlan,  mySubPlan,  myDependent,  mySequence,  mySubscriber,  myNetwork,  myContract);
585        }
586        
587        @Override
588        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
589                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIssuer, myBin, myPeriod, myType, mySubscriberId, myIdentifier, myGroup, myPlan, mySubPlan, myDependent, mySequence, mySubscriber, myNetwork, myContract);
590        }
591
592        /**
593         * Gets the value(s) for <b>issuer</b> ().
594         * creating it if it does
595         * not exist. Will not return <code>null</code>.
596         *
597     * <p>
598     * <b>Definition:</b>
599     * The program or plan underwriter or payor.
600     * </p> 
601         */
602        public ResourceReferenceDt getIssuer() {  
603                if (myIssuer == null) {
604                        myIssuer = new ResourceReferenceDt();
605                }
606                return myIssuer;
607        }
608
609        /**
610         * Sets the value(s) for <b>issuer</b> ()
611         *
612     * <p>
613     * <b>Definition:</b>
614     * The program or plan underwriter or payor.
615     * </p> 
616         */
617        public Coverage setIssuer(ResourceReferenceDt theValue) {
618                myIssuer = theValue;
619                return this;
620        }
621        
622        
623
624  
625        /**
626         * Gets the value(s) for <b>bin</b> ().
627         * creating it if it does
628         * not exist. Will not return <code>null</code>.
629         *
630     * <p>
631     * <b>Definition:</b>
632     * Business Identification Number (BIN number) used to identify the routing  of eclaims if the insurer themselves don't have a BIN number for all of their business.
633     * </p> 
634         */
635        public IdentifierDt getBin() {  
636                if (myBin == null) {
637                        myBin = new IdentifierDt();
638                }
639                return myBin;
640        }
641
642        /**
643         * Sets the value(s) for <b>bin</b> ()
644         *
645     * <p>
646     * <b>Definition:</b>
647     * Business Identification Number (BIN number) used to identify the routing  of eclaims if the insurer themselves don't have a BIN number for all of their business.
648     * </p> 
649         */
650        public Coverage setBin(IdentifierDt theValue) {
651                myBin = theValue;
652                return this;
653        }
654        
655        
656
657  
658        /**
659         * Gets the value(s) for <b>period</b> ().
660         * creating it if it does
661         * not exist. Will not return <code>null</code>.
662         *
663     * <p>
664     * <b>Definition:</b>
665     * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.
666     * </p> 
667         */
668        public PeriodDt getPeriod() {  
669                if (myPeriod == null) {
670                        myPeriod = new PeriodDt();
671                }
672                return myPeriod;
673        }
674
675        /**
676         * Sets the value(s) for <b>period</b> ()
677         *
678     * <p>
679     * <b>Definition:</b>
680     * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.
681     * </p> 
682         */
683        public Coverage setPeriod(PeriodDt theValue) {
684                myPeriod = theValue;
685                return this;
686        }
687        
688        
689
690  
691        /**
692         * Gets the value(s) for <b>type</b> ().
693         * creating it if it does
694         * not exist. Will not return <code>null</code>.
695         *
696     * <p>
697     * <b>Definition:</b>
698     * The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health.
699     * </p> 
700         */
701        public CodingDt getType() {  
702                if (myType == null) {
703                        myType = new CodingDt();
704                }
705                return myType;
706        }
707
708        /**
709         * Sets the value(s) for <b>type</b> ()
710         *
711     * <p>
712     * <b>Definition:</b>
713     * The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health.
714     * </p> 
715         */
716        public Coverage setType(CodingDt theValue) {
717                myType = theValue;
718                return this;
719        }
720        
721        
722
723  
724        /**
725         * Gets the value(s) for <b>subscriberId</b> ().
726         * creating it if it does
727         * not exist. Will not return <code>null</code>.
728         *
729     * <p>
730     * <b>Definition:</b>
731     * The id issued to the subscriber.
732     * </p> 
733         */
734        public IdentifierDt getSubscriberId() {  
735                if (mySubscriberId == null) {
736                        mySubscriberId = new IdentifierDt();
737                }
738                return mySubscriberId;
739        }
740
741        /**
742         * Sets the value(s) for <b>subscriberId</b> ()
743         *
744     * <p>
745     * <b>Definition:</b>
746     * The id issued to the subscriber.
747     * </p> 
748         */
749        public Coverage setSubscriberId(IdentifierDt theValue) {
750                mySubscriberId = theValue;
751                return this;
752        }
753        
754        
755
756  
757        /**
758         * Gets the value(s) for <b>identifier</b> ().
759         * creating it if it does
760         * not exist. Will not return <code>null</code>.
761         *
762     * <p>
763     * <b>Definition:</b>
764     * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Subscriber Id, Certificate number or Personal Health Number or Case ID.
765     * </p> 
766         */
767        public java.util.List<IdentifierDt> getIdentifier() {  
768                if (myIdentifier == null) {
769                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
770                }
771                return myIdentifier;
772        }
773
774        /**
775         * Sets the value(s) for <b>identifier</b> ()
776         *
777     * <p>
778     * <b>Definition:</b>
779     * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Subscriber Id, Certificate number or Personal Health Number or Case ID.
780     * </p> 
781         */
782        public Coverage setIdentifier(java.util.List<IdentifierDt> theValue) {
783                myIdentifier = theValue;
784                return this;
785        }
786        
787        
788
789        /**
790         * Adds and returns a new value for <b>identifier</b> ()
791         *
792     * <p>
793     * <b>Definition:</b>
794     * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Subscriber Id, Certificate number or Personal Health Number or Case ID.
795     * </p> 
796         */
797        public IdentifierDt addIdentifier() {
798                IdentifierDt newType = new IdentifierDt();
799                getIdentifier().add(newType);
800                return newType; 
801        }
802
803        /**
804         * Adds a given new value for <b>identifier</b> ()
805         *
806         * <p>
807         * <b>Definition:</b>
808         * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Subscriber Id, Certificate number or Personal Health Number or Case ID.
809         * </p>
810         * @param theValue The identifier to add (must not be <code>null</code>)
811         */
812        public Coverage addIdentifier(IdentifierDt theValue) {
813                if (theValue == null) {
814                        throw new NullPointerException("theValue must not be null");
815                }
816                getIdentifier().add(theValue);
817                return this;
818        }
819
820        /**
821         * Gets the first repetition for <b>identifier</b> (),
822         * creating it if it does not already exist.
823         *
824     * <p>
825     * <b>Definition:</b>
826     * The main (and possibly only) identifier for the coverage - often referred to as a Member Id, Subscriber Id, Certificate number or Personal Health Number or Case ID.
827     * </p> 
828         */
829        public IdentifierDt getIdentifierFirstRep() {
830                if (getIdentifier().isEmpty()) {
831                        return addIdentifier();
832                }
833                return getIdentifier().get(0); 
834        }
835  
836        /**
837         * Gets the value(s) for <b>group</b> ().
838         * creating it if it does
839         * not exist. Will not return <code>null</code>.
840         *
841     * <p>
842     * <b>Definition:</b>
843     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
844     * </p> 
845         */
846        public StringDt getGroupElement() {  
847                if (myGroup == null) {
848                        myGroup = new StringDt();
849                }
850                return myGroup;
851        }
852
853        
854        /**
855         * Gets the value(s) for <b>group</b> ().
856         * creating it if it does
857         * not exist. This method may return <code>null</code>.
858         *
859     * <p>
860     * <b>Definition:</b>
861     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
862     * </p> 
863         */
864        public String getGroup() {  
865                return getGroupElement().getValue();
866        }
867
868        /**
869         * Sets the value(s) for <b>group</b> ()
870         *
871     * <p>
872     * <b>Definition:</b>
873     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
874     * </p> 
875         */
876        public Coverage setGroup(StringDt theValue) {
877                myGroup = theValue;
878                return this;
879        }
880        
881        
882
883        /**
884         * Sets the value for <b>group</b> ()
885         *
886     * <p>
887     * <b>Definition:</b>
888     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
889     * </p> 
890         */
891        public Coverage setGroup( String theString) {
892                myGroup = new StringDt(theString); 
893                return this; 
894        }
895
896 
897        /**
898         * Gets the value(s) for <b>plan</b> ().
899         * creating it if it does
900         * not exist. Will not return <code>null</code>.
901         *
902     * <p>
903     * <b>Definition:</b>
904     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
905     * </p> 
906         */
907        public StringDt getPlanElement() {  
908                if (myPlan == null) {
909                        myPlan = new StringDt();
910                }
911                return myPlan;
912        }
913
914        
915        /**
916         * Gets the value(s) for <b>plan</b> ().
917         * creating it if it does
918         * not exist. This method may return <code>null</code>.
919         *
920     * <p>
921     * <b>Definition:</b>
922     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
923     * </p> 
924         */
925        public String getPlan() {  
926                return getPlanElement().getValue();
927        }
928
929        /**
930         * Sets the value(s) for <b>plan</b> ()
931         *
932     * <p>
933     * <b>Definition:</b>
934     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
935     * </p> 
936         */
937        public Coverage setPlan(StringDt theValue) {
938                myPlan = theValue;
939                return this;
940        }
941        
942        
943
944        /**
945         * Sets the value for <b>plan</b> ()
946         *
947     * <p>
948     * <b>Definition:</b>
949     * Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
950     * </p> 
951         */
952        public Coverage setPlan( String theString) {
953                myPlan = new StringDt(theString); 
954                return this; 
955        }
956
957 
958        /**
959         * Gets the value(s) for <b>subPlan</b> ().
960         * creating it if it does
961         * not exist. Will not return <code>null</code>.
962         *
963     * <p>
964     * <b>Definition:</b>
965     * Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID.
966     * </p> 
967         */
968        public StringDt getSubPlanElement() {  
969                if (mySubPlan == null) {
970                        mySubPlan = new StringDt();
971                }
972                return mySubPlan;
973        }
974
975        
976        /**
977         * Gets the value(s) for <b>subPlan</b> ().
978         * creating it if it does
979         * not exist. This method may return <code>null</code>.
980         *
981     * <p>
982     * <b>Definition:</b>
983     * Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID.
984     * </p> 
985         */
986        public String getSubPlan() {  
987                return getSubPlanElement().getValue();
988        }
989
990        /**
991         * Sets the value(s) for <b>subPlan</b> ()
992         *
993     * <p>
994     * <b>Definition:</b>
995     * Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID.
996     * </p> 
997         */
998        public Coverage setSubPlan(StringDt theValue) {
999                mySubPlan = theValue;
1000                return this;
1001        }
1002        
1003        
1004
1005        /**
1006         * Sets the value for <b>subPlan</b> ()
1007         *
1008     * <p>
1009     * <b>Definition:</b>
1010     * Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID.
1011     * </p> 
1012         */
1013        public Coverage setSubPlan( String theString) {
1014                mySubPlan = new StringDt(theString); 
1015                return this; 
1016        }
1017
1018 
1019        /**
1020         * Gets the value(s) for <b>dependent</b> ().
1021         * creating it if it does
1022         * not exist. Will not return <code>null</code>.
1023         *
1024     * <p>
1025     * <b>Definition:</b>
1026     * A unique identifier for a dependent under the coverage.
1027     * </p> 
1028         */
1029        public PositiveIntDt getDependentElement() {  
1030                if (myDependent == null) {
1031                        myDependent = new PositiveIntDt();
1032                }
1033                return myDependent;
1034        }
1035
1036        
1037        /**
1038         * Gets the value(s) for <b>dependent</b> ().
1039         * creating it if it does
1040         * not exist. This method may return <code>null</code>.
1041         *
1042     * <p>
1043     * <b>Definition:</b>
1044     * A unique identifier for a dependent under the coverage.
1045     * </p> 
1046         */
1047        public Integer getDependent() {  
1048                return getDependentElement().getValue();
1049        }
1050
1051        /**
1052         * Sets the value(s) for <b>dependent</b> ()
1053         *
1054     * <p>
1055     * <b>Definition:</b>
1056     * A unique identifier for a dependent under the coverage.
1057     * </p> 
1058         */
1059        public Coverage setDependent(PositiveIntDt theValue) {
1060                myDependent = theValue;
1061                return this;
1062        }
1063        
1064        
1065
1066        /**
1067         * Sets the value for <b>dependent</b> ()
1068         *
1069     * <p>
1070     * <b>Definition:</b>
1071     * A unique identifier for a dependent under the coverage.
1072     * </p> 
1073         */
1074        public Coverage setDependent( int theInteger) {
1075                myDependent = new PositiveIntDt(theInteger); 
1076                return this; 
1077        }
1078
1079 
1080        /**
1081         * Gets the value(s) for <b>sequence</b> ().
1082         * creating it if it does
1083         * not exist. Will not return <code>null</code>.
1084         *
1085     * <p>
1086     * <b>Definition:</b>
1087     * An optional counter for a particular instance of the identified coverage which increments upon each renewal.
1088     * </p> 
1089         */
1090        public PositiveIntDt getSequenceElement() {  
1091                if (mySequence == null) {
1092                        mySequence = new PositiveIntDt();
1093                }
1094                return mySequence;
1095        }
1096
1097        
1098        /**
1099         * Gets the value(s) for <b>sequence</b> ().
1100         * creating it if it does
1101         * not exist. This method may return <code>null</code>.
1102         *
1103     * <p>
1104     * <b>Definition:</b>
1105     * An optional counter for a particular instance of the identified coverage which increments upon each renewal.
1106     * </p> 
1107         */
1108        public Integer getSequence() {  
1109                return getSequenceElement().getValue();
1110        }
1111
1112        /**
1113         * Sets the value(s) for <b>sequence</b> ()
1114         *
1115     * <p>
1116     * <b>Definition:</b>
1117     * An optional counter for a particular instance of the identified coverage which increments upon each renewal.
1118     * </p> 
1119         */
1120        public Coverage setSequence(PositiveIntDt theValue) {
1121                mySequence = theValue;
1122                return this;
1123        }
1124        
1125        
1126
1127        /**
1128         * Sets the value for <b>sequence</b> ()
1129         *
1130     * <p>
1131     * <b>Definition:</b>
1132     * An optional counter for a particular instance of the identified coverage which increments upon each renewal.
1133     * </p> 
1134         */
1135        public Coverage setSequence( int theInteger) {
1136                mySequence = new PositiveIntDt(theInteger); 
1137                return this; 
1138        }
1139
1140 
1141        /**
1142         * Gets the value(s) for <b>subscriber</b> ().
1143         * creating it if it does
1144         * not exist. Will not return <code>null</code>.
1145         *
1146     * <p>
1147     * <b>Definition:</b>
1148     * The party who 'owns' the insurance contractual relationship to the policy or to whom the benefit of the policy is due.
1149     * </p> 
1150         */
1151        public ResourceReferenceDt getSubscriber() {  
1152                if (mySubscriber == null) {
1153                        mySubscriber = new ResourceReferenceDt();
1154                }
1155                return mySubscriber;
1156        }
1157
1158        /**
1159         * Sets the value(s) for <b>subscriber</b> ()
1160         *
1161     * <p>
1162     * <b>Definition:</b>
1163     * The party who 'owns' the insurance contractual relationship to the policy or to whom the benefit of the policy is due.
1164     * </p> 
1165         */
1166        public Coverage setSubscriber(ResourceReferenceDt theValue) {
1167                mySubscriber = theValue;
1168                return this;
1169        }
1170        
1171        
1172
1173  
1174        /**
1175         * Gets the value(s) for <b>network</b> ().
1176         * creating it if it does
1177         * not exist. Will not return <code>null</code>.
1178         *
1179     * <p>
1180     * <b>Definition:</b>
1181     * The identifier for a community of providers.
1182     * </p> 
1183         */
1184        public IdentifierDt getNetwork() {  
1185                if (myNetwork == null) {
1186                        myNetwork = new IdentifierDt();
1187                }
1188                return myNetwork;
1189        }
1190
1191        /**
1192         * Sets the value(s) for <b>network</b> ()
1193         *
1194     * <p>
1195     * <b>Definition:</b>
1196     * The identifier for a community of providers.
1197     * </p> 
1198         */
1199        public Coverage setNetwork(IdentifierDt theValue) {
1200                myNetwork = theValue;
1201                return this;
1202        }
1203        
1204        
1205
1206  
1207        /**
1208         * Gets the value(s) for <b>contract</b> ().
1209         * creating it if it does
1210         * not exist. Will not return <code>null</code>.
1211         *
1212     * <p>
1213     * <b>Definition:</b>
1214     * The policy(s) which constitute this insurance coverage.
1215     * </p> 
1216         */
1217        public java.util.List<ResourceReferenceDt> getContract() {  
1218                if (myContract == null) {
1219                        myContract = new java.util.ArrayList<ResourceReferenceDt>();
1220                }
1221                return myContract;
1222        }
1223
1224        /**
1225         * Sets the value(s) for <b>contract</b> ()
1226         *
1227     * <p>
1228     * <b>Definition:</b>
1229     * The policy(s) which constitute this insurance coverage.
1230     * </p> 
1231         */
1232        public Coverage setContract(java.util.List<ResourceReferenceDt> theValue) {
1233                myContract = theValue;
1234                return this;
1235        }
1236        
1237        
1238
1239        /**
1240         * Adds and returns a new value for <b>contract</b> ()
1241         *
1242     * <p>
1243     * <b>Definition:</b>
1244     * The policy(s) which constitute this insurance coverage.
1245     * </p> 
1246         */
1247        public ResourceReferenceDt addContract() {
1248                ResourceReferenceDt newType = new ResourceReferenceDt();
1249                getContract().add(newType);
1250                return newType; 
1251        }
1252  
1253
1254
1255    @Override
1256    public String getResourceName() {
1257        return "Coverage";
1258    }
1259    
1260    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1261        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1262    }
1263
1264
1265}