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 EligibilityRequestResourceProvider extends
21 JpaResourceProviderDstu2<EligibilityRequest>
22 {
23
24 @Override
25 public Class<EligibilityRequest> getResourceType() {
26 return EligibilityRequest.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="The business identifier of the Eligibility")
70 @OptionalParam(name="identifier")
71 TokenAndListParam theIdentifier,
72
73 @RawParam
74 Map<String, List<String>> theAdditionalRawParams,
75
76 @IncludeParam(reverse=true)
77 Set<Include> theRevIncludes,
78 @Description(shortDefinition="Only return resources which were last updated as specified by the given range")
79 @OptionalParam(name="_lastUpdated")
80 DateRangeParam theLastUpdated,
81
82 @IncludeParam(allow= {
83 "*"
84 })
85 Set<Include> theIncludes,
86
87 @Sort
88 SortSpec theSort,
89
90 @ca.uhn.fhir.rest.annotation.Count
91 Integer theCount,
92
93 SummaryEnum theSummaryMode,
94
95 SearchTotalModeEnum theSearchTotalMode
96
97 ) {
98 startRequest(theServletRequest);
99 try {
100 SearchParameterMap paramMap = new SearchParameterMap();
101 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_CONTENT, theFtContent);
102 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_TEXT, theFtText);
103 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_TAG, theSearchForTag);
104 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_SECURITY, theSearchForSecurity);
105 paramMap.add(ca.uhn.fhir.rest.api.Constants.PARAM_PROFILE, theSearchForProfile);
106 paramMap.add("_has", theHas);
107 paramMap.add("_id", the_id);
108 paramMap.add("_language", the_language);
109 paramMap.add("identifier", theIdentifier);
110 paramMap.setRevIncludes(theRevIncludes);
111 paramMap.setLastUpdated(theLastUpdated);
112 paramMap.setIncludes(theIncludes);
113 paramMap.setSort(theSort);
114 paramMap.setCount(theCount);
115 paramMap.setSummaryMode(theSummaryMode);
116 paramMap.setSearchTotalMode(theSearchTotalMode);
117
118 getDao().translateRawParameters(theAdditionalRawParams, paramMap);
119
120 ca.uhn.fhir.rest.api.server.IBundleProvider retVal = getDao().search(paramMap, theRequestDetails, theServletResponse);
121 return retVal;
122 } finally {
123 endRequest(theServletRequest);
124 }
125 }
126
127 }