9
9
*/
10
10
package org .openmrs .module .webservices .rest .web .v1_0 .search .openmrs2_0 ;
11
11
12
- import java .util .Arrays ;
13
- import java .util .Collections ;
14
- import java .util .Date ;
15
- import java .util .List ;
12
+ import java .util .*;
16
13
17
14
import org .openmrs .Encounter ;
18
15
import org .openmrs .EncounterType ;
19
16
import org .openmrs .Patient ;
17
+ import org .openmrs .Visit ;
20
18
import org .openmrs .api .context .Context ;
21
19
import org .openmrs .module .webservices .rest .web .ConversionUtil ;
22
20
import org .openmrs .module .webservices .rest .web .RequestContext ;
31
29
import org .openmrs .module .webservices .rest .web .response .ResponseException ;
32
30
import org .openmrs .module .webservices .rest .web .v1_0 .resource .openmrs1_8 .EncounterTypeResource1_8 ;
33
31
import org .openmrs .module .webservices .rest .web .v1_0 .resource .openmrs1_8 .PatientResource1_8 ;
32
+ import org .openmrs .module .webservices .rest .web .v1_0 .resource .openmrs1_9 .VisitResource1_9 ;
34
33
import org .openmrs .parameter .EncounterSearchCriteria ;
35
34
import org .openmrs .parameter .EncounterSearchCriteriaBuilder ;
36
35
import org .springframework .stereotype .Component ;
@@ -58,7 +57,8 @@ public SearchConfig getSearchConfig() {
58
57
public PageableResult search (RequestContext context ) throws ResponseException {
59
58
String patientUuid = context .getRequest ().getParameter ("patient" );
60
59
String encounterTypeUuid = context .getRequest ().getParameter ("encounterType" );
61
-
60
+ String [] visitsUuid =context .getRequest ().getParameter ("visits" ).split ("," );
61
+
62
62
String dateFrom = context .getRequest ().getParameter (DATE_FROM );
63
63
String dateTo = context .getRequest ().getParameter (DATE_TO );
64
64
@@ -69,13 +69,24 @@ public PageableResult search(RequestContext context) throws ResponseException {
69
69
Patient .class )).getByUniqueId (patientUuid );
70
70
EncounterType encounterType = ((EncounterTypeResource1_8 ) Context .getService (RestService .class )
71
71
.getResourceBySupportedClass (EncounterType .class )).getByUniqueId (encounterTypeUuid );
72
+
73
+ Collection <Visit > visits = new ArrayList <>();
74
+ if (visitsUuid .length >0 ) {
75
+
76
+ for (String uuid : visitsUuid ) {
77
+ Visit visit = ((VisitResource1_9 ) Context .getService (RestService .class ).getResourceBySupportedClass (Visit .class )).getByUniqueId (uuid );
78
+ visits .add (visit );
79
+ }
80
+ }
72
81
if (patient != null ) {
73
82
EncounterSearchCriteriaBuilder encounterSearchCriteriaBuilder = new EncounterSearchCriteriaBuilder ()
74
83
.setPatient (patient ).setFromDate (fromDate ).setToDate (toDate ).setIncludeVoided (false );
75
84
if (encounterType != null ) {
76
85
encounterSearchCriteriaBuilder .setEncounterTypes (Arrays .asList (encounterType ));
77
86
}
78
-
87
+ if (!visits .isEmpty ()){
88
+ encounterSearchCriteriaBuilder .setVisits (visits );
89
+ }
79
90
EncounterSearchCriteria encounterSearchCriteria = encounterSearchCriteriaBuilder .createEncounterSearchCriteria ();
80
91
81
92
List <Encounter > encounters = Context .getEncounterService ().getEncounters (encounterSearchCriteria );
0 commit comments