From 0fd0def3fba6de1f4bb4de7a27b70540ae9bb01c Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Tue, 8 Oct 2024 11:28:25 -0400 Subject: [PATCH 1/3] Use original test event id for corrections --- .../usds/simplereport/api/converter/FhirConverter.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java b/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java index 87862a1380..e1020493cd 100644 --- a/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java +++ b/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java @@ -1195,15 +1195,18 @@ public ServiceRequest convertToServiceRequest( */ public DiagnosticReport convertToDiagnosticReport(TestEvent testEvent, Date currentDate) { DiagnosticReportStatus status = null; + String id = Objects.toString(testEvent.getInternalId(), ""); switch (testEvent.getCorrectionStatus()) { case ORIGINAL: status = (DiagnosticReportStatus.FINAL); break; case CORRECTED: status = (DiagnosticReportStatus.CORRECTED); + id = testEvent.getTestOrder().getTestEvent().getInternalId().toString(); break; case REMOVED: status = (DiagnosticReportStatus.ENTEREDINERROR); + id = testEvent.getTestOrder().getTestEvent().getInternalId().toString(); break; } @@ -1241,12 +1244,7 @@ public DiagnosticReport convertToDiagnosticReport(TestEvent testEvent, Date curr dateIssued = ZonedDateTime.ofInstant(currentDate.toInstant(), ZoneOffset.UTC); return convertToDiagnosticReport( - status, - testOrderLoinc, - testOrderLoincLongName, - Objects.toString(testEvent.getInternalId(), ""), - dateTested, - dateIssued); + status, testOrderLoinc, testOrderLoincLongName, id, dateTested, dateIssued); } /** From af09e1ec9687ade33a87f1e696a5bac0eb56d922 Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Thu, 10 Oct 2024 11:45:06 -0400 Subject: [PATCH 2/3] Update tests for diagnostic report with prior test event --- .../simplereport/api/converter/FhirConverter.java | 4 ++-- .../api/converter/FhirConverterTest.java | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java b/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java index e1020493cd..ae055e433e 100644 --- a/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java +++ b/backend/src/main/java/gov/cdc/usds/simplereport/api/converter/FhirConverter.java @@ -1202,11 +1202,11 @@ public DiagnosticReport convertToDiagnosticReport(TestEvent testEvent, Date curr break; case CORRECTED: status = (DiagnosticReportStatus.CORRECTED); - id = testEvent.getTestOrder().getTestEvent().getInternalId().toString(); + id = testEvent.getPriorCorrectedTestEventId().toString(); break; case REMOVED: status = (DiagnosticReportStatus.ENTEREDINERROR); - id = testEvent.getTestOrder().getTestEvent().getInternalId().toString(); + id = testEvent.getPriorCorrectedTestEventId().toString(); break; } diff --git a/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java b/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java index ec4e2f7f72..588cf96a79 100644 --- a/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java +++ b/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java @@ -1367,24 +1367,33 @@ void convertToDiagnosticReport_TestEvent_valid() { @Test void convertToDiagnosticReport_TestEvent_correctedTestEvent() { - var invalidTestEvent = TestDataBuilder.createEmptyTestEvent(); + var invalidTestEvent = TestDataBuilder.createMultiplexTestEvent(); + var correctedTestEvent = new TestEvent(invalidTestEvent, TestCorrectionStatus.CORRECTED, "typo"); + String priorCorrectedTestEventId = "3c9c7370-e2e3-49ad-bb7a-f6005f41cf29"; + ReflectionTestUtils.setField(correctedTestEvent, "priorCorrectedTestEventId", UUID.fromString(priorCorrectedTestEventId)); + var actual = fhirConverter.convertToDiagnosticReport(correctedTestEvent, new Date()); assertThat(actual.getStatus()).isEqualTo(DiagnosticReportStatus.CORRECTED); + assertThat(actual.getId()).isEqualTo(correctedTestEvent.getPriorCorrectedTestEventId().toString()); } @Test void convertToDiagnosticReport_TestEvent_removedTestEvent() { - var invalidTestEvent = TestDataBuilder.createEmptyTestEvent(); + var invalidTestEvent = TestDataBuilder.createMultiplexTestEvent(); var correctedTestEvent = new TestEvent(invalidTestEvent, TestCorrectionStatus.REMOVED, "wrong person"); + String priorCorrectedTestEventId = "3c9c7370-e2e3-49ad-bb7a-f6005f41cf29"; + ReflectionTestUtils.setField(correctedTestEvent, "priorCorrectedTestEventId", UUID.fromString(priorCorrectedTestEventId)); + var actual = fhirConverter.convertToDiagnosticReport(correctedTestEvent, new Date()); assertThat(actual.getStatus()).isEqualTo(DiagnosticReportStatus.ENTEREDINERROR); + assertThat(actual.getId()).isEqualTo(correctedTestEvent.getPriorCorrectedTestEventId().toString()); } @Test From 58db9dd361ce76940ffa45e1c43307986a3656aa Mon Sep 17 00:00:00 2001 From: Mike Brown Date: Thu, 17 Oct 2024 11:59:34 -0400 Subject: [PATCH 3/3] Spotless apply --- .../api/converter/FhirConverterTest.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java b/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java index 588cf96a79..fb25255db0 100644 --- a/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java +++ b/backend/src/test/java/gov/cdc/usds/simplereport/api/converter/FhirConverterTest.java @@ -1373,12 +1373,16 @@ void convertToDiagnosticReport_TestEvent_correctedTestEvent() { new TestEvent(invalidTestEvent, TestCorrectionStatus.CORRECTED, "typo"); String priorCorrectedTestEventId = "3c9c7370-e2e3-49ad-bb7a-f6005f41cf29"; - ReflectionTestUtils.setField(correctedTestEvent, "priorCorrectedTestEventId", UUID.fromString(priorCorrectedTestEventId)); + ReflectionTestUtils.setField( + correctedTestEvent, + "priorCorrectedTestEventId", + UUID.fromString(priorCorrectedTestEventId)); var actual = fhirConverter.convertToDiagnosticReport(correctedTestEvent, new Date()); assertThat(actual.getStatus()).isEqualTo(DiagnosticReportStatus.CORRECTED); - assertThat(actual.getId()).isEqualTo(correctedTestEvent.getPriorCorrectedTestEventId().toString()); + assertThat(actual.getId()) + .isEqualTo(correctedTestEvent.getPriorCorrectedTestEventId().toString()); } @Test @@ -1388,12 +1392,16 @@ void convertToDiagnosticReport_TestEvent_removedTestEvent() { new TestEvent(invalidTestEvent, TestCorrectionStatus.REMOVED, "wrong person"); String priorCorrectedTestEventId = "3c9c7370-e2e3-49ad-bb7a-f6005f41cf29"; - ReflectionTestUtils.setField(correctedTestEvent, "priorCorrectedTestEventId", UUID.fromString(priorCorrectedTestEventId)); + ReflectionTestUtils.setField( + correctedTestEvent, + "priorCorrectedTestEventId", + UUID.fromString(priorCorrectedTestEventId)); var actual = fhirConverter.convertToDiagnosticReport(correctedTestEvent, new Date()); assertThat(actual.getStatus()).isEqualTo(DiagnosticReportStatus.ENTEREDINERROR); - assertThat(actual.getId()).isEqualTo(correctedTestEvent.getPriorCorrectedTestEventId().toString()); + assertThat(actual.getId()) + .isEqualTo(correctedTestEvent.getPriorCorrectedTestEventId().toString()); } @Test