1
2 package ca.uhn.fhir.jpa.rp.dstu2;
3
4 import java.util.*;
5
6 import org.apache.commons.lang3.StringUtils;
7
8 import ca.uhn.fhir.jpa.provider.*;
9 import ca.uhn.fhir.jpa.searchparam.SearchParameterMap;
10 import ca.uhn.fhir.model.api.Include;
11 import ca.uhn.fhir.model.api.annotation.*;
12 import ca.uhn.fhir.model.dstu2.composite.*;
13 import ca.uhn.fhir.model.dstu2.resource.*;
14 import ca.uhn.fhir.rest.annotation.*;
15 import ca.uhn.fhir.rest.param.*;
16 import ca.uhn.fhir.rest.api.SortSpec;
17 import ca.uhn.fhir.rest.api.SummaryEnum;
18 import ca.uhn.fhir.rest.api.SearchTotalModeEnum;
19
20 public class ImmunizationRecommendationResourceProvider extends
21 JpaResourceProviderDstu2<ImmunizationRecommendation>
22 {
23
24 @Override
25 public Class<ImmunizationRecommendation> getResourceType() {
26 return ImmunizationRecommendation.class;
27 }
28
29 @Search(allowUnknownParams=true)
30 public ca.uhn.fhir.rest.api.server.IBundleProvider search(
31 javax.servlet.http.HttpServletRequest theServletRequest,
32 javax.servlet.http.HttpServletResponse theServletResponse,
33
34 ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails,
35
36 @Description(shortDefinition="Search the contents of the resource's data using a fulltext search")
37 @OptionalParam(name=ca.uhn.fhir.rest.api.Constants.PARAM_CONTENT)
38 StringAndListParam theFtContent,
39
40 @Description(shortDefinition="Search the contents of the resource's narrative using a fulltext search")
41 @OptionalParam(name=ca.uhn.fhir.rest.api.Constants.PARAM_TEXT)
42 StringAndListParam theFtText,
43
44 @Description(shortDefinition="Search for resources which have the given tag")
45 @OptionalParam(name=ca.uhn.fhir.rest.api.Constants.PARAM_TAG)
46 TokenAndListParam theSearchForTag,
47
48 @Description(shortDefinition="Search for resources which have the given security labels")
49 @OptionalParam(name=ca.uhn.fhir.rest.api.Constants.PARAM_SECURITY)
50 TokenAndListParam theSearchForSecurity,
51
52 @Description(shortDefinition="Search for resources which have the given profile")
53 @OptionalParam(name=ca.uhn.fhir.rest.api.Constants.PARAM_PROFILE)
54 UriAndListParam theSearchForProfile,
55
56 @Description(shortDefinition="Return resources linked to by the given target")
57 @OptionalParam(name="_has")
58 HasAndListParam theHas,
59
60
61 @Description(shortDefinition="The ID of the resource")
62 @OptionalParam(name="_id")
63 StringAndListParam the_id,
64
65 @Description(shortDefinition="The language of the resource")
66 @OptionalParam(name="_language")
67 StringAndListParam the_language,
68
69 @Description(shortDefinition="")
70 @OptionalParam(name="date")
71 DateRangeParam theDate,
72
73 @Description(shortDefinition="")
74 @OptionalParam(name="dose-number")
75 NumberAndListParam theDose_number,
76
77 @Description(shortDefinition="")
78 @OptionalParam(name="dose-sequence")
79 NumberAndListParam theDose_sequence,
80
81 @Description(shortDefinition="")
82 @OptionalParam(name="identifier")
83 TokenAndListParam theIdentifier,
84
85 @Description(shortDefinition="")
86 @OptionalParam(name="information", targetTypes={ } )
87 ReferenceAndListParam theInformation,
88
89 @Description(shortDefinition="")
90 @OptionalParam(name="patient", targetTypes={ } )
91 ReferenceAndListParam thePatient,
92
93 @Description(shortDefinition="")
94 @OptionalParam(name="status")
95 TokenAndListParam theStatus,
96
97 @Description(shortDefinition="")
98 @OptionalParam(name="support", targetTypes={ } )
99 ReferenceAndListParam theSupport,
100
101 @Description(shortDefinition="")
102 @OptionalParam(name="vaccine-type")
103 TokenAndListParam theVaccine_type,
104
105 @RawParam
106 Map<String, List<String>> theAdditionalRawParams,
107
108 @IncludeParam(reverse=true)
109 Set<Include> theRevIncludes,
110 @Description(shortDefinition="Only return resources which were last updated as specified by the given range")
111 @OptionalParam(name="_lastUpdated")
112 DateRangeParam theLastUpdated,
113
114 @IncludeParam(allow= {
115 "ImmunizationRecommendation:information" , "ImmunizationRecommendation:patient" , "ImmunizationRecommendation:support" , "ImmunizationRecommendation:information" , "ImmunizationRecommendation:patient" , "ImmunizationRecommendation:support" , "ImmunizationRecommendation:information" , "ImmunizationRecommendation:patient" , "ImmunizationRecommendation:support" , "*"
116 })
117 Set<Include> theIncludes,
118
119 @Sort
120 SortSpec theSort,
121
122 @ca.uhn.fhir.rest.annotation.Count
123 Integer theCount,
124
125 SummaryEnum theSummaryMode,
126
127 SearchTotalModeEnum theSearchTotalMode
128
129 ) {
130 startRequest(theServletRequest);
131 try {
132 SearchParameterMap paramMap = new SearchParameterMap();
133 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_CONTENT, theFtContent);
134 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_TEXT, theFtText);
135 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_TAG, theSearchForTag);
136 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_SECURITY, theSearchForSecurity);
137 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_PROFILE, theSearchForProfile);
138 paramMap.add("_has", theHas);
139 paramMap.add("_id", the_id);
140 paramMap.add("_language", the_language);
141 paramMap.add("date", theDate);
142 paramMap.add("dose-number", theDose_number);
143 paramMap.add("dose-sequence", theDose_sequence);
144 paramMap.add("identifier", theIdentifier);
145 paramMap.add("information", theInformation);
146 paramMap.add("patient", thePatient);
147 paramMap.add("status", theStatus);
148 paramMap.add("support", theSupport);
149 paramMap.add("vaccine-type", theVaccine_type);
150 paramMap.setRevIncludes(theRevIncludes);
151 paramMap.setLastUpdated(theLastUpdated);
152 paramMap.setIncludes(theIncludes);
153 paramMap.setSort(theSort);
154 paramMap.setCount(theCount);
155 paramMap.setSummaryMode(theSummaryMode);
156 paramMap.setSearchTotalMode(theSearchTotalMode);
157
158 getDao().translateRawParameters(theAdditionalRawParams, paramMap);
159
160 ca.uhn.fhir.rest.api.server.IBundleProvider retVal = getDao().search(paramMap, theRequestDetails, theServletResponse);
161 return retVal;
162 } finally {
163 endRequest(theServletRequest);
164 }
165 }
166
167 }