From d7b60e7a7a3aa39efd4222bddb9c4e6f0fdfe2b8 Mon Sep 17 00:00:00 2001 From: dert1129 Date: Mon, 4 Nov 2024 13:00:20 -0500 Subject: [PATCH] add clinical information with endpoint --- .../RepositoryDatasetDisplay.java | 207 ++++++++++++++++-- .../RepositoryDatasetService.java | 2 +- .../RepositoryFileDataset.java | 122 ++++++++++- .../resources/knowledge_environment.graphqls | 15 +- src/test/java/org/kpmp/QueryTest.java | 14 +- .../RepositoryDatasetDisplayTest.java | 87 +++++++- .../RepositoryFileDatasetTest.java | 72 +++++- 7 files changed, 487 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplay.java b/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplay.java index bca8077..5d1687a 100644 --- a/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplay.java +++ b/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplay.java @@ -10,7 +10,7 @@ public class RepositoryDatasetDisplay { private String dlFileId; private Set redcapId; private Set sampleType; - private Set tissueType; + private Set enrollmentCategory; private Set ageBinned; private Set sex; private Set doi; @@ -28,12 +28,24 @@ public class RepositoryDatasetDisplay { private String fileName; private String packageId; private String fileNameSort; + private String primaryAdjudicatedCat; + private String kdigoStage; + private String baselineEgfr; + private String proteinuria; + private String a1c; + private String albuminuria; + private String diabetesDuration; + private String diabetesHistory; + private String hypertensionHistory; + private String hypertensionDuration; + private String race; + private String onRaasBlockade; public RepositoryDatasetDisplay(RepositoryFileDataset repositoryFile) { dlFileId = repositoryFile.getId().getDlFileId(); redcapId = new HashSet(); sampleType = new HashSet(); - tissueType = new HashSet(); + enrollmentCategory = new HashSet(); ageBinned = new HashSet(); sex = new HashSet(); doi = new TreeSet(); @@ -45,8 +57,8 @@ public RepositoryDatasetDisplay(RepositoryFileDataset repositoryFile) { if (shouldAdd(repositoryFile.getSampleType())) { sampleType.add(repositoryFile.getSampleType()); } - if (shouldAdd(repositoryFile.getTissueType())) { - tissueType.add(repositoryFile.getTissueType()); + if (shouldAdd(repositoryFile.getenrollmentCategory())) { + enrollmentCategory.add(repositoryFile.getenrollmentCategory()); } if(shouldAdd(repositoryFile.getAgeBinned())){ ageBinned.add(repositoryFile.getAgeBinned()); @@ -77,6 +89,19 @@ public RepositoryDatasetDisplay(RepositoryFileDataset repositoryFile) { fileSize = repositoryFile.getFileSize(); fileName = repositoryFile.getFileName(); packageId = repositoryFile.getPackageId(); + primaryAdjudicatedCat = repositoryFile.getPrimaryAdjudicatedCat(); + kdigoStage = repositoryFile.getKdigoStage(); + baselineEgfr = repositoryFile.getBaselineEgfr(); + proteinuria = repositoryFile.getProteinuria(); + a1c = repositoryFile.getA1c(); + albuminuria = repositoryFile.getAlbuminuria(); + diabetesDuration = repositoryFile.getDiabetesDuration(); + diabetesHistory = repositoryFile.getDiabetesHistory(); + hypertensionDuration = repositoryFile.getHypertensionDuration(); + hypertensionHistory = repositoryFile.getHypertensionHistory(); + race = repositoryFile.getRace(); + onRaasBlockade = repositoryFile.getOnRaasBlockade(); + } @JsonProperty("file_id") @@ -133,24 +158,24 @@ public void setSampleType(Set sampleType) { this.sampleType = sampleType; } - public void addTissueType(String tissueType) { - if(tissueType != null && !tissueType.isEmpty()){ - this.tissueType.add(tissueType); + public void addenrollmentCategory(String enrollmentCategory) { + if(enrollmentCategory != null && !enrollmentCategory.isEmpty()){ + this.enrollmentCategory.add(enrollmentCategory); } } - @JsonProperty("tissue_type") - public Set getTissueType() { - if(tissueType.isEmpty()){ + @JsonProperty("enrollment_category") + public Set getenrollmentCategory() { + if(enrollmentCategory.isEmpty()){ return null; }else{ - return this.tissueType; + return this.enrollmentCategory; } } - public void setTissueType(Set tissueType) { - this.tissueType = tissueType; + public void setenrollmentCategory(Set enrollmentCategory) { + this.enrollmentCategory = enrollmentCategory; } public void addAgeBinned(String ageBinned) { @@ -463,4 +488,160 @@ private boolean shouldAdd(String value) { return true; } + @JsonProperty("primary_adjudicated_category") + public String getPrimaryAdjudicatedCategory() { + if(this.primaryAdjudicatedCat == null || this.primaryAdjudicatedCat.isEmpty() ){ + return null; + }else{ + return this.primaryAdjudicatedCat; + } + } + + public void setPrimaryAdjudicatedCat(String primaryAdjudicatedCat) { + this.primaryAdjudicatedCat = primaryAdjudicatedCat; + } + + @JsonProperty("kdigo_stage") + public String getKdigoStage() { + if(this.kdigoStage == null || this.kdigoStage.isEmpty()){ + return null; + }else{ + return this.kdigoStage; + } + } + + public void setKdigoStage(String kdigoStage) { + this.kdigoStage = kdigoStage; + } + + @JsonProperty("baseline_egfr") + public String getBaselineEgfr() { + if(this.baselineEgfr == null || this.baselineEgfr.isEmpty()){ + return null; + }else{ + return this.baselineEgfr; + } + } + + public void setBaselineEgfr(String baselineEgfr) { + this.baselineEgfr = baselineEgfr; + } + + @JsonProperty("proteinuria") + public String getProteinuria() { + if(this.proteinuria == null || this.proteinuria.isEmpty()){ + return null; + }else{ + return this.proteinuria; + } + } + + public void setProteinuria(String proteinuria) { + this.proteinuria = proteinuria; + } + + @JsonProperty("a1c") + public String getA1c() { + if(this.a1c == null || this.a1c.isEmpty()){ + return null; + }else{ + return this.a1c; + } + } + + public void setA1c(String a1c) { + this.a1c = a1c; + } + + @JsonProperty("albuminuria") + public String getAlbuminuria() { + if(this.albuminuria == null || this.albuminuria.isEmpty()){ + return null; + }else{ + return this.albuminuria; + } + } + + public void setAlbuminuria(String albuminuria) { + this.albuminuria = albuminuria; + } + + @JsonProperty("diabetes_duration") + public String getDiabetesDuration() { + if(this.diabetesDuration == null || this.diabetesDuration.isEmpty()){ + return null; + }else{ + return this.diabetesDuration; + } + } + + public void setDiabetesDuration(String diabetesDuration) { + this.diabetesDuration = diabetesDuration; + } + + @JsonProperty("diabetes_history") + public String getDiabetesHistory() { + if(this.diabetesHistory == null || this.diabetesHistory.isEmpty()){ + return null; + }else{ + return this.diabetesHistory; + } + } + + public void setDiabetesHistory(String diabetesHistory) { + this.diabetesHistory = diabetesHistory; + } + + @JsonProperty("hypertension_history") + public String getHypertensionHistory() { + if(this.hypertensionHistory == null || this.hypertensionHistory.isEmpty()){ + return null; + }else{ + return this.hypertensionHistory; + } + } + + public void setHypertensionHistory(String hypertensionHistory) { + this.hypertensionHistory = hypertensionHistory; + } + + @JsonProperty("hypertension_duration") + public String getHypertensionDuration() { + if(this.hypertensionDuration == null || this.hypertensionDuration.isEmpty()){ + return null; + }else{ + return this.hypertensionDuration; + } + } + + public void setHypertensionDuration(String hypertensionDuration) { + this.hypertensionDuration = hypertensionDuration; + } + + @JsonProperty("ethnicity") + public String getRace() { + if(this.race == null || this.race.isEmpty()){ + return null; + }else{ + return this.race; + } + } + + public void setRace(String race) { + this.race = race; + } + + @JsonProperty("on_raas_blockade") + public String getOnRaasBlockade() { + if(this.onRaasBlockade == null || this.onRaasBlockade.isEmpty()){ + return null; + }else{ + return this.onRaasBlockade; + } + } + + public void setOnRaasBlockade(String onRaasBlockade) { + this.onRaasBlockade = onRaasBlockade; + } + } \ No newline at end of file diff --git a/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetService.java b/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetService.java index faaef86..d574f98 100644 --- a/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetService.java +++ b/src/main/java/org/kpmp/repositoryDataset/RepositoryDatasetService.java @@ -72,7 +72,7 @@ public List getRepositoryDataset() throws Exception { displayFile.addAgeBinned(repositoryDataset.getAgeBinned()); displayFile.addRedCapId(repositoryDataset.getId().getRedcapId()); displayFile.addSampleType(repositoryDataset.getSampleType()); - displayFile.addTissueType(repositoryDataset.getTissueType()); + displayFile.addenrollmentCategory(repositoryDataset.getenrollmentCategory()); displayFile.addSex(repositoryDataset.getSex()); displayFile.addProtocol(repositoryDataset.getProtocol()); displayFile.addTissueSource(repositoryDataset.getTissueSource()); diff --git a/src/main/java/org/kpmp/repositoryDataset/RepositoryFileDataset.java b/src/main/java/org/kpmp/repositoryDataset/RepositoryFileDataset.java index f3f36de..299038a 100644 --- a/src/main/java/org/kpmp/repositoryDataset/RepositoryFileDataset.java +++ b/src/main/java/org/kpmp/repositoryDataset/RepositoryFileDataset.java @@ -9,7 +9,7 @@ public class RepositoryFileDataset { @EmbeddedId private RepositoryFileDatasetId id; private String sampleType; - private String tissueType; + private String enrollmentCategory; private String ageBinned; private String sex; private String access; @@ -24,6 +24,20 @@ public class RepositoryFileDataset { private String packageId; private String tissueSource; private Double releaseVersion; + @Column(name = "primary_adjudicated_cat") + private String primaryAdjudicatedCat; + private String kdigoStage; + private String baselineEgfr; + private String proteinuria; + private String a1c; + private String albuminuria; + private String diabetesHistory; + private String diabetesDuration; + private String hypertensionHistory; + private String hypertensionDuration; + private String onRaasBlockade; + private String race; + public RepositoryFileDatasetId getId() { return this.id; @@ -41,12 +55,12 @@ public void setSampleType(String sampleType) { this.sampleType = sampleType; } - public String getTissueType() { - return tissueType; + public String getenrollmentCategory() { + return enrollmentCategory; } - public void setTissueType(String tissueType) { - this.tissueType = tissueType; + public void setenrollmentCategory(String enrollmentCategory) { + this.enrollmentCategory = enrollmentCategory; } @Nullable @@ -139,6 +153,102 @@ public void setProtocol(String protocol) { this.protocol = protocol; } + public String getPrimaryAdjudicatedCat() { + return this.primaryAdjudicatedCat; + } + + public void setPrimaryAdjudicatedCat(String primaryAdjudicatedCat) { + this.primaryAdjudicatedCat = primaryAdjudicatedCat; + } + + public String getKdigoStage() { + return this.kdigoStage; + } + + public void setKdigoStage(String kdigoStage) { + this.kdigoStage = kdigoStage; + } + + public String getBaselineEgfr() { + return this.baselineEgfr; + } + + public void setBaselineEgfr(String baselineEgfr) { + this.baselineEgfr = baselineEgfr; + } + + public String getProteinuria() { + return this.proteinuria; + } + + public void setProteinuria(String proteinuria) { + this.proteinuria = proteinuria; + } + + public String getA1c() { + return this.a1c; + } + + public void setA1c(String a1c) { + this.a1c = a1c; + } + + public String getAlbuminuria() { + return this.albuminuria; + } + + public void setAlbuminuria(String albuminuria) { + this.albuminuria = albuminuria; + } + + public String getDiabetesHistory() { + return this.diabetesHistory; + } + + public void setDiabetesHistory(String diabetesHistory) { + this.diabetesHistory = diabetesHistory; + } + + public String getDiabetesDuration() { + return this.diabetesDuration; + } + + public void setDiabetesDuration(String diabetesDuration) { + this.diabetesDuration = diabetesDuration; + } + + public String getHypertensionHistory() { + return this.hypertensionHistory; + } + + public void setHypertensionHistory(String hypertensionHistory) { + this.hypertensionHistory = hypertensionHistory; + } + + public String getHypertensionDuration() { + return this.hypertensionDuration; + } + + public void setHypertensionDuration(String hypertensionDuration) { + this.hypertensionDuration = hypertensionDuration; + } + + public String getOnRaasBlockade() { + return this.onRaasBlockade; + } + + public void setOnRaasBlockade(String onRaasBlockade) { + this.onRaasBlockade = onRaasBlockade; + } + + public String getRace() { + return race; + } + + public void setRace(String race) { + this.race = race; + } + public String getPackageId() { return packageId; } @@ -163,4 +273,6 @@ public void setReleaseVersion(Double releaseVersion) { this.releaseVersion = releaseVersion; } + + } diff --git a/src/main/resources/knowledge_environment.graphqls b/src/main/resources/knowledge_environment.graphqls index cb3c8b8..cbedb66 100755 --- a/src/main/resources/knowledge_environment.graphqls +++ b/src/main/resources/knowledge_environment.graphqls @@ -6,7 +6,7 @@ type RepositoryDatasetDisplay { dlFileId: String redcapId: [String] sampleType: [String] - tissueType: [String] + enrollmentCategory: [String] ageBinned: [String] sex: [String] doi: [String] @@ -26,4 +26,17 @@ type RepositoryDatasetDisplay { fileNameSort: String participantIdSort: String platformSort: String + primaryAdjudicatedCategory: String + kdigoStage: String + baselineEgfr: String + proteinuria: String + a1c: String + albuminuria: String + diabetesDuration: String + diabetesHistory: String + hypertensionDuration: String + hypertensionHistory: String + race: String + onRaasBlockade: String + } \ No newline at end of file diff --git a/src/test/java/org/kpmp/QueryTest.java b/src/test/java/org/kpmp/QueryTest.java index 9f107e7..a07e08d 100644 --- a/src/test/java/org/kpmp/QueryTest.java +++ b/src/test/java/org/kpmp/QueryTest.java @@ -54,9 +54,21 @@ public void testGetRepositoryDataset() throws Exception { repositoryFileDataset.setSampleType("SampleType"); repositoryFileDataset.setSex("Male"); repositoryFileDataset.setTissueSource("Kidneys"); - repositoryFileDataset.setTissueType("organic"); + repositoryFileDataset.setenrollmentCategory("organic"); repositoryFileDataset.setWorkflowType("workflowType"); repositoryFileDatasetId.setDlFileId("dlFileId"); + repositoryFileDataset.setPrimaryAdjudicatedCat("primaryAdjudicatedCategory"); + repositoryFileDataset.setKdigoStage("kdigoStage"); + repositoryFileDataset.setBaselineEgfr("baselineEgfr"); + repositoryFileDataset.setProteinuria("proteinuria"); + repositoryFileDataset.setA1c("a1c"); + repositoryFileDataset.setAlbuminuria("albuminuria"); + repositoryFileDataset.setDiabetesDuration("diabetesDuration"); + repositoryFileDataset.setDiabetesHistory("diabetesHistory"); + repositoryFileDataset.setHypertensionDuration("hypertensionDuration"); + repositoryFileDataset.setHypertensionHistory("hypertensionHistory"); + repositoryFileDataset.setRace("race"); + repositoryFileDataset.setOnRaasBlockade("onRaasBlockade"); repositoryFileDataset.setId(repositoryFileDatasetId); List expectedResult = Arrays.asList(new RepositoryDatasetDisplay(repositoryFileDataset)); diff --git a/src/test/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplayTest.java b/src/test/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplayTest.java index bf52f0e..5cc9a13 100644 --- a/src/test/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplayTest.java +++ b/src/test/java/org/kpmp/repositoryDataset/RepositoryDatasetDisplayTest.java @@ -82,20 +82,20 @@ public void setSampleType() { } @Test - public void testAddTissueType() { + public void testAddenrollmentCategory() { RepositoryDatasetDisplay repositoryDatasetDisplay = new RepositoryDatasetDisplay(repositoryFile); - repositoryDatasetDisplay.addTissueType("tissue_type"); + repositoryDatasetDisplay.addenrollmentCategory("enrollment_category"); - assertEquals(1, repositoryDatasetDisplay.getTissueType().size()); - assertEquals(true, repositoryDatasetDisplay.getTissueType().contains("tissue_type")); + assertEquals(1, repositoryDatasetDisplay.getenrollmentCategory().size()); + assertEquals(true, repositoryDatasetDisplay.getenrollmentCategory().contains("enrollment_category")); } @Test - public void setTissueType() { - Set expected = new HashSet(Arrays.asList("tissue_type")); - repositoryDatasetDisplay.setTissueType(expected); - Set actual = repositoryDatasetDisplay.getTissueType(); + public void setenrollmentCategory() { + Set expected = new HashSet(Arrays.asList("enrollment_category")); + repositoryDatasetDisplay.setenrollmentCategory(expected); + Set actual = repositoryDatasetDisplay.getenrollmentCategory(); assertEquals(expected, actual); } @@ -299,5 +299,76 @@ public void setPlatformSort(){ repositoryDatasetDisplay.setPlatform("platform"); assertEquals("platform", repositoryDatasetDisplay.getPlatformSort()); } + + @Test + public void setKdigoStage(){ + repositoryDatasetDisplay.setKdigoStage("stage 1"); + assertEquals("stage 1", repositoryDatasetDisplay.getKdigoStage()); + } + + @Test + public void setPrimaryAdjudicatedCat(){ + repositoryDatasetDisplay.setPrimaryAdjudicatedCat("blah"); + assertEquals("blah", repositoryDatasetDisplay.getPrimaryAdjudicatedCategory()); + } + + @Test + public void setBaselineEgfr() { + repositoryDatasetDisplay.setBaselineEgfr("asd"); + assertEquals("asd", repositoryDatasetDisplay.getBaselineEgfr()); + } + + @Test + public void setProteinuria() { + repositoryDatasetDisplay.setProteinuria("123"); + assertEquals("123", repositoryDatasetDisplay.getProteinuria()); + } + + @Test + public void setA1c() { + repositoryDatasetDisplay.setA1c("humbug"); + assertEquals("humbug", repositoryDatasetDisplay.getA1c()); + } + + @Test + public void setAlbuminuria() { + repositoryDatasetDisplay.setAlbuminuria("albuminuria"); + assertEquals("albuminuria", repositoryDatasetDisplay.getAlbuminuria()); + } + + @Test + public void setDiabetesDuration() { + repositoryDatasetDisplay.setDiabetesDuration("1 century"); + assertEquals("1 century", repositoryDatasetDisplay.getDiabetesDuration()); + } + + @Test + public void setDiabetesHistory() { + repositoryDatasetDisplay.setDiabetesHistory("no"); + assertEquals("no", repositoryDatasetDisplay.getDiabetesHistory()); + } + + @Test + public void setHypertensionDuration() { + repositoryDatasetDisplay.setHypertensionDuration("123"); + assertEquals("123", repositoryDatasetDisplay.getHypertensionDuration()); + } + + @Test + public void setHypertensionHistory() { + repositoryDatasetDisplay.setHypertensionHistory("yes"); + assertEquals("yes", repositoryDatasetDisplay.getHypertensionHistory()); + } + + @Test + public void setRace() { + repositoryDatasetDisplay.setRace("race"); + assertEquals("race", repositoryDatasetDisplay.getRace()); + } + + public void setOnRaasBlockade() { + repositoryDatasetDisplay.setOnRaasBlockade("no"); + assertEquals("no", repositoryDatasetDisplay.getOnRaasBlockade()); + } } \ No newline at end of file diff --git a/src/test/java/org/kpmp/repositoryDataset/RepositoryFileDatasetTest.java b/src/test/java/org/kpmp/repositoryDataset/RepositoryFileDatasetTest.java index 36d81eb..82c9173 100644 --- a/src/test/java/org/kpmp/repositoryDataset/RepositoryFileDatasetTest.java +++ b/src/test/java/org/kpmp/repositoryDataset/RepositoryFileDatasetTest.java @@ -27,9 +27,9 @@ public void setSampleType() { } @Test - public void setTissueType() { - repositoryDataset.setTissueType("ttype"); - assertEquals("ttype", repositoryDataset.getTissueType()); + public void setenrollmentCategory() { + repositoryDataset.setenrollmentCategory("ttype"); + assertEquals("ttype", repositoryDataset.getenrollmentCategory()); } @Test @@ -111,4 +111,70 @@ public void setReleaseVersion() { assertEquals(45.0, repositoryDataset.getReleaseVersion()); } + @Test + public void setPrimaryAdjudicatedCat() { + repositoryDataset.setPrimaryAdjudicatedCat("blah"); + assertEquals("blah" ,repositoryDataset.getPrimaryAdjudicatedCat()); + } + + @Test + public void setKdigoStage() { + repositoryDataset.setKdigoStage("stage 11"); + assertEquals("stage 11", repositoryDataset.getKdigoStage()); + } + + @Test + public void setBaselineEgfr() { + repositoryDataset.setBaselineEgfr("13"); + assertEquals("13", repositoryDataset.getBaselineEgfr()); + } + + @Test + public void setProteinuria() { + repositoryDataset.setProteinuria("1234"); + assertEquals("1234", repositoryDataset.getProteinuria()); + } + + @Test + public void setA1c() { + repositoryDataset.setA1c("90%"); + assertEquals("90%", repositoryDataset.getA1c()); + } + + @Test + public void setAlbuminuria() { + repositoryDataset.setAlbuminuria("yup"); + assertEquals("yup", repositoryDataset.getAlbuminuria()); + } + + @Test + public void setDiabetesDuration(){ + repositoryDataset.setDiabetesDuration("1 years"); + assertEquals("1 years", repositoryDataset.getDiabetesDuration()); + } + + @Test + public void setDiabetesHistory() { + repositoryDataset.setDiabetesHistory("no"); + assertEquals("no", repositoryDataset.getDiabetesHistory()); + } + + @Test + public void setHypertensionDuration() { + repositoryDataset.setHypertensionDuration("1 years"); + assertEquals("1 years", repositoryDataset.getHypertensionDuration()); + } + + @Test + public void setHypertensionHistory() { + repositoryDataset.setHypertensionHistory("no"); + assertEquals("no", repositoryDataset.getHypertensionHistory()); + } + + @Test + public void setOnRaasBlockade() { + repositoryDataset.setOnRaasBlockade("no"); + assertEquals("no", repositoryDataset.getOnRaasBlockade()); + } + } \ No newline at end of file