Search in sources :

Example 31 with SearchParameterMap

use of org.openmrs.module.fhir2.api.search.param.SearchParameterMap in project openmrs-module-fhir2 by openmrs.

the class DiagnosticReportSearchQueryTest method searchForDiagnosticReports_shouldReturnEmptyCollectionByWrongPatientName.

@Test
public void searchForDiagnosticReports_shouldReturnEmptyCollectionByWrongPatientName() {
    ReferenceAndListParam patientReference = new ReferenceAndListParam().addAnd(new ReferenceOrListParam().add(new ReferenceParam().setValue(WRONG_PATIENT_GIVEN_NAME).setChain(SP_NAME)));
    SearchParameterMap theParams = new SearchParameterMap().addParameter(FhirConstants.PATIENT_REFERENCE_SEARCH_HANDLER, patientReference);
    IBundleProvider diagnosticReports = search(theParams);
    assertThat(diagnosticReports, notNullValue());
    assertThat(diagnosticReports.size(), equalTo(0));
    List<DiagnosticReport> resultList = get(diagnosticReports);
    assertThat(resultList, empty());
}
Also used : ReferenceParam(ca.uhn.fhir.rest.param.ReferenceParam) FhirDiagnosticReport(org.openmrs.module.fhir2.model.FhirDiagnosticReport) DiagnosticReport(org.hl7.fhir.r4.model.DiagnosticReport) ReferenceAndListParam(ca.uhn.fhir.rest.param.ReferenceAndListParam) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) ReferenceOrListParam(ca.uhn.fhir.rest.param.ReferenceOrListParam) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 32 with SearchParameterMap

use of org.openmrs.module.fhir2.api.search.param.SearchParameterMap in project openmrs-module-fhir2 by openmrs.

the class DiagnosticReportSearchQueryTest method searchForDiagnosticReports_shouldReturnDiagnosticReportByIssueDate.

@Test
public void searchForDiagnosticReports_shouldReturnDiagnosticReportByIssueDate() {
    DateRangeParam issueDate = new DateRangeParam(new DateParam(DIAGNOSTIC_REPORT_DATETIME));
    SearchParameterMap theParams = new SearchParameterMap().addParameter(FhirConstants.DATE_RANGE_SEARCH_HANDLER, issueDate);
    IBundleProvider diagnosticReports = search(theParams);
    List<DiagnosticReport> resultList = get(diagnosticReports);
    assertThat(diagnosticReports, notNullValue());
    assertThat(resultList, hasSize(greaterThanOrEqualTo(1)));
    assertThat(resultList.get(0).getIssued().toString(), equalTo(DIAGNOSTIC_REPORT_DATE));
}
Also used : DateRangeParam(ca.uhn.fhir.rest.param.DateRangeParam) FhirDiagnosticReport(org.openmrs.module.fhir2.model.FhirDiagnosticReport) DiagnosticReport(org.hl7.fhir.r4.model.DiagnosticReport) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) DateParam(ca.uhn.fhir.rest.param.DateParam) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 33 with SearchParameterMap

use of org.openmrs.module.fhir2.api.search.param.SearchParameterMap in project openmrs-module-fhir2 by openmrs.

the class DiagnosticReportSearchQueryTest method searchForDiagnosticReports_shouldSearchForDiagnosticReportsByMultiplePatientIdentifierOr.

@Test
public void searchForDiagnosticReports_shouldSearchForDiagnosticReportsByMultiplePatientIdentifierOr() {
    ReferenceAndListParam referenceParam = new ReferenceAndListParam();
    ReferenceParam patient = new ReferenceParam();
    patient.setValue(PATIENT_IDENTIFIER);
    patient.setChain(Patient.SP_IDENTIFIER);
    ReferenceParam badPatient = new ReferenceParam();
    badPatient.setValue(WRONG_PATIENT_IDENTIFIER);
    badPatient.setChain(Patient.SP_IDENTIFIER);
    referenceParam.addValue(new ReferenceOrListParam().add(patient).add(badPatient));
    SearchParameterMap theParams = new SearchParameterMap().addParameter(FhirConstants.PATIENT_REFERENCE_SEARCH_HANDLER, referenceParam);
    IBundleProvider results = search(theParams);
    assertThat(results, notNullValue());
    assertThat(results.size(), greaterThanOrEqualTo(1));
    List<DiagnosticReport> resultList = get(results);
    assertThat(resultList, hasSize(greaterThanOrEqualTo(1)));
    assertThat(resultList.get(0).getSubject().getReference(), endsWith(PATIENT_UUID));
}
Also used : ReferenceParam(ca.uhn.fhir.rest.param.ReferenceParam) FhirDiagnosticReport(org.openmrs.module.fhir2.model.FhirDiagnosticReport) DiagnosticReport(org.hl7.fhir.r4.model.DiagnosticReport) ReferenceAndListParam(ca.uhn.fhir.rest.param.ReferenceAndListParam) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) ReferenceOrListParam(ca.uhn.fhir.rest.param.ReferenceOrListParam) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 34 with SearchParameterMap

use of org.openmrs.module.fhir2.api.search.param.SearchParameterMap in project openmrs-module-fhir2 by openmrs.

the class DiagnosticReportSearchQueryTest method searchForDiagnosticReports_shouldReturnDiagnosticReports.

@Test
public void searchForDiagnosticReports_shouldReturnDiagnosticReports() {
    SearchParameterMap theParams = new SearchParameterMap();
    IBundleProvider results = search(theParams);
    // actual number of obs = 15
    assertThat(results.size(), equalTo(2));
    List<DiagnosticReport> resultList = get(results);
    assertThat(resultList, everyItem(hasProperty("result", hasSize(greaterThanOrEqualTo(1)))));
}
Also used : FhirDiagnosticReport(org.openmrs.module.fhir2.model.FhirDiagnosticReport) DiagnosticReport(org.hl7.fhir.r4.model.DiagnosticReport) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 35 with SearchParameterMap

use of org.openmrs.module.fhir2.api.search.param.SearchParameterMap in project openmrs-module-fhir2 by openmrs.

the class DiagnosticReportSearchQueryTest method getNonNullObsListForSorting.

private List<DiagnosticReport> getNonNullObsListForSorting(SortSpec sort) {
    SearchParameterMap theParams = new SearchParameterMap().setSortSpec(sort);
    IBundleProvider diagnosticReports = search(theParams);
    assertThat(diagnosticReports, notNullValue());
    assertThat(diagnosticReports.size(), greaterThanOrEqualTo(1));
    List<DiagnosticReport> results = get(diagnosticReports);
    assertThat(results, not(empty()));
    assertThat(results.size(), greaterThanOrEqualTo(1));
    // Remove diagnostic reports with sort parameter value null, to allow comparison while asserting.
    if (DiagnosticReport.SP_ISSUED.equals(sort.getParamName())) {
        results.removeIf(p -> p.getIssued() == null);
    }
    return results;
}
Also used : FhirDiagnosticReport(org.openmrs.module.fhir2.model.FhirDiagnosticReport) DiagnosticReport(org.hl7.fhir.r4.model.DiagnosticReport) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap)

Aggregations

SearchParameterMap (org.openmrs.module.fhir2.api.search.param.SearchParameterMap)813 Test (org.junit.Test)803 IBundleProvider (ca.uhn.fhir.rest.api.server.IBundleProvider)802 BaseModuleContextSensitiveTest (org.openmrs.test.BaseModuleContextSensitiveTest)619 IBaseResource (org.hl7.fhir.instance.model.api.IBaseResource)491 ReferenceAndListParam (ca.uhn.fhir.rest.param.ReferenceAndListParam)282 ReferenceOrListParam (ca.uhn.fhir.rest.param.ReferenceOrListParam)282 ReferenceParam (ca.uhn.fhir.rest.param.ReferenceParam)282 TokenAndListParam (ca.uhn.fhir.rest.param.TokenAndListParam)264 TokenParam (ca.uhn.fhir.rest.param.TokenParam)240 StringParam (ca.uhn.fhir.rest.param.StringParam)173 StringAndListParam (ca.uhn.fhir.rest.param.StringAndListParam)158 DateRangeParam (ca.uhn.fhir.rest.param.DateRangeParam)127 HashSet (java.util.HashSet)115 Include (ca.uhn.fhir.model.api.Include)108 TokenOrListParam (ca.uhn.fhir.rest.param.TokenOrListParam)75 StringOrListParam (ca.uhn.fhir.rest.param.StringOrListParam)60 ServiceRequest (org.hl7.fhir.r4.model.ServiceRequest)57 MedicationRequest (org.hl7.fhir.r4.model.MedicationRequest)51 Patient (org.hl7.fhir.r4.model.Patient)51