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