Skip to content

Commit

Permalink
more changes
Browse files Browse the repository at this point in the history
  • Loading branch information
mherman22 committed Jan 22, 2024
1 parent 9bf6d22 commit 07c0b1c
Show file tree
Hide file tree
Showing 18 changed files with 57 additions and 104 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ protected <T, U> void handleEncounterReference(OpenmrsFhirCriteriaContext<T, U>
}

return Optional.empty();
}).ifPresent(criteriaContext::addPredicate);
}).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery());
}

protected <T, U> Optional<Predicate> handleGender(OpenmrsFhirCriteriaContext<T, U> criteriaContext, From<?, ?> from,
Expand Down Expand Up @@ -638,13 +638,12 @@ protected <T,U> void handleParticipantReference(OpenmrsFhirCriteriaContext<T,U>
} 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());
}
}

Expand Down Expand Up @@ -690,12 +689,12 @@ protected <T,U> void handleProviderReference(OpenmrsFhirCriteriaContext<T,U> 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());
}
}

Expand Down Expand Up @@ -757,22 +756,19 @@ protected <T,U> void handleNames(OpenmrsFhirCriteriaContext<T,U> 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());
}
}

Expand Down Expand Up @@ -827,7 +823,7 @@ protected <T,U> void handlePatientReference(OpenmrsFhirCriteriaContext<T,U> crit
}

return Optional.empty();
}).ifPresent(criteriaContext::addPredicate);
}).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,7 @@ protected <U> void setupSearchParams(OpenmrsFhirCriteriaContext<T,U> 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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ protected <V,U> String paramToProp(OpenmrsFhirCriteriaContext<V,U> 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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,7 @@ protected <U> void setupSearchParams(OpenmrsFhirCriteriaContext<Allergy,U> 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:
Expand All @@ -81,12 +80,10 @@ protected <U> void setupSearchParams(OpenmrsFhirCriteriaContext<Allergy,U> 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;
}
});
Expand All @@ -97,8 +94,7 @@ private <U> void handleManifestation(OpenmrsFhirCriteriaContext<Allergy,U> 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());
}
}

Expand All @@ -107,8 +103,7 @@ private <U> void handleAllergen(OpenmrsFhirCriteriaContext<Allergy,U> 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());
}
}

Expand Down Expand Up @@ -143,8 +138,7 @@ private <U> void handleSeverity(OpenmrsFhirCriteriaContext<Allergy,U> criteriaCo
}
catch (FHIRException ignored) {}
return Optional.empty();
}).ifPresent(criteriaContext::addPredicate);
criteriaContext.finalizeQuery();
}).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery());
}

private <T,U> Optional<Predicate> handleAllergenCategory(OpenmrsFhirCriteriaContext<T,U> criteriaContext,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,7 @@ protected <U> void handleTitle(OpenmrsFhirCriteriaContext<Concept,U> 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 <U> void createConceptMapCriteriaBuilder(@Nonnull ConceptSource conceptSource, String mappingCode) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,14 @@ protected <U> void setupSearchParams(OpenmrsFhirCriteriaContext<Condition,U> 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;
}
});
Expand All @@ -109,24 +107,21 @@ private <U> void handleCode(OpenmrsFhirCriteriaContext<Condition,U> 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());
}
}

private <U> void handleClinicalStatus(OpenmrsFhirCriteriaContext<Condition,U> criteriaContext, TokenAndListParam status) {
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 <U> void handleOnsetAge(OpenmrsFhirCriteriaContext<Condition,U> criteriaContext, QuantityAndListParam onsetAge) {
handleAndListParam(criteriaContext.getCriteriaBuilder(), onsetAge,
onsetAgeParam -> handleAgeByDateProperty(criteriaContext, "onsetDate", onsetAgeParam))
.ifPresent(criteriaContext::addPredicate);
criteriaContext.finalizeQuery();
.ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,14 @@ protected <U> void setupSearchParams(OpenmrsFhirCriteriaContext<FhirDiagnosticRe
case FhirConstants.DATE_RANGE_SEARCH_HANDLER:
entry.getValue()
.forEach(param -> 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;
}
});
Expand All @@ -70,8 +68,7 @@ private <U> void handleCodedConcept(OpenmrsFhirCriteriaContext<FhirDiagnosticRep
TokenAndListParam code) {
if (code != null) {
From<?,?> 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());
}
}

Expand All @@ -82,8 +79,7 @@ private <U> void handleObservationReference(OpenmrsFhirCriteriaContext<FhirDiagn

handleAndListParam(criteriaContext.getCriteriaBuilder(), result,
token -> Optional.of(criteriaContext.getCriteriaBuilder().equal(resultsJoin.get("uuid"), token.getIdPart())))
.ifPresent(criteriaContext::addPredicate);
criteriaContext.finalizeQuery();
.ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ protected <U> void handleManagingEntity(OpenmrsFhirCriteriaContext<Cohort,U> cri
}

return Optional.empty();
}).ifPresent(criteriaContext::addPredicate);
criteriaContext.finalizeQuery();
}).ifPresent(c -> criteriaContext.addPredicate(c).finalizeQuery());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ protected <U> void setupSearchParams(OpenmrsFhirCriteriaContext<Location,U> 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;
}
});
Expand All @@ -97,46 +96,40 @@ public List<LocationAttribute> getActiveAttributesByLocationAndAttributeTypeUuid
private <U> void handleName(OpenmrsFhirCriteriaContext<Location,U> 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 <U> void handleCity(OpenmrsFhirCriteriaContext<Location,U> 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 <U> void handleCountry(OpenmrsFhirCriteriaContext<Location,U> 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 <U> void handlePostalCode(OpenmrsFhirCriteriaContext<Location,U> 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 <U> void handleState(OpenmrsFhirCriteriaContext<Location,U> 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 <U> void handleTag(OpenmrsFhirCriteriaContext<Location,U> criteriaContext, TokenAndListParam tags) {
if (tags != null) {
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());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@ protected <U> void setupSearchParams(OpenmrsFhirCriteriaContext<Drug,U> 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;
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ protected <T,U> Predicate generateFulfillerStatusRestriction(OpenmrsFhirCriteria
private <U> void handleCodedConcept(OpenmrsFhirCriteriaContext<DrugOrder,U> 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());
}
}

Expand Down
Loading

0 comments on commit 07c0b1c

Please sign in to comment.