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