1
0
mirror of https://github.com/dnpm-dip/mv64e-mtb-dto-java.git synced 2025-09-13 08:12:51 +00:00

Merge pull request #15 from pcvolkmer/update_datamodel

chore: update data model
This commit is contained in:
2025-07-10 08:39:36 +02:00
committed by GitHub
9 changed files with 1512 additions and 2104 deletions

View File

@@ -12,7 +12,7 @@ import java.util.List;
public class IhcReportResults { public class IhcReportResults {
@Getter(onMethod_ = {@JsonProperty("msiMmr")}) @Getter(onMethod_ = {@JsonProperty("msiMmr")})
@Setter(onMethod_ = {@JsonProperty("msiMmr")}) @Setter(onMethod_ = {@JsonProperty("msiMmr")})
private List<MSIMmr> msiMmr; private List<MsiMmr> msiMmr;
@Getter(onMethod_ = {@JsonProperty("proteinExpression")}) @Getter(onMethod_ = {@JsonProperty("proteinExpression")})
@Setter(onMethod_ = {@JsonProperty("proteinExpression")}) @Setter(onMethod_ = {@JsonProperty("proteinExpression")})
private List<ProteinExpression> proteinExpression; private List<ProteinExpression> proteinExpression;

View File

@@ -0,0 +1,29 @@
package dev.pcvolkmer.mv64e.mtb;
import com.fasterxml.jackson.annotation.*;
import lombok.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Msi {
@Getter(onMethod_ = {@JsonProperty("id")})
@Setter(onMethod_ = {@JsonProperty("id")})
private String id;
@Getter(onMethod_ = {@JsonProperty("interpretation")})
@Setter(onMethod_ = {@JsonProperty("interpretation")})
private MsiInterpretationCoding interpretation;
@Getter(onMethod_ = {@JsonProperty("method")})
@Setter(onMethod_ = {@JsonProperty("method")})
private MsiMethodCoding method;
@Getter(onMethod_ = {@JsonProperty("patient")})
@Setter(onMethod_ = {@JsonProperty("patient")})
private Reference patient;
@Getter(onMethod_ = {@JsonProperty("specimen")})
@Setter(onMethod_ = {@JsonProperty("specimen")})
private Reference specimen;
@Getter(onMethod_ = {@JsonProperty("value")})
@Setter(onMethod_ = {@JsonProperty("value")})
private double value;
}

View File

@@ -0,0 +1,23 @@
package dev.pcvolkmer.mv64e.mtb;
import com.fasterxml.jackson.annotation.*;
import lombok.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MsiInterpretationCoding {
@Getter(onMethod_ = {@JsonProperty("code")})
@Setter(onMethod_ = {@JsonProperty("code")})
private MsiInterpretationCodingCode code;
@Getter(onMethod_ = {@JsonProperty("display")})
@Setter(onMethod_ = {@JsonProperty("display")})
private String display;
@Getter(onMethod_ = {@JsonProperty("system")})
@Setter(onMethod_ = {@JsonProperty("system")})
private String system;
@Getter(onMethod_ = {@JsonProperty("version")})
@Setter(onMethod_ = {@JsonProperty("version")})
private String version;
}

View File

@@ -0,0 +1,32 @@
package dev.pcvolkmer.mv64e.mtb;
import java.io.IOException;
import com.fasterxml.jackson.annotation.*;
public enum MsiInterpretationCodingCode {
MMR_DEFICIENT, MMR_PROFICIENT, MSI_HIGH, MSI_LOW, STABLE, UNKNOWN;
@JsonValue
public String toValue() {
switch (this) {
case MMR_DEFICIENT: return "mmr-deficient";
case MMR_PROFICIENT: return "mmr-proficient";
case MSI_HIGH: return "msi-high";
case MSI_LOW: return "msi-low";
case STABLE: return "stable";
case UNKNOWN: return "unknown";
}
return null;
}
@JsonCreator
public static MsiInterpretationCodingCode forValue(String value) throws IOException {
if (value.equals("mmr-deficient")) return MMR_DEFICIENT;
if (value.equals("mmr-proficient")) return MMR_PROFICIENT;
if (value.equals("msi-high")) return MSI_HIGH;
if (value.equals("msi-low")) return MSI_LOW;
if (value.equals("stable")) return STABLE;
if (value.equals("unknown")) return UNKNOWN;
throw new IOException("Cannot deserialize MSIInterpretationCodingCode");
}
}

View File

@@ -0,0 +1,23 @@
package dev.pcvolkmer.mv64e.mtb;
import com.fasterxml.jackson.annotation.*;
import lombok.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MsiMethodCoding {
@Getter(onMethod_ = {@JsonProperty("code")})
@Setter(onMethod_ = {@JsonProperty("code")})
private MsiMethodCodingCode code;
@Getter(onMethod_ = {@JsonProperty("display")})
@Setter(onMethod_ = {@JsonProperty("display")})
private String display;
@Getter(onMethod_ = {@JsonProperty("system")})
@Setter(onMethod_ = {@JsonProperty("system")})
private String system;
@Getter(onMethod_ = {@JsonProperty("version")})
@Setter(onMethod_ = {@JsonProperty("version")})
private String version;
}

View File

@@ -0,0 +1,26 @@
package dev.pcvolkmer.mv64e.mtb;
import java.io.IOException;
import com.fasterxml.jackson.annotation.*;
public enum MsiMethodCodingCode {
BIOINFORMATIC, IHC, PCR;
@JsonValue
public String toValue() {
switch (this) {
case BIOINFORMATIC: return "bioinformatic";
case IHC: return "IHC";
case PCR: return "PCR";
}
return null;
}
@JsonCreator
public static MsiMethodCodingCode forValue(String value) throws IOException {
if (value.equals("bioinformatic")) return BIOINFORMATIC;
if (value.equals("IHC")) return IHC;
if (value.equals("PCR")) return PCR;
throw new IOException("Cannot deserialize MSIMethodCodingCode");
}
}

View File

@@ -7,7 +7,7 @@ import lombok.*;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Builder @Builder
public class MSIMmr { public class MsiMmr {
@Getter(onMethod_ = {@JsonProperty("icScore")}) @Getter(onMethod_ = {@JsonProperty("icScore")})
@Setter(onMethod_ = {@JsonProperty("icScore")}) @Setter(onMethod_ = {@JsonProperty("icScore")})
private ProteinExpressionIcScoreCoding icScore; private ProteinExpressionIcScoreCoding icScore;

View File

@@ -49,6 +49,9 @@ public class Mtb {
@Getter(onMethod_ = {@JsonProperty("ngsReports")}) @Getter(onMethod_ = {@JsonProperty("ngsReports")})
@Setter(onMethod_ = {@JsonProperty("ngsReports")}) @Setter(onMethod_ = {@JsonProperty("ngsReports")})
private List<SomaticNgsReport> ngsReports; private List<SomaticNgsReport> ngsReports;
@Getter(onMethod_ = {@JsonProperty("msiFindings")})
@Setter(onMethod_ = {@JsonProperty("msiFindings")})
private List<Msi> msiFindings;
@Getter(onMethod_ = {@JsonProperty("patient")}) @Getter(onMethod_ = {@JsonProperty("patient")})
@Setter(onMethod_ = {@JsonProperty("patient")}) @Setter(onMethod_ = {@JsonProperty("patient")})
private Patient patient; private Patient patient;

File diff suppressed because it is too large Load Diff