Skip to content

Commit

Permalink
More Sonar.
Browse files Browse the repository at this point in the history
  • Loading branch information
lukedegruchy committed Mar 7, 2025
1 parent bf9aa1f commit 3d61fdf
Show file tree
Hide file tree
Showing 11 changed files with 37 additions and 64 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.opencds.cqf.fhir.utility.repository.ig.IgRepository;

@ExtendWith(MockitoExtension.class)
@SuppressWarnings("squid:S2699")
class LibraryProcessorTests {
private final FhirContext fhirContextDstu3 = FhirContext.forDstu3Cached();
private final FhirContext fhirContextR4 = FhirContext.forR4Cached();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import org.junit.jupiter.api.Test;
import org.opencds.cqf.fhir.cr.measure.dstu3.Measure.Given;

@SuppressWarnings("squid:S2699")
class Dstu3MeasureAdditionalDataTest {

protected static Given given = Measure.given().repositoryFor("EXM105FHIR3MeasurePartBundle");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
import org.junit.jupiter.api.Test;

@SuppressWarnings("squid:S2699")
class Dstu3MeasureProcessorTest {
@Test
void exm105_fullSubjectId() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import org.junit.jupiter.api.Test;
import org.opencds.cqf.fhir.cr.measure.r4.CollectData.Given;

@SuppressWarnings("squid:S2699")
class CollectDataTest {

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
import org.junit.jupiter.api.Test;

@SuppressWarnings("squid:S2699")
class DataRequirementsTest {
@Test
void dataRequirements_resourceBasisMeasure_withMeasurementPeriod() {
Expand Down Expand Up @@ -85,7 +86,7 @@ void dataRequirements_booleanBasisMeasure_badLibraryUrl() {
.periodEnd("2024-12-31")
.DataRequirements();

assertThrows(ResourceNotFoundException.class, () -> when.then().report());
assertThrows(ResourceNotFoundException.class, when::then);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
import org.opencds.cqf.fhir.cr.measure.constant.MeasureConstants;
import org.opencds.cqf.fhir.utility.repository.ig.IgRepository;

public class R4MeasureEvaluationTest extends BaseMeasureEvaluationTest {
class R4MeasureEvaluationTest extends BaseMeasureEvaluationTest {

private static final CodeType POPULATION_BASIS_BOOLEAN = new CodeType("boolean");
private static final CodeType POPULATION_BASIS_ENCOUNTER = new CodeType("Encounter");
Expand All @@ -94,8 +94,6 @@ public String getFhirVersion() {
Paths.get(getResourcePath(this.getClass()) + "/org/opencds/cqf/fhir/cr/measure/r4/FHIR347/"));
private MeasureEvaluationOptions evaluationOptions = MeasureEvaluationOptions.defaultOptions();

private final R4PopulationBasisValidator populationBasisValidator = new R4PopulationBasisValidator();

@Test
void cohortMeasureEvaluation() {
Patient patient = john_doe();
Expand Down Expand Up @@ -125,35 +123,6 @@ void cohortMeasureEvaluation() {
checkEvidence(report);
}

@Test
void sdeInMeasureEvaluation() {
Patient patient = john_doe();

RetrieveProvider retrieveProvider = mock(RetrieveProvider.class);
when(retrieveProvider.retrieve(
eq("Patient"),
anyString(),
any(),
any(),
any(),
any(),
any(),
any(),
any(),
any(),
any(),
any()))
.thenReturn(List.of(patient));

String cql = cql_with_dateTime() + sde_race() + "define InitialPopulation: 'Doe' in Patient.name.family\n";

Measure measure = cohort_measure();

MeasureReport report =
runTest(cql, Collections.singletonList(patient.getId()), measure, retrieveProvider, null);
checkEvidence(report);
}

@Test
void proportionMeasureEvaluation_NO_SDE_RACE() {
Patient patient = john_doe();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,14 +158,12 @@ void happyPathNonEmptySdesCreateObservations() {
@Test
void errorMismatchedGroupsSizes_tooMany() {
var r4MeasureReportBuilder = new R4MeasureReportBuilder();
final Measure measure = buildMeasure(MEASURE_ID_1, MEASURE_URL_1, 1, 2);
final MeasureDef measureDef = buildMeasureDef(MEASURE_ID_1, MEASURE_URL_1, 2, 2, true, Set.of());
final List<String> subjectIds = List.of();

try {
r4MeasureReportBuilder.build(
buildMeasure(MEASURE_ID_1, MEASURE_URL_1, 1, 2),
buildMeasureDef(MEASURE_ID_1, MEASURE_URL_1, 2, 2, true, Set.of()),
MeasureReportType.INDIVIDUAL,
null,
List.of());
r4MeasureReportBuilder.build(measure, measureDef, MeasureReportType.INDIVIDUAL, null, subjectIds);
fail("expected failure");
} catch (InvalidRequestException exception) {
assertEquals(
Expand All @@ -177,14 +175,12 @@ void errorMismatchedGroupsSizes_tooMany() {
@Test
void errorMismatchedGroupsSizes_tooFew() {
var r4MeasureReportBuilder = new R4MeasureReportBuilder();
final Measure measure = buildMeasure(MEASURE_ID_1, MEASURE_URL_1, 2, 2);
final MeasureDef measureDef = buildMeasureDef(MEASURE_ID_1, MEASURE_URL_1, 1, 2, true, Set.of());
final List<String> subjectIds = List.of();

try {
r4MeasureReportBuilder.build(
buildMeasure(MEASURE_ID_1, MEASURE_URL_1, 2, 2),
buildMeasureDef(MEASURE_ID_1, MEASURE_URL_1, 1, 2, true, Set.of()),
MeasureReportType.INDIVIDUAL,
null,
List.of());
r4MeasureReportBuilder.build(measure, measureDef, MeasureReportType.INDIVIDUAL, null, subjectIds);
fail("expected failure");
} catch (InvalidRequestException exception) {
assertEquals(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.opencds.cqf.fhir.cr.measure.SubjectProviderOptions;
import org.opencds.cqf.fhir.utility.repository.InMemoryFhirRepository;

@SuppressWarnings("squid:S125")
class R4RepositorySubjectProviderTest {

private static final String PAT_ID_1 = "pat1";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import static org.opencds.cqf.fhir.test.Resources.getResourcePath;

import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.rest.api.MethodOutcome;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
Expand Down Expand Up @@ -46,16 +47,13 @@ void readLibrary() throws IOException {
.startsWith("library DependencyExample version '0.1.0'"));
}

/*
* todo :: work on ProxyRepository create()
*
* @Test public void testCreate() { Patient john = new Patient(); john.setId(new
* IdType("Patient",
* "id-john-doe")); MethodOutcome methodOutcome = repository.create(john, null);
* assertTrue(methodOutcome.getCreated());
*
* repository.create(john, null); }
*/
@Test
void testCreate() {
Patient john = new Patient();
john.setId(new IdType("Patient", "id-john-doe"));
MethodOutcome methodOutcome = repository.create(john, null);
assertTrue(methodOutcome.getCreated());
}

@Test
void search() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class R4SubmitDataServiceTest {
private final R4SubmitDataService testSubject = new R4SubmitDataService(repository);

@Test
public void submitDataSimple() {
void submitDataSimple() {

// create resources
var measureReport = newResource(MeasureReport.class).setMeasure(MEASURE_FULL_ID);
Expand All @@ -52,7 +52,7 @@ public void submitDataSimple() {
}

@Test
public void submitDataMedium() throws ParseException {
void submitDataMedium() throws ParseException {

// create resources
var patient = newResource(Patient.class).setId(PATIENT_ID);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;

import java.time.LocalDateTime;
import java.time.ZoneId;
import org.hl7.fhir.r4.model.MeasureReport.MeasureReportStatus;
import org.hl7.fhir.r4.model.MeasureReport.MeasureReportType;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.opencds.cqf.fhir.cr.measure.r4.Measure.Given;

@SuppressWarnings("java:S2699")
class SimpleMeasureProcessorTest {

protected static Given given = Measure.given().repositoryFor("EXM108");
Expand Down Expand Up @@ -180,27 +183,28 @@ void exm108_singlePatient_hasMetadata() {
"http://hl7.org/fhir/us/cqfmeasures/Measure/EXM108-basis-Encounter|8.3.000", report.getMeasure());
assertEquals("Patient/numer-EXM108", report.getSubject().getReference());

// TODO: The MeasureProcessor assumes local timezone if none is specified.
// Need to make the test smart enough to handle that.
assertEquals(report.getPeriod().getStartElement().getYear(), (Integer) 2018);
// assertEquals(report.getPeriod().getStartElement().getMonth(), (Integer)12);
assertEquals(report.getPeriod().getStartElement().getDay(), (Integer) 31);

assertEquals(report.getPeriod().getEndElement().getYear(), (Integer) 2019);
// assertEquals(report.getPeriod().getEndElement().getMonth(), (Integer)12);
assertEquals(report.getPeriod().getEndElement().getDay(), (Integer) 31);

// TODO: Should be the evaluation date. Or approximately "now"
assertNotNull(report.getDate());
assertEquals(
LocalDateTime.now().withSecond(0).withNano(0),
report.getDate()
.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime()
.withSecond(0)
.withNano(0));
}
}

@Nested
class BasisBoolean {

private static final String MEASURE_ID = "measure-EXM108-8.3.000-basis-boolean";
private static final String EXCEPTION_MESSAGE =
"group expression criteria results for expression: [Initial Population] and scoring: [PROPORTION] must fall within accepted types for population basis: [boolean] for Measure: http://hl7.org/fhir/us/cqfmeasures/Measure/EXM108-basis-boolean";

@Test
void exm108_partialSubjectId_1() {
Expand Down

0 comments on commit 3d61fdf

Please sign in to comment.