Pull request #195: RSS-204: Added new guideline mapping, fixed component names for scm
Merge in RED/redaction-report-service from RSS-204 to master * commit 'd83dd3b576a34a7f4843507083587e0b2e806c06': RSS-204: Added new guideline mapping, fixed component names for scm
This commit is contained in:
commit
09a084ff2a
@ -14,6 +14,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel;
|
||||
@ -40,8 +41,8 @@ public class RSSPoc2Service {
|
||||
public static final String EXPERIMENTAL_COMPLETION_DATE = "Experimental_Completion_Date";
|
||||
public static final String GLP_STUDY = "GLP_Study";
|
||||
public static final String CERTIFICATE_OF_ANALYSIS_BATCH_IDENTIFICATION = "Certificate_of_Analysis_Batch_Identification";
|
||||
public static final String TEST_GUIDELINE_1 = "Test_Guideline_1";
|
||||
public static final String TEST_GUIDELINE_2 = "Test_Guideline_2";
|
||||
public static final String TEST_GUIDELINE_1 = "Test_Guidelines_1";
|
||||
public static final String TEST_GUIDELINE_2 = "Test_Guidelines_2";
|
||||
public static final String STUDY_CONCLUSION = "Study_Conclusion";
|
||||
public static final String DEVIATION_FROM_THE_GUIDELINE_SENTENCE = "Deviation_from_the_Guideline_";
|
||||
public static final String SPECIES = "Species";
|
||||
@ -51,8 +52,8 @@ public class RSSPoc2Service {
|
||||
public static final String CONCLUSION_MINIMUM_CONFIDENCE = "Conclusion_Minimum_Confidence";
|
||||
public static final String CONCLUSION_MAXIMUM_CONFIDENCE = "Conclusion_Maximum_Confidence";
|
||||
public static final String NECROPSY_FINDINGS = "Necropsy_Findings";
|
||||
public static final String NECROPSY_FINDINGS_SENTENCE = "Necropsy_findings_";
|
||||
public static final String CONDUCTED_WITHIN_4_HOURS_OF_EXPOSURE = "Conducted_within_4_Hours_of_Exposure";
|
||||
public static final String NECROPSY_FINDINGS_SENTENCE = "Necropsy_Findings_";
|
||||
public static final String CONDUCTED_WITHIN_4_HOURS_OF_EXPOSURE = "Conducted_with_4_Hours_of_Exposure";
|
||||
public static final String STUDY_DESIGN = "Study_Design";
|
||||
public static final String RESULTS_AND_CONCLUSIONS = "Results_and_Conclusions";
|
||||
public static final String WEIGHT_BEHAVIOR_CHANGES_SENTENCE = "Weight_Behavior_Changes_";
|
||||
@ -75,44 +76,42 @@ public class RSSPoc2Service {
|
||||
private final RedactionLogClient redactionLogClient;
|
||||
private final FileStatusClient statusClient;
|
||||
|
||||
private final Map<String, Set<String>> guidelineMapping = new HashMap<>();
|
||||
private final Map<Pair, String> guidelineMapping = new HashMap<>();
|
||||
private final FileAttributesConfigClient fileAttributesClient;
|
||||
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
|
||||
guidelineMapping.put("Nº 425: Acute oral Toxicity - Up-and-Down Procedure (03/10/2008)", Set.of("OECD 425 (2008)", "OECD No. 425 (2008)"));
|
||||
guidelineMapping.put("Nº 425: Acute oral Toxicity - Up-and-Down Procedure (17/12/2001)", Set.of("OECD 425 (2001)", "OECD No. 425 (2001)"));
|
||||
guidelineMapping.put("Nº 402: Acute Dermal Toxicity (09/10/2017)", Set.of("OECD 402 (2017)", "OECD No. 402 (2017)"));
|
||||
guidelineMapping.put("Nº 402: Acute Dermal Toxicity (24/02/1987)", Set.of("OECD 402 (1987)", "OECD No. 402 (1987)"));
|
||||
guidelineMapping.put("Nº 403: Acute Inhalation Toxicity (08/09/2009)", Set.of("OECD 403 (2009)", "OECD No. 403 (2009)"));
|
||||
guidelineMapping.put("Nº 403: Acute Inhalation Toxicity (12/05/1981)", Set.of("OECD 403 (1981)", "OECD No. 403 (1981)"));
|
||||
guidelineMapping.put("Nº 433: Acute Inhalation Toxicity: Fixed Concentration Procedure (27/06/2018)", Set.of("OECD 433 (2018)", "OECD No. 433 (2018)"));
|
||||
guidelineMapping.put("Nº 433: Acute Inhalation Toxicity: Fixed Concentration Procedure (09/10/2017)", Set.of("OECD 433 (2017)", "OECD No. 433 (2017)"));
|
||||
guidelineMapping.put("Nº 436: Acute Inhalation Toxicity – Acute Toxic Class Method (08/09/2009)", Set.of("OECD 436 (2009)", "OECD No. 436 (2009)"));
|
||||
guidelineMapping.put("Nº 404: Acute Dermal Irritation/Corrosion (12/05/1981)", Set.of("OECD 404 (1981)", "OECD No. 404 (1981)"));
|
||||
guidelineMapping.put("Nº 404: Acute Dermal Irritation/Corrosion (17/07/1992)", Set.of("OECD 404 (1992)", "OECD No. 404 (1992)"));
|
||||
guidelineMapping.put("Nº 404: Acute Dermal Irritation/Corrosion (24/04/2002)", Set.of("OECD 404 (2002)", "OECD No. 404 (2002)"));
|
||||
guidelineMapping.put("Nº 404: Acute Dermal Irritation/Corrosion (28/07/2015)", Set.of("OECD 405 (2017)", "OECD No. 405 (2017)"));
|
||||
guidelineMapping.put("Nº 405: Acute Eye Irritation/Corrosion (09/10/2017)", Set.of("OECD 405 (2017)", "OECD No. 405 (2017)"));
|
||||
guidelineMapping.put("Nº 405: Acute Eye Irritation/Corrosion (02/10/2012)", Set.of("OECD 405 (2012)", "OECD No. 405 (2012)"));
|
||||
guidelineMapping.put("Nº 405: Acute Eye Irritation/Corrosion (24/04/2002)", Set.of("OECD 405 (2002)", "OECD No. 405 (2002)"));
|
||||
guidelineMapping.put("Nº 405: Acute Eye Irritation/Corrosion (24/02/1987)", Set.of("OECD 405 (1987)", "OECD No. 405 (1987)"));
|
||||
guidelineMapping.put("Nº 429: Skin Sensitisation: Local Lymph Node Assay (24/04/2002)", Set.of("OECD 429 (2002)", "OECD No. 429 (2002)"));
|
||||
guidelineMapping.put("Nº 429: Skin Sensitisation (23/07/2010)", Set.of("OECD 429 (2010)", "OECD No. 429 (2010)"));
|
||||
guidelineMapping.put("Nº 442A: Skin Sensitization (23/07/2018)", Set.of("ÖECD 442A (2018)", "ÖECD No. 442A (2018)"));
|
||||
guidelineMapping.put("Nº 442B: Skin Sensitization (27/06/2018)", Set.of("ÖECD 442B (2018)", "ÖECD No. 442B (2018)"));
|
||||
guidelineMapping.put("Nº 471: Bacterial Reverse Mutation Test (21/07/1997)", Set.of("OECD 471 (1997)", "OECD No. 471 (1997)"));
|
||||
guidelineMapping.put("Nº 471: Bacterial Reverse Mutation Test (26/06/2020)", Set.of("OECD 471 (2020)", "OECD No. 471 (2020)"));
|
||||
|
||||
guidelineMapping.put("Nº 406: Skin Sensitisation (1992)", Set.of("OECD 406 (1992)", "OECD No. 406 (1992)"));
|
||||
guidelineMapping.put("Nº 428: Split-Thickness Skin test (2004)", Set.of("OECD 428 (2004)", "OECD No. 428 (2004)"));
|
||||
guidelineMapping.put("Nº 438: Eye Irritation (26/06/2018)", Set.of("OECD 438 (2018)", "OECD No. 438 (2018)"));
|
||||
guidelineMapping.put("Nº 439: Skin Irritation (2019)", Set.of("OECD 439 (2019)", "OECD No. 439 (2019)"));
|
||||
guidelineMapping.put("Nº 474: Micronucleus Bone Marrow Cells Rat (2016)", Set.of("OECD 474 (2016)", "OECD No. 474 (2016)"));
|
||||
guidelineMapping.put("Nº 487: Micronucleus Human Lymphocytes (2016)", Set.of("OECD 487 (2016)", "OECD No. 487 (2016)"));
|
||||
|
||||
guidelineMapping.put(Pair.of("425", "2008"), "Nº 425: Acute oral Toxicity - Up-and-Down Procedure (03/10/2008)");
|
||||
guidelineMapping.put(Pair.of("425", "2001"), "Nº 425: Acute oral Toxicity - Up-and-Down Procedure (17/12/2001)");
|
||||
guidelineMapping.put(Pair.of("402", "2017"), "Nº 402: Acute Dermal Toxicity (09/10/2017)");
|
||||
guidelineMapping.put(Pair.of("402", "1987"), "Nº 402: Acute Dermal Toxicity (24/02/1987)");
|
||||
guidelineMapping.put(Pair.of("403", "2009"), "Nº 403: Acute Inhalation Toxicity (08/09/2009)");
|
||||
guidelineMapping.put(Pair.of("403", "1981"), "Nº 403: Acute Inhalation Toxicity (12/05/1981)");
|
||||
guidelineMapping.put(Pair.of("433", "2018"), "Nº 433: Acute Inhalation Toxicity: Fixed Concentration Procedure (27/06/2018)");
|
||||
guidelineMapping.put(Pair.of("433", "2017"), "Nº 433: Acute Inhalation Toxicity: Fixed Concentration Procedure (09/10/2017)");
|
||||
guidelineMapping.put(Pair.of("436", "2009"), "Nº 436: Acute Inhalation Toxicity – Acute Toxic Class Method (08/09/2009)");
|
||||
guidelineMapping.put(Pair.of("404", "1981"), "Nº 404: Acute Dermal Irritation/Corrosion (12/05/1981)");
|
||||
guidelineMapping.put(Pair.of("404", "1992"), "Nº 404: Acute Dermal Irritation/Corrosion (17/07/1992)");
|
||||
guidelineMapping.put(Pair.of("404", "2002"), "Nº 404: Acute Dermal Irritation/Corrosion (24/04/2002)");
|
||||
guidelineMapping.put(Pair.of("404", "2015"), "Nº 404: Acute Dermal Irritation/Corrosion (28/07/2015)");
|
||||
guidelineMapping.put(Pair.of("405", "2017"), "Nº 405: Acute Eye Irritation/Corrosion (09/10/2017)");
|
||||
guidelineMapping.put(Pair.of("405", "2012"), "Nº 405: Acute Eye Irritation/Corrosion (02/10/2012)");
|
||||
guidelineMapping.put(Pair.of("405", "2002"), "Nº 405: Acute Eye Irritation/Corrosion (24/04/2002)");
|
||||
guidelineMapping.put(Pair.of("405", "1987"), "Nº 405: Acute Eye Irritation/Corrosion (24/02/1987)");
|
||||
guidelineMapping.put(Pair.of("429", "2002"), "Nº 429: Skin Sensitisation: Local Lymph Node Assay (24/04/2002)");
|
||||
guidelineMapping.put(Pair.of("429", "2010"), "Nº 429: Skin Sensitisation (23/07/2010)");
|
||||
guidelineMapping.put(Pair.of("442A", "2018"), "Nº 442A: Skin Sensitization (23/07/2018)");
|
||||
guidelineMapping.put(Pair.of("442B", "2018"), "Nº 442B: Skin Sensitization (27/06/2018)");
|
||||
guidelineMapping.put(Pair.of("471", "1997"), "Nº 471: Bacterial Reverse Mutation Test (21/07/1997)");
|
||||
guidelineMapping.put(Pair.of("471", "2020"), "Nº 471: Bacterial Reverse Mutation Test (26/06/2020)");
|
||||
guidelineMapping.put(Pair.of("406", "1992"), "Nº 406: Skin Sensitisation (1992)");
|
||||
guidelineMapping.put(Pair.of("428", "2004"), "Nº 428: Split-Thickness Skin test (2004)");
|
||||
guidelineMapping.put(Pair.of("438", "2018"), "Nº 438: Eye Irritation (26/06/2018)");
|
||||
guidelineMapping.put(Pair.of("439", "2019"), "Nº 439: Skin Irritation (2019)");
|
||||
guidelineMapping.put(Pair.of("474", "2016"), "Nº 474: Micronucleus Bone Marrow Cells Rat (2016)");
|
||||
guidelineMapping.put(Pair.of("487", "2016"), "Nº 487: Micronucleus Human Lymphocytes (2016)");
|
||||
}
|
||||
|
||||
|
||||
@ -811,13 +810,19 @@ public class RSSPoc2Service {
|
||||
|
||||
private String getTestGuideline1(RedactionLog redactionLog) {
|
||||
|
||||
var guideline = redactionLog.getRedactionLogEntry().stream().filter(r -> r.getType().equals("oecd_guideline")).map(RedactionLogEntry::getValue).findFirst();
|
||||
var guidelineNumber = redactionLog.getRedactionLogEntry().stream().filter(r -> r.getType().equals("oecd_guideline_number")).map(RedactionLogEntry::getValue).findFirst();
|
||||
var guidelineYear = redactionLog.getRedactionLogEntry().stream().filter(r -> r.getType().equals("oecd_guideline_year")).map(RedactionLogEntry::getValue).findFirst();
|
||||
|
||||
if (guideline.isPresent()) {
|
||||
return mapGuideline(guideline.get());
|
||||
if(guidelineNumber.isPresent() && guidelineYear.isPresent()){
|
||||
var guidelinePair = Pair.of(guidelineNumber.get(), guidelineYear.get());
|
||||
if(guidelineMapping.containsKey(guidelinePair)){
|
||||
return guidelineMapping.get(guidelinePair);
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
var guideline = redactionLog.getRedactionLogEntry().stream().filter(r -> r.getType().equals("oecd_guideline")).map(RedactionLogEntry::getValue).findFirst();
|
||||
|
||||
return guideline.orElse("");
|
||||
}
|
||||
|
||||
|
||||
@ -848,16 +853,6 @@ public class RSSPoc2Service {
|
||||
}
|
||||
|
||||
|
||||
private String mapGuideline(String guideline) {
|
||||
|
||||
for (Map.Entry<String, Set<String>> entry : guidelineMapping.entrySet()) {
|
||||
if (entry.getValue().contains(guideline)) {
|
||||
return entry.getKey();
|
||||
}
|
||||
}
|
||||
return "No mapping found for: " + guideline;
|
||||
}
|
||||
|
||||
|
||||
private void sortRedactionLog(RedactionLog redactionLog) {
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user