diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseDao.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseDao.java index f59eb2b77..a4269acc2 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseDao.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseDao.java @@ -525,7 +525,7 @@ protected void handleEncounterReference(OpenmrsFhirCriteriaContext } return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } protected Optional handleGender(OpenmrsFhirCriteriaContext criteriaContext, From from, @@ -638,13 +638,12 @@ protected void handleParticipantReference(OpenmrsFhirCriteriaContext } else { Join encounterProviderProvider = criteriaContext.addJoin(epJoin, "provider", "pro"); - return Optional.of(criteriaContext.getCriteriaBuilder().equal(encounterProviderProvider.get("pro.uuid"), + return Optional.of(criteriaContext.getCriteriaBuilder().equal(encounterProviderProvider.get("uuid"), participantToken.getValue())); } return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -690,12 +689,12 @@ protected void handleProviderReference(OpenmrsFhirCriteriaContext cri } } } else { - return Optional.of(criteriaContext.getCriteriaBuilder().equal(criteriaContext.getRoot().get("ro.uuid"), + return Optional.of(criteriaContext.getCriteriaBuilder().equal(orderer.get("uuid"), participantToken.getValue())); } return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -757,22 +756,19 @@ protected void handleNames(OpenmrsFhirCriteriaContext criteriaContext propertyLike(criteriaContext, personNameAliasJoin, "givenName", tokenParam), propertyLike(criteriaContext, personNameAliasJoin, "middleName", tokenParam), propertyLike(criteriaContext, personNameAliasJoin, "familyName", tokenParam))) - .flatMap(Collection::stream)).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .flatMap(Collection::stream)).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } if (given != null) { handleAndListParam(criteriaContext.getCriteriaBuilder(), given, (givenName) -> propertyLike(criteriaContext, personNameAliasJoin, "givenName", givenName)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } if (family != null) { handleAndListParam(criteriaContext.getCriteriaBuilder(), family, (familyName) -> propertyLike(criteriaContext, personNameAliasJoin, "familyName", familyName)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -827,7 +823,7 @@ protected void handlePatientReference(OpenmrsFhirCriteriaContext crit } return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseEncounterDao.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseEncounterDao.java index 1fbad0da6..899b1e912 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseEncounterDao.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BaseEncounterDao.java @@ -64,8 +64,7 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext criteriaCon .forEach(param -> handleEncounterType(criteriaContext, (TokenAndListParam) param.getParam())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; case FhirConstants.HAS_SEARCH_HANDLER: entry.getValue() diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BasePersonDao.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BasePersonDao.java index 4e5faf399..9118b6883 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BasePersonDao.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/BasePersonDao.java @@ -159,7 +159,7 @@ protected String paramToProp(OpenmrsFhirCriteriaContext criteriaConte From address =criteriaContext.addJoin(person, "addresses", "pad"); switch (param) { case SP_BIRTHDATE: - address.get("birthdate"); + return "birthdate"; case SP_ADDRESS_CITY: address.get("cityVillage"); case SP_ADDRESS_STATE: diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirAllergyIntoleranceDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirAllergyIntoleranceDaoImpl.java index c91ca8bde..42d3b4c46 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirAllergyIntoleranceDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirAllergyIntoleranceDaoImpl.java @@ -63,8 +63,7 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext crite case FhirConstants.CATEGORY_SEARCH_HANDLER: { From allergyJoin = criteriaContext.addJoin("allergen", "allergen"); entry.getValue().forEach(param -> handleAllergenCategory(criteriaContext, allergyJoin, "allergenType", - (TokenAndListParam) param.getParam()).ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + (TokenAndListParam) param.getParam()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; } case FhirConstants.ALLERGEN_SEARCH_HANDLER: @@ -81,12 +80,10 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext crite entry.getValue() .forEach(param -> handleBoolean(criteriaContext, "voided", convertStringStatusToBoolean((TokenAndListParam) param.getParam())) - .ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); @@ -97,8 +94,7 @@ private void handleManifestation(OpenmrsFhirCriteriaContext crite Join reactionsJoin = criteriaContext.addJoin("reactions", "r"); Join reactionJoin = criteriaContext.addJoin(reactionsJoin, "reaction", "rc"); - handleCodeableConcept(criteriaContext, code, reactionJoin, "rcm", "rcrt").ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCodeableConcept(criteriaContext, code, reactionJoin, "rcm", "rcrt").ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -107,8 +103,7 @@ private void handleAllergen(OpenmrsFhirCriteriaContext criteriaCo Join allergenJoin = criteriaContext.addJoin("allergen", "allergen"); Join codedAllergenJoin = criteriaContext.addJoin(allergenJoin, "codedAllergen", "ac"); - handleCodeableConcept(criteriaContext, code, codedAllergenJoin, "acm", "acrt").ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCodeableConcept(criteriaContext, code, codedAllergenJoin, "acm", "acrt").ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -143,8 +138,7 @@ private void handleSeverity(OpenmrsFhirCriteriaContext criteriaCo } catch (FHIRException ignored) {} return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } private Optional handleAllergenCategory(OpenmrsFhirCriteriaContext criteriaContext, diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConceptDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConceptDaoImpl.java index 157ae0ac2..e28db2dd7 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConceptDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConceptDaoImpl.java @@ -110,8 +110,7 @@ protected void handleTitle(OpenmrsFhirCriteriaContext criteriaCon Join conceptNamesJoin = criteriaContext.addJoin("names", "cn"); handleAndListParam(criteriaContext.getCriteriaBuilder(), titlePattern, (title) -> propertyLike(criteriaContext, conceptNamesJoin, "name", title)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } protected void createConceptMapCriteriaBuilder(@Nonnull ConceptSource conceptSource, String mappingCode) { diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConditionDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConditionDaoImpl.java index 6ab7505f0..c613d9061 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConditionDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirConditionDaoImpl.java @@ -90,16 +90,14 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext cri case FhirConstants.DATE_RANGE_SEARCH_HANDLER: entry.getValue().forEach( param -> handleDateRange(criteriaContext, param.getPropertyName(), (DateRangeParam) param.getParam()) - .ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.QUANTITY_SEARCH_HANDLER: entry.getValue() .forEach(param -> handleOnsetAge(criteriaContext, (QuantityAndListParam) param.getParam())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); @@ -109,8 +107,7 @@ private void handleCode(OpenmrsFhirCriteriaContext criteriaCont if (code != null) { From conditionJoin = criteriaContext.addJoin("condition", "condition"); From codedJoin = criteriaContext.addJoin(conditionJoin,"coded", "cd"); - handleCodeableConcept(criteriaContext, code, codedJoin, "map", "term").ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCodeableConcept(criteriaContext, code, codedJoin, "map", "term").ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -118,15 +115,13 @@ private void handleClinicalStatus(OpenmrsFhirCriteriaContext cr handleAndListParam(criteriaContext.getCriteriaBuilder(), status, tokenParam -> Optional.of(criteriaContext.getCriteriaBuilder() .equal(criteriaContext.getRoot().get("clinicalStatus"), convertStatus(tokenParam.getValue())))) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } private void handleOnsetAge(OpenmrsFhirCriteriaContext criteriaContext, QuantityAndListParam onsetAge) { handleAndListParam(criteriaContext.getCriteriaBuilder(), onsetAge, onsetAgeParam -> handleAgeByDateProperty(criteriaContext, "onsetDate", onsetAgeParam)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } @Override diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirDiagnosticReportDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirDiagnosticReportDaoImpl.java index cdc29d539..db6c0f6c4 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirDiagnosticReportDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirDiagnosticReportDaoImpl.java @@ -51,16 +51,14 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext handleDateRange(criteriaContext, "issued", (DateRangeParam) param.getParam()) - .ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.RESULT_SEARCH_HANDLER: entry.getValue().forEach( param -> handleObservationReference(criteriaContext, (ReferenceAndListParam) param.getParam())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); @@ -70,8 +68,7 @@ private void handleCodedConcept(OpenmrsFhirCriteriaContext from = criteriaContext.addJoin("code", "c"); - handleCodeableConcept(criteriaContext, code, from, "cm", "crt").ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCodeableConcept(criteriaContext, code, from, "cm", "crt").ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -82,8 +79,7 @@ private void handleObservationReference(OpenmrsFhirCriteriaContext Optional.of(criteriaContext.getCriteriaBuilder().equal(resultsJoin.get("uuid"), token.getIdPart()))) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirGroupDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirGroupDaoImpl.java index 2534e9ded..5918f56f7 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirGroupDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirGroupDaoImpl.java @@ -96,8 +96,7 @@ protected void handleManagingEntity(OpenmrsFhirCriteriaContext cri } return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } } diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirLocationDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirLocationDaoImpl.java index 31c2ac0c2..fd5ad5b60 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirLocationDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirLocationDaoImpl.java @@ -70,8 +70,7 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext crit entry.getValue().forEach(param -> handleTag(criteriaContext, (TokenAndListParam) param.getParam())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); @@ -97,37 +96,32 @@ public List getActiveAttributesByLocationAndAttributeTypeUuid private void handleName(OpenmrsFhirCriteriaContext criteriaContext, StringAndListParam namePattern) { handleAndListParam(criteriaContext.getCriteriaBuilder(), namePattern, (name) -> propertyLike(criteriaContext, criteriaContext.getRoot(), "name", name)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } private void handleCity(OpenmrsFhirCriteriaContext criteriaContext, StringAndListParam cityPattern) { handleAndListParam(criteriaContext.getCriteriaBuilder(), cityPattern, (city) -> propertyLike(criteriaContext, criteriaContext.getRoot(), "cityVillage", city)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } private void handleCountry(OpenmrsFhirCriteriaContext criteriaContext, StringAndListParam countryPattern) { handleAndListParam(criteriaContext.getCriteriaBuilder(), countryPattern, (country) -> propertyLike(criteriaContext, criteriaContext.getRoot(), "country", country)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } private void handlePostalCode(OpenmrsFhirCriteriaContext criteriaContext, StringAndListParam postalCodePattern) { handleAndListParam(criteriaContext.getCriteriaBuilder(), postalCodePattern, (postalCode) -> propertyLike(criteriaContext, criteriaContext.getRoot(), "postalCode", postalCode)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } private void handleState(OpenmrsFhirCriteriaContext criteriaContext, StringAndListParam statePattern) { handleAndListParam(criteriaContext.getCriteriaBuilder(), statePattern, (state) -> propertyLike(criteriaContext, criteriaContext.getRoot(), "stateProvince", state)) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } private void handleTag(OpenmrsFhirCriteriaContext criteriaContext, TokenAndListParam tags) { @@ -135,8 +129,7 @@ private void handleTag(OpenmrsFhirCriteriaContext criteriaContex criteriaContext.addJoin("tags", "t"); handleAndListParam(criteriaContext.getCriteriaBuilder(), tags, (tag) -> criteriaContext.getJoin("t").map( locationTag -> criteriaContext.getCriteriaBuilder().equal(locationTag.get("name"), tag.getValue()))) - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationDaoImpl.java index bffcb68c8..97c199e66 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationDaoImpl.java @@ -48,8 +48,7 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext criteria .forEach(param -> handleIngredientCode(criteriaContext, (TokenAndListParam) param.getParam())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationRequestDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationRequestDaoImpl.java index b14102f4c..9dfe0dda7 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationRequestDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirMedicationRequestDaoImpl.java @@ -148,8 +148,8 @@ protected Predicate generateFulfillerStatusRestriction(OpenmrsFhirCriteria private void handleCodedConcept(OpenmrsFhirCriteriaContext criteriaContext, TokenAndListParam code) { if (code != null) { From conceptJoin = criteriaContext.addJoin("concept", "c"); - handleCodeableConcept(criteriaContext, code, conceptJoin, "cm", "crt").ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCodeableConcept(criteriaContext, code, conceptJoin, "cm", "crt") + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirObservationDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirObservationDaoImpl.java index 9b22e2637..c31d1556d 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirObservationDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirObservationDaoImpl.java @@ -193,8 +193,7 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext criteria case FhirConstants.DATE_RANGE_SEARCH_HANDLER: entry.getValue() .forEach(dateRangeParam -> handleDateRange(criteriaContext, dateRangeParam.getPropertyName(), - (DateRangeParam) dateRangeParam.getParam()).ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + (DateRangeParam) dateRangeParam.getParam()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.HAS_MEMBER_SEARCH_HANDLER: entry.getValue().forEach(hasMemberReference -> handleHasMemberReference(criteriaContext, @@ -202,17 +201,14 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext criteria break; case FhirConstants.QUANTITY_SEARCH_HANDLER: entry.getValue().forEach(quantity -> handleQuantity(criteriaContext, quantity.getPropertyName(), - (QuantityAndListParam) quantity.getParam()).ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + (QuantityAndListParam) quantity.getParam()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.VALUE_STRING_SEARCH_HANDLER: entry.getValue().forEach(string -> handleValueStringParam(criteriaContext, string.getPropertyName(), - (StringAndListParam) string.getParam()).ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + (StringAndListParam) string.getParam()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); @@ -238,8 +234,7 @@ private void handleHasMemberReference(OpenmrsFhirCriteriaContext crit } return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -254,8 +249,7 @@ private Optional handleValueStringParam(OpenmrsFhirCriteriaCont private void handleCodedConcept(OpenmrsFhirCriteriaContext criteriaContext, TokenAndListParam code) { if (code != null) { From concept = criteriaContext.addJoin("concept", "c"); - handleCodeableConcept(criteriaContext, code, concept, "cm", "crt").ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCodeableConcept(criteriaContext, code, concept, "cm", "crt").ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -275,8 +269,7 @@ private void handleConceptClass(OpenmrsFhirCriteriaContext criteriaCo return Optional.of( context.getCriteriaBuilder().in(criteriaContext.getRoot().get("concept").get("conceptClass").get("uuid")) .value(context.getCriteriaQuery().subquery(String.class))); - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } @@ -284,8 +277,7 @@ private void handleValueCodedConcept(OpenmrsFhirCriteriaContext crite if (valueConcept != null) { Join valueCodedJoin = criteriaContext.addJoin("valueCoded", "vc"); handleCodeableConcept(criteriaContext, valueConcept, valueCodedJoin, "vcm", "vcrt") - .ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPatientDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPatientDaoImpl.java index 559b2976c..d3c5f0ba5 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPatientDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPatientDaoImpl.java @@ -165,8 +165,7 @@ private void handlePatientQuery(OpenmrsFhirCriteriaContext criter criteriaContext.getCriteriaBuilder().equal(criteriaContext.getRoot().get("voided"), false)))); return Optional.of(criteriaContext.getCriteriaBuilder().or(toCriteriaArray(arrayList))); - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } protected void handleIdentifier(OpenmrsFhirCriteriaContext criteriaContext, TokenAndListParam identifier) { @@ -189,8 +188,7 @@ protected void handleIdentifier(OpenmrsFhirCriteriaContext criter criteriaContext.getCriteriaBuilder().equal(identifiersIdentifierTypeJoin.get("name"), system), criteriaContext.getCriteriaBuilder().in(identifiersJoin.get("identifier")).value(tokensToList(tokens)))); } - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } @Override diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPersonDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPersonDaoImpl.java index da60e45ae..7c6471edf 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPersonDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirPersonDaoImpl.java @@ -53,21 +53,18 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext criter break; case FhirConstants.GENDER_SEARCH_HANDLER: entry.getValue().forEach(param -> handleGender(criteriaContext, getPersonProperty(criteriaContext), - "gender", (TokenAndListParam) param.getParam()).ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + "gender", (TokenAndListParam) param.getParam()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.DATE_RANGE_SEARCH_HANDLER: entry.getValue().forEach( param -> handleDateRange(criteriaContext, "birthdate", (DateRangeParam) param.getParam()) - .ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.ADDRESS_SEARCH_HANDLER: handleAddresses(criteriaContext, entry); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirRelatedPersonDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirRelatedPersonDaoImpl.java index 79dbd2017..a4f4e4264 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirRelatedPersonDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirRelatedPersonDaoImpl.java @@ -58,20 +58,18 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext case FhirConstants.GENDER_SEARCH_HANDLER: entry.getValue().forEach( param -> handleGender(criteriaContext, personJoin, "gender", (TokenAndListParam) param.getParam()) - .ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.DATE_RANGE_SEARCH_HANDLER: entry.getValue().forEach( param -> handleDateRange(criteriaContext, "m.birthdate", (DateRangeParam) param.getParam()) - .ifPresent(criteriaContext::addPredicate)); - criteriaContext.finalizeQuery(); + .ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery())); break; case FhirConstants.ADDRESS_SEARCH_HANDLER: handleAddresses(criteriaContext, entry); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirServiceRequestDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirServiceRequestDaoImpl.java index e50ae78db..cc405562b 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirServiceRequestDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirServiceRequestDaoImpl.java @@ -61,8 +61,7 @@ protected void setupSearchParams(OpenmrsFhirCriteriaContext cri .ifPresent(d -> criteriaContext.addPredicate(d).finalizeQuery())); break; case FhirConstants.COMMON_SEARCH_HANDLER: - handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + handleCommonSearchParameters(criteriaContext, entry.getValue()).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); break; } }); diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirTaskDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirTaskDaoImpl.java index eedb6ffd7..8eacacf57 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirTaskDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirTaskDaoImpl.java @@ -106,7 +106,6 @@ private void handleReference(OpenmrsFhirCriteriaContext criteria } return Optional.empty(); - }).ifPresent(criteriaContext::addPredicate); - criteriaContext.finalizeQuery(); + }).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery()); } } diff --git a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirVisitDaoImpl.java b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirVisitDaoImpl.java index 5d84ccbc5..b774e3678 100644 --- a/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirVisitDaoImpl.java +++ b/api/src/main/java/org/openmrs/module/fhir2/api/dao/impl/FhirVisitDaoImpl.java @@ -50,7 +50,7 @@ protected void handleEncounterType(OpenmrsFhirCriteriaContext crite protected void handleParticipant(OpenmrsFhirCriteriaContext criteriaContext, ReferenceAndListParam referenceAndListParam) { Join encounterJoin = criteriaContext.addJoin("encounters","en" ); - From epJoin = criteriaContext.addJoin(encounterJoin,"encounters","ep" ); + From epJoin = criteriaContext.addJoin(encounterJoin,"encounterProviders","ep" ); handleParticipantReference(criteriaContext, referenceAndListParam, epJoin); }