4242@ ExtendWith (MockitoExtension .class )
4343@ MockitoSettings (strictness = Strictness .LENIENT )
4444public class EhrExtractMapperComponentTest {
45+
4546 private static final String TEST_FILE_DIRECTORY = "/ehr/request/fhir/" ;
4647 private static final String INPUT_DIRECTORY = "input/" ;
4748 private static final String OUTPUT_DIRECTORY = "output/" ;
@@ -52,29 +53,13 @@ public class EhrExtractMapperComponentTest {
5253 private static final String JSON_INPUT_FILE_WITH_NOPAT = "gpc-access-structured-with-nopat.json" ;
5354 private static final String DUPLICATE_RESOURCE_BUNDLE = INPUT_PATH + "duplicated-resource-bundle.json" ;
5455 private static final String ONE_CONSULTATION_RESOURCE_BUNDLE = INPUT_PATH + "1-consultation-resource.json" ;
55- private static final String FHIR_BUNDLE_WITHOUT_EFFECTIVE_TIME = "fhir-bundle-without-effective-time.json" ;
56- private static final String FHIR_BUNDLE_WITHOUT_HIGH_EFFECTIVE_TIME = "fhir-bundle-without-high-effective-time.json" ;
57- private static final String FHIR_BUNDLE_WITH_EFFECTIVE_TIME = "fhir-bundle-with-effective-time.json" ;
58-
59- private static final String FHIR_BUNDLE_WITH_WITH_OBSERVATIONS_BEFORE_DIAGNOSTIC_REPORT =
60- "fhir-bundle-observations-before-diagnostic-report.json" ;
61- private static final String FHIR_BUNDLE_WITH_WITH_OBSERVATIONS_AFTER_DIAGNOSTIC_REPORT =
62- "fhir-bundle-observations-after-diagnostic-report.json" ;
63- private static final String FHIR_BUNDLE_WITH_OBSERVATIONS_UNRELATED_TO_DIAGNOSTIC_REPORT =
64- "fhir-bundle-observations-unrelated-to-diagnostic-report.json" ;
65- private static final String FHIR_BUNDLE_WITH_OBSERVATIONS_WITH_RELATED_OBSERVATIONS =
66- "fhir-bundle-observations-with-related-observations.json" ;
56+ private static final String FHIR_BUNDLE_FOR_TEST = "TC07_A_B_C_RED_TPPtoEMIS_JSON.json" ;
6757
6858 private static final String EXPECTED_XML_FOR_ONE_CONSULTATION_RESOURCE = "ExpectedResponseFrom1ConsultationResponse.xml" ;
6959
60+ private static final String EXPECTED_XML_TO_JSON_TEST_FILE = "TC07_A_B_C_RED_TPPtoEMIS_JSON.xml" ;
7061 private static final String EXPECTED_XML_TO_JSON_FILE = "expected-ehr-extract-response-from-json.xml" ;
7162 private static final String EXPECTED_XML_TO_JSON_FILE_WITH_NOPAT = "expected-ehr-extract-response-from-json-with-nopat.xml" ;
72- private static final String EXPECTED_XML_WITHOUT_EFFECTIVE_TIME = "expected-xml-without-effective-time.xml" ;
73- private static final String EXPECTED_XML_WITHOUT_HIGH_EFFECTIVE_TIME = "expected-xml-without-high-effective-time.xml" ;
74- private static final String EXPECTED_XML_WITH_EFFECTIVE_TIME = "expected-xml-with-effective-time.xml" ;
75- private static final String EXPECTED_XML_WITH_OBSERVATIONS_INSIDE_REPORT = "expected-xml-with-observations-inside-report.xml" ;
76- private static final String EXPECTED_XML_WITH_STANDALONE_OBSERVATIONS = "expected-xml-with-standalone-observations.xml" ;
77- private static final String EXPECTED_XML_WITH_RELATED_OBSERVATIONS = "expected-xml-with-related-observations.xml" ;
7863
7964 private static final String TEST_ID_1 = "test-id-1" ;
8065 private static final String TEST_ID_2 = "test-id-2" ;
@@ -274,16 +259,34 @@ public void When_MappingProperJsonRequestBody_Expect_ProperXmlOutput(String inpu
274259 assertThat (output ).isEqualToIgnoringWhitespace (expectedJsonToXmlContent );
275260 }
276261
262+ @ ParameterizedTest
263+ @ MethodSource ("testDataWithDuplicatedMedicationRequestResources" )
264+ public void When_MappingProperJsonRequestBody_Expect_NonDuplicatedMedicationRequestRemainingResources (String input , String expected ) {
265+ String inputJsonFileContent = ResourceTestFileUtils .getFileContent (INPUT_PATH + input );
266+ Bundle bundle = new FhirParseService ().parseResource (inputJsonFileContent , Bundle .class );
267+ messageContext .initialize (bundle );
268+
269+ EhrExtractTemplateParameters ehrExtractTemplateParameters = ehrExtractMapper .mapBundleToEhrFhirExtractParams (
270+ getGpcStructuredTaskDefinition ,
271+ bundle );
272+
273+ assertThat (ehrExtractTemplateParameters .getComponents ()).hasSize (2 );
274+ }
275+
276+ private static Stream <Arguments > testDataWithDuplicatedMedicationRequestResources () {
277+ return Stream .of (Arguments .of (FHIR_BUNDLE_FOR_TEST , EXPECTED_XML_TO_JSON_TEST_FILE ));
278+ }
279+
277280 private static Stream <Arguments > testData () {
278281 return Stream .of (
279- Arguments .of (JSON_INPUT_FILE , EXPECTED_XML_TO_JSON_FILE ),
280- Arguments .of (FHIR_BUNDLE_WITHOUT_EFFECTIVE_TIME , EXPECTED_XML_WITHOUT_EFFECTIVE_TIME ),
282+ Arguments .of (JSON_INPUT_FILE , EXPECTED_XML_TO_JSON_FILE )// ,
283+ /* Arguments.of(FHIR_BUNDLE_WITHOUT_EFFECTIVE_TIME, EXPECTED_XML_WITHOUT_EFFECTIVE_TIME),
281284 Arguments.of(FHIR_BUNDLE_WITHOUT_HIGH_EFFECTIVE_TIME, EXPECTED_XML_WITHOUT_HIGH_EFFECTIVE_TIME),
282285 Arguments.of(FHIR_BUNDLE_WITH_EFFECTIVE_TIME, EXPECTED_XML_WITH_EFFECTIVE_TIME),
283286 Arguments.of(FHIR_BUNDLE_WITH_WITH_OBSERVATIONS_BEFORE_DIAGNOSTIC_REPORT, EXPECTED_XML_WITH_OBSERVATIONS_INSIDE_REPORT),
284287 Arguments.of(FHIR_BUNDLE_WITH_WITH_OBSERVATIONS_AFTER_DIAGNOSTIC_REPORT, EXPECTED_XML_WITH_OBSERVATIONS_INSIDE_REPORT),
285288 Arguments.of(FHIR_BUNDLE_WITH_OBSERVATIONS_UNRELATED_TO_DIAGNOSTIC_REPORT, EXPECTED_XML_WITH_STANDALONE_OBSERVATIONS),
286- Arguments .of (FHIR_BUNDLE_WITH_OBSERVATIONS_WITH_RELATED_OBSERVATIONS , EXPECTED_XML_WITH_RELATED_OBSERVATIONS )
289+ Arguments.of(FHIR_BUNDLE_WITH_OBSERVATIONS_WITH_RELATED_OBSERVATIONS, EXPECTED_XML_WITH_RELATED_OBSERVATIONS)*/
287290 );
288291 }
289292
0 commit comments