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>Subscription</b> Resource
282 * (infrastructure.exchange)
283 *
284 * <p>
285 * <b>Definition:</b>
286 * The subscription resource is used to define a push based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system is able to take an appropriate action.
287 * </p> 
288 *
289 * <p>
290 * <b>Requirements:</b>
291 * 
292 * </p> 
293 *
294 * <p>
295 * <b>Profile Definition:</b>
296 * <a href="http://hl7.org/fhir/profiles/Subscription">http://hl7.org/fhir/profiles/Subscription</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="Subscription", profile="http://hl7.org/fhir/profiles/Subscription", id="subscription")
301public class Subscription extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource 
303    {
304
305        /**
306         * Search parameter constant for <b>status</b>
307         * <p>
308         * Description: <b></b><br>
309         * Type: <b>token</b><br>
310         * Path: <b>Subscription.status</b><br>
311         * </p>
312         */
313        @SearchParamDefinition(name="status", path="Subscription.status", description="", type="token" 
314 )
315        public static final String SP_STATUS = "status";
316
317        /**
318         * <b>Fluent Client</b> search parameter constant for <b>status</b>
319         * <p>
320         * Description: <b></b><br>
321         * Type: <b>token</b><br>
322         * Path: <b>Subscription.status</b><br>
323         * </p>
324         */
325        public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS);
326
327        /**
328         * Search parameter constant for <b>type</b>
329         * <p>
330         * Description: <b></b><br>
331         * Type: <b>token</b><br>
332         * Path: <b>Subscription.channel.type</b><br>
333         * </p>
334         */
335        @SearchParamDefinition(name="type", path="Subscription.channel.type", description="", type="token" 
336 )
337        public static final String SP_TYPE = "type";
338
339        /**
340         * <b>Fluent Client</b> search parameter constant for <b>type</b>
341         * <p>
342         * Description: <b></b><br>
343         * Type: <b>token</b><br>
344         * Path: <b>Subscription.channel.type</b><br>
345         * </p>
346         */
347        public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE);
348
349        /**
350         * Search parameter constant for <b>url</b>
351         * <p>
352         * Description: <b></b><br>
353         * Type: <b>uri</b><br>
354         * Path: <b>Subscription.channel.endpoint</b><br>
355         * </p>
356         */
357        @SearchParamDefinition(name="url", path="Subscription.channel.endpoint", description="", type="uri" 
358 )
359        public static final String SP_URL = "url";
360
361        /**
362         * <b>Fluent Client</b> search parameter constant for <b>url</b>
363         * <p>
364         * Description: <b></b><br>
365         * Type: <b>uri</b><br>
366         * Path: <b>Subscription.channel.endpoint</b><br>
367         * </p>
368         */
369        public static final UriClientParam URL = new UriClientParam(SP_URL);
370
371        /**
372         * Search parameter constant for <b>criteria</b>
373         * <p>
374         * Description: <b></b><br>
375         * Type: <b>string</b><br>
376         * Path: <b>Subscription.criteria</b><br>
377         * </p>
378         */
379        @SearchParamDefinition(name="criteria", path="Subscription.criteria", description="", type="string" 
380 )
381        public static final String SP_CRITERIA = "criteria";
382
383        /**
384         * <b>Fluent Client</b> search parameter constant for <b>criteria</b>
385         * <p>
386         * Description: <b></b><br>
387         * Type: <b>string</b><br>
388         * Path: <b>Subscription.criteria</b><br>
389         * </p>
390         */
391        public static final StringClientParam CRITERIA = new StringClientParam(SP_CRITERIA);
392
393        /**
394         * Search parameter constant for <b>payload</b>
395         * <p>
396         * Description: <b></b><br>
397         * Type: <b>string</b><br>
398         * Path: <b>Subscription.channel.payload</b><br>
399         * </p>
400         */
401        @SearchParamDefinition(name="payload", path="Subscription.channel.payload", description="", type="string" 
402 )
403        public static final String SP_PAYLOAD = "payload";
404
405        /**
406         * <b>Fluent Client</b> search parameter constant for <b>payload</b>
407         * <p>
408         * Description: <b></b><br>
409         * Type: <b>string</b><br>
410         * Path: <b>Subscription.channel.payload</b><br>
411         * </p>
412         */
413        public static final StringClientParam PAYLOAD = new StringClientParam(SP_PAYLOAD);
414
415        /**
416         * Search parameter constant for <b>contact</b>
417         * <p>
418         * Description: <b></b><br>
419         * Type: <b>token</b><br>
420         * Path: <b>Subscription.contact</b><br>
421         * </p>
422         */
423        @SearchParamDefinition(name="contact", path="Subscription.contact", description="", type="token" 
424 )
425        public static final String SP_CONTACT = "contact";
426
427        /**
428         * <b>Fluent Client</b> search parameter constant for <b>contact</b>
429         * <p>
430         * Description: <b></b><br>
431         * Type: <b>token</b><br>
432         * Path: <b>Subscription.contact</b><br>
433         * </p>
434         */
435        public static final TokenClientParam CONTACT = new TokenClientParam(SP_CONTACT);
436
437        /**
438         * Search parameter constant for <b>tag</b>
439         * <p>
440         * Description: <b></b><br>
441         * Type: <b>token</b><br>
442         * Path: <b>Subscription.tag</b><br>
443         * </p>
444         */
445        @SearchParamDefinition(name="tag", path="Subscription.tag", description="", type="token" 
446 )
447        public static final String SP_TAG = "tag";
448
449        /**
450         * <b>Fluent Client</b> search parameter constant for <b>tag</b>
451         * <p>
452         * Description: <b></b><br>
453         * Type: <b>token</b><br>
454         * Path: <b>Subscription.tag</b><br>
455         * </p>
456         */
457        public static final TokenClientParam TAG = new TokenClientParam(SP_TAG);
458
459
460
461        @Child(name="criteria", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false)      
462        @Description(
463                shortDefinition="",
464                formalDefinition="The rules that the server should use to determine when to generate notifications for this subscription"
465        )
466        private StringDt myCriteria;
467        
468        @Child(name="contact", type=ContactPointDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)       
469        @Description(
470                shortDefinition="who.focus",
471                formalDefinition="Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting"
472        )
473        private java.util.List<ContactPointDt> myContact;
474        
475        @Child(name="reason", type=StringDt.class, order=2, min=1, max=1, summary=false, modifier=false)        
476        @Description(
477                shortDefinition="why",
478                formalDefinition="A description of why this subscription is defined"
479        )
480        private StringDt myReason;
481        
482        @Child(name="status", type=CodeDt.class, order=3, min=1, max=1, summary=false, modifier=true)   
483        @Description(
484                shortDefinition="status",
485                formalDefinition="The status of the subscription, which marks the server state for managing the subscription"
486        )
487        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/subscription-status")
488        private BoundCodeDt<SubscriptionStatusEnum> myStatus;
489        
490        @Child(name="error", type=StringDt.class, order=4, min=0, max=1, summary=false, modifier=false) 
491        @Description(
492                shortDefinition="",
493                formalDefinition="A record of the last error that occurred when the server processed a notification"
494        )
495        private StringDt myError;
496        
497        @Child(name="channel", order=5, min=1, max=1, summary=false, modifier=false)    
498        @Description(
499                shortDefinition="",
500                formalDefinition="Details where to send notifications when resources are received that meet the criteria"
501        )
502        private Channel myChannel;
503        
504        @Child(name="end", type=InstantDt.class, order=6, min=0, max=1, summary=false, modifier=false)  
505        @Description(
506                shortDefinition="when.done",
507                formalDefinition="The time for the server to turn the subscription off"
508        )
509        private InstantDt myEnd;
510        
511        @Child(name="tag", type=CodingDt.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 
512        @Description(
513                shortDefinition="",
514                formalDefinition="A tag to add to any resource that matches the criteria, after the subscription is processed"
515        )
516        private java.util.List<CodingDt> myTag;
517        
518
519        @Override
520        public boolean isEmpty() {
521                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myCriteria,  myContact,  myReason,  myStatus,  myError,  myChannel,  myEnd,  myTag);
522        }
523        
524        @Override
525        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
526                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCriteria, myContact, myReason, myStatus, myError, myChannel, myEnd, myTag);
527        }
528
529        /**
530         * Gets the value(s) for <b>criteria</b> ().
531         * creating it if it does
532         * not exist. Will not return <code>null</code>.
533         *
534     * <p>
535     * <b>Definition:</b>
536     * The rules that the server should use to determine when to generate notifications for this subscription
537     * </p> 
538         */
539        public StringDt getCriteriaElement() {  
540                if (myCriteria == null) {
541                        myCriteria = new StringDt();
542                }
543                return myCriteria;
544        }
545
546        
547        /**
548         * Gets the value(s) for <b>criteria</b> ().
549         * creating it if it does
550         * not exist. This method may return <code>null</code>.
551         *
552     * <p>
553     * <b>Definition:</b>
554     * The rules that the server should use to determine when to generate notifications for this subscription
555     * </p> 
556         */
557        public String getCriteria() {  
558                return getCriteriaElement().getValue();
559        }
560
561        /**
562         * Sets the value(s) for <b>criteria</b> ()
563         *
564     * <p>
565     * <b>Definition:</b>
566     * The rules that the server should use to determine when to generate notifications for this subscription
567     * </p> 
568         */
569        public Subscription setCriteria(StringDt theValue) {
570                myCriteria = theValue;
571                return this;
572        }
573        
574        
575
576        /**
577         * Sets the value for <b>criteria</b> ()
578         *
579     * <p>
580     * <b>Definition:</b>
581     * The rules that the server should use to determine when to generate notifications for this subscription
582     * </p> 
583         */
584        public Subscription setCriteria( String theString) {
585                myCriteria = new StringDt(theString); 
586                return this; 
587        }
588
589 
590        /**
591         * Gets the value(s) for <b>contact</b> (who.focus).
592         * creating it if it does
593         * not exist. Will not return <code>null</code>.
594         *
595     * <p>
596     * <b>Definition:</b>
597     * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting
598     * </p> 
599         */
600        public java.util.List<ContactPointDt> getContact() {  
601                if (myContact == null) {
602                        myContact = new java.util.ArrayList<ContactPointDt>();
603                }
604                return myContact;
605        }
606
607        /**
608         * Sets the value(s) for <b>contact</b> (who.focus)
609         *
610     * <p>
611     * <b>Definition:</b>
612     * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting
613     * </p> 
614         */
615        public Subscription setContact(java.util.List<ContactPointDt> theValue) {
616                myContact = theValue;
617                return this;
618        }
619        
620        
621
622        /**
623         * Adds and returns a new value for <b>contact</b> (who.focus)
624         *
625     * <p>
626     * <b>Definition:</b>
627     * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting
628     * </p> 
629         */
630        public ContactPointDt addContact() {
631                ContactPointDt newType = new ContactPointDt();
632                getContact().add(newType);
633                return newType; 
634        }
635
636        /**
637         * Adds a given new value for <b>contact</b> (who.focus)
638         *
639         * <p>
640         * <b>Definition:</b>
641         * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting
642         * </p>
643         * @param theValue The contact to add (must not be <code>null</code>)
644         */
645        public Subscription addContact(ContactPointDt theValue) {
646                if (theValue == null) {
647                        throw new NullPointerException("theValue must not be null");
648                }
649                getContact().add(theValue);
650                return this;
651        }
652
653        /**
654         * Gets the first repetition for <b>contact</b> (who.focus),
655         * creating it if it does not already exist.
656         *
657     * <p>
658     * <b>Definition:</b>
659     * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting
660     * </p> 
661         */
662        public ContactPointDt getContactFirstRep() {
663                if (getContact().isEmpty()) {
664                        return addContact();
665                }
666                return getContact().get(0); 
667        }
668  
669        /**
670         * Gets the value(s) for <b>reason</b> (why).
671         * creating it if it does
672         * not exist. Will not return <code>null</code>.
673         *
674     * <p>
675     * <b>Definition:</b>
676     * A description of why this subscription is defined
677     * </p> 
678         */
679        public StringDt getReasonElement() {  
680                if (myReason == null) {
681                        myReason = new StringDt();
682                }
683                return myReason;
684        }
685
686        
687        /**
688         * Gets the value(s) for <b>reason</b> (why).
689         * creating it if it does
690         * not exist. This method may return <code>null</code>.
691         *
692     * <p>
693     * <b>Definition:</b>
694     * A description of why this subscription is defined
695     * </p> 
696         */
697        public String getReason() {  
698                return getReasonElement().getValue();
699        }
700
701        /**
702         * Sets the value(s) for <b>reason</b> (why)
703         *
704     * <p>
705     * <b>Definition:</b>
706     * A description of why this subscription is defined
707     * </p> 
708         */
709        public Subscription setReason(StringDt theValue) {
710                myReason = theValue;
711                return this;
712        }
713        
714        
715
716        /**
717         * Sets the value for <b>reason</b> (why)
718         *
719     * <p>
720     * <b>Definition:</b>
721     * A description of why this subscription is defined
722     * </p> 
723         */
724        public Subscription setReason( String theString) {
725                myReason = new StringDt(theString); 
726                return this; 
727        }
728
729 
730        /**
731         * Gets the value(s) for <b>status</b> (status).
732         * creating it if it does
733         * not exist. Will not return <code>null</code>.
734         *
735     * <p>
736     * <b>Definition:</b>
737     * The status of the subscription, which marks the server state for managing the subscription
738     * </p> 
739         */
740        public BoundCodeDt<SubscriptionStatusEnum> getStatusElement() {  
741                if (myStatus == null) {
742                        myStatus = new BoundCodeDt<SubscriptionStatusEnum>(SubscriptionStatusEnum.VALUESET_BINDER);
743                }
744                return myStatus;
745        }
746
747        
748        /**
749         * Gets the value(s) for <b>status</b> (status).
750         * creating it if it does
751         * not exist. This method may return <code>null</code>.
752         *
753     * <p>
754     * <b>Definition:</b>
755     * The status of the subscription, which marks the server state for managing the subscription
756     * </p> 
757         */
758        public String getStatus() {  
759                return getStatusElement().getValue();
760        }
761
762        /**
763         * Sets the value(s) for <b>status</b> (status)
764         *
765     * <p>
766     * <b>Definition:</b>
767     * The status of the subscription, which marks the server state for managing the subscription
768     * </p> 
769         */
770        public Subscription setStatus(BoundCodeDt<SubscriptionStatusEnum> theValue) {
771                myStatus = theValue;
772                return this;
773        }
774        
775        
776
777        /**
778         * Sets the value(s) for <b>status</b> (status)
779         *
780     * <p>
781     * <b>Definition:</b>
782     * The status of the subscription, which marks the server state for managing the subscription
783     * </p> 
784         */
785        public Subscription setStatus(SubscriptionStatusEnum theValue) {
786                setStatus(new BoundCodeDt<SubscriptionStatusEnum>(SubscriptionStatusEnum.VALUESET_BINDER, theValue));
787                
788/*
789                getStatusElement().setValueAsEnum(theValue);
790*/
791                return this;
792        }
793
794  
795        /**
796         * Gets the value(s) for <b>error</b> ().
797         * creating it if it does
798         * not exist. Will not return <code>null</code>.
799         *
800     * <p>
801     * <b>Definition:</b>
802     * A record of the last error that occurred when the server processed a notification
803     * </p> 
804         */
805        public StringDt getErrorElement() {  
806                if (myError == null) {
807                        myError = new StringDt();
808                }
809                return myError;
810        }
811
812        
813        /**
814         * Gets the value(s) for <b>error</b> ().
815         * creating it if it does
816         * not exist. This method may return <code>null</code>.
817         *
818     * <p>
819     * <b>Definition:</b>
820     * A record of the last error that occurred when the server processed a notification
821     * </p> 
822         */
823        public String getError() {  
824                return getErrorElement().getValue();
825        }
826
827        /**
828         * Sets the value(s) for <b>error</b> ()
829         *
830     * <p>
831     * <b>Definition:</b>
832     * A record of the last error that occurred when the server processed a notification
833     * </p> 
834         */
835        public Subscription setError(StringDt theValue) {
836                myError = theValue;
837                return this;
838        }
839        
840        
841
842        /**
843         * Sets the value for <b>error</b> ()
844         *
845     * <p>
846     * <b>Definition:</b>
847     * A record of the last error that occurred when the server processed a notification
848     * </p> 
849         */
850        public Subscription setError( String theString) {
851                myError = new StringDt(theString); 
852                return this; 
853        }
854
855 
856        /**
857         * Gets the value(s) for <b>channel</b> ().
858         * creating it if it does
859         * not exist. Will not return <code>null</code>.
860         *
861     * <p>
862     * <b>Definition:</b>
863     * Details where to send notifications when resources are received that meet the criteria
864     * </p> 
865         */
866        public Channel getChannel() {  
867                if (myChannel == null) {
868                        myChannel = new Channel();
869                }
870                return myChannel;
871        }
872
873        /**
874         * Sets the value(s) for <b>channel</b> ()
875         *
876     * <p>
877     * <b>Definition:</b>
878     * Details where to send notifications when resources are received that meet the criteria
879     * </p> 
880         */
881        public Subscription setChannel(Channel theValue) {
882                myChannel = theValue;
883                return this;
884        }
885        
886        
887
888  
889        /**
890         * Gets the value(s) for <b>end</b> (when.done).
891         * creating it if it does
892         * not exist. Will not return <code>null</code>.
893         *
894     * <p>
895     * <b>Definition:</b>
896     * The time for the server to turn the subscription off
897     * </p> 
898         */
899        public InstantDt getEndElement() {  
900                if (myEnd == null) {
901                        myEnd = new InstantDt();
902                }
903                return myEnd;
904        }
905
906        
907        /**
908         * Gets the value(s) for <b>end</b> (when.done).
909         * creating it if it does
910         * not exist. This method may return <code>null</code>.
911         *
912     * <p>
913     * <b>Definition:</b>
914     * The time for the server to turn the subscription off
915     * </p> 
916         */
917        public Date getEnd() {  
918                return getEndElement().getValue();
919        }
920
921        /**
922         * Sets the value(s) for <b>end</b> (when.done)
923         *
924     * <p>
925     * <b>Definition:</b>
926     * The time for the server to turn the subscription off
927     * </p> 
928         */
929        public Subscription setEnd(InstantDt theValue) {
930                myEnd = theValue;
931                return this;
932        }
933        
934        
935
936        /**
937         * Sets the value for <b>end</b> (when.done)
938         *
939     * <p>
940     * <b>Definition:</b>
941     * The time for the server to turn the subscription off
942     * </p> 
943         */
944        public Subscription setEndWithMillisPrecision( Date theDate) {
945                myEnd = new InstantDt(theDate); 
946                return this; 
947        }
948
949        /**
950         * Sets the value for <b>end</b> (when.done)
951         *
952     * <p>
953     * <b>Definition:</b>
954     * The time for the server to turn the subscription off
955     * </p> 
956         */
957        public Subscription setEnd( Date theDate,  TemporalPrecisionEnum thePrecision) {
958                myEnd = new InstantDt(theDate, thePrecision); 
959                return this; 
960        }
961
962 
963        /**
964         * Gets the value(s) for <b>tag</b> ().
965         * creating it if it does
966         * not exist. Will not return <code>null</code>.
967         *
968     * <p>
969     * <b>Definition:</b>
970     * A tag to add to any resource that matches the criteria, after the subscription is processed
971     * </p> 
972         */
973        public java.util.List<CodingDt> getTag() {  
974                if (myTag == null) {
975                        myTag = new java.util.ArrayList<CodingDt>();
976                }
977                return myTag;
978        }
979
980        /**
981         * Sets the value(s) for <b>tag</b> ()
982         *
983     * <p>
984     * <b>Definition:</b>
985     * A tag to add to any resource that matches the criteria, after the subscription is processed
986     * </p> 
987         */
988        public Subscription setTag(java.util.List<CodingDt> theValue) {
989                myTag = theValue;
990                return this;
991        }
992        
993        
994
995        /**
996         * Adds and returns a new value for <b>tag</b> ()
997         *
998     * <p>
999     * <b>Definition:</b>
1000     * A tag to add to any resource that matches the criteria, after the subscription is processed
1001     * </p> 
1002         */
1003        public CodingDt addTag() {
1004                CodingDt newType = new CodingDt();
1005                getTag().add(newType);
1006                return newType; 
1007        }
1008
1009        /**
1010         * Adds a given new value for <b>tag</b> ()
1011         *
1012         * <p>
1013         * <b>Definition:</b>
1014         * A tag to add to any resource that matches the criteria, after the subscription is processed
1015         * </p>
1016         * @param theValue The tag to add (must not be <code>null</code>)
1017         */
1018        public Subscription addTag(CodingDt theValue) {
1019                if (theValue == null) {
1020                        throw new NullPointerException("theValue must not be null");
1021                }
1022                getTag().add(theValue);
1023                return this;
1024        }
1025
1026        /**
1027         * Gets the first repetition for <b>tag</b> (),
1028         * creating it if it does not already exist.
1029         *
1030     * <p>
1031     * <b>Definition:</b>
1032     * A tag to add to any resource that matches the criteria, after the subscription is processed
1033     * </p> 
1034         */
1035        public CodingDt getTagFirstRep() {
1036                if (getTag().isEmpty()) {
1037                        return addTag();
1038                }
1039                return getTag().get(0); 
1040        }
1041  
1042        /**
1043         * Block class for child element: <b>Subscription.channel</b> ()
1044         *
1045     * <p>
1046     * <b>Definition:</b>
1047     * Details where to send notifications when resources are received that meet the criteria
1048     * </p> 
1049         */
1050        @Block()        
1051        public static class Channel 
1052            extends  BaseIdentifiableElement  
1053            implements IResourceBlock {
1054        
1055        @Child(name="type", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false)    
1056        @Description(
1057                shortDefinition="",
1058                formalDefinition="The type of channel to send notifications on"
1059        )
1060        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/subscription-channel-type")
1061        private BoundCodeDt<SubscriptionChannelTypeEnum> myType;
1062        
1063        @Child(name="endpoint", type=UriDt.class, order=1, min=0, max=1, summary=false, modifier=false) 
1064        @Description(
1065                shortDefinition="",
1066                formalDefinition="The uri that describes the actual end-point to send messages to"
1067        )
1068        private UriDt myEndpoint;
1069        
1070        @Child(name="payload", type=StringDt.class, order=2, min=1, max=1, summary=false, modifier=false)       
1071        @Description(
1072                shortDefinition="",
1073                formalDefinition="The mime type to send the payload in - either application/xml+fhir, or application/json+fhir. If the mime type is blank, then there is no payload in the notification, just a notification"
1074        )
1075        private StringDt myPayload;
1076        
1077        @Child(name="header", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false)        
1078        @Description(
1079                shortDefinition="",
1080                formalDefinition="Additional headers / information to send as part of the notification"
1081        )
1082        private StringDt myHeader;
1083        
1084
1085        @Override
1086        public boolean isEmpty() {
1087                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myType,  myEndpoint,  myPayload,  myHeader);
1088        }
1089        
1090        @Override
1091        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1092                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myEndpoint, myPayload, myHeader);
1093        }
1094
1095        /**
1096         * Gets the value(s) for <b>type</b> ().
1097         * creating it if it does
1098         * not exist. Will not return <code>null</code>.
1099         *
1100     * <p>
1101     * <b>Definition:</b>
1102     * The type of channel to send notifications on
1103     * </p> 
1104         */
1105        public BoundCodeDt<SubscriptionChannelTypeEnum> getTypeElement() {  
1106                if (myType == null) {
1107                        myType = new BoundCodeDt<SubscriptionChannelTypeEnum>(SubscriptionChannelTypeEnum.VALUESET_BINDER);
1108                }
1109                return myType;
1110        }
1111
1112        
1113        /**
1114         * Gets the value(s) for <b>type</b> ().
1115         * creating it if it does
1116         * not exist. This method may return <code>null</code>.
1117         *
1118     * <p>
1119     * <b>Definition:</b>
1120     * The type of channel to send notifications on
1121     * </p> 
1122         */
1123        public String getType() {  
1124                return getTypeElement().getValue();
1125        }
1126
1127        /**
1128         * Sets the value(s) for <b>type</b> ()
1129         *
1130     * <p>
1131     * <b>Definition:</b>
1132     * The type of channel to send notifications on
1133     * </p> 
1134         */
1135        public Channel setType(BoundCodeDt<SubscriptionChannelTypeEnum> theValue) {
1136                myType = theValue;
1137                return this;
1138        }
1139        
1140        
1141
1142        /**
1143         * Sets the value(s) for <b>type</b> ()
1144         *
1145     * <p>
1146     * <b>Definition:</b>
1147     * The type of channel to send notifications on
1148     * </p> 
1149         */
1150        public Channel setType(SubscriptionChannelTypeEnum theValue) {
1151                setType(new BoundCodeDt<SubscriptionChannelTypeEnum>(SubscriptionChannelTypeEnum.VALUESET_BINDER, theValue));
1152                
1153/*
1154                getTypeElement().setValueAsEnum(theValue);
1155*/
1156                return this;
1157        }
1158
1159  
1160        /**
1161         * Gets the value(s) for <b>endpoint</b> ().
1162         * creating it if it does
1163         * not exist. Will not return <code>null</code>.
1164         *
1165     * <p>
1166     * <b>Definition:</b>
1167     * The uri that describes the actual end-point to send messages to
1168     * </p> 
1169         */
1170        public UriDt getEndpointElement() {  
1171                if (myEndpoint == null) {
1172                        myEndpoint = new UriDt();
1173                }
1174                return myEndpoint;
1175        }
1176
1177        
1178        /**
1179         * Gets the value(s) for <b>endpoint</b> ().
1180         * creating it if it does
1181         * not exist. This method may return <code>null</code>.
1182         *
1183     * <p>
1184     * <b>Definition:</b>
1185     * The uri that describes the actual end-point to send messages to
1186     * </p> 
1187         */
1188        public String getEndpoint() {  
1189                return getEndpointElement().getValue();
1190        }
1191
1192        /**
1193         * Sets the value(s) for <b>endpoint</b> ()
1194         *
1195     * <p>
1196     * <b>Definition:</b>
1197     * The uri that describes the actual end-point to send messages to
1198     * </p> 
1199         */
1200        public Channel setEndpoint(UriDt theValue) {
1201                myEndpoint = theValue;
1202                return this;
1203        }
1204        
1205        
1206
1207        /**
1208         * Sets the value for <b>endpoint</b> ()
1209         *
1210     * <p>
1211     * <b>Definition:</b>
1212     * The uri that describes the actual end-point to send messages to
1213     * </p> 
1214         */
1215        public Channel setEndpoint( String theUri) {
1216                myEndpoint = new UriDt(theUri); 
1217                return this; 
1218        }
1219
1220 
1221        /**
1222         * Gets the value(s) for <b>payload</b> ().
1223         * creating it if it does
1224         * not exist. Will not return <code>null</code>.
1225         *
1226     * <p>
1227     * <b>Definition:</b>
1228     * The mime type to send the payload in - either application/xml+fhir, or application/json+fhir. If the mime type is blank, then there is no payload in the notification, just a notification
1229     * </p> 
1230         */
1231        public StringDt getPayloadElement() {  
1232                if (myPayload == null) {
1233                        myPayload = new StringDt();
1234                }
1235                return myPayload;
1236        }
1237
1238        
1239        /**
1240         * Gets the value(s) for <b>payload</b> ().
1241         * creating it if it does
1242         * not exist. This method may return <code>null</code>.
1243         *
1244     * <p>
1245     * <b>Definition:</b>
1246     * The mime type to send the payload in - either application/xml+fhir, or application/json+fhir. If the mime type is blank, then there is no payload in the notification, just a notification
1247     * </p> 
1248         */
1249        public String getPayload() {  
1250                return getPayloadElement().getValue();
1251        }
1252
1253        /**
1254         * Sets the value(s) for <b>payload</b> ()
1255         *
1256     * <p>
1257     * <b>Definition:</b>
1258     * The mime type to send the payload in - either application/xml+fhir, or application/json+fhir. If the mime type is blank, then there is no payload in the notification, just a notification
1259     * </p> 
1260         */
1261        public Channel setPayload(StringDt theValue) {
1262                myPayload = theValue;
1263                return this;
1264        }
1265        
1266        
1267
1268        /**
1269         * Sets the value for <b>payload</b> ()
1270         *
1271     * <p>
1272     * <b>Definition:</b>
1273     * The mime type to send the payload in - either application/xml+fhir, or application/json+fhir. If the mime type is blank, then there is no payload in the notification, just a notification
1274     * </p> 
1275         */
1276        public Channel setPayload( String theString) {
1277                myPayload = new StringDt(theString); 
1278                return this; 
1279        }
1280
1281 
1282        /**
1283         * Gets the value(s) for <b>header</b> ().
1284         * creating it if it does
1285         * not exist. Will not return <code>null</code>.
1286         *
1287     * <p>
1288     * <b>Definition:</b>
1289     * Additional headers / information to send as part of the notification
1290     * </p> 
1291         */
1292        public StringDt getHeaderElement() {  
1293                if (myHeader == null) {
1294                        myHeader = new StringDt();
1295                }
1296                return myHeader;
1297        }
1298
1299        
1300        /**
1301         * Gets the value(s) for <b>header</b> ().
1302         * creating it if it does
1303         * not exist. This method may return <code>null</code>.
1304         *
1305     * <p>
1306     * <b>Definition:</b>
1307     * Additional headers / information to send as part of the notification
1308     * </p> 
1309         */
1310        public String getHeader() {  
1311                return getHeaderElement().getValue();
1312        }
1313
1314        /**
1315         * Sets the value(s) for <b>header</b> ()
1316         *
1317     * <p>
1318     * <b>Definition:</b>
1319     * Additional headers / information to send as part of the notification
1320     * </p> 
1321         */
1322        public Channel setHeader(StringDt theValue) {
1323                myHeader = theValue;
1324                return this;
1325        }
1326        
1327        
1328
1329        /**
1330         * Sets the value for <b>header</b> ()
1331         *
1332     * <p>
1333     * <b>Definition:</b>
1334     * Additional headers / information to send as part of the notification
1335     * </p> 
1336         */
1337        public Channel setHeader( String theString) {
1338                myHeader = new StringDt(theString); 
1339                return this; 
1340        }
1341
1342 
1343
1344
1345        }
1346
1347
1348
1349
1350    @Override
1351    public String getResourceName() {
1352        return "Subscription";
1353    }
1354    
1355    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1356        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1357    }
1358
1359
1360}