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 ClinicalImpressionResourceProvider extends
21 JpaResourceProviderDstu2<ClinicalImpression>
22 {
23
24 @Override
25 public Class<ClinicalImpression> getResourceType() {
26 return ClinicalImpression.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="action", targetTypes={ } )
71 ReferenceAndListParam theAction,
72
73 @Description(shortDefinition="")
74 @OptionalParam(name="assessor", targetTypes={ } )
75 ReferenceAndListParam theAssessor,
76
77 @Description(shortDefinition="")
78 @OptionalParam(name="date")
79 DateRangeParam theDate,
80
81 @Description(shortDefinition="")
82 @OptionalParam(name="finding")
83 TokenAndListParam theFinding,
84
85 @Description(shortDefinition="")
86 @OptionalParam(name="investigation", targetTypes={ } )
87 ReferenceAndListParam theInvestigation,
88
89 @Description(shortDefinition="")
90 @OptionalParam(name="patient", targetTypes={ } )
91 ReferenceAndListParam thePatient,
92
93 @Description(shortDefinition="")
94 @OptionalParam(name="plan", targetTypes={ } )
95 ReferenceAndListParam thePlan,
96
97 @Description(shortDefinition="")
98 @OptionalParam(name="previous", targetTypes={ } )
99 ReferenceAndListParam thePrevious,
100
101 @Description(shortDefinition="")
102 @OptionalParam(name="problem", targetTypes={ } )
103 ReferenceAndListParam theProblem,
104
105 @Description(shortDefinition="")
106 @OptionalParam(name="resolved")
107 TokenAndListParam theResolved,
108
109 @Description(shortDefinition="")
110 @OptionalParam(name="ruledout")
111 TokenAndListParam theRuledout,
112
113 @Description(shortDefinition="")
114 @OptionalParam(name="status")
115 TokenAndListParam theStatus,
116
117 @Description(shortDefinition="")
118 @OptionalParam(name="trigger", targetTypes={ } )
119 ReferenceAndListParam theTrigger,
120
121 @Description(shortDefinition="")
122 @OptionalParam(name="trigger-code")
123 TokenAndListParam theTrigger_code,
124
125 @RawParam
126 Map<String, List<String>> theAdditionalRawParams,
127
128 @IncludeParam(reverse=true)
129 Set<Include> theRevIncludes,
130 @Description(shortDefinition="Only return resources which were last updated as specified by the given range")
131 @OptionalParam(name="_lastUpdated")
132 DateRangeParam theLastUpdated,
133
134 @IncludeParam(allow= {
135 "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "ClinicalImpression:action" , "ClinicalImpression:assessor" , "ClinicalImpression:investigation" , "ClinicalImpression:patient" , "ClinicalImpression:plan" , "ClinicalImpression:previous" , "ClinicalImpression:problem" , "ClinicalImpression:trigger" , "*"
136 })
137 Set<Include> theIncludes,
138
139 @Sort
140 SortSpec theSort,
141
142 @ca.uhn.fhir.rest.annotation.Count
143 Integer theCount,
144
145 SummaryEnum theSummaryMode,
146
147 SearchTotalModeEnum theSearchTotalMode
148
149 ) {
150 startRequest(theServletRequest);
151 try {
152 SearchParameterMap paramMap = new SearchParameterMap();
153 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_CONTENT, theFtContent);
154 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_TEXT, theFtText);
155 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_TAG, theSearchForTag);
156 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_SECURITY, theSearchForSecurity);
157 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_PROFILE, theSearchForProfile);
158 paramMap.add("_has", theHas);
159 paramMap.add("_id", the_id);
160 paramMap.add("_language", the_language);
161 paramMap.add("action", theAction);
162 paramMap.add("assessor", theAssessor);
163 paramMap.add("date", theDate);
164 paramMap.add("finding", theFinding);
165 paramMap.add("investigation", theInvestigation);
166 paramMap.add("patient", thePatient);
167 paramMap.add("plan", thePlan);
168 paramMap.add("previous", thePrevious);
169 paramMap.add("problem", theProblem);
170 paramMap.add("resolved", theResolved);
171 paramMap.add("ruledout", theRuledout);
172 paramMap.add("status", theStatus);
173 paramMap.add("trigger", theTrigger);
174 paramMap.add("trigger-code", theTrigger_code);
175 paramMap.setRevIncludes(theRevIncludes);
176 paramMap.setLastUpdated(theLastUpdated);
177 paramMap.setIncludes(theIncludes);
178 paramMap.setSort(theSort);
179 paramMap.setCount(theCount);
180 paramMap.setSummaryMode(theSummaryMode);
181 paramMap.setSearchTotalMode(theSearchTotalMode);
182
183 getDao().translateRawParameters(theAdditionalRawParams, paramMap);
184
185 ca.uhn.fhir.rest.api.server.IBundleProvider retVal = getDao().search(paramMap, theRequestDetails, theServletResponse);
186 return retVal;
187 } finally {
188 endRequest(theServletRequest);
189 }
190 }
191
192 }