diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ValueWithUnit.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Age.java similarity index 93% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ValueWithUnit.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/Age.java index 34eb272..10b8d5e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ValueWithUnit.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Age.java @@ -2,7 +2,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class ValueWithUnit { +public class Age { private Unit unit; private double value; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ChromosomeCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Chromosome.java similarity index 93% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ChromosomeCode.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/Chromosome.java index 33522ea..92b2c18 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ChromosomeCode.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Chromosome.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum ChromosomeCode { +public enum Chromosome { CHR1, CHR10, CHR11, CHR12, CHR13, CHR14, CHR15, CHR16, CHR17, CHR18, CHR19, CHR2, CHR20, CHR21, CHR22, CHR3, CHR4, CHR5, CHR6, CHR7, CHR8, CHR9, CHR_X, CHR_Y; @JsonValue @@ -38,7 +38,7 @@ public enum ChromosomeCode { } @JsonCreator - public static ChromosomeCode forValue(String value) throws IOException { + public static Chromosome forValue(String value) throws IOException { if (value.equals("chr1")) return CHR1; if (value.equals("chr10")) return CHR10; if (value.equals("chr11")) return CHR11; @@ -63,6 +63,6 @@ public enum ChromosomeCode { if (value.equals("chr9")) return CHR9; if (value.equals("chrX")) return CHR_X; if (value.equals("chrY")) return CHR_Y; - throw new IOException("Cannot deserialize ChromosomeCode"); + throw new IOException("Cannot deserialize Chromosome"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ChromosomeSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ChromosomeSystem.java deleted file mode 100644 index a8337e0..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ChromosomeSystem.java +++ /dev/null @@ -1,22 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum ChromosomeSystem { - CHROMOSOME; - - @JsonValue - public String toValue() { - switch (this) { - case CHROMOSOME: return "chromosome"; - } - return null; - } - - @JsonCreator - public static ChromosomeSystem forValue(String value) throws IOException { - if (value.equals("chromosome")) return CHROMOSOME; - throw new IOException("Cannot deserialize ChromosomeSystem"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Claim.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Claim.java index 5bbdf4d..b5b1adf 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Claim.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Claim.java @@ -2,13 +2,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; import java.util.Date; +import java.util.List; public class Claim { private String id; private Date issuedOn; - private Patient patient; - private Recommendation recommendation; - private Coding stage; + private Reference patient; + private Reference recommendation; + private List requestedMedication; + private CodingClaimStage stage; @JsonProperty("id") public String getId() { return id; } @@ -23,17 +25,22 @@ public class Claim { public void setIssuedOn(Date value) { this.issuedOn = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("recommendation") - public Recommendation getRecommendation() { return recommendation; } + public Reference getRecommendation() { return recommendation; } @JsonProperty("recommendation") - public void setRecommendation(Recommendation value) { this.recommendation = value; } + public void setRecommendation(Reference value) { this.recommendation = value; } + + @JsonProperty("requestedMedication") + public List getRequestedMedication() { return requestedMedication; } + @JsonProperty("requestedMedication") + public void setRequestedMedication(List value) { this.requestedMedication = value; } @JsonProperty("stage") - public Coding getStage() { return stage; } + public CodingClaimStage getStage() { return stage; } @JsonProperty("stage") - public void setStage(Coding value) { this.stage = value; } + public void setStage(CodingClaimStage value) { this.stage = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponse.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponse.java index 7b93ab5..657eb0e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponse.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponse.java @@ -4,17 +4,17 @@ import com.fasterxml.jackson.annotation.*; import java.util.Date; public class ClaimResponse { - private ClaimResponseClaim claim; + private Reference claim; private String id; private Date issuedOn; - private Patient patient; + private Reference patient; private CodingClaimResponseStatus status; private CodingClaimResponseStatusReason statusReason; @JsonProperty("claim") - public ClaimResponseClaim getClaim() { return claim; } + public Reference getClaim() { return claim; } @JsonProperty("claim") - public void setClaim(ClaimResponseClaim value) { this.claim = value; } + public void setClaim(Reference value) { this.claim = value; } @JsonProperty("id") public String getId() { return id; } @@ -29,9 +29,9 @@ public class ClaimResponse { public void setIssuedOn(Date value) { this.issuedOn = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("status") public CodingClaimResponseStatus getStatus() { return status; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseClaim.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseClaim.java deleted file mode 100644 index 53bd5d6..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseClaim.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class ClaimResponseClaim { - private String id; - private ClaimResponseClaimType type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public ClaimResponseClaimType getType() { return type; } - @JsonProperty("type") - public void setType(ClaimResponseClaimType value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseClaimType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseClaimType.java deleted file mode 100644 index e0f132e..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseClaimType.java +++ /dev/null @@ -1,22 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum ClaimResponseClaimType { - CLAIM; - - @JsonValue - public String toValue() { - switch (this) { - case CLAIM: return "Claim"; - } - return null; - } - - @JsonCreator - public static ClaimResponseClaimType forValue(String value) throws IOException { - if (value.equals("Claim")) return CLAIM; - throw new IOException("Cannot deserialize ClaimResponseClaimType"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Cnv.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Cnv.java index 27c308f..d2ad364 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Cnv.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Cnv.java @@ -4,25 +4,26 @@ import com.fasterxml.jackson.annotation.*; import java.util.List; public class Cnv { - private CodingChromosome chromosome; + private Chromosome chromosome; private Double cnA; private Double cnB; - private List copyNumberNeutralLoH; + private List copyNumberNeutralLoH; private EndRange endRange; + private List externalIds; private String id; - private Reference indication; - private Patient patient; + private List localization; + private Reference patient; private Double relativeCopyNumber; - private List reportedAffectedGenes; + private List reportedAffectedGenes; private String reportedFocality; private StartRange startRange; private Long totalCopyNumber; - private CodingCnvType type; + private CodingCnv type; @JsonProperty("chromosome") - public CodingChromosome getChromosome() { return chromosome; } + public Chromosome getChromosome() { return chromosome; } @JsonProperty("chromosome") - public void setChromosome(CodingChromosome value) { this.chromosome = value; } + public void setChromosome(Chromosome value) { this.chromosome = value; } @JsonProperty("cnA") public Double getCnA() { return cnA; } @@ -35,29 +36,34 @@ public class Cnv { public void setCnB(Double value) { this.cnB = value; } @JsonProperty("copyNumberNeutralLoH") - public List getCopyNumberNeutralLoH() { return copyNumberNeutralLoH; } + public List getCopyNumberNeutralLoH() { return copyNumberNeutralLoH; } @JsonProperty("copyNumberNeutralLoH") - public void setCopyNumberNeutralLoH(List value) { this.copyNumberNeutralLoH = value; } + public void setCopyNumberNeutralLoH(List value) { this.copyNumberNeutralLoH = value; } @JsonProperty("endRange") public EndRange getEndRange() { return endRange; } @JsonProperty("endRange") public void setEndRange(EndRange value) { this.endRange = value; } + @JsonProperty("externalIds") + public List getExternalIds() { return externalIds; } + @JsonProperty("externalIds") + public void setExternalIds(List value) { this.externalIds = value; } + @JsonProperty("id") public String getId() { return id; } @JsonProperty("id") public void setId(String value) { this.id = value; } - @JsonProperty("indication") - public Reference getIndication() { return indication; } - @JsonProperty("indication") - public void setIndication(Reference value) { this.indication = value; } + @JsonProperty("localization") + public List getLocalization() { return localization; } + @JsonProperty("localization") + public void setLocalization(List value) { this.localization = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("relativeCopyNumber") public Double getRelativeCopyNumber() { return relativeCopyNumber; } @@ -65,9 +71,9 @@ public class Cnv { public void setRelativeCopyNumber(Double value) { this.relativeCopyNumber = value; } @JsonProperty("reportedAffectedGenes") - public List getReportedAffectedGenes() { return reportedAffectedGenes; } + public List getReportedAffectedGenes() { return reportedAffectedGenes; } @JsonProperty("reportedAffectedGenes") - public void setReportedAffectedGenes(List value) { this.reportedAffectedGenes = value; } + public void setReportedAffectedGenes(List value) { this.reportedAffectedGenes = value; } @JsonProperty("reportedFocality") public String getReportedFocality() { return reportedFocality; } @@ -85,7 +91,7 @@ public class Cnv { public void setTotalCopyNumber(Long value) { this.totalCopyNumber = value; } @JsonProperty("type") - public CodingCnvType getType() { return type; } + public CodingCnv getType() { return type; } @JsonProperty("type") - public void setType(CodingCnvType value) { this.type = value; } + public void setType(CodingCnv value) { this.type = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCarePlanStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingAtcUnregisteredMedication.java similarity index 53% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCarePlanStatusReason.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingAtcUnregisteredMedication.java index 698acd9..ced0849 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCarePlanStatusReason.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingAtcUnregisteredMedication.java @@ -2,10 +2,11 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingCarePlanStatusReason { +public class CodingAtcUnregisteredMedication { private String code; private String display; - private String system; + private RequestedMedicationSystem system; + private String version; @JsonProperty("code") public String getCode() { return code; } @@ -18,7 +19,12 @@ public class CodingCarePlanStatusReason { public void setDisplay(String value) { this.display = value; } @JsonProperty("system") - public String getSystem() { return system; } + public RequestedMedicationSystem getSystem() { return system; } @JsonProperty("system") - public void setSystem(String value) { this.system = value; } + public void setSystem(RequestedMedicationSystem value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingBaseVariantLocalization.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingBaseVariantLocalization.java new file mode 100644 index 0000000..26d9c4f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingBaseVariantLocalization.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingBaseVariantLocalization { + private CodingBaseVariantLocalizationCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingBaseVariantLocalizationCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingBaseVariantLocalizationCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingBaseVariantLocalizationCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingBaseVariantLocalizationCode.java new file mode 100644 index 0000000..d06b221 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingBaseVariantLocalizationCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingBaseVariantLocalizationCode { + CODING_REGION, INTERGENIC, INTRONIC, REGULATORY_REGION, SPLICING_REGION; + + @JsonValue + public String toValue() { + switch (this) { + case CODING_REGION: return "coding-region"; + case INTERGENIC: return "intergenic"; + case INTRONIC: return "intronic"; + case REGULATORY_REGION: return "regulatory-region"; + case SPLICING_REGION: return "splicing-region"; + } + return null; + } + + @JsonCreator + public static CodingBaseVariantLocalizationCode forValue(String value) throws IOException { + if (value.equals("coding-region")) return CODING_REGION; + if (value.equals("intergenic")) return INTERGENIC; + if (value.equals("intronic")) return INTRONIC; + if (value.equals("regulatory-region")) return REGULATORY_REGION; + if (value.equals("splicing-region")) return SPLICING_REGION; + throw new IOException("Cannot deserialize CodingBaseVariantLocalizationCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingChromosome.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingChromosome.java deleted file mode 100644 index f8c3e83..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingChromosome.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingChromosome { - private ChromosomeCode code; - private String display; - private ChromosomeSystem system; - - @JsonProperty("code") - public ChromosomeCode getCode() { return code; } - @JsonProperty("code") - public void setCode(ChromosomeCode value) { this.code = value; } - - @JsonProperty("display") - public String getDisplay() { return display; } - @JsonProperty("display") - public void setDisplay(String value) { this.display = value; } - - @JsonProperty("system") - public ChromosomeSystem getSystem() { return system; } - @JsonProperty("system") - public void setSystem(ChromosomeSystem value) { this.system = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatus.java index beff73d..bc4a36e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatus.java @@ -3,14 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingClaimResponseStatus { - private ClaimResponseStatus code; + private StickyCode code; private String display; private String system; + private String version; @JsonProperty("code") - public ClaimResponseStatus getCode() { return code; } + public StickyCode getCode() { return code; } @JsonProperty("code") - public void setCode(ClaimResponseStatus value) { this.code = value; } + public void setCode(StickyCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingClaimResponseStatus { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReason.java index ea49f6b..275505d 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReason.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReason.java @@ -3,14 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingClaimResponseStatusReason { - private ClaimResponseStatusReason code; + private CodingClaimResponseStatusReasonCode code; private String display; private String system; + private String version; @JsonProperty("code") - public ClaimResponseStatusReason getCode() { return code; } + public CodingClaimResponseStatusReasonCode getCode() { return code; } @JsonProperty("code") - public void setCode(ClaimResponseStatusReason value) { this.code = value; } + public void setCode(CodingClaimResponseStatusReasonCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingClaimResponseStatusReason { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReasonCode.java similarity index 50% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReason.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReasonCode.java index 1cf35ab..843bf4f 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReason.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReasonCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum ClaimResponseStatusReason { +public enum CodingClaimResponseStatusReasonCode { APPROVAL_REVOCATION, FORMAL_REASONS, INCLUSION_IN_STUDY, INSUFFICIENT_EVIDENCE, OTHER, OTHER_THERAPY_RECOMMENDED, STANDARD_THERAPY_NOT_EXHAUSTED, UNKNOWN; @JsonValue @@ -22,25 +22,15 @@ public enum ClaimResponseStatusReason { } @JsonCreator - public static ClaimResponseStatusReason forValue(String value) throws IOException { - switch (value) { - case "approval-revocation": - return APPROVAL_REVOCATION; - case "formal-reasons": - return FORMAL_REASONS; - case "inclusion-in-study": - return INCLUSION_IN_STUDY; - case "insufficient-evidence": - return INSUFFICIENT_EVIDENCE; - case "other": - return OTHER; - case "other-therapy-recommended": - return OTHER_THERAPY_RECOMMENDED; - case "standard-therapy-not-exhausted": - return STANDARD_THERAPY_NOT_EXHAUSTED; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize ClaimResponseStatusReason"); + public static CodingClaimResponseStatusReasonCode forValue(String value) throws IOException { + if (value.equals("approval-revocation")) return APPROVAL_REVOCATION; + if (value.equals("formal-reasons")) return FORMAL_REASONS; + if (value.equals("inclusion-in-study")) return INCLUSION_IN_STUDY; + if (value.equals("insufficient-evidence")) return INSUFFICIENT_EVIDENCE; + if (value.equals("other")) return OTHER; + if (value.equals("other-therapy-recommended")) return OTHER_THERAPY_RECOMMENDED; + if (value.equals("standard-therapy-not-exhausted")) return STANDARD_THERAPY_NOT_EXHAUSTED; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize CodingClaimResponseStatusReasonCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorGrade.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimStage.java similarity index 79% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorGrade.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimStage.java index 1cb9881..e857200 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorGrade.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimStage.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingTumorGrade { - private TumorGradeCode code; +public class CodingClaimStage { + private StageCode code; private String display; private String system; private String version; @JsonProperty("code") - public TumorGradeCode getCode() { return code; } + public StageCode getCode() { return code; } @JsonProperty("code") - public void setCode(TumorGradeCode value) { this.code = value; } + public void setCode(StageCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClinVar.java similarity index 78% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusReason.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClinVar.java index 0b7284f..14d6cdf 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusReason.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClinVar.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingTherapyStatusReason { - private StatusReasonCode code; +public class CodingClinVar { + private CodingClinVarCode code; private String display; private String system; private String version; @JsonProperty("code") - public StatusReasonCode getCode() { return code; } + public CodingClinVarCode getCode() { return code; } @JsonProperty("code") - public void setCode(StatusReasonCode value) { this.code = value; } + public void setCode(CodingClinVarCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClinVarCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClinVarCode.java new file mode 100644 index 0000000..57f4dad --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClinVarCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingClinVarCode { + THE_1, THE_2, THE_3, THE_4, THE_5; + + @JsonValue + public String toValue() { + switch (this) { + case THE_1: return "1"; + case THE_2: return "2"; + case THE_3: return "3"; + case THE_4: return "4"; + case THE_5: return "5"; + } + return null; + } + + @JsonCreator + public static CodingClinVarCode forValue(String value) throws IOException { + if (value.equals("1")) return THE_1; + if (value.equals("2")) return THE_2; + if (value.equals("3")) return THE_3; + if (value.equals("4")) return THE_4; + if (value.equals("5")) return THE_5; + throw new IOException("Cannot deserialize CodingClinVarCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyRecommendationPriority.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnv.java similarity index 58% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyRecommendationPriority.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnv.java index 040ef92..9c2997e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyRecommendationPriority.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnv.java @@ -2,15 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingTherapyRecommendationPriority { - private TherapyRecommendationPriority code; +public class CodingCnv { + private CodingCnvCode code; private String display; private String system; + private String version; @JsonProperty("code") - public TherapyRecommendationPriority getCode() { return code; } + public CodingCnvCode getCode() { return code; } @JsonProperty("code") - public void setCode(TherapyRecommendationPriority value) { this.code = value; } + public void setCode(CodingCnvCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingTherapyRecommendationPriority { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CNVType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvCode.java similarity index 52% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CNVType.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvCode.java index 58338d3..aa36408 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CNVType.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum CNVType { +public enum CodingCnvCode { HIGH_LEVEL_GAIN, LOSS, LOW_LEVEL_GAIN; @JsonValue @@ -17,15 +17,10 @@ public enum CNVType { } @JsonCreator - public static CNVType forValue(String value) throws IOException { - switch (value) { - case "high-level-gain": - return HIGH_LEVEL_GAIN; - case "loss": - return LOSS; - case "low-level-gain": - return LOW_LEVEL_GAIN; - } - throw new IOException("Cannot deserialize CNVType"); + public static CodingCnvCode forValue(String value) throws IOException { + if (value.equals("high-level-gain")) return HIGH_LEVEL_GAIN; + if (value.equals("loss")) return LOSS; + if (value.equals("low-level-gain")) return LOW_LEVEL_GAIN; + throw new IOException("Cannot deserialize CodingCnvCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcog.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcog.java index 22fc01a..4f2cdd0 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcog.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcog.java @@ -3,15 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingEcog { - private EcogCode code; + private CodingEcogCode code; private String display; private String system; private String version; @JsonProperty("code") - public EcogCode getCode() { return code; } + public CodingEcogCode getCode() { return code; } @JsonProperty("code") - public void setCode(EcogCode value) { this.code = value; } + public void setCode(CodingEcogCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcogCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcogCode.java new file mode 100644 index 0000000..e65ff47 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcogCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingEcogCode { + THE_0, THE_1, THE_2, THE_3, THE_4, THE_5; + + @JsonValue + public String toValue() { + switch (this) { + case THE_0: return "0"; + case THE_1: return "1"; + case THE_2: return "2"; + case THE_3: return "3"; + case THE_4: return "4"; + case THE_5: return "5"; + } + return null; + } + + @JsonCreator + public static CodingEcogCode forValue(String value) throws IOException { + if (value.equals("0")) return THE_0; + if (value.equals("1")) return THE_1; + if (value.equals("2")) return THE_2; + if (value.equals("3")) return THE_3; + if (value.equals("4")) return THE_4; + if (value.equals("5")) return THE_5; + throw new IOException("Cannot deserialize CodingEcogCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingFollowUpPatientStatus.java similarity index 57% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenType.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingFollowUpPatientStatus.java index ff9ef3d..188421c 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenType.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingFollowUpPatientStatus.java @@ -2,15 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingTumorSpecimenType { - private TumorSpecimenType code; +public class CodingFollowUpPatientStatus { + private PatientStatusCode code; private String display; private String system; + private String version; @JsonProperty("code") - public TumorSpecimenType getCode() { return code; } + public PatientStatusCode getCode() { return code; } @JsonProperty("code") - public void setCode(TumorSpecimenType value) { this.code = value; } + public void setCode(PatientStatusCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingTumorSpecimenType { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGender.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGender.java index 9f67221..7f562b1 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGender.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGender.java @@ -3,15 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingGender { - private Gender code; + private GenderCode code; private String display; private String system; private String version; @JsonProperty("code") - public Gender getCode() { return code; } + public GenderCode getCode() { return code; } @JsonProperty("code") - public void setCode(Gender value) { this.code = value; } + public void setCode(GenderCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGene.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGene.java deleted file mode 100644 index 78ab110..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGene.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingGene { - private String code; - private String display; - private GeneSystem system; - - @JsonProperty("code") - public String getCode() { return code; } - @JsonProperty("code") - public void setCode(String value) { this.code = value; } - - @JsonProperty("display") - public String getDisplay() { return display; } - @JsonProperty("display") - public void setDisplay(String value) { this.display = value; } - - @JsonProperty("system") - public GeneSystem getSystem() { return system; } - @JsonProperty("system") - public void setSystem(GeneSystem value) { this.system = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGeneticCounselingRecommendationReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGeneticCounselingRecommendationReason.java new file mode 100644 index 0000000..2c55eba --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGeneticCounselingRecommendationReason.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingGeneticCounselingRecommendationReason { + private ReasonCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public ReasonCode getCode() { return code; } + @JsonProperty("code") + public void setCode(ReasonCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHealthInsurance.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHealthInsurance.java new file mode 100644 index 0000000..0de046a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHealthInsurance.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingHealthInsurance { + private CodingHealthInsuranceCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingHealthInsuranceCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingHealthInsuranceCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHealthInsuranceCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHealthInsuranceCode.java new file mode 100644 index 0000000..37ab3da --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHealthInsuranceCode.java @@ -0,0 +1,38 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingHealthInsuranceCode { + BEI, BG, GKV, GPV, PKV, PPV, SEL, SOZ, UNK; + + @JsonValue + public String toValue() { + switch (this) { + case BEI: return "BEI"; + case BG: return "BG"; + case GKV: return "GKV"; + case GPV: return "GPV"; + case PKV: return "PKV"; + case PPV: return "PPV"; + case SEL: return "SEL"; + case SOZ: return "SOZ"; + case UNK: return "UNK"; + } + return null; + } + + @JsonCreator + public static CodingHealthInsuranceCode forValue(String value) throws IOException { + if (value.equals("BEI")) return BEI; + if (value.equals("BG")) return BG; + if (value.equals("GKV")) return GKV; + if (value.equals("GPV")) return GPV; + if (value.equals("PKV")) return PKV; + if (value.equals("PPV")) return PPV; + if (value.equals("SEL")) return SEL; + if (value.equals("SOZ")) return SOZ; + if (value.equals("UNK")) return UNK; + throw new IOException("Cannot deserialize CodingHealthInsuranceCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHrdScoreInterpretation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHrdScoreInterpretation.java new file mode 100644 index 0000000..c468a9f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingHrdScoreInterpretation.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingHrdScoreInterpretation { + private InterpretationCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public InterpretationCode getCode() { return code; } + @JsonProperty("code") + public void setCode(InterpretationCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceGrading.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceGrading.java index f797266..9b2c543 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceGrading.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceGrading.java @@ -3,15 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingLevelOfEvidenceGrading { - private GradingCode code; + private LevelOfEvidenceCode code; private String display; private String system; private String version; @JsonProperty("code") - public GradingCode getCode() { return code; } + public LevelOfEvidenceCode getCode() { return code; } @JsonProperty("code") - public void setCode(GradingCode value) { this.code = value; } + public void setCode(LevelOfEvidenceCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMolecularDiagnosticReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMolecularDiagnosticReport.java new file mode 100644 index 0000000..df81875 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMolecularDiagnosticReport.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMolecularDiagnosticReport { + private CodingMolecularDiagnosticReportCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingMolecularDiagnosticReportCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMolecularDiagnosticReportCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMolecularDiagnosticReportCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMolecularDiagnosticReportCode.java new file mode 100644 index 0000000..f161aa6 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMolecularDiagnosticReportCode.java @@ -0,0 +1,44 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingMolecularDiagnosticReportCode { + ARRAY, EXOME, FISH, FUSION_PANEL, GENE_PANEL, GENOME_LONG_READ, GENOME_SHORT_READ, KARYOTYPING, OTHER, PANEL, PCR, SINGLE; + + @JsonValue + public String toValue() { + switch (this) { + case ARRAY: return "array"; + case EXOME: return "exome"; + case FISH: return "FISH"; + case FUSION_PANEL: return "fusion-panel"; + case GENE_PANEL: return "gene-panel"; + case GENOME_LONG_READ: return "genome-long-read"; + case GENOME_SHORT_READ: return "genome-short-read"; + case KARYOTYPING: return "karyotyping"; + case OTHER: return "other"; + case PANEL: return "panel"; + case PCR: return "PCR"; + case SINGLE: return "single"; + } + return null; + } + + @JsonCreator + public static CodingMolecularDiagnosticReportCode forValue(String value) throws IOException { + if (value.equals("array")) return ARRAY; + if (value.equals("exome")) return EXOME; + if (value.equals("FISH")) return FISH; + if (value.equals("fusion-panel")) return FUSION_PANEL; + if (value.equals("gene-panel")) return GENE_PANEL; + if (value.equals("genome-long-read")) return GENOME_LONG_READ; + if (value.equals("genome-short-read")) return GENOME_SHORT_READ; + if (value.equals("karyotyping")) return KARYOTYPING; + if (value.equals("other")) return OTHER; + if (value.equals("panel")) return PANEL; + if (value.equals("PCR")) return PCR; + if (value.equals("single")) return SINGLE; + throw new IOException("Cannot deserialize CodingMolecularDiagnosticReportCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbCarePlanStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbCarePlanStatusReason.java new file mode 100644 index 0000000..d45c114 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbCarePlanStatusReason.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbCarePlanStatusReason { + private CodingMtbCarePlanStatusReasonCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingMtbCarePlanStatusReasonCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMtbCarePlanStatusReasonCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbCarePlanStatusReasonCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbCarePlanStatusReasonCode.java new file mode 100644 index 0000000..0e89c48 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbCarePlanStatusReasonCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingMtbCarePlanStatusReasonCode { + NON_GENETIC_CAUSE, NOT_RARE_DISEASE, NO_TARGET, OTHER, PSYCHOSOMATIC, TARGETED_DIAGNOSTICS_RECOMMENDED; + + @JsonValue + public String toValue() { + switch (this) { + case NON_GENETIC_CAUSE: return "non-genetic-cause"; + case NOT_RARE_DISEASE: return "not-rare-disease"; + case NO_TARGET: return "no-target"; + case OTHER: return "other"; + case PSYCHOSOMATIC: return "psychosomatic"; + case TARGETED_DIAGNOSTICS_RECOMMENDED: return "targeted-diagnostics-recommended"; + } + return null; + } + + @JsonCreator + public static CodingMtbCarePlanStatusReasonCode forValue(String value) throws IOException { + if (value.equals("non-genetic-cause")) return NON_GENETIC_CAUSE; + if (value.equals("not-rare-disease")) return NOT_RARE_DISEASE; + if (value.equals("no-target")) return NO_TARGET; + if (value.equals("other")) return OTHER; + if (value.equals("psychosomatic")) return PSYCHOSOMATIC; + if (value.equals("targeted-diagnostics-recommended")) return TARGETED_DIAGNOSTICS_RECOMMENDED; + throw new IOException("Cannot deserialize CodingMtbCarePlanStatusReasonCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosis.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosis.java new file mode 100644 index 0000000..63e1a41 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosis.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbDiagnosis { + private CodingMtbDiagnosisCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingMtbDiagnosisCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMtbDiagnosisCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosisCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosisCode.java new file mode 100644 index 0000000..db0afd2 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosisCode.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingMtbDiagnosisCode { + MAIN, METACHRONOUS, SECONDARY; + + @JsonValue + public String toValue() { + switch (this) { + case MAIN: return "main"; + case METACHRONOUS: return "metachronous"; + case SECONDARY: return "secondary"; + } + return null; + } + + @JsonCreator + public static CodingMtbDiagnosisCode forValue(String value) throws IOException { + if (value.equals("main")) return MAIN; + if (value.equals("metachronous")) return METACHRONOUS; + if (value.equals("secondary")) return SECONDARY; + throw new IOException("Cannot deserialize CodingMtbDiagnosisCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosisGuidelineTreatmentStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosisGuidelineTreatmentStatus.java new file mode 100644 index 0000000..779eb42 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbDiagnosisGuidelineTreatmentStatus.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbDiagnosisGuidelineTreatmentStatus { + private GuidelineTreatmentStatusCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public GuidelineTreatmentStatusCode getCode() { return code; } + @JsonProperty("code") + public void setCode(GuidelineTreatmentStatusCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationCategory.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationCategory.java new file mode 100644 index 0000000..3e2dcae --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationCategory.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbMedicationRecommendationCategory { + private CodingMtbMedicationRecommendationCategoryCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingMtbMedicationRecommendationCategoryCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMtbMedicationRecommendationCategoryCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationCategoryCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationCategoryCode.java new file mode 100644 index 0000000..0662734 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationCategoryCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingMtbMedicationRecommendationCategoryCode { + CH, HO, IM, SO, SZ, ZS; + + @JsonValue + public String toValue() { + switch (this) { + case CH: return "CH"; + case HO: return "HO"; + case IM: return "IM"; + case SO: return "SO"; + case SZ: return "SZ"; + case ZS: return "ZS"; + } + return null; + } + + @JsonCreator + public static CodingMtbMedicationRecommendationCategoryCode forValue(String value) throws IOException { + if (value.equals("CH")) return CH; + if (value.equals("HO")) return HO; + if (value.equals("IM")) return IM; + if (value.equals("SO")) return SO; + if (value.equals("SZ")) return SZ; + if (value.equals("ZS")) return ZS; + throw new IOException("Cannot deserialize CodingMtbMedicationRecommendationCategoryCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationUseType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationUseType.java new file mode 100644 index 0000000..c285eca --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbMedicationRecommendationUseType.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbMedicationRecommendationUseType { + private UseTypeCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public UseTypeCode getCode() { return code; } + @JsonProperty("code") + public void setCode(UseTypeCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbProcedureRecommendationCategory.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbProcedureRecommendationCategory.java new file mode 100644 index 0000000..3d37fe2 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbProcedureRecommendationCategory.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbProcedureRecommendationCategory { + private CodingMtbProcedureRecommendationCategoryCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingMtbProcedureRecommendationCategoryCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMtbProcedureRecommendationCategoryCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbProcedureRecommendationCategoryCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbProcedureRecommendationCategoryCode.java new file mode 100644 index 0000000..293cb02 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbProcedureRecommendationCategoryCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingMtbProcedureRecommendationCategoryCode { + AS, OP, SO, ST, WS, WW; + + @JsonValue + public String toValue() { + switch (this) { + case AS: return "AS"; + case OP: return "OP"; + case SO: return "SO"; + case ST: return "ST"; + case WS: return "WS"; + case WW: return "WW"; + } + return null; + } + + @JsonCreator + public static CodingMtbProcedureRecommendationCategoryCode forValue(String value) throws IOException { + if (value.equals("AS")) return AS; + if (value.equals("OP")) return OP; + if (value.equals("SO")) return SO; + if (value.equals("ST")) return ST; + if (value.equals("WS")) return WS; + if (value.equals("WW")) return WW; + throw new IOException("Cannot deserialize CodingMtbProcedureRecommendationCategoryCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyCategory.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyCategory.java new file mode 100644 index 0000000..86c9303 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyCategory.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbSystemicTherapyCategory { + private CodingMtbSystemicTherapyCategoryCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingMtbSystemicTherapyCategoryCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMtbSystemicTherapyCategoryCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyCategoryCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyCategoryCode.java new file mode 100644 index 0000000..807246b --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyCategoryCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingMtbSystemicTherapyCategoryCode { + A, I, N, O, S; + + @JsonValue + public String toValue() { + switch (this) { + case A: return "A"; + case I: return "I"; + case N: return "N"; + case O: return "O"; + case S: return "S"; + } + return null; + } + + @JsonCreator + public static CodingMtbSystemicTherapyCategoryCode forValue(String value) throws IOException { + if (value.equals("A")) return A; + if (value.equals("I")) return I; + if (value.equals("N")) return N; + if (value.equals("O")) return O; + if (value.equals("S")) return S; + throw new IOException("Cannot deserialize CodingMtbSystemicTherapyCategoryCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyRecommendationFulfillmentStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyRecommendationFulfillmentStatus.java new file mode 100644 index 0000000..b66f927 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbSystemicTherapyRecommendationFulfillmentStatus.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbSystemicTherapyRecommendationFulfillmentStatus { + private RecommendationFulfillmentStatusCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public RecommendationFulfillmentStatusCode getCode() { return code; } + @JsonProperty("code") + public void setCode(RecommendationFulfillmentStatusCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyIntent.java similarity index 58% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvType.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyIntent.java index 3bf6b07..664811b 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvType.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyIntent.java @@ -2,15 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingCnvType { - private CNVType code; +public class CodingMtbTherapyIntent { + private IntentCode code; private String display; private String system; + private String version; @JsonProperty("code") - public CNVType getCode() { return code; } + public IntentCode getCode() { return code; } @JsonProperty("code") - public void setCode(CNVType value) { this.code = value; } + public void setCode(IntentCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingCnvType { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyStatusReason.java new file mode 100644 index 0000000..fae7df1 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyStatusReason.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingMtbTherapyStatusReason { + private CodingMtbTherapyStatusReasonCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingMtbTherapyStatusReasonCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMtbTherapyStatusReasonCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyStatusReasonCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyStatusReasonCode.java new file mode 100644 index 0000000..c3fad95 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingMtbTherapyStatusReasonCode.java @@ -0,0 +1,58 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingMtbTherapyStatusReasonCode { + BEST_SUPPORTIVE_CARE, CHRONIC_REMISSION, DETERIORATION, LOST_TO_FU, MEDICAL_REASONS, NO_INDICATION, OTHER, OTHER_THERAPY_CHOSEN, PATIENT_DEATH, PATIENT_REFUSAL, PATIENT_WISH, PAYMENT_ENDED, PAYMENT_PENDING, PAYMENT_REFUSED, PROGRESSION, REGULAR_COMPLETION, REGULAR_COMPLETION_WITH_DOSAGE_REDUCTION, REGULAR_COMPLETION_WITH_SUBSTANCE_CHANGE, TOXICITY; + + @JsonValue + public String toValue() { + switch (this) { + case BEST_SUPPORTIVE_CARE: return "best-supportive-care"; + case CHRONIC_REMISSION: return "chronic-remission"; + case DETERIORATION: return "deterioration"; + case LOST_TO_FU: return "lost-to-fu"; + case MEDICAL_REASONS: return "medical-reasons"; + case NO_INDICATION: return "no-indication"; + case OTHER: return "other"; + case OTHER_THERAPY_CHOSEN: return "other-therapy-chosen"; + case PATIENT_DEATH: return "patient-death"; + case PATIENT_REFUSAL: return "patient-refusal"; + case PATIENT_WISH: return "patient-wish"; + case PAYMENT_ENDED: return "payment-ended"; + case PAYMENT_PENDING: return "payment-pending"; + case PAYMENT_REFUSED: return "payment-refused"; + case PROGRESSION: return "progression"; + case REGULAR_COMPLETION: return "regular-completion"; + case REGULAR_COMPLETION_WITH_DOSAGE_REDUCTION: return "regular-completion-with-dosage-reduction"; + case REGULAR_COMPLETION_WITH_SUBSTANCE_CHANGE: return "regular-completion-with-substance-change"; + case TOXICITY: return "toxicity"; + } + return null; + } + + @JsonCreator + public static CodingMtbTherapyStatusReasonCode forValue(String value) throws IOException { + if (value.equals("best-supportive-care")) return BEST_SUPPORTIVE_CARE; + if (value.equals("chronic-remission")) return CHRONIC_REMISSION; + if (value.equals("deterioration")) return DETERIORATION; + if (value.equals("lost-to-fu")) return LOST_TO_FU; + if (value.equals("medical-reasons")) return MEDICAL_REASONS; + if (value.equals("no-indication")) return NO_INDICATION; + if (value.equals("other")) return OTHER; + if (value.equals("other-therapy-chosen")) return OTHER_THERAPY_CHOSEN; + if (value.equals("patient-death")) return PATIENT_DEATH; + if (value.equals("patient-refusal")) return PATIENT_REFUSAL; + if (value.equals("patient-wish")) return PATIENT_WISH; + if (value.equals("payment-ended")) return PAYMENT_ENDED; + if (value.equals("payment-pending")) return PAYMENT_PENDING; + if (value.equals("payment-refused")) return PAYMENT_REFUSED; + if (value.equals("progression")) return PROGRESSION; + if (value.equals("regular-completion")) return REGULAR_COMPLETION; + if (value.equals("regular-completion-with-dosage-reduction")) return REGULAR_COMPLETION_WITH_DOSAGE_REDUCTION; + if (value.equals("regular-completion-with-substance-change")) return REGULAR_COMPLETION_WITH_SUBSTANCE_CHANGE; + if (value.equals("toxicity")) return TOXICITY; + throw new IOException("Cannot deserialize CodingMtbTherapyStatusReasonCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingNgsReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingNgsReport.java new file mode 100644 index 0000000..e4b0faa --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingNgsReport.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingNgsReport { + private CodingNgsReportCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingNgsReportCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingNgsReportCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingNgsReportCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingNgsReportCode.java new file mode 100644 index 0000000..7e3f156 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingNgsReportCode.java @@ -0,0 +1,36 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingNgsReportCode { + ARRAY, EXOME, GENOME_LONG_READ, GENOME_SHORT_READ, KARYOTYPING, OTHER, PANEL, SINGLE; + + @JsonValue + public String toValue() { + switch (this) { + case ARRAY: return "array"; + case EXOME: return "exome"; + case GENOME_LONG_READ: return "genome-long-read"; + case GENOME_SHORT_READ: return "genome-short-read"; + case KARYOTYPING: return "karyotyping"; + case OTHER: return "other"; + case PANEL: return "panel"; + case SINGLE: return "single"; + } + return null; + } + + @JsonCreator + public static CodingNgsReportCode forValue(String value) throws IOException { + if (value.equals("array")) return ARRAY; + if (value.equals("exome")) return EXOME; + if (value.equals("genome-long-read")) return GENOME_LONG_READ; + if (value.equals("genome-short-read")) return GENOME_SHORT_READ; + if (value.equals("karyotyping")) return KARYOTYPING; + if (value.equals("other")) return OTHER; + if (value.equals("panel")) return PANEL; + if (value.equals("single")) return SINGLE; + throw new IOException("Cannot deserialize CodingNgsReportCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingOncoProcedure.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingOncoProcedure.java new file mode 100644 index 0000000..4fea654 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingOncoProcedure.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingOncoProcedure { + private CodingOncoProcedureCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingOncoProcedureCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingOncoProcedureCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingOncoProcedureCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingOncoProcedureCode.java new file mode 100644 index 0000000..62eac67 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingOncoProcedureCode.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingOncoProcedureCode { + NUCLEAR_MEDICINE, RADIO_THERAPY, SURGERY; + + @JsonValue + public String toValue() { + switch (this) { + case NUCLEAR_MEDICINE: return "nuclear-medicine"; + case RADIO_THERAPY: return "radio-therapy"; + case SURGERY: return "surgery"; + } + return null; + } + + @JsonCreator + public static CodingOncoProcedureCode forValue(String value) throws IOException { + if (value.equals("nuclear-medicine")) return NUCLEAR_MEDICINE; + if (value.equals("radio-therapy")) return RADIO_THERAPY; + if (value.equals("surgery")) return SURGERY; + throw new IOException("Cannot deserialize CodingOncoProcedureCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResult.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResult.java index 9ed9ac8..33a1e70 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResult.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResult.java @@ -3,15 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingProteinExpressionResult { - private ProteinExpressionResultCode code; + private CodingProteinExpressionResultCode code; private String display; private String system; private String version; @JsonProperty("code") - public ProteinExpressionResultCode getCode() { return code; } + public CodingProteinExpressionResultCode getCode() { return code; } @JsonProperty("code") - public void setCode(ProteinExpressionResultCode value) { this.code = value; } + public void setCode(CodingProteinExpressionResultCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResultCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResultCode.java new file mode 100644 index 0000000..96889dc --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResultCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingProteinExpressionResultCode { + EXP, NOT_EXP, THE_1, THE_2, THE_3, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case EXP: return "exp"; + case NOT_EXP: return "not-exp"; + case THE_1: return "1+"; + case THE_2: return "2+"; + case THE_3: return "3+"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static CodingProteinExpressionResultCode forValue(String value) throws IOException { + if (value.equals("exp")) return EXP; + if (value.equals("not-exp")) return NOT_EXP; + if (value.equals("1+")) return THE_1; + if (value.equals("2+")) return THE_2; + if (value.equals("3+")) return THE_3; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize CodingProteinExpressionResultCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecist.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecist.java index c05c8d0..478985f 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecist.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecist.java @@ -3,15 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingRecist { - private RecistCode code; + private CodingRecistCode code; private String display; private String system; private String version; @JsonProperty("code") - public RecistCode getCode() { return code; } + public CodingRecistCode getCode() { return code; } @JsonProperty("code") - public void setCode(RecistCode value) { this.code = value; } + public void setCode(CodingRecistCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecistCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecistCode.java new file mode 100644 index 0000000..5b5ba47 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecistCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingRecistCode { + CR, MR, NA, PD, PR, SD; + + @JsonValue + public String toValue() { + switch (this) { + case CR: return "CR"; + case MR: return "MR"; + case NA: return "NA"; + case PD: return "PD"; + case PR: return "PR"; + case SD: return "SD"; + } + return null; + } + + @JsonCreator + public static CodingRecistCode forValue(String value) throws IOException { + if (value.equals("CR")) return CR; + if (value.equals("MR")) return MR; + if (value.equals("NA")) return NA; + if (value.equals("PD")) return PD; + if (value.equals("PR")) return PR; + if (value.equals("SD")) return SD; + throw new IOException("Cannot deserialize CodingRecistCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecommendationPriority.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecommendationPriority.java new file mode 100644 index 0000000..a4ea759 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecommendationPriority.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingRecommendationPriority { + private PriorityCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public PriorityCode getCode() { return code; } + @JsonProperty("code") + public void setCode(PriorityCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingResponseMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingResponseMethod.java new file mode 100644 index 0000000..2446beb --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingResponseMethod.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingResponseMethod { + private CodingResponseMethodCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingResponseMethodCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingResponseMethodCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingResponseMethodCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingResponseMethodCode.java new file mode 100644 index 0000000..68a5de5 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingResponseMethodCode.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingResponseMethodCode { + RANO, RECIST; + + @JsonValue + public String toValue() { + switch (this) { + case RANO: return "RANO"; + case RECIST: return "RECIST"; + } + return null; + } + + @JsonCreator + public static CodingResponseMethodCode forValue(String value) throws IOException { + if (value.equals("RANO")) return RANO; + if (value.equals("RECIST")) return RECIST; + throw new IOException("Cannot deserialize CodingResponseMethodCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatus.java index ee51af0..76c8a40 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatus.java @@ -3,14 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingTherapyStatus { - private TherapyStatus code; + private CodingTherapyStatusCode code; private String display; private String system; + private String version; @JsonProperty("code") - public TherapyStatus getCode() { return code; } + public CodingTherapyStatusCode getCode() { return code; } @JsonProperty("code") - public void setCode(TherapyStatus value) { this.code = value; } + public void setCode(CodingTherapyStatusCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingTherapyStatus { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusCode.java similarity index 50% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatus.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusCode.java index 9379f04..8388a6f 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum TherapyStatus { +public enum CodingTherapyStatusCode { COMPLETED, NOT_DONE, ON_GOING, STOPPED, UNKNOWN; @JsonValue @@ -19,19 +19,12 @@ public enum TherapyStatus { } @JsonCreator - public static TherapyStatus forValue(String value) throws IOException { - switch (value) { - case "completed": - return COMPLETED; - case "not-done": - return NOT_DONE; - case "on-going": - return ON_GOING; - case "stopped": - return STOPPED; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize TherapyStatus"); + public static CodingTherapyStatusCode forValue(String value) throws IOException { + if (value.equals("completed")) return COMPLETED; + if (value.equals("not-done")) return NOT_DONE; + if (value.equals("on-going")) return ON_GOING; + if (value.equals("stopped")) return STOPPED; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize CodingTherapyStatusCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTmbInterpretation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTmbInterpretation.java new file mode 100644 index 0000000..02d57df --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTmbInterpretation.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingTmbInterpretation { + private InterpretationCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public InterpretationCode getCode() { return code; } + @JsonProperty("code") + public void setCode(InterpretationCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethod.java index 868c44a..e6826f5 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethod.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethod.java @@ -3,14 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingTumorCellContentMethod { - private TumorCellContentMethod code; + private CodingTumorCellContentMethodCode code; private String display; private String system; + private String version; @JsonProperty("code") - public TumorCellContentMethod getCode() { return code; } + public CodingTumorCellContentMethodCode getCode() { return code; } @JsonProperty("code") - public void setCode(TumorCellContentMethod value) { this.code = value; } + public void setCode(CodingTumorCellContentMethodCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingTumorCellContentMethod { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethodCode.java similarity index 68% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethod.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethodCode.java index f3f2a06..bac8a5f 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethod.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethodCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum TumorCellContentMethod { +public enum CodingTumorCellContentMethodCode { BIOINFORMATIC, HISTOLOGIC; @JsonValue @@ -16,9 +16,9 @@ public enum TumorCellContentMethod { } @JsonCreator - public static TumorCellContentMethod forValue(String value) throws IOException { + public static CodingTumorCellContentMethodCode forValue(String value) throws IOException { if (value.equals("bioinformatic")) return BIOINFORMATIC; if (value.equals("histologic")) return HISTOLOGIC; - throw new IOException("Cannot deserialize TumorCellContentMethod"); + throw new IOException("Cannot deserialize CodingTumorCellContentMethodCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimen.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimen.java new file mode 100644 index 0000000..0f2431f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimen.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingTumorSpecimen { + private CodingTumorSpecimenCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingTumorSpecimenCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingTumorSpecimenCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCode.java similarity index 50% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenType.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCode.java index 9c9b448..d1afbd9 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenType.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum TumorSpecimenType { +public enum CodingTumorSpecimenCode { CRYO_FROZEN, FFPE, FRESH_TISSUE, LIQUID_BIOPSY, UNKNOWN; @JsonValue @@ -19,19 +19,12 @@ public enum TumorSpecimenType { } @JsonCreator - public static TumorSpecimenType forValue(String value) throws IOException { - switch (value) { - case "cryo-frozen": - return CRYO_FROZEN; - case "FFPE": - return FFPE; - case "fresh-tissue": - return FRESH_TISSUE; - case "liquid-biopsy": - return LIQUID_BIOPSY; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize TumorSpecimenType"); + public static CodingTumorSpecimenCode forValue(String value) throws IOException { + if (value.equals("cryo-frozen")) return CRYO_FROZEN; + if (value.equals("FFPE")) return FFPE; + if (value.equals("fresh-tissue")) return FRESH_TISSUE; + if (value.equals("liquid-biopsy")) return LIQUID_BIOPSY; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize CodingTumorSpecimenCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalization.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalization.java index 31b0888..ee99f7c 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalization.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalization.java @@ -3,14 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingTumorSpecimenCollectionLocalization { - private TumorSpecimenCollectionLocalization code; + private CodingTumorSpecimenCollectionLocalizationCode code; private String display; private String system; + private String version; @JsonProperty("code") - public TumorSpecimenCollectionLocalization getCode() { return code; } + public CodingTumorSpecimenCollectionLocalizationCode getCode() { return code; } @JsonProperty("code") - public void setCode(TumorSpecimenCollectionLocalization value) { this.code = value; } + public void setCode(CodingTumorSpecimenCollectionLocalizationCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingTumorSpecimenCollectionLocalization { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalizationCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalizationCode.java new file mode 100644 index 0000000..ad5e4e6 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalizationCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingTumorSpecimenCollectionLocalizationCode { + CELLFREE_DNA, LOCAL_RECURRENCE, METASTASIS, PRIMARY_TUMOR, REGIONAL_LYMPH_NODES, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case CELLFREE_DNA: return "cellfree-dna"; + case LOCAL_RECURRENCE: return "local-recurrence"; + case METASTASIS: return "metastasis"; + case PRIMARY_TUMOR: return "primary-tumor"; + case REGIONAL_LYMPH_NODES: return "regional-lymph-nodes"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static CodingTumorSpecimenCollectionLocalizationCode forValue(String value) throws IOException { + if (value.equals("cellfree-dna")) return CELLFREE_DNA; + if (value.equals("local-recurrence")) return LOCAL_RECURRENCE; + if (value.equals("metastasis")) return METASTASIS; + if (value.equals("primary-tumor")) return PRIMARY_TUMOR; + if (value.equals("regional-lymph-nodes")) return REGIONAL_LYMPH_NODES; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize CodingTumorSpecimenCollectionLocalizationCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethod.java index 9a44fdd..69563b3 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethod.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethod.java @@ -3,14 +3,15 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class CodingTumorSpecimenCollectionMethod { - private TumorSpecimenCollectionMethod code; + private CodingTumorSpecimenCollectionMethodCode code; private String display; private String system; + private String version; @JsonProperty("code") - public TumorSpecimenCollectionMethod getCode() { return code; } + public CodingTumorSpecimenCollectionMethodCode getCode() { return code; } @JsonProperty("code") - public void setCode(TumorSpecimenCollectionMethod value) { this.code = value; } + public void setCode(CodingTumorSpecimenCollectionMethodCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } @@ -21,4 +22,9 @@ public class CodingTumorSpecimenCollectionMethod { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethodCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethodCode.java new file mode 100644 index 0000000..49f859d --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethodCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingTumorSpecimenCollectionMethodCode { + BIOPSY, CYTOLOGY, LIQUID_BIOPSY, RESECTION, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case BIOPSY: return "biopsy"; + case CYTOLOGY: return "cytology"; + case LIQUID_BIOPSY: return "liquid-biopsy"; + case RESECTION: return "resection"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static CodingTumorSpecimenCollectionMethodCode forValue(String value) throws IOException { + if (value.equals("biopsy")) return BIOPSY; + if (value.equals("cytology")) return CYTOLOGY; + if (value.equals("liquid-biopsy")) return LIQUID_BIOPSY; + if (value.equals("resection")) return RESECTION; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize CodingTumorSpecimenCollectionMethodCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpread.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpread.java deleted file mode 100644 index a228665..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpread.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTumorSpread { - private StageCode code; - private String display; - private String system; - - @JsonProperty("code") - public StageCode getCode() { return code; } - @JsonProperty("code") - public void setCode(StageCode value) { this.code = value; } - - @JsonProperty("display") - public String getDisplay() { return display; } - @JsonProperty("display") - public void setDisplay(String value) { this.display = value; } - - @JsonProperty("system") - public String getSystem() { return system; } - @JsonProperty("system") - public void setSystem(String value) { this.system = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorStagingMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorStagingMethod.java new file mode 100644 index 0000000..d49812f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorStagingMethod.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CodingTumorStagingMethod { + private CodingTumorStagingMethodCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public CodingTumorStagingMethodCode getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingTumorStagingMethodCode value) { this.code = value; } + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorStagingMethodCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorStagingMethodCode.java new file mode 100644 index 0000000..9f48c71 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorStagingMethodCode.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum CodingTumorStagingMethodCode { + CLINICAL, PATHOLOGIC; + + @JsonValue + public String toValue() { + switch (this) { + case CLINICAL: return "clinical"; + case PATHOLOGIC: return "pathologic"; + } + return null; + } + + @JsonCreator + public static CodingTumorStagingMethodCode forValue(String value) throws IOException { + if (value.equals("clinical")) return CLINICAL; + if (value.equals("pathologic")) return PATHOLOGIC; + throw new IOException("Cannot deserialize CodingTumorStagingMethodCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingVitalStatus.java similarity index 74% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatus.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CodingVitalStatus.java index c553e1b..d421742 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingVitalStatus.java @@ -2,10 +2,11 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class VitalStatus { +public class CodingVitalStatus { private VitalStatusCode code; private String display; private String system; + private String version; @JsonProperty("code") public VitalStatusCode getCode() { return code; } @@ -21,4 +22,9 @@ public class VitalStatus { public String getSystem() { return system; } @JsonProperty("system") public void setSystem(String value) { this.system = value; } + + @JsonProperty("version") + public String getVersion() { return version; } + @JsonProperty("version") + public void setVersion(String value) { this.version = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Collection.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Collection.java index c45b7cb..f8b585e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Collection.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Collection.java @@ -9,10 +9,8 @@ public class Collection { private CodingTumorSpecimenCollectionMethod method; @JsonProperty("date") - @JsonFormat(pattern = "yyyy-MM-dd") public Date getDate() { return date; } @JsonProperty("date") - @JsonFormat(pattern = "yyyy-MM-dd") public void setDate(Date value) { this.date = value; } @JsonProperty("localization") diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/DNAFusion.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/DNAFusion.java index 0a45733..6cd24c8 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/DNAFusion.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/DNAFusion.java @@ -1,13 +1,22 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; +import java.util.List; public class DNAFusion { + private List externalIds; private DnaFusionFusionPartner3Prime fusionPartner3Prime; private DnaFusionFusionPartner5Prime fusionPartner5Prime; private String id; + private List localization; + private Reference patient; private long reportedNumReads; + @JsonProperty("externalIds") + public List getExternalIds() { return externalIds; } + @JsonProperty("externalIds") + public void setExternalIds(List value) { this.externalIds = value; } + @JsonProperty("fusionPartner3prime") public DnaFusionFusionPartner3Prime getFusionPartner3Prime() { return fusionPartner3Prime; } @JsonProperty("fusionPartner3prime") @@ -23,6 +32,16 @@ public class DNAFusion { @JsonProperty("id") public void setId(String value) { this.id = value; } + @JsonProperty("localization") + public List getLocalization() { return localization; } + @JsonProperty("localization") + public void setLocalization(List value) { this.localization = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + @JsonProperty("reportedNumReads") public long getReportedNumReads() { return reportedNumReads; } @JsonProperty("reportedNumReads") diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Diagnosis.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Diagnosis.java deleted file mode 100644 index eb339c1..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Diagnosis.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class Diagnosis { - private String id; - private String type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public String getType() { return type; } - @JsonProperty("type") - public void setType(String value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner3Prime.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner3Prime.java index 2544f84..ee7170c 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner3Prime.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner3Prime.java @@ -3,19 +3,19 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class DnaFusionFusionPartner3Prime { - private CodingChromosome chromosome; - private CodingGene gene; + private Chromosome chromosome; + private Coding gene; private double position; @JsonProperty("chromosome") - public CodingChromosome getChromosome() { return chromosome; } + public Chromosome getChromosome() { return chromosome; } @JsonProperty("chromosome") - public void setChromosome(CodingChromosome value) { this.chromosome = value; } + public void setChromosome(Chromosome value) { this.chromosome = value; } @JsonProperty("gene") - public CodingGene getGene() { return gene; } + public Coding getGene() { return gene; } @JsonProperty("gene") - public void setGene(CodingGene value) { this.gene = value; } + public void setGene(Coding value) { this.gene = value; } @JsonProperty("position") public double getPosition() { return position; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner5Prime.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner5Prime.java index ed9608a..83b9414 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner5Prime.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusionFusionPartner5Prime.java @@ -3,19 +3,19 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class DnaFusionFusionPartner5Prime { - private CodingChromosome chromosome; - private Gene gene; + private Chromosome chromosome; + private Coding gene; private double position; @JsonProperty("chromosome") - public CodingChromosome getChromosome() { return chromosome; } + public Chromosome getChromosome() { return chromosome; } @JsonProperty("chromosome") - public void setChromosome(CodingChromosome value) { this.chromosome = value; } + public void setChromosome(Chromosome value) { this.chromosome = value; } @JsonProperty("gene") - public Gene getGene() { return gene; } + public Coding getGene() { return gene; } @JsonProperty("gene") - public void setGene(Gene value) { this.gene = value; } + public void setGene(Coding value) { this.gene = value; } @JsonProperty("position") public double getPosition() { return position; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/EXTIdSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/EXTIdSystem.java deleted file mode 100644 index f9c31c5..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/EXTIdSystem.java +++ /dev/null @@ -1,22 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum EXTIdSystem { - HTTPS_PUBMED_NCBI_NLM_NIH_GOV; - - @JsonValue - public String toValue() { - switch (this) { - case HTTPS_PUBMED_NCBI_NLM_NIH_GOV: return "https://pubmed.ncbi.nlm.nih.gov/"; - } - return null; - } - - @JsonCreator - public static EXTIdSystem forValue(String value) throws IOException { - if (value.equals("https://pubmed.ncbi.nlm.nih.gov/")) return HTTPS_PUBMED_NCBI_NLM_NIH_GOV; - throw new IOException("Cannot deserialize EXTIdSystem"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCode.java deleted file mode 100644 index b32991c..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCode.java +++ /dev/null @@ -1,37 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum EcogCode { - CODE_0, CODE_1, CODE_2, CODE_3, CODE_4; - - @JsonValue - public String toValue() { - switch (this) { - case CODE_0: return "0"; - case CODE_1: return "1"; - case CODE_2: return "2"; - case CODE_3: return "3"; - case CODE_4: return "4"; - } - return null; - } - - @JsonCreator - public static EcogCode forValue(String value) throws IOException { - switch (value) { - case "0": - return CODE_0; - case "1": - return CODE_1; - case "2": - return CODE_2; - case "3": - return CODE_3; - case "4": - return CODE_4; - } - throw new IOException("Cannot deserialize EcogCode"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalIdSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalIdSystem.java new file mode 100644 index 0000000..9c3862f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalIdSystem.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ExternalIdSystem { + HTTPS_CANCER_SANGER_Ac_UK_COSMIC, HTTPS_Www_ENSEMBL_ORG, HTTPS_Www_NCBI_NLM_NIH_GOV_ENTREZ, HTTPS_Www_NCBI_NLM_NIH_GOV_SNP; + + @JsonValue + public String toValue() { + switch (this) { + case HTTPS_CANCER_SANGER_Ac_UK_COSMIC: return "https://cancer.sanger.ac.uk/cosmic"; + case HTTPS_Www_ENSEMBL_ORG: return "https://www.ensembl.org"; + case HTTPS_Www_NCBI_NLM_NIH_GOV_ENTREZ: return "https://www.ncbi.nlm.nih.gov/entrez"; + case HTTPS_Www_NCBI_NLM_NIH_GOV_SNP: return "https://www.ncbi.nlm.nih.gov/snp"; + } + return null; + } + + @JsonCreator + public static ExternalIdSystem forValue(String value) throws IOException { + if (value.equals("https://cancer.sanger.ac.uk/cosmic")) return HTTPS_CANCER_SANGER_Ac_UK_COSMIC; + if (value.equals("https://www.ensembl.org")) return HTTPS_Www_ENSEMBL_ORG; + if (value.equals("https://www.ncbi.nlm.nih.gov/entrez")) return HTTPS_Www_NCBI_NLM_NIH_GOV_ENTREZ; + if (value.equals("https://www.ncbi.nlm.nih.gov/snp")) return HTTPS_Www_NCBI_NLM_NIH_GOV_SNP; + throw new IOException("Cannot deserialize ExternalIdSystem"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUp.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUp.java new file mode 100644 index 0000000..12fcfd8 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUp.java @@ -0,0 +1,21 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; + +public class FollowUp { + private Date date; + private CodingFollowUpPatientStatus patientStatus; + + @JsonProperty("date") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getDate() { return date; } + @JsonProperty("date") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setDate(Date value) { this.date = value; } + + @JsonProperty("patientStatus") + public CodingFollowUpPatientStatus getPatientStatus() { return patientStatus; } + @JsonProperty("patientStatus") + public void setPatientStatus(CodingFollowUpPatientStatus value) { this.patientStatus = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Gender.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCode.java similarity index 51% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/Gender.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCode.java index aa8970f..137883f 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Gender.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum Gender { +public enum GenderCode { FEMALE, MALE, OTHER, UNKNOWN; @JsonValue @@ -18,17 +18,11 @@ public enum Gender { } @JsonCreator - public static Gender forValue(String value) throws IOException { - switch (value) { - case "female": - return FEMALE; - case "male": - return MALE; - case "other": - return OTHER; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize Gender"); + public static GenderCode forValue(String value) throws IOException { + if (value.equals("female")) return FEMALE; + if (value.equals("male")) return MALE; + if (value.equals("other")) return OTHER; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize GenderCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Gene.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Gene.java deleted file mode 100644 index 84fd6b4..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Gene.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class Gene { - private String ensemblId; - private String hgncId; - - @JsonProperty("ensemblId") - public String getEnsemblId() { return ensemblId; } - @JsonProperty("ensemblId") - public void setEnsemblId(String value) { this.ensemblId = value; } - - @JsonProperty("hgncId") - public String getHgncId() { return hgncId; } - @JsonProperty("hgncId") - public void setHgncId(String value) { this.hgncId = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneAlterationReference.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneAlterationReference.java new file mode 100644 index 0000000..99c60b4 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneAlterationReference.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class GeneAlterationReference { + private String display; + private Coding gene; + private Reference variant; + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("gene") + public Coding getGene() { return gene; } + @JsonProperty("gene") + public void setGene(Coding value) { this.gene = value; } + + @JsonProperty("variant") + public Reference getVariant() { return variant; } + @JsonProperty("variant") + public void setVariant(Reference value) { this.variant = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneSystem.java deleted file mode 100644 index 8a41113..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneSystem.java +++ /dev/null @@ -1,22 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum GeneSystem { - HTTPS_Www_GENENAMES_ORG; - - @JsonValue - public String toValue() { - switch (this) { - case HTTPS_Www_GENENAMES_ORG: return "https://www.genenames.org/"; - } - return null; - } - - @JsonCreator - public static GeneSystem forValue(String value) throws IOException { - if (value.equals("https://www.genenames.org/")) return HTTPS_Www_GENENAMES_ORG; - throw new IOException("Cannot deserialize GeneSystem"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendation.java index 0897302..77b41df 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendation.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendation.java @@ -6,8 +6,8 @@ import java.util.Date; public class GeneticCounselingRecommendation { private String id; private Date issuedOn; - private Patient patient; - private Coding reason; + private Reference patient; + private CodingGeneticCounselingRecommendationReason reason; @JsonProperty("id") public String getId() { return id; } @@ -15,17 +15,19 @@ public class GeneticCounselingRecommendation { public void setId(String value) { this.id = value; } @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") public Date getIssuedOn() { return issuedOn; } @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") public void setIssuedOn(Date value) { this.issuedOn = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("reason") - public Coding getReason() { return reason; } + public CodingGeneticCounselingRecommendationReason getReason() { return reason; } @JsonProperty("reason") - public void setReason(Coding value) { this.reason = value; } + public void setReason(CodingGeneticCounselingRecommendationReason value) { this.reason = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Grading.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Grading.java new file mode 100644 index 0000000..bad3bfb --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Grading.java @@ -0,0 +1,13 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.List; + +public class Grading { + private List history; + + @JsonProperty("history") + public List getHistory() { return history; } + @JsonProperty("history") + public void setHistory(List value) { this.history = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/GradingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GradingCode.java deleted file mode 100644 index 4fd92f7..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/GradingCode.java +++ /dev/null @@ -1,49 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum GradingCode { - M1_A, M1_B, M1_C, M2_A, M2_B, M2_C, M3, M4, UNDEFINED; - - @JsonValue - public String toValue() { - switch (this) { - case M1_A: return "m1A"; - case M1_B: return "m1B"; - case M1_C: return "m1C"; - case M2_A: return "m2A"; - case M2_B: return "m2B"; - case M2_C: return "m2C"; - case M3: return "m3"; - case M4: return "m4"; - case UNDEFINED: return "undefined"; - } - return null; - } - - @JsonCreator - public static GradingCode forValue(String value) throws IOException { - switch (value) { - case "m1A": - return M1_A; - case "m1B": - return M1_B; - case "m1C": - return M1_C; - case "m2A": - return M2_A; - case "m2B": - return M2_B; - case "m2C": - return M2_C; - case "m3": - return M3; - case "m4": - return M4; - case "undefined": - return UNDEFINED; - } - throw new IOException("Cannot deserialize GradingCode"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/GuidelineTreatmentStatusCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GuidelineTreatmentStatusCode.java new file mode 100644 index 0000000..80d237c --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GuidelineTreatmentStatusCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum GuidelineTreatmentStatusCode { + EXHAUSTED, IMPOSSIBLE, NON_EXHAUSTED, NO_GUIDELINES_AVAILABLE, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case EXHAUSTED: return "exhausted"; + case IMPOSSIBLE: return "impossible"; + case NON_EXHAUSTED: return "non-exhausted"; + case NO_GUIDELINES_AVAILABLE: return "no-guidelines-available"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static GuidelineTreatmentStatusCode forValue(String value) throws IOException { + if (value.equals("exhausted")) return EXHAUSTED; + if (value.equals("impossible")) return IMPOSSIBLE; + if (value.equals("non-exhausted")) return NON_EXHAUSTED; + if (value.equals("no-guidelines-available")) return NO_GUIDELINES_AVAILABLE; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize GuidelineTreatmentStatusCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HRDScore.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HRDScore.java index 4945a09..59946ed 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/HRDScore.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HRDScore.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.*; public class HRDScore { private Components components; private String id; - private Coding interpretation; + private CodingHrdScoreInterpretation interpretation; private Reference patient; private Reference specimen; private double value; @@ -21,9 +21,9 @@ public class HRDScore { public void setId(String value) { this.id = value; } @JsonProperty("interpretation") - public Coding getInterpretation() { return interpretation; } + public CodingHrdScoreInterpretation getInterpretation() { return interpretation; } @JsonProperty("interpretation") - public void setInterpretation(Coding value) { this.interpretation = value; } + public void setInterpretation(CodingHrdScoreInterpretation value) { this.interpretation = value; } @JsonProperty("patient") public Reference getPatient() { return patient; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsurance.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsurance.java index a79c185..5e951aa 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsurance.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsurance.java @@ -3,22 +3,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class HealthInsurance { - private String display; - private ExternalId extId; - private Type type; + private Reference reference; + private CodingHealthInsurance type; - @JsonProperty("display") - public String getDisplay() { return display; } - @JsonProperty("display") - public void setDisplay(String value) { this.display = value; } - - @JsonProperty("extId") - public ExternalId getExtId() { return extId; } - @JsonProperty("extId") - public void setExtId(ExternalId value) { this.extId = value; } + @JsonProperty("reference") + public Reference getReference() { return reference; } + @JsonProperty("reference") + public void setReference(Reference value) { this.reference = value; } @JsonProperty("type") - public Type getType() { return type; } + public CodingHealthInsurance getType() { return type; } @JsonProperty("type") - public void setType(Type value) { this.type = value; } + public void setType(CodingHealthInsurance value) { this.type = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReevaluationRequest.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReevaluationRequest.java new file mode 100644 index 0000000..5738fe1 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReevaluationRequest.java @@ -0,0 +1,33 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; + +public class HistologyReevaluationRequest { + private String id; + private Date issuedOn; + private Reference patient; + private Reference specimen; + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getIssuedOn() { return issuedOn; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setIssuedOn(Date value) { this.issuedOn = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("specimen") + public Reference getSpecimen() { return specimen; } + @JsonProperty("specimen") + public void setSpecimen(Reference value) { this.specimen = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReport.java index a808216..ca47785 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReport.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReport.java @@ -6,9 +6,9 @@ import java.util.Date; public class HistologyReport { private String id; private Date issuedOn; - private Patient patient; + private Reference patient; private HistologyReportResults results; - private HistologyReportSpecimen specimen; + private Reference specimen; @JsonProperty("id") public String getId() { return id; } @@ -23,9 +23,9 @@ public class HistologyReport { public void setIssuedOn(Date value) { this.issuedOn = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("results") public HistologyReportResults getResults() { return results; } @@ -33,7 +33,7 @@ public class HistologyReport { public void setResults(HistologyReportResults value) { this.results = value; } @JsonProperty("specimen") - public HistologyReportSpecimen getSpecimen() { return specimen; } + public Reference getSpecimen() { return specimen; } @JsonProperty("specimen") - public void setSpecimen(HistologyReportSpecimen value) { this.specimen = value; } + public void setSpecimen(Reference value) { this.specimen = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReportSpecimen.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReportSpecimen.java deleted file mode 100644 index 9f08941..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/HistologyReportSpecimen.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class HistologyReportSpecimen { - private String id; - private SpecimenType type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public SpecimenType getType() { return type; } - @JsonProperty("type") - public void setType(SpecimenType value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/StageHistory.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/History.java similarity index 59% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/StageHistory.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/History.java index aa8c1dd..e1f7e0c 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/StageHistory.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/History.java @@ -3,9 +3,9 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; import java.util.Date; -public class StageHistory { +public class History { private Date date; - private CodingTumorSpread stage; + private CodingMtbDiagnosis value; @JsonProperty("date") @JsonFormat(pattern = "yyyy-MM-dd") @@ -14,8 +14,8 @@ public class StageHistory { @JsonFormat(pattern = "yyyy-MM-dd") public void setDate(Date value) { this.date = value; } - @JsonProperty("stage") - public CodingTumorSpread getStage() { return stage; } - @JsonProperty("stage") - public void setStage(CodingTumorSpread value) { this.stage = value; } + @JsonProperty("value") + public CodingMtbDiagnosis getValue() { return value; } + @JsonProperty("value") + public void setValue(CodingMtbDiagnosis value) { this.value = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ICScoreCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ICScoreCode.java index 0122265..297c4ba 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ICScoreCode.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ICScoreCode.java @@ -4,31 +4,25 @@ import java.io.IOException; import com.fasterxml.jackson.annotation.*; public enum ICScoreCode { - CODE_0, CODE_1, CODE_2, CODE_3; + THE_0, THE_1, THE_2, THE_3; @JsonValue public String toValue() { switch (this) { - case CODE_0: return "0"; - case CODE_1: return "1"; - case CODE_2: return "2"; - case CODE_3: return "3"; + case THE_0: return "0"; + case THE_1: return "1"; + case THE_2: return "2"; + case THE_3: return "3"; } return null; } @JsonCreator public static ICScoreCode forValue(String value) throws IOException { - switch (value) { - case "0": - return CODE_0; - case "1": - return CODE_1; - case "2": - return CODE_2; - case "3": - return CODE_3; - } + if (value.equals("0")) return THE_0; + if (value.equals("1")) return THE_1; + if (value.equals("2")) return THE_2; + if (value.equals("3")) return THE_3; throw new IOException("Cannot deserialize ICScoreCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/IHCReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/IHCReport.java index 722dee6..0d315f8 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/IHCReport.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/IHCReport.java @@ -5,51 +5,45 @@ import java.util.Date; import java.util.List; public class IHCReport { - private ExternalId blockId; - private Date date; + private List blockIds; private String id; - private ExternalId journalId; - private List msiMmrResults; + private Date issuedOn; + private String journalId; private Reference patient; - private List proteinExpressionResults; + private IhcReportResults results; private Reference specimen; - @JsonProperty("blockId") - public ExternalId getBlockId() { return blockId; } - @JsonProperty("blockId") - public void setBlockId(ExternalId value) { this.blockId = value; } - - @JsonProperty("date") - @JsonFormat(pattern = "yyyy-MM-dd") - public Date getDate() { return date; } - @JsonProperty("date") - @JsonFormat(pattern = "yyyy-MM-dd") - public void setDate(Date value) { this.date = value; } + @JsonProperty("blockIds") + public List getBlockIds() { return blockIds; } + @JsonProperty("blockIds") + public void setBlockIds(List value) { this.blockIds = value; } @JsonProperty("id") public String getId() { return id; } @JsonProperty("id") public void setId(String value) { this.id = value; } - @JsonProperty("journalId") - public ExternalId getJournalId() { return journalId; } - @JsonProperty("journalId") - public void setJournalId(ExternalId value) { this.journalId = value; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getIssuedOn() { return issuedOn; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setIssuedOn(Date value) { this.issuedOn = value; } - @JsonProperty("msiMmrResults") - public List getMsiMmrResults() { return msiMmrResults; } - @JsonProperty("msiMmrResults") - public void setMsiMmrResults(List value) { this.msiMmrResults = value; } + @JsonProperty("journalId") + public String getJournalId() { return journalId; } + @JsonProperty("journalId") + public void setJournalId(String value) { this.journalId = value; } @JsonProperty("patient") public Reference getPatient() { return patient; } @JsonProperty("patient") public void setPatient(Reference value) { this.patient = value; } - @JsonProperty("proteinExpressionResults") - public List getProteinExpressionResults() { return proteinExpressionResults; } - @JsonProperty("proteinExpressionResults") - public void setProteinExpressionResults(List value) { this.proteinExpressionResults = value; } + @JsonProperty("results") + public IhcReportResults getResults() { return results; } + @JsonProperty("results") + public void setResults(IhcReportResults value) { this.results = value; } @JsonProperty("specimen") public Reference getSpecimen() { return specimen; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/IhcReportResults.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/IhcReportResults.java new file mode 100644 index 0000000..c074484 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/IhcReportResults.java @@ -0,0 +1,19 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.List; + +public class IhcReportResults { + private List msiMmr; + private List proteinExpression; + + @JsonProperty("msiMmr") + public List getMsiMmr() { return msiMmr; } + @JsonProperty("msiMmr") + public void setMsiMmr(List value) { this.msiMmr = value; } + + @JsonProperty("proteinExpression") + public List getProteinExpression() { return proteinExpression; } + @JsonProperty("proteinExpression") + public void setProteinExpression(List value) { this.proteinExpression = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/IntentCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/IntentCode.java new file mode 100644 index 0000000..2fc318f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/IntentCode.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum IntentCode { + K, P, S, X; + + @JsonValue + public String toValue() { + switch (this) { + case K: return "K"; + case P: return "P"; + case S: return "S"; + case X: return "X"; + } + return null; + } + + @JsonCreator + public static IntentCode forValue(String value) throws IOException { + if (value.equals("K")) return K; + if (value.equals("P")) return P; + if (value.equals("S")) return S; + if (value.equals("X")) return X; + throw new IOException("Cannot deserialize IntentCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/InterpretationCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/InterpretationCode.java new file mode 100644 index 0000000..47ca825 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/InterpretationCode.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum InterpretationCode { + HIGH, INTERMEDIATE, LOW; + + @JsonValue + public String toValue() { + switch (this) { + case HIGH: return "high"; + case INTERMEDIATE: return "intermediate"; + case LOW: return "low"; + } + return null; + } + + @JsonCreator + public static InterpretationCode forValue(String value) throws IOException { + if (value.equals("high")) return HIGH; + if (value.equals("intermediate")) return INTERMEDIATE; + if (value.equals("low")) return LOW; + throw new IOException("Cannot deserialize InterpretationCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java index 6e3e79f..d70b239 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java @@ -6,7 +6,7 @@ import java.util.List; public class LevelOfEvidence { private List addendums; private CodingLevelOfEvidenceGrading grading; - private List publications; + private List publications; @JsonProperty("addendums") public List getAddendums() { return addendums; } @@ -19,7 +19,7 @@ public class LevelOfEvidence { public void setGrading(CodingLevelOfEvidenceGrading value) { this.grading = value; } @JsonProperty("publications") - public List getPublications() { return publications; } + public List getPublications() { return publications; } @JsonProperty("publications") - public void setPublications(List value) { this.publications = value; } + public void setPublications(List value) { this.publications = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceCode.java new file mode 100644 index 0000000..4bb2456 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceCode.java @@ -0,0 +1,38 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum LevelOfEvidenceCode { + M1_A, M1_B, M1_C, M2_A, M2_B, M2_C, M3, M4, UNDEFINED; + + @JsonValue + public String toValue() { + switch (this) { + case M1_A: return "m1A"; + case M1_B: return "m1B"; + case M1_C: return "m1C"; + case M2_A: return "m2A"; + case M2_B: return "m2B"; + case M2_C: return "m2C"; + case M3: return "m3"; + case M4: return "m4"; + case UNDEFINED: return "undefined"; + } + return null; + } + + @JsonCreator + public static LevelOfEvidenceCode forValue(String value) throws IOException { + if (value.equals("m1A")) return M1_A; + if (value.equals("m1B")) return M1_B; + if (value.equals("m1C")) return M1_C; + if (value.equals("m2A")) return M2_A; + if (value.equals("m2B")) return M2_B; + if (value.equals("m2C")) return M2_C; + if (value.equals("m3")) return M3; + if (value.equals("m4")) return M4; + if (value.equals("undefined")) return UNDEFINED; + throw new IOException("Cannot deserialize LevelOfEvidenceCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmrResult.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmr.java similarity index 98% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmrResult.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmr.java index 5311eb6..1fbb70c 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmrResult.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmr.java @@ -2,7 +2,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class MSIMmrResult { +public class MSIMmr { private CodingProteinExpressionIcScore icScore; private String id; private Reference patient; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBCarePlan.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBCarePlan.java index f1440ed..ebaf766 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBCarePlan.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBCarePlan.java @@ -5,41 +5,39 @@ import java.util.Date; import java.util.List; public class MTBCarePlan { - private String diagnosis; private GeneticCounselingRecommendation geneticCounselingRecommendation; + private List histologyReevaluationRequests; private String id; - private Reference indication; private Date issuedOn; private List medicationRecommendations; - private NoTargetFinding noTargetFinding; - private String notes; - private Patient patient; - private CodingCarePlanStatusReason statusReason; - private List studyEnrollmentRecommendations; - - @JsonProperty("diagnosis") - public String getDiagnosis() { return diagnosis; } - @JsonProperty("diagnosis") - public void setDiagnosis(String value) { this.diagnosis = value; } + private List notes; + private Reference patient; + private List procedureRecommendations; + private Reference reason; + private List rebiopsyRequests; + private CodingMtbCarePlanStatusReason statusReason; + private List studyEnrollmentRecommendations; @JsonProperty("geneticCounselingRecommendation") public GeneticCounselingRecommendation getGeneticCounselingRecommendation() { return geneticCounselingRecommendation; } @JsonProperty("geneticCounselingRecommendation") public void setGeneticCounselingRecommendation(GeneticCounselingRecommendation value) { this.geneticCounselingRecommendation = value; } + @JsonProperty("histologyReevaluationRequests") + public List getHistologyReevaluationRequests() { return histologyReevaluationRequests; } + @JsonProperty("histologyReevaluationRequests") + public void setHistologyReevaluationRequests(List value) { this.histologyReevaluationRequests = value; } + @JsonProperty("id") public String getId() { return id; } @JsonProperty("id") public void setId(String value) { this.id = value; } - @JsonProperty("indication") - public Reference getIndication() { return indication; } - @JsonProperty("indication") - public void setIndication(Reference value) { this.indication = value; } - @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") public Date getIssuedOn() { return issuedOn; } @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") public void setIssuedOn(Date value) { this.issuedOn = value; } @JsonProperty("medicationRecommendations") @@ -47,28 +45,38 @@ public class MTBCarePlan { @JsonProperty("medicationRecommendations") public void setMedicationRecommendations(List value) { this.medicationRecommendations = value; } - @JsonProperty("noTargetFinding") - public NoTargetFinding getNoTargetFinding() { return noTargetFinding; } - @JsonProperty("noTargetFinding") - public void setNoTargetFinding(NoTargetFinding value) { this.noTargetFinding = value; } - @JsonProperty("notes") - public String getNotes() { return notes; } + public List getNotes() { return notes; } @JsonProperty("notes") - public void setNotes(String value) { this.notes = value; } + public void setNotes(List value) { this.notes = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("procedureRecommendations") + public List getProcedureRecommendations() { return procedureRecommendations; } + @JsonProperty("procedureRecommendations") + public void setProcedureRecommendations(List value) { this.procedureRecommendations = value; } + + @JsonProperty("reason") + public Reference getReason() { return reason; } + @JsonProperty("reason") + public void setReason(Reference value) { this.reason = value; } + + @JsonProperty("rebiopsyRequests") + public List getRebiopsyRequests() { return rebiopsyRequests; } + @JsonProperty("rebiopsyRequests") + public void setRebiopsyRequests(List value) { this.rebiopsyRequests = value; } @JsonProperty("statusReason") - public CodingCarePlanStatusReason getStatusReason() { return statusReason; } + public CodingMtbCarePlanStatusReason getStatusReason() { return statusReason; } @JsonProperty("statusReason") - public void setStatusReason(CodingCarePlanStatusReason value) { this.statusReason = value; } + public void setStatusReason(CodingMtbCarePlanStatusReason value) { this.statusReason = value; } @JsonProperty("studyEnrollmentRecommendations") - public List getStudyEnrollmentRecommendations() { return studyEnrollmentRecommendations; } + public List getStudyEnrollmentRecommendations() { return studyEnrollmentRecommendations; } @JsonProperty("studyEnrollmentRecommendations") - public void setStudyEnrollmentRecommendations(List value) { this.studyEnrollmentRecommendations = value; } + public void setStudyEnrollmentRecommendations(List value) { this.studyEnrollmentRecommendations = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBDiagnosis.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBDiagnosis.java index c8c26ed..0c20afd 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBDiagnosis.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBDiagnosis.java @@ -6,75 +6,75 @@ import java.util.List; public class MTBDiagnosis { private Coding code; - private Coding guidelineTreatmentStatus; - private List histologyResults; - private Coding icdO3T; + private List germlineCodes; + private Grading grading; + private CodingMtbDiagnosisGuidelineTreatmentStatus guidelineTreatmentStatus; + private List histology; private String id; - private Patient patient; + private List notes; + private Reference patient; private Date recordedOn; - private List stageHistory; + private Staging staging; private Coding topography; - private CodingTumorGrade tumorGrade; - private Coding whoGrade; - private Coding whoGrading; + private Type type; @JsonProperty("code") public Coding getCode() { return code; } @JsonProperty("code") public void setCode(Coding value) { this.code = value; } - @JsonProperty("guidelineTreatmentStatus") - public Coding getGuidelineTreatmentStatus() { return guidelineTreatmentStatus; } - @JsonProperty("guidelineTreatmentStatus") - public void setGuidelineTreatmentStatus(Coding value) { this.guidelineTreatmentStatus = value; } + @JsonProperty("germlineCodes") + public List getGermlineCodes() { return germlineCodes; } + @JsonProperty("germlineCodes") + public void setGermlineCodes(List value) { this.germlineCodes = value; } - @JsonProperty("histologyResults") - public List getHistologyResults() { return histologyResults; } - @JsonProperty("histologyResults") - public void setHistologyResults(List value) { this.histologyResults = value; } + @JsonProperty("grading") + public Grading getGrading() { return grading; } + @JsonProperty("grading") + public void setGrading(Grading value) { this.grading = value; } - @JsonProperty("icdO3T") - public Coding getIcdO3T() { return icdO3T; } - @JsonProperty("icdO3T") - public void setIcdO3T(Coding value) { this.icdO3T = value; } + @JsonProperty("guidelineTreatmentStatus") + public CodingMtbDiagnosisGuidelineTreatmentStatus getGuidelineTreatmentStatus() { return guidelineTreatmentStatus; } + @JsonProperty("guidelineTreatmentStatus") + public void setGuidelineTreatmentStatus(CodingMtbDiagnosisGuidelineTreatmentStatus value) { this.guidelineTreatmentStatus = value; } + + @JsonProperty("histology") + public List getHistology() { return histology; } + @JsonProperty("histology") + public void setHistology(List value) { this.histology = value; } @JsonProperty("id") public String getId() { return id; } @JsonProperty("id") public void setId(String value) { this.id = value; } + @JsonProperty("notes") + public List getNotes() { return notes; } + @JsonProperty("notes") + public void setNotes(List value) { this.notes = value; } + @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("recordedOn") public Date getRecordedOn() { return recordedOn; } @JsonProperty("recordedOn") public void setRecordedOn(Date value) { this.recordedOn = value; } - @JsonProperty("stageHistory") - public List getStageHistory() { return stageHistory; } - @JsonProperty("stageHistory") - public void setStageHistory(List value) { this.stageHistory = value; } + @JsonProperty("staging") + public Staging getStaging() { return staging; } + @JsonProperty("staging") + public void setStaging(Staging value) { this.staging = value; } @JsonProperty("topography") public Coding getTopography() { return topography; } @JsonProperty("topography") public void setTopography(Coding value) { this.topography = value; } - @JsonProperty("tumorGrade") - public CodingTumorGrade getTumorGrade() { return tumorGrade; } - @JsonProperty("tumorGrade") - public void setTumorGrade(CodingTumorGrade value) { this.tumorGrade = value; } - - @JsonProperty("whoGrade") - public Coding getWhoGrade() { return whoGrade; } - @JsonProperty("whoGrade") - public void setWhoGrade(Coding value) { this.whoGrade = value; } - - @JsonProperty("whoGrading") - public Coding getWhoGrading() { return whoGrading; } - @JsonProperty("whoGrading") - public void setWhoGrading(Coding value) { this.whoGrading = value; } + @JsonProperty("type") + public Type getType() { return type; } + @JsonProperty("type") + public void setType(Type value) { this.type = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBEpisode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBEpisode.java deleted file mode 100644 index ae9cfd0..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBEpisode.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class MTBEpisode { - private String id; - private Patient patient; - private PeriodLocalDate period; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("patient") - public Patient getPatient() { return patient; } - @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } - - @JsonProperty("period") - public PeriodLocalDate getPeriod() { return period; } - @JsonProperty("period") - public void setPeriod(PeriodLocalDate value) { this.period = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/EpisodeOfCare.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBEpisodeOfCare.java similarity index 80% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/EpisodeOfCare.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/MTBEpisodeOfCare.java index 1ef9d50..f167a36 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/EpisodeOfCare.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBEpisodeOfCare.java @@ -3,11 +3,11 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; import java.util.List; -public class EpisodeOfCare { +public class MTBEpisodeOfCare { private List diagnoses; private String id; private Reference patient; - private PeriodLocalDate period; + private PeriodDate period; @JsonProperty("diagnoses") public List getDiagnoses() { return diagnoses; } @@ -25,7 +25,7 @@ public class EpisodeOfCare { public void setPatient(Reference value) { this.patient = value; } @JsonProperty("period") - public PeriodLocalDate getPeriod() { return period; } + public PeriodDate getPeriod() { return period; } @JsonProperty("period") - public void setPeriod(PeriodLocalDate value) { this.period = value; } + public void setPeriod(PeriodDate value) { this.period = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationRecommendation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationRecommendation.java index 7abc6b3..79e0f3a 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationRecommendation.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationRecommendation.java @@ -5,29 +5,32 @@ import java.util.Date; import java.util.List; public class MTBMedicationRecommendation { + private CodingMtbMedicationRecommendationCategory category; private String id; - private Reference indication; private Date issuedOn; private LevelOfEvidence levelOfEvidence; - private List medication; - private String ngsReport; - private Patient patient; - private CodingTherapyRecommendationPriority priority; - private List supportingVariants; + private List medication; + private Reference patient; + private CodingRecommendationPriority priority; + private Reference reason; + private List supportingVariants; + private CodingMtbMedicationRecommendationUseType useType; + + @JsonProperty("category") + public CodingMtbMedicationRecommendationCategory getCategory() { return category; } + @JsonProperty("category") + public void setCategory(CodingMtbMedicationRecommendationCategory value) { this.category = value; } @JsonProperty("id") public String getId() { return id; } @JsonProperty("id") public void setId(String value) { this.id = value; } - @JsonProperty("indication") - public Reference getIndication() { return indication; } - @JsonProperty("indication") - public void setIndication(Reference value) { this.indication = value; } - @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") public Date getIssuedOn() { return issuedOn; } @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") public void setIssuedOn(Date value) { this.issuedOn = value; } @JsonProperty("levelOfEvidence") @@ -36,27 +39,32 @@ public class MTBMedicationRecommendation { public void setLevelOfEvidence(LevelOfEvidence value) { this.levelOfEvidence = value; } @JsonProperty("medication") - public List getMedication() { return medication; } + public List getMedication() { return medication; } @JsonProperty("medication") - public void setMedication(List value) { this.medication = value; } - - @JsonProperty("ngsReport") - public String getNgsReport() { return ngsReport; } - @JsonProperty("ngsReport") - public void setNgsReport(String value) { this.ngsReport = value; } + public void setMedication(List value) { this.medication = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("priority") - public CodingTherapyRecommendationPriority getPriority() { return priority; } + public CodingRecommendationPriority getPriority() { return priority; } @JsonProperty("priority") - public void setPriority(CodingTherapyRecommendationPriority value) { this.priority = value; } + public void setPriority(CodingRecommendationPriority value) { this.priority = value; } + + @JsonProperty("reason") + public Reference getReason() { return reason; } + @JsonProperty("reason") + public void setReason(Reference value) { this.reason = value; } @JsonProperty("supportingVariants") - public List getSupportingVariants() { return supportingVariants; } + public List getSupportingVariants() { return supportingVariants; } @JsonProperty("supportingVariants") - public void setSupportingVariants(List value) { this.supportingVariants = value; } + public void setSupportingVariants(List value) { this.supportingVariants = value; } + + @JsonProperty("useType") + public CodingMtbMedicationRecommendationUseType getUseType() { return useType; } + @JsonProperty("useType") + public void setUseType(CodingMtbMedicationRecommendationUseType value) { this.useType = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationTherapy.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationTherapy.java deleted file mode 100644 index 265cf3d..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationTherapy.java +++ /dev/null @@ -1,80 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; -import java.util.List; - -public class MTBMedicationTherapy { - private Reference basedOn; - private String diagnosis; - private String id; - private Reference indication; - private List medication; - private String notes; - private Patient patient; - private PeriodLocalDate period; - private Date recordedOn; - private CodingTherapyStatus status; - private CodingTherapyStatusReason statusReason; - private Long therapyLine; - - @JsonProperty("basedOn") - public Reference getBasedOn() { return basedOn; } - @JsonProperty("basedOn") - public void setBasedOn(Reference value) { this.basedOn = value; } - - @JsonProperty("diagnosis") - public String getDiagnosis() { return diagnosis; } - @JsonProperty("diagnosis") - public void setDiagnosis(String value) { this.diagnosis = value; } - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("indication") - public Reference getIndication() { return indication; } - @JsonProperty("indication") - public void setIndication(Reference value) { this.indication = value; } - - @JsonProperty("medication") - public List getMedication() { return medication; } - @JsonProperty("medication") - public void setMedication(List value) { this.medication = value; } - - @JsonProperty("notes") - public String getNotes() { return notes; } - @JsonProperty("notes") - public void setNotes(String value) { this.notes = value; } - - @JsonProperty("patient") - public Patient getPatient() { return patient; } - @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } - - @JsonProperty("period") - public PeriodLocalDate getPeriod() { return period; } - @JsonProperty("period") - public void setPeriod(PeriodLocalDate value) { this.period = value; } - - @JsonProperty("recordedOn") - public Date getRecordedOn() { return recordedOn; } - @JsonProperty("recordedOn") - public void setRecordedOn(Date value) { this.recordedOn = value; } - - @JsonProperty("status") - public CodingTherapyStatus getStatus() { return status; } - @JsonProperty("status") - public void setStatus(CodingTherapyStatus value) { this.status = value; } - - @JsonProperty("statusReason") - public CodingTherapyStatusReason getStatusReason() { return statusReason; } - @JsonProperty("statusReason") - public void setStatusReason(CodingTherapyStatusReason value) { this.statusReason = value; } - - @JsonProperty("therapyLine") - public Long getTherapyLine() { return therapyLine; } - @JsonProperty("therapyLine") - public void setTherapyLine(Long value) { this.therapyLine = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBStudyEnrollmentRecommendation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBStudyEnrollmentRecommendation.java new file mode 100644 index 0000000..989825e --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBStudyEnrollmentRecommendation.java @@ -0,0 +1,64 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class MTBStudyEnrollmentRecommendation { + private String id; + private Date issuedOn; + private CodingLevelOfEvidenceGrading levelOfEvidence; + private List medication; + private Reference patient; + private CodingRecommendationPriority priority; + private Reference reason; + private List study; + private List supportingVariants; + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getIssuedOn() { return issuedOn; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setIssuedOn(Date value) { this.issuedOn = value; } + + @JsonProperty("levelOfEvidence") + public CodingLevelOfEvidenceGrading getLevelOfEvidence() { return levelOfEvidence; } + @JsonProperty("levelOfEvidence") + public void setLevelOfEvidence(CodingLevelOfEvidenceGrading value) { this.levelOfEvidence = value; } + + @JsonProperty("medication") + public List getMedication() { return medication; } + @JsonProperty("medication") + public void setMedication(List value) { this.medication = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("priority") + public CodingRecommendationPriority getPriority() { return priority; } + @JsonProperty("priority") + public void setPriority(CodingRecommendationPriority value) { this.priority = value; } + + @JsonProperty("reason") + public Reference getReason() { return reason; } + @JsonProperty("reason") + public void setReason(Reference value) { this.reason = value; } + + @JsonProperty("study") + public List getStudy() { return study; } + @JsonProperty("study") + public void setStudy(List value) { this.study = value; } + + @JsonProperty("supportingVariants") + public List getSupportingVariants() { return supportingVariants; } + @JsonProperty("supportingVariants") + public void setSupportingVariants(List value) { this.supportingVariants = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBSystemicTherapy.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBSystemicTherapy.java new file mode 100644 index 0000000..ce76755 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBSystemicTherapy.java @@ -0,0 +1,94 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class MTBSystemicTherapy { + private Reference basedOn; + private CodingMtbSystemicTherapyCategory category; + private String id; + private CodingMtbTherapyIntent intent; + private List medication; + private List notes; + private Reference patient; + private PeriodDate period; + private Reference reason; + private CodingMtbSystemicTherapyRecommendationFulfillmentStatus recommendationFulfillmentStatus; + private Date recordedOn; + private CodingTherapyStatus status; + private CodingMtbTherapyStatusReason statusReason; + private Long therapyLine; + + @JsonProperty("basedOn") + public Reference getBasedOn() { return basedOn; } + @JsonProperty("basedOn") + public void setBasedOn(Reference value) { this.basedOn = value; } + + @JsonProperty("category") + public CodingMtbSystemicTherapyCategory getCategory() { return category; } + @JsonProperty("category") + public void setCategory(CodingMtbSystemicTherapyCategory value) { this.category = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("intent") + public CodingMtbTherapyIntent getIntent() { return intent; } + @JsonProperty("intent") + public void setIntent(CodingMtbTherapyIntent value) { this.intent = value; } + + @JsonProperty("medication") + public List getMedication() { return medication; } + @JsonProperty("medication") + public void setMedication(List value) { this.medication = value; } + + @JsonProperty("notes") + public List getNotes() { return notes; } + @JsonProperty("notes") + public void setNotes(List value) { this.notes = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("period") + public PeriodDate getPeriod() { return period; } + @JsonProperty("period") + public void setPeriod(PeriodDate value) { this.period = value; } + + @JsonProperty("reason") + public Reference getReason() { return reason; } + @JsonProperty("reason") + public void setReason(Reference value) { this.reason = value; } + + @JsonProperty("recommendationFulfillmentStatus") + public CodingMtbSystemicTherapyRecommendationFulfillmentStatus getRecommendationFulfillmentStatus() { return recommendationFulfillmentStatus; } + @JsonProperty("recommendationFulfillmentStatus") + public void setRecommendationFulfillmentStatus(CodingMtbSystemicTherapyRecommendationFulfillmentStatus value) { this.recommendationFulfillmentStatus = value; } + + @JsonProperty("recordedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getRecordedOn() { return recordedOn; } + @JsonProperty("recordedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setRecordedOn(Date value) { this.recordedOn = value; } + + @JsonProperty("status") + public CodingTherapyStatus getStatus() { return status; } + @JsonProperty("status") + public void setStatus(CodingTherapyStatus value) { this.status = value; } + + @JsonProperty("statusReason") + public CodingMtbTherapyStatusReason getStatusReason() { return statusReason; } + @JsonProperty("statusReason") + public void setStatusReason(CodingMtbTherapyStatusReason value) { this.statusReason = value; } + + @JsonProperty("therapyLine") + public Long getTherapyLine() { return therapyLine; } + @JsonProperty("therapyLine") + public void setTherapyLine(Long value) { this.therapyLine = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Metadatum.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Metadata.java similarity index 98% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/Metadatum.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/Metadata.java index 010cf44..dab2b86 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Metadatum.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Metadata.java @@ -2,7 +2,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class Metadatum { +public class Metadata { private String kitManufacturer; private String kitType; private String pipeline; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularTherapy.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularTherapy.java deleted file mode 100644 index 6222040..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularTherapy.java +++ /dev/null @@ -1,13 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.List; - -public class MolecularTherapy { - private List history; - - @JsonProperty("history") - public List getHistory() { return history; } - @JsonProperty("history") - public void setHistory(List value) { this.history = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Mtb.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Mtb.java index 3b9baab..ab8073e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Mtb.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Mtb.java @@ -8,22 +8,19 @@ public class Mtb { private List claimResponses; private List claims; private List diagnoses; - private MTBEpisode episode; - private List episodesOfCare; - private List geneticCounsellingRequests; - private List guidelineProcedures; - private List guidelineTherapies; + private List episodesOfCare; + private List followUps; + private List guidelineProcedures; + private List guidelineTherapies; private List histologyReports; private List ihcReports; - private List molecularTherapies; - private List ngsReports; - private MtbPatient patient; + private List ngsReports; + private Patient patient; private List performanceStatus; - private List recommendations; + private List priorDiagnosticReports; private List responses; private List specimens; - private List studyInclusionRequests; - private List therapies; + private List systemicTherapies; @JsonProperty("carePlans") public List getCarePlans() { return carePlans; } @@ -45,30 +42,25 @@ public class Mtb { @JsonProperty("diagnoses") public void setDiagnoses(List value) { this.diagnoses = value; } - @JsonProperty("episode") - public MTBEpisode getEpisode() { return episode; } - @JsonProperty("episode") - public void setEpisode(MTBEpisode value) { this.episode = value; } - @JsonProperty("episodesOfCare") - public List getEpisodesOfCare() { return episodesOfCare; } + public List getEpisodesOfCare() { return episodesOfCare; } @JsonProperty("episodesOfCare") - public void setEpisodesOfCare(List value) { this.episodesOfCare = value; } + public void setEpisodesOfCare(List value) { this.episodesOfCare = value; } - @JsonProperty("geneticCounsellingRequests") - public List getGeneticCounsellingRequests() { return geneticCounsellingRequests; } - @JsonProperty("geneticCounsellingRequests") - public void setGeneticCounsellingRequests(List value) { this.geneticCounsellingRequests = value; } + @JsonProperty("followUps") + public List getFollowUps() { return followUps; } + @JsonProperty("followUps") + public void setFollowUps(List value) { this.followUps = value; } @JsonProperty("guidelineProcedures") - public List getGuidelineProcedures() { return guidelineProcedures; } + public List getGuidelineProcedures() { return guidelineProcedures; } @JsonProperty("guidelineProcedures") - public void setGuidelineProcedures(List value) { this.guidelineProcedures = value; } + public void setGuidelineProcedures(List value) { this.guidelineProcedures = value; } @JsonProperty("guidelineTherapies") - public List getGuidelineTherapies() { return guidelineTherapies; } + public List getGuidelineTherapies() { return guidelineTherapies; } @JsonProperty("guidelineTherapies") - public void setGuidelineTherapies(List value) { this.guidelineTherapies = value; } + public void setGuidelineTherapies(List value) { this.guidelineTherapies = value; } @JsonProperty("histologyReports") public List getHistologyReports() { return histologyReports; } @@ -80,30 +72,25 @@ public class Mtb { @JsonProperty("ihcReports") public void setIhcReports(List value) { this.ihcReports = value; } - @JsonProperty("molecularTherapies") - public List getMolecularTherapies() { return molecularTherapies; } - @JsonProperty("molecularTherapies") - public void setMolecularTherapies(List value) { this.molecularTherapies = value; } - @JsonProperty("ngsReports") - public List getNgsReports() { return ngsReports; } + public List getNgsReports() { return ngsReports; } @JsonProperty("ngsReports") - public void setNgsReports(List value) { this.ngsReports = value; } + public void setNgsReports(List value) { this.ngsReports = value; } @JsonProperty("patient") - public MtbPatient getPatient() { return patient; } + public Patient getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(MtbPatient value) { this.patient = value; } + public void setPatient(Patient value) { this.patient = value; } @JsonProperty("performanceStatus") public List getPerformanceStatus() { return performanceStatus; } @JsonProperty("performanceStatus") public void setPerformanceStatus(List value) { this.performanceStatus = value; } - @JsonProperty("recommendations") - public List getRecommendations() { return recommendations; } - @JsonProperty("recommendations") - public void setRecommendations(List value) { this.recommendations = value; } + @JsonProperty("priorDiagnosticReports") + public List getPriorDiagnosticReports() { return priorDiagnosticReports; } + @JsonProperty("priorDiagnosticReports") + public void setPriorDiagnosticReports(List value) { this.priorDiagnosticReports = value; } @JsonProperty("responses") public List getResponses() { return responses; } @@ -115,13 +102,8 @@ public class Mtb { @JsonProperty("specimens") public void setSpecimens(List value) { this.specimens = value; } - @JsonProperty("studyInclusionRequests") - public List getStudyInclusionRequests() { return studyInclusionRequests; } - @JsonProperty("studyInclusionRequests") - public void setStudyInclusionRequests(List value) { this.studyInclusionRequests = value; } - - @JsonProperty("therapies") - public List getTherapies() { return therapies; } - @JsonProperty("therapies") - public void setTherapies(List value) { this.therapies = value; } + @JsonProperty("systemicTherapies") + public List getSystemicTherapies() { return systemicTherapies; } + @JsonProperty("systemicTherapies") + public void setSystemicTherapies(List value) { this.systemicTherapies = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbPatient.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbPatient.java deleted file mode 100644 index 8722cee..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbPatient.java +++ /dev/null @@ -1,57 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; - -public class MtbPatient { - private Address address; - private ValueWithUnit age; - private Date birthDate; - private Date dateOfDeath; - private CodingGender gender; - private HealthInsurance healthInsurance; - private String id; - private VitalStatus vitalStatus; - - @JsonProperty("address") - public Address getAddress() { return address; } - @JsonProperty("address") - public void setAddress(Address value) { this.address = value; } - - @JsonProperty("age") - public ValueWithUnit getAge() { return age; } - @JsonProperty("age") - public void setAge(ValueWithUnit value) { this.age = value; } - - @JsonProperty("birthDate") - @JsonFormat(pattern = "yyyy-MM-dd") - public Date getBirthDate() { return birthDate; } - @JsonProperty("birthDate") - @JsonFormat(pattern = "yyyy-MM-dd") - public void setBirthDate(Date value) { this.birthDate = value; } - - @JsonProperty("dateOfDeath") - public Date getDateOfDeath() { return dateOfDeath; } - @JsonProperty("dateOfDeath") - public void setDateOfDeath(Date value) { this.dateOfDeath = value; } - - @JsonProperty("gender") - public CodingGender getGender() { return gender; } - @JsonProperty("gender") - public void setGender(CodingGender value) { this.gender = value; } - - @JsonProperty("healthInsurance") - public HealthInsurance getHealthInsurance() { return healthInsurance; } - @JsonProperty("healthInsurance") - public void setHealthInsurance(HealthInsurance value) { this.healthInsurance = value; } - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("vitalStatus") - public VitalStatus getVitalStatus() { return vitalStatus; } - @JsonProperty("vitalStatus") - public void setVitalStatus(VitalStatus value) { this.vitalStatus = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportSpecimen.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportSpecimen.java deleted file mode 100644 index efb64ce..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportSpecimen.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class NgsReportSpecimen { - private String id; - private SpecimenType type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public SpecimenType getType() { return type; } - @JsonProperty("type") - public void setType(SpecimenType value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/NoTargetFinding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/NoTargetFinding.java deleted file mode 100644 index 91eacd3..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/NoTargetFinding.java +++ /dev/null @@ -1,25 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; - -public class NoTargetFinding { - private String diagnosis; - private Date issuedOn; - private Patient patient; - - @JsonProperty("diagnosis") - public String getDiagnosis() { return diagnosis; } - @JsonProperty("diagnosis") - public void setDiagnosis(String value) { this.diagnosis = value; } - - @JsonProperty("issuedOn") - public Date getIssuedOn() { return issuedOn; } - @JsonProperty("issuedOn") - public void setIssuedOn(Date value) { this.issuedOn = value; } - - @JsonProperty("patient") - public Patient getPatient() { return patient; } - @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProcedure.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProcedure.java new file mode 100644 index 0000000..8a8d037 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProcedure.java @@ -0,0 +1,82 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class OncoProcedure { + private Reference basedOn; + private CodingOncoProcedure code; + private String id; + private CodingMtbTherapyIntent intent; + private List notes; + private Reference patient; + private PeriodDate period; + private Reference reason; + private Date recordedOn; + private CodingTherapyStatus status; + private CodingMtbTherapyStatusReason statusReason; + private Long therapyLine; + + @JsonProperty("basedOn") + public Reference getBasedOn() { return basedOn; } + @JsonProperty("basedOn") + public void setBasedOn(Reference value) { this.basedOn = value; } + + @JsonProperty("code") + public CodingOncoProcedure getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingOncoProcedure value) { this.code = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("intent") + public CodingMtbTherapyIntent getIntent() { return intent; } + @JsonProperty("intent") + public void setIntent(CodingMtbTherapyIntent value) { this.intent = value; } + + @JsonProperty("notes") + public List getNotes() { return notes; } + @JsonProperty("notes") + public void setNotes(List value) { this.notes = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("period") + public PeriodDate getPeriod() { return period; } + @JsonProperty("period") + public void setPeriod(PeriodDate value) { this.period = value; } + + @JsonProperty("reason") + public Reference getReason() { return reason; } + @JsonProperty("reason") + public void setReason(Reference value) { this.reason = value; } + + @JsonProperty("recordedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getRecordedOn() { return recordedOn; } + @JsonProperty("recordedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setRecordedOn(Date value) { this.recordedOn = value; } + + @JsonProperty("status") + public CodingTherapyStatus getStatus() { return status; } + @JsonProperty("status") + public void setStatus(CodingTherapyStatus value) { this.status = value; } + + @JsonProperty("statusReason") + public CodingMtbTherapyStatusReason getStatusReason() { return statusReason; } + @JsonProperty("statusReason") + public void setStatusReason(CodingMtbTherapyStatusReason value) { this.statusReason = value; } + + @JsonProperty("therapyLine") + public Long getTherapyLine() { return therapyLine; } + @JsonProperty("therapyLine") + public void setTherapyLine(Long value) { this.therapyLine = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProdecure.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProdecure.java deleted file mode 100644 index ea16b1b..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProdecure.java +++ /dev/null @@ -1,79 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; - -public class OncoProdecure { - private String basedOn; - private Coding code; - private String diagnosis; - private String id; - private Reference indication; - private String notes; - private Patient patient; - private PeriodLocalDate period; - private Date recordedOn; - private CodingTherapyStatus status; - private CodingTherapyStatusReason statusReason; - private Long therapyLine; - - @JsonProperty("basedOn") - public String getBasedOn() { return basedOn; } - @JsonProperty("basedOn") - public void setBasedOn(String value) { this.basedOn = value; } - - @JsonProperty("code") - public Coding getCode() { return code; } - @JsonProperty("code") - public void setCode(Coding value) { this.code = value; } - - @JsonProperty("diagnosis") - public String getDiagnosis() { return diagnosis; } - @JsonProperty("diagnosis") - public void setDiagnosis(String value) { this.diagnosis = value; } - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("indication") - public Reference getIndication() { return indication; } - @JsonProperty("indication") - public void setIndication(Reference value) { this.indication = value; } - - @JsonProperty("notes") - public String getNotes() { return notes; } - @JsonProperty("notes") - public void setNotes(String value) { this.notes = value; } - - @JsonProperty("patient") - public Patient getPatient() { return patient; } - @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } - - @JsonProperty("period") - public PeriodLocalDate getPeriod() { return period; } - @JsonProperty("period") - public void setPeriod(PeriodLocalDate value) { this.period = value; } - - @JsonProperty("recordedOn") - public Date getRecordedOn() { return recordedOn; } - @JsonProperty("recordedOn") - public void setRecordedOn(Date value) { this.recordedOn = value; } - - @JsonProperty("status") - public CodingTherapyStatus getStatus() { return status; } - @JsonProperty("status") - public void setStatus(CodingTherapyStatus value) { this.status = value; } - - @JsonProperty("statusReason") - public CodingTherapyStatusReason getStatusReason() { return statusReason; } - @JsonProperty("statusReason") - public void setStatusReason(CodingTherapyStatusReason value) { this.statusReason = value; } - - @JsonProperty("therapyLine") - public Long getTherapyLine() { return therapyLine; } - @JsonProperty("therapyLine") - public void setTherapyLine(Long value) { this.therapyLine = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Patient.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Patient.java index 2f6abcd..0ee6d26 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Patient.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Patient.java @@ -1,18 +1,63 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; +import java.util.Date; public class Patient { + private Address address; + private Age age; + private Date birthDate; + private Date dateOfDeath; + private CodingGender gender; + private HealthInsurance healthInsurance; private String id; - private PatientType type; + private Coding managingSite; + private CodingVitalStatus vitalStatus; + + @JsonProperty("address") + public Address getAddress() { return address; } + @JsonProperty("address") + public void setAddress(Address value) { this.address = value; } + + @JsonProperty("age") + public Age getAge() { return age; } + @JsonProperty("age") + public void setAge(Age value) { this.age = value; } + + @JsonProperty("birthDate") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getBirthDate() { return birthDate; } + @JsonProperty("birthDate") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setBirthDate(Date value) { this.birthDate = value; } + + @JsonProperty("dateOfDeath") + public Date getDateOfDeath() { return dateOfDeath; } + @JsonProperty("dateOfDeath") + public void setDateOfDeath(Date value) { this.dateOfDeath = value; } + + @JsonProperty("gender") + public CodingGender getGender() { return gender; } + @JsonProperty("gender") + public void setGender(CodingGender value) { this.gender = value; } + + @JsonProperty("healthInsurance") + public HealthInsurance getHealthInsurance() { return healthInsurance; } + @JsonProperty("healthInsurance") + public void setHealthInsurance(HealthInsurance value) { this.healthInsurance = value; } @JsonProperty("id") public String getId() { return id; } @JsonProperty("id") public void setId(String value) { this.id = value; } - @JsonProperty("type") - public PatientType getType() { return type; } - @JsonProperty("type") - public void setType(PatientType value) { this.type = value; } + @JsonProperty("managingSite") + public Coding getManagingSite() { return managingSite; } + @JsonProperty("managingSite") + public void setManagingSite(Coding value) { this.managingSite = value; } + + @JsonProperty("vitalStatus") + public CodingVitalStatus getVitalStatus() { return vitalStatus; } + @JsonProperty("vitalStatus") + public void setVitalStatus(CodingVitalStatus value) { this.vitalStatus = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PatientStatusCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PatientStatusCode.java new file mode 100644 index 0000000..b9b4e9e --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PatientStatusCode.java @@ -0,0 +1,22 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum PatientStatusCode { + LOST_TO_FU; + + @JsonValue + public String toValue() { + switch (this) { + case LOST_TO_FU: return "lost-to-fu"; + } + return null; + } + + @JsonCreator + public static PatientStatusCode forValue(String value) throws IOException { + if (value.equals("lost-to-fu")) return LOST_TO_FU; + throw new IOException("Cannot deserialize PatientStatusCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PatientType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PatientType.java deleted file mode 100644 index e992e68..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/PatientType.java +++ /dev/null @@ -1,22 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum PatientType { - PATIENT; - - @JsonValue - public String toValue() { - switch (this) { - case PATIENT: return "Patient"; - } - return null; - } - - @JsonCreator - public static PatientType forValue(String value) throws IOException { - if (value.equals("Patient")) return PATIENT; - throw new IOException("Cannot deserialize PatientType"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PerformanceStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PerformanceStatus.java index 24d0e82..c9d473e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/PerformanceStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PerformanceStatus.java @@ -6,7 +6,7 @@ import java.util.Date; public class PerformanceStatus { private Date effectiveDate; private String id; - private Patient patient; + private Reference patient; private CodingEcog value; @JsonProperty("effectiveDate") @@ -22,9 +22,9 @@ public class PerformanceStatus { public void setId(String value) { this.id = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("value") public CodingEcog getValue() { return value; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PeriodLocalDate.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PeriodDate.java similarity index 94% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/PeriodLocalDate.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/PeriodDate.java index 1175184..a1004d6 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/PeriodLocalDate.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PeriodDate.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; import java.util.Date; -public class PeriodLocalDate { +public class PeriodDate { private Date end; private Date start; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PriorDiagnosticReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PriorDiagnosticReport.java new file mode 100644 index 0000000..6c74b87 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PriorDiagnosticReport.java @@ -0,0 +1,52 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class PriorDiagnosticReport { + private String id; + private Date issuedOn; + private Reference patient; + private Reference performer; + private List results; + private Reference specimen; + private CodingMolecularDiagnosticReport type; + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getIssuedOn() { return issuedOn; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setIssuedOn(Date value) { this.issuedOn = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("performer") + public Reference getPerformer() { return performer; } + @JsonProperty("performer") + public void setPerformer(Reference value) { this.performer = value; } + + @JsonProperty("results") + public List getResults() { return results; } + @JsonProperty("results") + public void setResults(List value) { this.results = value; } + + @JsonProperty("specimen") + public Reference getSpecimen() { return specimen; } + @JsonProperty("specimen") + public void setSpecimen(Reference value) { this.specimen = value; } + + @JsonProperty("type") + public CodingMolecularDiagnosticReport getType() { return type; } + @JsonProperty("type") + public void setType(CodingMolecularDiagnosticReport value) { this.type = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PriorityCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PriorityCode.java new file mode 100644 index 0000000..2775a5c --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PriorityCode.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum PriorityCode { + THE_1, THE_2, THE_3, THE_4; + + @JsonValue + public String toValue() { + switch (this) { + case THE_1: return "1"; + case THE_2: return "2"; + case THE_3: return "3"; + case THE_4: return "4"; + } + return null; + } + + @JsonCreator + public static PriorityCode forValue(String value) throws IOException { + if (value.equals("1")) return THE_1; + if (value.equals("2")) return THE_2; + if (value.equals("3")) return THE_3; + if (value.equals("4")) return THE_4; + throw new IOException("Cannot deserialize PriorityCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProcedureRecommendation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProcedureRecommendation.java new file mode 100644 index 0000000..aa88124 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProcedureRecommendation.java @@ -0,0 +1,58 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class ProcedureRecommendation { + private CodingMtbProcedureRecommendationCategory code; + private String id; + private Date issuedOn; + private LevelOfEvidence levelOfEvidence; + private Reference patient; + private CodingRecommendationPriority priority; + private Reference reason; + private List supportingVariants; + + @JsonProperty("code") + public CodingMtbProcedureRecommendationCategory getCode() { return code; } + @JsonProperty("code") + public void setCode(CodingMtbProcedureRecommendationCategory value) { this.code = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getIssuedOn() { return issuedOn; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setIssuedOn(Date value) { this.issuedOn = value; } + + @JsonProperty("levelOfEvidence") + public LevelOfEvidence getLevelOfEvidence() { return levelOfEvidence; } + @JsonProperty("levelOfEvidence") + public void setLevelOfEvidence(LevelOfEvidence value) { this.levelOfEvidence = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("priority") + public CodingRecommendationPriority getPriority() { return priority; } + @JsonProperty("priority") + public void setPriority(CodingRecommendationPriority value) { this.priority = value; } + + @JsonProperty("reason") + public Reference getReason() { return reason; } + @JsonProperty("reason") + public void setReason(Reference value) { this.reason = value; } + + @JsonProperty("supportingVariants") + public List getSupportingVariants() { return supportingVariants; } + @JsonProperty("supportingVariants") + public void setSupportingVariants(List value) { this.supportingVariants = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResult.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpression.java similarity index 97% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResult.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpression.java index e004417..64b9b46 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResult.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpression.java @@ -2,7 +2,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class ProteinExpressionResult { +public class ProteinExpression { private CodingProteinExpressionIcScore icScore; private String id; private Reference patient; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResultCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResultCode.java deleted file mode 100644 index 2348bdd..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResultCode.java +++ /dev/null @@ -1,40 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum ProteinExpressionResultCode { - EXP, NOT_EXP, CODE_1_PLUS, CODE_2_PLUS, CODE_3_PLUS, UNKNOWN; - - @JsonValue - public String toValue() { - switch (this) { - case EXP: return "exp"; - case NOT_EXP: return "not-exp"; - case CODE_1_PLUS: return "1+"; - case CODE_2_PLUS: return "2+"; - case CODE_3_PLUS: return "3+"; - case UNKNOWN: return "unknown"; - } - return null; - } - - @JsonCreator - public static ProteinExpressionResultCode forValue(String value) throws IOException { - switch (value) { - case "exp": - return EXP; - case "not-exp": - return NOT_EXP; - case "1+": - return CODE_1_PLUS; - case "2+": - return CODE_2_PLUS; - case "3+": - return CODE_3_PLUS; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize PurpleCode"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PublicationReference.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PublicationReference.java new file mode 100644 index 0000000..3a17d9e --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PublicationReference.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class PublicationReference { + private String display; + private String id; + private PublicationSystem system; + private String type; + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("system") + public PublicationSystem getSystem() { return system; } + @JsonProperty("system") + public void setSystem(PublicationSystem value) { this.system = value; } + + @JsonProperty("type") + public String getType() { return type; } + @JsonProperty("type") + public void setType(String value) { this.type = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/PublicationSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/PublicationSystem.java new file mode 100644 index 0000000..fcfc0ec --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PublicationSystem.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum PublicationSystem { + HTTPS_PUBMED_NCBI_NLM_NIH_GOV, HTTPS_Www_DOI_ORG; + + @JsonValue + public String toValue() { + switch (this) { + case HTTPS_PUBMED_NCBI_NLM_NIH_GOV: return "https://pubmed.ncbi.nlm.nih.gov"; + case HTTPS_Www_DOI_ORG: return "https://www.doi.org"; + } + return null; + } + + @JsonCreator + public static PublicationSystem forValue(String value) throws IOException { + if (value.equals("https://pubmed.ncbi.nlm.nih.gov")) return HTTPS_PUBMED_NCBI_NLM_NIH_GOV; + if (value.equals("https://www.doi.org")) return HTTPS_Www_DOI_ORG; + throw new IOException("Cannot deserialize PublicationSystem"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RNAFusion.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RNAFusion.java index 7152835..11494ee 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/RNAFusion.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RNAFusion.java @@ -1,25 +1,28 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; +import java.util.List; public class RNAFusion { - private String cosmicId; private String effect; + private List externalIds; private RnaFusionFusionPartner3Prime fusionPartner3Prime; private RnaFusionFusionPartner5Prime fusionPartner5Prime; private String id; + private List localization; + private Reference patient; private long reportedNumReads; - @JsonProperty("cosmicId") - public String getCosmicId() { return cosmicId; } - @JsonProperty("cosmicId") - public void setCosmicId(String value) { this.cosmicId = value; } - @JsonProperty("effect") public String getEffect() { return effect; } @JsonProperty("effect") public void setEffect(String value) { this.effect = value; } + @JsonProperty("externalIds") + public List getExternalIds() { return externalIds; } + @JsonProperty("externalIds") + public void setExternalIds(List value) { this.externalIds = value; } + @JsonProperty("fusionPartner3prime") public RnaFusionFusionPartner3Prime getFusionPartner3Prime() { return fusionPartner3Prime; } @JsonProperty("fusionPartner3prime") @@ -35,6 +38,16 @@ public class RNAFusion { @JsonProperty("id") public void setId(String value) { this.id = value; } + @JsonProperty("localization") + public List getLocalization() { return localization; } + @JsonProperty("localization") + public void setLocalization(List value) { this.localization = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + @JsonProperty("reportedNumReads") public long getReportedNumReads() { return reportedNumReads; } @JsonProperty("reportedNumReads") diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RNASeq.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RNASeq.java index 5757db3..73b09b7 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/RNASeq.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RNASeq.java @@ -1,49 +1,36 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; +import java.util.List; public class RNASeq { private Long cohortRanking; - private String ensemblId; - private String entrezId; - private double fragmentsPerKilobaseMillion; - private boolean fromNgs; - private CodingGene gene; + private List externalIds; + private Coding gene; private String id; - private long librarySize; + private Long librarySize; + private List localization; + private Reference patient; private long rawCounts; - private boolean tissueCorrectedExpression; - private String transcriptId; + private Boolean tissueCorrectedExpression; + private TranscriptId transcriptId; + private double transcriptsPerMillion; + private Reference variant; @JsonProperty("cohortRanking") public Long getCohortRanking() { return cohortRanking; } @JsonProperty("cohortRanking") public void setCohortRanking(Long value) { this.cohortRanking = value; } - @JsonProperty("ensemblId") - public String getEnsemblId() { return ensemblId; } - @JsonProperty("ensemblId") - public void setEnsemblId(String value) { this.ensemblId = value; } - - @JsonProperty("entrezId") - public String getEntrezId() { return entrezId; } - @JsonProperty("entrezId") - public void setEntrezId(String value) { this.entrezId = value; } - - @JsonProperty("fragmentsPerKilobaseMillion") - public double getFragmentsPerKilobaseMillion() { return fragmentsPerKilobaseMillion; } - @JsonProperty("fragmentsPerKilobaseMillion") - public void setFragmentsPerKilobaseMillion(double value) { this.fragmentsPerKilobaseMillion = value; } - - @JsonProperty("fromNGS") - public boolean getFromNgs() { return fromNgs; } - @JsonProperty("fromNGS") - public void setFromNgs(boolean value) { this.fromNgs = value; } + @JsonProperty("externalIds") + public List getExternalIds() { return externalIds; } + @JsonProperty("externalIds") + public void setExternalIds(List value) { this.externalIds = value; } @JsonProperty("gene") - public CodingGene getGene() { return gene; } + public Coding getGene() { return gene; } @JsonProperty("gene") - public void setGene(CodingGene value) { this.gene = value; } + public void setGene(Coding value) { this.gene = value; } @JsonProperty("id") public String getId() { return id; } @@ -51,9 +38,19 @@ public class RNASeq { public void setId(String value) { this.id = value; } @JsonProperty("librarySize") - public long getLibrarySize() { return librarySize; } + public Long getLibrarySize() { return librarySize; } @JsonProperty("librarySize") - public void setLibrarySize(long value) { this.librarySize = value; } + public void setLibrarySize(Long value) { this.librarySize = value; } + + @JsonProperty("localization") + public List getLocalization() { return localization; } + @JsonProperty("localization") + public void setLocalization(List value) { this.localization = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("rawCounts") public long getRawCounts() { return rawCounts; } @@ -61,12 +58,22 @@ public class RNASeq { public void setRawCounts(long value) { this.rawCounts = value; } @JsonProperty("tissueCorrectedExpression") - public boolean getTissueCorrectedExpression() { return tissueCorrectedExpression; } + public Boolean getTissueCorrectedExpression() { return tissueCorrectedExpression; } @JsonProperty("tissueCorrectedExpression") - public void setTissueCorrectedExpression(boolean value) { this.tissueCorrectedExpression = value; } + public void setTissueCorrectedExpression(Boolean value) { this.tissueCorrectedExpression = value; } @JsonProperty("transcriptId") - public String getTranscriptId() { return transcriptId; } + public TranscriptId getTranscriptId() { return transcriptId; } @JsonProperty("transcriptId") - public void setTranscriptId(String value) { this.transcriptId = value; } + public void setTranscriptId(TranscriptId value) { this.transcriptId = value; } + + @JsonProperty("transcriptsPerMillion") + public double getTranscriptsPerMillion() { return transcriptsPerMillion; } + @JsonProperty("transcriptsPerMillion") + public void setTranscriptsPerMillion(double value) { this.transcriptsPerMillion = value; } + + @JsonProperty("variant") + public Reference getVariant() { return variant; } + @JsonProperty("variant") + public void setVariant(Reference value) { this.variant = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ReasonCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ReasonCode.java new file mode 100644 index 0000000..ff1ef7f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ReasonCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ReasonCode { + FAMILY_ANAMNESIS, OTHER, SECONDARY_TUMOR, SELF_ANAMNESIS, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case FAMILY_ANAMNESIS: return "family-anamnesis"; + case OTHER: return "other"; + case SECONDARY_TUMOR: return "secondary-tumor"; + case SELF_ANAMNESIS: return "self-anamnesis"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static ReasonCode forValue(String value) throws IOException { + if (value.equals("family-anamnesis")) return FAMILY_ANAMNESIS; + if (value.equals("other")) return OTHER; + if (value.equals("secondary-tumor")) return SECONDARY_TUMOR; + if (value.equals("self-anamnesis")) return SELF_ANAMNESIS; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize ReasonCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RebiopsyRequest.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RebiopsyRequest.java new file mode 100644 index 0000000..0a6727a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RebiopsyRequest.java @@ -0,0 +1,33 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; + +public class RebiopsyRequest { + private String id; + private Date issuedOn; + private Reference patient; + private Reference tumorEntity; + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getIssuedOn() { return issuedOn; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setIssuedOn(Date value) { this.issuedOn = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("tumorEntity") + public Reference getTumorEntity() { return tumorEntity; } + @JsonProperty("tumorEntity") + public void setTumorEntity(Reference value) { this.tumorEntity = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RecistCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecistCode.java deleted file mode 100644 index 702e551..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/RecistCode.java +++ /dev/null @@ -1,43 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum RecistCode { - CR, MR, NA, NYA, PD, PR, SD; - - @JsonValue - public String toValue() { - switch (this) { - case CR: return "CR"; - case MR: return "MR"; - case NA: return "NA"; - case NYA: return "NYA"; - case PD: return "PD"; - case PR: return "PR"; - case SD: return "SD"; - } - return null; - } - - @JsonCreator - public static RecistCode forValue(String value) throws IOException { - switch (value) { - case "CR": - return CR; - case "MR": - return MR; - case "NA": - return NA; - case "NYA": - return NYA; - case "PD": - return PD; - case "PR": - return PR; - case "SD": - return SD; - } - throw new IOException("Cannot deserialize RecistCode"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Recommendation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Recommendation.java deleted file mode 100644 index 4d7a898..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Recommendation.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class Recommendation { - private String id; - private String type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public String getType() { return type; } - @JsonProperty("type") - public void setType(String value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RecommendationFulfillmentStatusCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecommendationFulfillmentStatusCode.java new file mode 100644 index 0000000..3fc4269 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecommendationFulfillmentStatusCode.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum RecommendationFulfillmentStatusCode { + COMPLETE, PARTIAL; + + @JsonValue + public String toValue() { + switch (this) { + case COMPLETE: return "complete"; + case PARTIAL: return "partial"; + } + return null; + } + + @JsonCreator + public static RecommendationFulfillmentStatusCode forValue(String value) throws IOException { + if (value.equals("complete")) return COMPLETE; + if (value.equals("partial")) return PARTIAL; + throw new IOException("Cannot deserialize RecommendationFulfillmentStatusCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Reference.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Reference.java index 21dda4d..ea2cf94 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Reference.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Reference.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.*; public class Reference { private String display; private String id; + private String system; private String type; @JsonProperty("display") @@ -17,6 +18,11 @@ public class Reference { @JsonProperty("id") public void setId(String value) { this.id = value; } + @JsonProperty("system") + public String getSystem() { return system; } + @JsonProperty("system") + public void setSystem(String value) { this.system = value; } + @JsonProperty("type") public String getType() { return type; } @JsonProperty("type") diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ReferencePublication.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ReferencePublication.java deleted file mode 100644 index b50e9eb..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ReferencePublication.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class ReferencePublication { - private EXTId extId; - private String type; - private String uri; - - @JsonProperty("extId") - public EXTId getExtId() { return extId; } - @JsonProperty("extId") - public void setExtId(EXTId value) { this.extId = value; } - - @JsonProperty("type") - public String getType() { return type; } - @JsonProperty("type") - public void setType(String value) { this.type = value; } - - @JsonProperty("uri") - public String getUri() { return uri; } - @JsonProperty("uri") - public void setUri(String value) { this.uri = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RequestedMedicationSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RequestedMedicationSystem.java new file mode 100644 index 0000000..a1b5992 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RequestedMedicationSystem.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum RequestedMedicationSystem { + HTTP_FHIR_DE_CODE_SYSTEM_BFARM_ATC, UNDEFINED; + + @JsonValue + public String toValue() { + switch (this) { + case HTTP_FHIR_DE_CODE_SYSTEM_BFARM_ATC: return "http://fhir.de/CodeSystem/bfarm/atc"; + case UNDEFINED: return "undefined"; + } + return null; + } + + @JsonCreator + public static RequestedMedicationSystem forValue(String value) throws IOException { + if (value.equals("http://fhir.de/CodeSystem/bfarm/atc")) return HTTP_FHIR_DE_CODE_SYSTEM_BFARM_ATC; + if (value.equals("undefined")) return UNDEFINED; + throw new IOException("Cannot deserialize RequestedMedicationSystem"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Response.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Response.java index 3cf56b3..d4bf8cb 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Response.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Response.java @@ -6,8 +6,9 @@ import java.util.Date; public class Response { private Date effectiveDate; private String id; - private Patient patient; - private ResponseTherapy therapy; + private CodingResponseMethod method; + private Reference patient; + private Reference therapy; private CodingRecist value; @JsonProperty("effectiveDate") @@ -22,15 +23,20 @@ public class Response { @JsonProperty("id") public void setId(String value) { this.id = value; } + @JsonProperty("method") + public CodingResponseMethod getMethod() { return method; } + @JsonProperty("method") + public void setMethod(CodingResponseMethod value) { this.method = value; } + @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("therapy") - public ResponseTherapy getTherapy() { return therapy; } + public Reference getTherapy() { return therapy; } @JsonProperty("therapy") - public void setTherapy(ResponseTherapy value) { this.therapy = value; } + public void setTherapy(Reference value) { this.therapy = value; } @JsonProperty("value") public CodingRecist getValue() { return value; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseTherapy.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseTherapy.java deleted file mode 100644 index a2a304b..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseTherapy.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class ResponseTherapy { - private String id; - private ResponseTherapyType type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public ResponseTherapyType getType() { return type; } - @JsonProperty("type") - public void setType(ResponseTherapyType value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseTherapyType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseTherapyType.java deleted file mode 100644 index bdfcd08..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseTherapyType.java +++ /dev/null @@ -1,22 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum ResponseTherapyType { - MTB_MEDICATION_THERAPY; - - @JsonValue - public String toValue() { - switch (this) { - case MTB_MEDICATION_THERAPY: return "MTBMedicationTherapy"; - } - return null; - } - - @JsonCreator - public static ResponseTherapyType forValue(String value) throws IOException { - if (value.equals("MTBMedicationTherapy")) return MTB_MEDICATION_THERAPY; - throw new IOException("Cannot deserialize ResponseTherapyType"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner3Prime.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner3Prime.java index 4160c4e..777886d 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner3Prime.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner3Prime.java @@ -3,21 +3,21 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class RnaFusionFusionPartner3Prime { - private String exon; - private CodingGene gene; + private String exonId; + private Coding gene; private double position; private RNAFusionStrand strand; - private String transcriptId; + private TranscriptId transcriptId; - @JsonProperty("exon") - public String getExon() { return exon; } - @JsonProperty("exon") - public void setExon(String value) { this.exon = value; } + @JsonProperty("exonId") + public String getExonId() { return exonId; } + @JsonProperty("exonId") + public void setExonId(String value) { this.exonId = value; } @JsonProperty("gene") - public CodingGene getGene() { return gene; } + public Coding getGene() { return gene; } @JsonProperty("gene") - public void setGene(CodingGene value) { this.gene = value; } + public void setGene(Coding value) { this.gene = value; } @JsonProperty("position") public double getPosition() { return position; } @@ -30,7 +30,7 @@ public class RnaFusionFusionPartner3Prime { public void setStrand(RNAFusionStrand value) { this.strand = value; } @JsonProperty("transcriptId") - public String getTranscriptId() { return transcriptId; } + public TranscriptId getTranscriptId() { return transcriptId; } @JsonProperty("transcriptId") - public void setTranscriptId(String value) { this.transcriptId = value; } + public void setTranscriptId(TranscriptId value) { this.transcriptId = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner5Prime.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner5Prime.java index 946f076..bf1767d 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner5Prime.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner5Prime.java @@ -3,21 +3,21 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; public class RnaFusionFusionPartner5Prime { - private String exon; - private CodingGene gene; + private String exonId; + private Coding gene; private double position; private RNAFusionStrand strand; - private String transcriptId; + private TranscriptId transcriptId; - @JsonProperty("exon") - public String getExon() { return exon; } - @JsonProperty("exon") - public void setExon(String value) { this.exon = value; } + @JsonProperty("exonId") + public String getExonId() { return exonId; } + @JsonProperty("exonId") + public void setExonId(String value) { this.exonId = value; } @JsonProperty("gene") - public CodingGene getGene() { return gene; } + public Coding getGene() { return gene; } @JsonProperty("gene") - public void setGene(CodingGene value) { this.gene = value; } + public void setGene(Coding value) { this.gene = value; } @JsonProperty("position") public double getPosition() { return position; } @@ -30,7 +30,7 @@ public class RnaFusionFusionPartner5Prime { public void setStrand(RNAFusionStrand value) { this.strand = value; } @JsonProperty("transcriptId") - public String getTranscriptId() { return transcriptId; } + public TranscriptId getTranscriptId() { return transcriptId; } @JsonProperty("transcriptId") - public void setTranscriptId(String value) { this.transcriptId = value; } + public void setTranscriptId(TranscriptId value) { this.transcriptId = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Snv.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Snv.java index 3811672..733c8b8 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Snv.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Snv.java @@ -6,21 +6,20 @@ import java.util.List; public class Snv { private double allelicFrequency; private String altAllele; - private Coding aminoAcidChange; - private CodingChromosome chromosome; - private String cosmicId; - private String dbSnpId; + private Chromosome chromosome; private Coding dnaChange; - private List externalIds; - private CodingGene gene; + private String exonId; + private List externalIds; + private Coding gene; private String id; - private Coding interpretation; - private Patient patient; + private CodingClinVar interpretation; + private List localization; + private Reference patient; private Position position; private Coding proteinChange; private long readDepth; private String refAllele; - private ExternalId transcriptId; + private TranscriptId transcriptId; @JsonProperty("allelicFrequency") public double getAllelicFrequency() { return allelicFrequency; } @@ -32,40 +31,30 @@ public class Snv { @JsonProperty("altAllele") public void setAltAllele(String value) { this.altAllele = value; } - @JsonProperty("aminoAcidChange") - public Coding getAminoAcidChange() { return aminoAcidChange; } - @JsonProperty("aminoAcidChange") - public void setAminoAcidChange(Coding value) { this.aminoAcidChange = value; } - @JsonProperty("chromosome") - public CodingChromosome getChromosome() { return chromosome; } + public Chromosome getChromosome() { return chromosome; } @JsonProperty("chromosome") - public void setChromosome(CodingChromosome value) { this.chromosome = value; } - - @JsonProperty("cosmicId") - public String getCosmicId() { return cosmicId; } - @JsonProperty("cosmicId") - public void setCosmicId(String value) { this.cosmicId = value; } - - @JsonProperty("dbSNPId") - public String getDbSnpId() { return dbSnpId; } - @JsonProperty("dbSNPId") - public void setDbSnpId(String value) { this.dbSnpId = value; } + public void setChromosome(Chromosome value) { this.chromosome = value; } @JsonProperty("dnaChange") public Coding getDnaChange() { return dnaChange; } @JsonProperty("dnaChange") public void setDnaChange(Coding value) { this.dnaChange = value; } + @JsonProperty("exonId") + public String getExonId() { return exonId; } + @JsonProperty("exonId") + public void setExonId(String value) { this.exonId = value; } + @JsonProperty("externalIds") - public List getExternalIds() { return externalIds; } + public List getExternalIds() { return externalIds; } @JsonProperty("externalIds") - public void setExternalIds(List value) { this.externalIds = value; } + public void setExternalIds(List value) { this.externalIds = value; } @JsonProperty("gene") - public CodingGene getGene() { return gene; } + public Coding getGene() { return gene; } @JsonProperty("gene") - public void setGene(CodingGene value) { this.gene = value; } + public void setGene(Coding value) { this.gene = value; } @JsonProperty("id") public String getId() { return id; } @@ -73,14 +62,19 @@ public class Snv { public void setId(String value) { this.id = value; } @JsonProperty("interpretation") - public Coding getInterpretation() { return interpretation; } + public CodingClinVar getInterpretation() { return interpretation; } @JsonProperty("interpretation") - public void setInterpretation(Coding value) { this.interpretation = value; } + public void setInterpretation(CodingClinVar value) { this.interpretation = value; } + + @JsonProperty("localization") + public List getLocalization() { return localization; } + @JsonProperty("localization") + public void setLocalization(List value) { this.localization = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("position") public Position getPosition() { return position; } @@ -103,7 +97,7 @@ public class Snv { public void setRefAllele(String value) { this.refAllele = value; } @JsonProperty("transcriptId") - public ExternalId getTranscriptId() { return transcriptId; } + public TranscriptId getTranscriptId() { return transcriptId; } @JsonProperty("transcriptId") - public void setTranscriptId(ExternalId value) { this.transcriptId = value; } + public void setTranscriptId(TranscriptId value) { this.transcriptId = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReport.java deleted file mode 100644 index ad6e57f..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReport.java +++ /dev/null @@ -1,56 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; -import java.util.List; - -public class SomaticNgsReport { - private String id; - private Date issuedOn; - private List metadata; - private Double msi; - private Patient patient; - private NgsReportResults results; - private Coding sequencingType; - private NgsReportSpecimen specimen; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("issuedOn") - public Date getIssuedOn() { return issuedOn; } - @JsonProperty("issuedOn") - public void setIssuedOn(Date value) { this.issuedOn = value; } - - @JsonProperty("metadata") - public List getMetadata() { return metadata; } - @JsonProperty("metadata") - public void setMetadata(List value) { this.metadata = value; } - - @JsonProperty("msi") - public Double getMsi() { return msi; } - @JsonProperty("msi") - public void setMsi(Double value) { this.msi = value; } - - @JsonProperty("patient") - public Patient getPatient() { return patient; } - @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } - - @JsonProperty("results") - public NgsReportResults getResults() { return results; } - @JsonProperty("results") - public void setResults(NgsReportResults value) { this.results = value; } - - @JsonProperty("sequencingType") - public Coding getSequencingType() { return sequencingType; } - @JsonProperty("sequencingType") - public void setSequencingType(Coding value) { this.sequencingType = value; } - - @JsonProperty("specimen") - public NgsReportSpecimen getSpecimen() { return specimen; } - @JsonProperty("specimen") - public void setSpecimen(NgsReportSpecimen value) { this.specimen = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReportMetadata.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReportMetadata.java new file mode 100644 index 0000000..3ec147b --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReportMetadata.java @@ -0,0 +1,52 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class SomaticNgsReportMetadata { + private String id; + private Date issuedOn; + private List metadata; + private Reference patient; + private NgsReportResults results; + private Reference specimen; + private CodingNgsReport type; + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getIssuedOn() { return issuedOn; } + @JsonProperty("issuedOn") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setIssuedOn(Date value) { this.issuedOn = value; } + + @JsonProperty("metadata") + public List getMetadata() { return metadata; } + @JsonProperty("metadata") + public void setMetadata(List value) { this.metadata = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("results") + public NgsReportResults getResults() { return results; } + @JsonProperty("results") + public void setResults(NgsReportResults value) { this.results = value; } + + @JsonProperty("specimen") + public Reference getSpecimen() { return specimen; } + @JsonProperty("specimen") + public void setSpecimen(Reference value) { this.specimen = value; } + + @JsonProperty("type") + public CodingNgsReport getType() { return type; } + @JsonProperty("type") + public void setType(CodingNgsReport value) { this.type = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/SpecimenType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/SpecimenType.java deleted file mode 100644 index 7d3fb74..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/SpecimenType.java +++ /dev/null @@ -1,22 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum SpecimenType { - TUMOR_SPECIMEN; - - @JsonValue - public String toValue() { - switch (this) { - case TUMOR_SPECIMEN: return "TumorSpecimen"; - } - return null; - } - - @JsonCreator - public static SpecimenType forValue(String value) throws IOException { - if (value.equals("TumorSpecimen")) return TUMOR_SPECIMEN; - throw new IOException("Cannot deserialize SpecimenType"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/StageCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/StageCode.java index bd06407..fb8a6f3 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/StageCode.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/StageCode.java @@ -4,14 +4,14 @@ import java.io.IOException; import com.fasterxml.jackson.annotation.*; public enum StageCode { - LOCAL, METASTASIZED, TUMOR_FREE, UNKNOWN; + FOLLOW_UP_CLAIM, INITIAL_CLAIM, REVOCATION, UNKNOWN; @JsonValue public String toValue() { switch (this) { - case LOCAL: return "local"; - case METASTASIZED: return "metastasized"; - case TUMOR_FREE: return "tumor-free"; + case FOLLOW_UP_CLAIM: return "follow-up-claim"; + case INITIAL_CLAIM: return "initial-claim"; + case REVOCATION: return "revocation"; case UNKNOWN: return "unknown"; } return null; @@ -19,16 +19,10 @@ public enum StageCode { @JsonCreator public static StageCode forValue(String value) throws IOException { - switch (value) { - case "local": - return LOCAL; - case "metastasized": - return METASTASIZED; - case "tumor-free": - return TUMOR_FREE; - case "unknown": - return UNKNOWN; - } + if (value.equals("follow-up-claim")) return FOLLOW_UP_CLAIM; + if (value.equals("initial-claim")) return INITIAL_CLAIM; + if (value.equals("revocation")) return REVOCATION; + if (value.equals("unknown")) return UNKNOWN; throw new IOException("Cannot deserialize StageCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Staging.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Staging.java new file mode 100644 index 0000000..84be81b --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Staging.java @@ -0,0 +1,13 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.List; + +public class Staging { + private List history; + + @JsonProperty("history") + public List getHistory() { return history; } + @JsonProperty("history") + public void setHistory(List value) { this.history = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/StatusReasonCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/StatusReasonCode.java deleted file mode 100644 index b3f1f5d..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/StatusReasonCode.java +++ /dev/null @@ -1,73 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum StatusReasonCode { - CHRONIC_REMISSION, CONTINUED_EXTERNALLY, DETERIORATION, LOST_TO_FU, MEDICAL_REASON, NO_INDICATION, OTHER, OTHER_THERAPY_CHOSEN, PATIENT_DEATH, PATIENT_REFUSAL, PATIENT_WISH, PAYMENT_ENDED, PAYMENT_PENDING, PAYMENT_REFUSED, PROGRESSION, TOXICITY, UNKNOWN; - - @JsonValue - public String toValue() { - switch (this) { - case CHRONIC_REMISSION: return "chronic-remission"; - case CONTINUED_EXTERNALLY: return "continued-externally"; - case DETERIORATION: return "deterioration"; - case LOST_TO_FU: return "lost-to-fu"; - case MEDICAL_REASON: return "medical-reason"; - case NO_INDICATION: return "no-indication"; - case OTHER: return "other"; - case OTHER_THERAPY_CHOSEN: return "other-therapy-chosen"; - case PATIENT_DEATH: return "patient-death"; - case PATIENT_REFUSAL: return "patient-refusal"; - case PATIENT_WISH: return "patient-wish"; - case PAYMENT_ENDED: return "payment-ended"; - case PAYMENT_PENDING: return "payment-pending"; - case PAYMENT_REFUSED: return "payment-refused"; - case PROGRESSION: return "progression"; - case TOXICITY: return "toxicity"; - case UNKNOWN: return "unknown"; - } - return null; - } - - @JsonCreator - public static StatusReasonCode forValue(String value) throws IOException { - switch (value) { - case "chronic-remission": - return CHRONIC_REMISSION; - case "continued-externally": - return CONTINUED_EXTERNALLY; - case "deterioration": - return DETERIORATION; - case "lost-to-fu": - return LOST_TO_FU; - case "medical-reason": - return MEDICAL_REASON; - case "no-indication": - return NO_INDICATION; - case "other": - return OTHER; - case "other-therapy-chosen": - return OTHER_THERAPY_CHOSEN; - case "patient-death": - return PATIENT_DEATH; - case "patient-refusal": - return PATIENT_REFUSAL; - case "patient-wish": - return PATIENT_WISH; - case "payment-ended": - return PAYMENT_ENDED; - case "payment-pending": - return PAYMENT_PENDING; - case "payment-refused": - return PAYMENT_REFUSED; - case "progression": - return PROGRESSION; - case "toxicity": - return TOXICITY; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize StatusReasonCode"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/StickyCode.java similarity index 50% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatus.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/StickyCode.java index 6e9c34c..031dc9e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/StickyCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum ClaimResponseStatus { +public enum StickyCode { ACCEPTED, REJECTED, UNKNOWN; @JsonValue @@ -17,15 +17,10 @@ public enum ClaimResponseStatus { } @JsonCreator - public static ClaimResponseStatus forValue(String value) throws IOException { - switch (value) { - case "accepted": - return ACCEPTED; - case "rejected": - return REJECTED; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize ClaimResponseStatus"); + public static StickyCode forValue(String value) throws IOException { + if (value.equals("accepted")) return ACCEPTED; + if (value.equals("rejected")) return REJECTED; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize StickyCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Study.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Study.java deleted file mode 100644 index 791abe2..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Study.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class Study { - private String system; - private String value; - - @JsonProperty("system") - public String getSystem() { return system; } - @JsonProperty("system") - public void setSystem(String value) { this.system = value; } - - @JsonProperty("value") - public String getValue() { return value; } - @JsonProperty("value") - public void setValue(String value) { this.value = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/StudyEnrollmentRecommendation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/StudyEnrollmentRecommendation.java deleted file mode 100644 index 7b68a1e..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/StudyEnrollmentRecommendation.java +++ /dev/null @@ -1,50 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; -import java.util.List; - -public class StudyEnrollmentRecommendation { - private String id; - private Date issuedOn; - private Coding levelOfEvidence; - private Patient patient; - private Reference reason; - private List studies; - private List supportingVariants; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("issuedOn") - public Date getIssuedOn() { return issuedOn; } - @JsonProperty("issuedOn") - public void setIssuedOn(Date value) { this.issuedOn = value; } - - @JsonProperty("levelOfEvidence") - public Coding getLevelOfEvidence() { return levelOfEvidence; } - @JsonProperty("levelOfEvidence") - public void setLevelOfEvidence(Coding value) { this.levelOfEvidence = value; } - - @JsonProperty("patient") - public Patient getPatient() { return patient; } - @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } - - @JsonProperty("reason") - public Reference getReason() { return reason; } - @JsonProperty("reason") - public void setReason(Reference value) { this.reason = value; } - - @JsonProperty("studies") - public List getStudies() { return studies; } - @JsonProperty("studies") - public void setStudies(List value) { this.studies = value; } - - @JsonProperty("supportingVariants") - public List getSupportingVariants() { return supportingVariants; } - @JsonProperty("supportingVariants") - public void setSupportingVariants(List value) { this.supportingVariants = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/StudyReference.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/StudyReference.java new file mode 100644 index 0000000..f5114a9 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/StudyReference.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class StudyReference { + private String display; + private String id; + private StudySystem system; + private String type; + + @JsonProperty("display") + public String getDisplay() { return display; } + @JsonProperty("display") + public void setDisplay(String value) { this.display = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("system") + public StudySystem getSystem() { return system; } + @JsonProperty("system") + public void setSystem(StudySystem value) { this.system = value; } + + @JsonProperty("type") + public String getType() { return type; } + @JsonProperty("type") + public void setType(String value) { this.type = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/StudySystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/StudySystem.java new file mode 100644 index 0000000..4447e0a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/StudySystem.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum StudySystem { + DRKS, EUDAMED, EUDRA_Ct, NCT; + + @JsonValue + public String toValue() { + switch (this) { + case DRKS: return "DRKS"; + case EUDAMED: return "EUDAMED"; + case EUDRA_Ct: return "Eudra-CT"; + case NCT: return "NCT"; + } + return null; + } + + @JsonCreator + public static StudySystem forValue(String value) throws IOException { + if (value.equals("DRKS")) return DRKS; + if (value.equals("EUDAMED")) return EUDAMED; + if (value.equals("Eudra-CT")) return EUDRA_Ct; + if (value.equals("NCT")) return NCT; + throw new IOException("Cannot deserialize StudySystem"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/SystemicTherapy.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/SystemicTherapy.java new file mode 100644 index 0000000..ac7441a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/SystemicTherapy.java @@ -0,0 +1,13 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.List; + +public class SystemicTherapy { + private List history; + + @JsonProperty("history") + public List getHistory() { return history; } + @JsonProperty("history") + public void setHistory(List value) { this.history = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Value.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TMBResult.java similarity index 94% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/Value.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/TMBResult.java index 9cafbb7..e49ae10 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Value.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TMBResult.java @@ -2,7 +2,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class Value { +public class TMBResult { private String unit; private double value; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TcScoreCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TcScoreCode.java index 9024092..833bac4 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TcScoreCode.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TcScoreCode.java @@ -4,40 +4,31 @@ import java.io.IOException; import com.fasterxml.jackson.annotation.*; public enum TcScoreCode { - CODE_0, CODE_1, CODE_2, CODE_3, CODE_4, CODE_5, CODE_6; + THE_0, THE_1, THE_2, THE_3, THE_4, THE_5, THE_6; @JsonValue public String toValue() { switch (this) { - case CODE_0: return "0"; - case CODE_1: return "1"; - case CODE_2: return "2"; - case CODE_3: return "3"; - case CODE_4: return "4"; - case CODE_5: return "5"; - case CODE_6: return "6"; + case THE_0: return "0"; + case THE_1: return "1"; + case THE_2: return "2"; + case THE_3: return "3"; + case THE_4: return "4"; + case THE_5: return "5"; + case THE_6: return "6"; } return null; } @JsonCreator public static TcScoreCode forValue(String value) throws IOException { - switch (value) { - case "0": - return CODE_0; - case "1": - return CODE_1; - case "2": - return CODE_2; - case "3": - return CODE_3; - case "4": - return CODE_4; - case "5": - return CODE_5; - case "6": - return CODE_6; - } + if (value.equals("0")) return THE_0; + if (value.equals("1")) return THE_1; + if (value.equals("2")) return THE_2; + if (value.equals("3")) return THE_3; + if (value.equals("4")) return THE_4; + if (value.equals("5")) return THE_5; + if (value.equals("6")) return THE_6; throw new IOException("Cannot deserialize TcScoreCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Therapy.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Therapy.java deleted file mode 100644 index 78fe4c4..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Therapy.java +++ /dev/null @@ -1,13 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.List; - -public class Therapy { - private List history; - - @JsonProperty("history") - public List getHistory() { return history; } - @JsonProperty("history") - public void setHistory(List value) { this.history = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyRecommendationPriority.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyRecommendationPriority.java deleted file mode 100644 index 88eee99..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyRecommendationPriority.java +++ /dev/null @@ -1,34 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum TherapyRecommendationPriority { - PRIORITY_1, PRIORITY_2, PRIORITY_3, PRIORITY_4; - - @JsonValue - public String toValue() { - switch (this) { - case PRIORITY_1: return "1"; - case PRIORITY_2: return "2"; - case PRIORITY_3: return "3"; - case PRIORITY_4: return "4"; - } - return null; - } - - @JsonCreator - public static TherapyRecommendationPriority forValue(String value) throws IOException { - switch (value) { - case "1": - return PRIORITY_1; - case "2": - return PRIORITY_2; - case "3": - return PRIORITY_3; - case "4": - return PRIORITY_4; - } - throw new IOException("Cannot deserialize TherapyRecommendationPriority"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Tmb.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Tmb.java index 507bc64..605cefd 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Tmb.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Tmb.java @@ -4,10 +4,10 @@ import com.fasterxml.jackson.annotation.*; public class Tmb { private String id; - private Coding interpretation; + private CodingTmbInterpretation interpretation; private Reference patient; private Reference specimen; - private Value value; + private TMBResult value; @JsonProperty("id") public String getId() { return id; } @@ -15,9 +15,9 @@ public class Tmb { public void setId(String value) { this.id = value; } @JsonProperty("interpretation") - public Coding getInterpretation() { return interpretation; } + public CodingTmbInterpretation getInterpretation() { return interpretation; } @JsonProperty("interpretation") - public void setInterpretation(Coding value) { this.interpretation = value; } + public void setInterpretation(CodingTmbInterpretation value) { this.interpretation = value; } @JsonProperty("patient") public Reference getPatient() { return patient; } @@ -30,7 +30,7 @@ public class Tmb { public void setSpecimen(Reference value) { this.specimen = value; } @JsonProperty("value") - public Value getValue() { return value; } + public TMBResult getValue() { return value; } @JsonProperty("value") - public void setValue(Value value) { this.value = value; } + public void setValue(TMBResult value) { this.value = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TnmClassification.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TnmClassification.java new file mode 100644 index 0000000..9f80c34 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TnmClassification.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TnmClassification { + private Coding metastasis; + private Coding nodes; + private Coding tumor; + + @JsonProperty("metastasis") + public Coding getMetastasis() { return metastasis; } + @JsonProperty("metastasis") + public void setMetastasis(Coding value) { this.metastasis = value; } + + @JsonProperty("nodes") + public Coding getNodes() { return nodes; } + @JsonProperty("nodes") + public void setNodes(Coding value) { this.nodes = value; } + + @JsonProperty("tumor") + public Coding getTumor() { return tumor; } + @JsonProperty("tumor") + public void setTumor(Coding value) { this.tumor = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalId.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptId.java similarity index 61% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalId.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptId.java index fcad183..f447b9a 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalId.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptId.java @@ -2,14 +2,14 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class ExternalId { - private String system; +public class TranscriptId { + private TranscriptIdSystem system; private String value; @JsonProperty("system") - public String getSystem() { return system; } + public TranscriptIdSystem getSystem() { return system; } @JsonProperty("system") - public void setSystem(String value) { this.system = value; } + public void setSystem(TranscriptIdSystem value) { this.system = value; } @JsonProperty("value") public String getValue() { return value; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptIdSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptIdSystem.java new file mode 100644 index 0000000..f6041ca --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptIdSystem.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum TranscriptIdSystem { + HTTPS_Www_ENSEMBL_ORG, HTTPS_Www_NCBI_NLM_NIH_GOV_REFSEQ; + + @JsonValue + public String toValue() { + switch (this) { + case HTTPS_Www_ENSEMBL_ORG: return "https://www.ensembl.org"; + case HTTPS_Www_NCBI_NLM_NIH_GOV_REFSEQ: return "https://www.ncbi.nlm.nih.gov/refseq"; + } + return null; + } + + @JsonCreator + public static TranscriptIdSystem forValue(String value) throws IOException { + if (value.equals("https://www.ensembl.org")) return HTTPS_Www_ENSEMBL_ORG; + if (value.equals("https://www.ncbi.nlm.nih.gov/refseq")) return HTTPS_Www_NCBI_NLM_NIH_GOV_REFSEQ; + throw new IOException("Cannot deserialize TranscriptIdSystem"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContent.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContent.java index bc8a08b..3b4f970 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContent.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContent.java @@ -5,8 +5,8 @@ import com.fasterxml.jackson.annotation.*; public class TumorCellContent { private String id; private CodingTumorCellContentMethod method; - private Patient patient; - private TumorCellContentSpecimen specimen; + private Reference patient; + private Reference specimen; private double value; @JsonProperty("id") @@ -20,14 +20,14 @@ public class TumorCellContent { public void setMethod(CodingTumorCellContentMethod value) { this.method = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("specimen") - public TumorCellContentSpecimen getSpecimen() { return specimen; } + public Reference getSpecimen() { return specimen; } @JsonProperty("specimen") - public void setSpecimen(TumorCellContentSpecimen value) { this.specimen = value; } + public void setSpecimen(Reference value) { this.specimen = value; } @JsonProperty("value") public double getValue() { return value; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentSpecimen.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentSpecimen.java deleted file mode 100644 index 9ba1e38..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentSpecimen.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class TumorCellContentSpecimen { - private String id; - private SpecimenType type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public SpecimenType getType() { return type; } - @JsonProperty("type") - public void setType(SpecimenType value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorGradeCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorGradeCode.java deleted file mode 100644 index 45b9be9..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorGradeCode.java +++ /dev/null @@ -1,37 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum TumorGradeCode { - G1, G2, G3, G4, GX; - - @JsonValue - public String toValue() { - switch (this) { - case G1: return "G1"; - case G2: return "G2"; - case G3: return "G3"; - case G4: return "G4"; - case GX: return "GX"; - } - return null; - } - - @JsonCreator - public static TumorGradeCode forValue(String value) throws IOException { - switch (value) { - case "G1": - return G1; - case "G2": - return G2; - case "G3": - return G3; - case "G4": - return G4; - case "GX": - return GX; - } - throw new IOException("Cannot deserialize TumorGradeCode"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorGrading.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorGrading.java new file mode 100644 index 0000000..a4418c4 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorGrading.java @@ -0,0 +1,22 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class TumorGrading { + private List codes; + private Date date; + + @JsonProperty("codes") + public List getCodes() { return codes; } + @JsonProperty("codes") + public void setCodes(List value) { this.codes = value; } + + @JsonProperty("date") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getDate() { return date; } + @JsonProperty("date") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setDate(Date value) { this.date = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphology.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphology.java index 3e2f139..24aac0f 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphology.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphology.java @@ -5,8 +5,8 @@ import com.fasterxml.jackson.annotation.*; public class TumorMorphology { private String id; private String notes; - private Patient patient; - private TumorMorphologySpecimen specimen; + private Reference patient; + private Reference specimen; private Coding value; @JsonProperty("id") @@ -20,14 +20,14 @@ public class TumorMorphology { public void setNotes(String value) { this.notes = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("specimen") - public TumorMorphologySpecimen getSpecimen() { return specimen; } + public Reference getSpecimen() { return specimen; } @JsonProperty("specimen") - public void setSpecimen(TumorMorphologySpecimen value) { this.specimen = value; } + public void setSpecimen(Reference value) { this.specimen = value; } @JsonProperty("value") public Coding getValue() { return value; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphologySpecimen.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphologySpecimen.java deleted file mode 100644 index 5f28551..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphologySpecimen.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class TumorMorphologySpecimen { - private String id; - private SpecimenType type; - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("type") - public SpecimenType getType() { return type; } - @JsonProperty("type") - public void setType(SpecimenType value) { this.type = value; } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimen.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimen.java index bb504ba..c971e19 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimen.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimen.java @@ -4,10 +4,10 @@ import com.fasterxml.jackson.annotation.*; public class TumorSpecimen { private Collection collection; - private Diagnosis diagnosis; + private Reference diagnosis; private String id; - private Patient patient; - private CodingTumorSpecimenType type; + private Reference patient; + private CodingTumorSpecimen type; @JsonProperty("collection") public Collection getCollection() { return collection; } @@ -15,9 +15,9 @@ public class TumorSpecimen { public void setCollection(Collection value) { this.collection = value; } @JsonProperty("diagnosis") - public Diagnosis getDiagnosis() { return diagnosis; } + public Reference getDiagnosis() { return diagnosis; } @JsonProperty("diagnosis") - public void setDiagnosis(Diagnosis value) { this.diagnosis = value; } + public void setDiagnosis(Reference value) { this.diagnosis = value; } @JsonProperty("id") public String getId() { return id; } @@ -25,12 +25,12 @@ public class TumorSpecimen { public void setId(String value) { this.id = value; } @JsonProperty("patient") - public Patient getPatient() { return patient; } + public Reference getPatient() { return patient; } @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } + public void setPatient(Reference value) { this.patient = value; } @JsonProperty("type") - public CodingTumorSpecimenType getType() { return type; } + public CodingTumorSpecimen getType() { return type; } @JsonProperty("type") - public void setType(CodingTumorSpecimenType value) { this.type = value; } + public void setType(CodingTumorSpecimen value) { this.type = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionLocalization.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionLocalization.java deleted file mode 100644 index 2843b9c..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionLocalization.java +++ /dev/null @@ -1,31 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum TumorSpecimenCollectionLocalization { - METASTASIS, PRIMARY_TUMOR, UNKNOWN; - - @JsonValue - public String toValue() { - switch (this) { - case METASTASIS: return "metastasis"; - case PRIMARY_TUMOR: return "primary-tumor"; - case UNKNOWN: return "unknown"; - } - return null; - } - - @JsonCreator - public static TumorSpecimenCollectionLocalization forValue(String value) throws IOException { - switch (value) { - case "metastasis": - return METASTASIS; - case "primary-tumor": - return PRIMARY_TUMOR; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize TumorSpecimenCollectionLocalization"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethod.java deleted file mode 100644 index 36ec4c9..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethod.java +++ /dev/null @@ -1,37 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum TumorSpecimenCollectionMethod { - BIOPSY, CYTOLOGY, LIQUID_BIOPSY, RESECTION, UNKNOWN; - - @JsonValue - public String toValue() { - switch (this) { - case BIOPSY: return "biopsy"; - case CYTOLOGY: return "cytology"; - case LIQUID_BIOPSY: return "liquid-biopsy"; - case RESECTION: return "resection"; - case UNKNOWN: return "unknown"; - } - return null; - } - - @JsonCreator - public static TumorSpecimenCollectionMethod forValue(String value) throws IOException { - switch (value) { - case "biopsy": - return BIOPSY; - case "cytology": - return CYTOLOGY; - case "liquid-biopsy": - return LIQUID_BIOPSY; - case "resection": - return RESECTION; - case "unknown": - return UNKNOWN; - } - throw new IOException("Cannot deserialize TumorSpecimenCollectionMethod"); - } -} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorStaging.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorStaging.java new file mode 100644 index 0000000..72dd26a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorStaging.java @@ -0,0 +1,34 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class TumorStaging { + private Date date; + private CodingTumorStagingMethod method; + private List otherClassifications; + private TnmClassification tnmClassification; + + @JsonProperty("date") + @JsonFormat(pattern = "yyyy-MM-dd") + public Date getDate() { return date; } + @JsonProperty("date") + @JsonFormat(pattern = "yyyy-MM-dd") + public void setDate(Date value) { this.date = value; } + + @JsonProperty("method") + public CodingTumorStagingMethod getMethod() { return method; } + @JsonProperty("method") + public void setMethod(CodingTumorStagingMethod value) { this.method = value; } + + @JsonProperty("otherClassifications") + public List getOtherClassifications() { return otherClassifications; } + @JsonProperty("otherClassifications") + public void setOtherClassifications(List value) { this.otherClassifications = value; } + + @JsonProperty("tnmClassification") + public TnmClassification getTnmClassification() { return tnmClassification; } + @JsonProperty("tnmClassification") + public void setTnmClassification(TnmClassification value) { this.tnmClassification = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Type.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Type.java index c8e3303..2319f2b 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Type.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Type.java @@ -1,22 +1,13 @@ package dev.pcvolkmer.mv64e.mtb; -import java.io.IOException; import com.fasterxml.jackson.annotation.*; +import java.util.List; -public enum Type { - ORGANIZATION; +public class Type { + private List history; - @JsonValue - public String toValue() { - switch (this) { - case ORGANIZATION: return "Organization"; - } - return null; - } - - @JsonCreator - public static Type forValue(String value) throws IOException { - if (value.equals("Organization")) return ORGANIZATION; - throw new IOException("Cannot deserialize Type"); - } + @JsonProperty("history") + public List getHistory() { return history; } + @JsonProperty("history") + public void setHistory(List value) { this.history = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Unit.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Unit.java index 0ce88dc..32f1ce1 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Unit.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Unit.java @@ -4,11 +4,12 @@ import java.io.IOException; import com.fasterxml.jackson.annotation.*; public enum Unit { - YEARS; + MONTHS, YEARS; @JsonValue public String toValue() { switch (this) { + case MONTHS: return "Months"; case YEARS: return "Years"; } return null; @@ -16,6 +17,7 @@ public enum Unit { @JsonCreator public static Unit forValue(String value) throws IOException { + if (value.equals("Months")) return MONTHS; if (value.equals("Years")) return YEARS; throw new IOException("Cannot deserialize Unit"); } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/UseTypeCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/UseTypeCode.java new file mode 100644 index 0000000..bd8453b --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/UseTypeCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum UseTypeCode { + COMPASSIONATE, IN_LABEL, OFF_LABEL, SEC_PREVENTIVE, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case COMPASSIONATE: return "compassionate"; + case IN_LABEL: return "in-label"; + case OFF_LABEL: return "off-label"; + case SEC_PREVENTIVE: return "sec-preventive"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static UseTypeCode forValue(String value) throws IOException { + if (value.equals("compassionate")) return COMPASSIONATE; + if (value.equals("in-label")) return IN_LABEL; + if (value.equals("off-label")) return OFF_LABEL; + if (value.equals("sec-preventive")) return SEC_PREVENTIVE; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize UseTypeCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/EXTId.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/VariantExternalId.java similarity index 61% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/EXTId.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/VariantExternalId.java index 1ce1acc..97a307e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/EXTId.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/VariantExternalId.java @@ -2,14 +2,14 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class EXTId { - private EXTIdSystem system; +public class VariantExternalId { + private ExternalIdSystem system; private String value; @JsonProperty("system") - public EXTIdSystem getSystem() { return system; } + public ExternalIdSystem getSystem() { return system; } @JsonProperty("system") - public void setSystem(EXTIdSystem value) { this.system = value; } + public void setSystem(ExternalIdSystem value) { this.system = value; } @JsonProperty("value") public String getValue() { return value; } diff --git a/src/test/resources/mv64e-mtb-fake-patient.json b/src/test/resources/mv64e-mtb-fake-patient.json index 94ec8ad..c82d951 100644 --- a/src/test/resources/mv64e-mtb-fake-patient.json +++ b/src/test/resources/mv64e-mtb-fake-patient.json @@ -1 +1,2243 @@ -{"patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","gender":{"code":"male","display":"Männlich","system":"Gender"},"birthDate":"1982-12-20","dateOfDeath":"2016-12-20","healthInsurance":{"extId":{"value":"aok-ik","system":"IK"},"display":"AOK","type":"Organization"},"age":{"value":34,"unit":"Years"},"vitalStatus":{"code":"deceased","display":"Verstorben","system":"dnpm-dip/patient/vital-status"}},"episodesOfCare":[{"id":"0a9c7aa4-2d50-4798-9903-a3e378e4cf47","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"period":{"start":"2024-06-05"},"diagnoses":[{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","type":"MTBDiagnosis"}]}],"diagnoses":[{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"recordedOn":"2013-07-20","code":{"code":"C72.8","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","system":"http://fhir.de/CodeSystem/bfarm/icd-10-gm","version":"2025"},"topography":{"code":"C72.8","display":"Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","system":"urn:oid:2.16.840.1.113883.6.43.1","version":"Zweite Revision"},"tumorGrade":{"code":"G3","display":"G3 – schlecht differenziert","system":"dnpm-dip/mtb/tumor-grade"},"whoGrading":{"code":"2","display":"Diffuse astrocytoma","system":"dnpm-dip/mtb/who-grading-cns-tumors","version":"2021"},"stageHistory":[{"stage":{"code":"local","display":"Lokal","system":"dnpm-dip/mtb/diagnosis/tumor-spread"},"date":"2024-12-05"}],"guidelineTreatmentStatus":{"code":"non-exhausted","display":"Leitlinien nicht ausgeschöpft","system":"dnpm-dip/diagnosis/guideline-therapy/status"}}],"guidelineTherapies":[{"id":"81766541-269b-40ce-87fb-67d7119f1f7c","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"indication":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"therapyLine":7,"recordedOn":"2024-12-05","status":{"code":"stopped","display":"Abgebrochen","system":"dnpm-dip/therapy/status"},"statusReason":{"code":"progression","display":"Progression","system":"dnpm-dip/therapy/status-reason"},"period":{"start":"2023-07-05","end":"2023-11-22"},"medication":[{"code":"L01FX23","display":"Tisotumab vedotin","system":"http://fhir.de/CodeSystem/bfarm/atc","version":"2024"}],"notes":"Notes on the therapy..."}],"guidelineProcedures":[{"id":"a985be3c-5fd4-487a-8bcf-84e486aeaaed","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"indication":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"code":{"code":"nuclear-medicine","display":"Nuklearmedizinische Therapie","system":"dnpm-dip/mtb/procedure/type"},"status":{"code":"on-going","display":"Laufend","system":"dnpm-dip/therapy/status"},"statusReason":{"code":"medical-reason","display":"Medizinische Gründe","system":"dnpm-dip/therapy/status-reason"},"therapyLine":2,"recordedOn":"2024-12-05","period":{"start":"2024-06-05"},"notes":"Notes on the therapy..."}],"performanceStatus":[{"id":"a72e7813-e11b-4191-9d60-a9798ba35c6d","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"effectiveDate":"2024-12-05","value":{"code":"3","display":"ECOG 3","system":"ECOG-Performance-Status"}}],"specimens":[{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"diagnosis":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","type":"MTBDiagnosis"},"type":{"code":"cryo-frozen","display":"Cryo-frozen","system":"dnpm-dip/mtb/tumor-specimen/type"},"collection":{"date":"2024-12-05","method":{"code":"biopsy","display":"Biopsie","system":"dnpm-dip/mtb/tumor-specimen/collection/method"},"localization":{"code":"primary-tumor","display":"Primärtumor","system":"dnpm-dip/mtb/tumor-specimen/collection/localization"}}}],"histologyReports":[{"id":"e0e30beb-d4f2-4b40-8cfc-7d2e7f20eaee","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"issuedOn":"2024-12-05","results":{"tumorMorphology":{"id":"86ff597d-6940-497f-9171-3b66fe892c9f","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"value":{"code":"8034/3","display":"Polygonalzelliges Karzinom","system":"urn:oid:2.16.840.1.113883.6.43.1","version":"Zweite Revision"},"notes":"Notes..."},"tumorCellContent":{"id":"6f6eb719-85cd-45ed-b53c-cf2024edf968","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"method":{"code":"histologic","display":"Histologisch","system":"dnpm-dip/mtb/tumor-cell-content/method"},"value":0.10858877664379252}}}],"ihcReports":[{"id":"95bf304c-a182-4cee-acf9-449e71cf4254","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"date":"2024-12-05","journalId":{"value":"2b4c5993-df70-451f-962e-48be062911c1"},"blockId":{"value":"b097a0e9-1d6d-402d-9aae-471c2074a36d"},"proteinExpressionResults":[{"id":"7dcbb823-24aa-4b53-af8a-fa1d612e7e03","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"protein":{"code":"HGNC:5173","display":"HRAS","system":"https://www.genenames.org/"},"value":{"code":"3+","display":"3+","system":"dnpm-dip/mtb/ihc/protein-expression/result"},"tpsScore":66,"icScore":{"code":"2","display":">= 5%","system":"dnpm-dip/mtb/ihc/protein-expression/ic-score"},"tcScore":{"code":"3","display":">= 10%","system":"dnpm-dip/mtb/ihc/protein-expression/tc-score"}},{"id":"0b2736f5-5e6d-44ea-8e54-e17257b1b932","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"protein":{"code":"HGNC:5173","display":"HRAS","system":"https://www.genenames.org/"},"value":{"code":"1+","display":"1+","system":"dnpm-dip/mtb/ihc/protein-expression/result"},"tpsScore":42,"icScore":{"code":"3","display":">= 10%","system":"dnpm-dip/mtb/ihc/protein-expression/ic-score"},"tcScore":{"code":"2","display":">= 5%","system":"dnpm-dip/mtb/ihc/protein-expression/tc-score"}},{"id":"f9583be5-bb9b-45db-93bb-edaf4311c1cc","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"protein":{"code":"HGNC:3236","display":"EGFR","system":"https://www.genenames.org/"},"value":{"code":"not-exp","display":"Nicht exprimiert","system":"dnpm-dip/mtb/ihc/protein-expression/result"},"tpsScore":3,"icScore":{"code":"3","display":">= 10%","system":"dnpm-dip/mtb/ihc/protein-expression/ic-score"},"tcScore":{"code":"1","display":">= 1%","system":"dnpm-dip/mtb/ihc/protein-expression/tc-score"}}],"msiMmrResults":[]}],"ngsReports":[{"id":"45eccf05-0689-400e-8d0b-4d3916e5992d","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"issuedOn":"2024-12-05","sequencingType":{"code":"panel","display":"Panel","system":"dnpm-dip/ngs/sequencing-type"},"metadata":[{"kitType":"Kit Type","kitManufacturer":"Manufacturer","sequencer":"Sequencer","referenceGenome":"HG38","pipeline":"https://github.com/pipeline-project"}],"results":{"tumorCellContent":{"id":"2158a41a-47f7-433d-8bb8-e03c206fe544","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"method":{"code":"bioinformatic","display":"Bioinformatisch","system":"dnpm-dip/mtb/tumor-cell-content/method"},"value":0.3996684912972519},"tmb":{"id":"e76fc83f-f34a-4c23-a341-e4b474e79543","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"value":{"value":460720,"unit":"Mutations per megabase"},"interpretation":{"code":"low","display":"Niedrig","system":"dnpm-dip/mtb/ngs/tmb/interpretation"}},"brcaness":{"id":"0e7027f8-4420-4f5c-921e-5ad618e19500","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"value":0.5,"confidenceRange":{"min":0.4,"max":0.6}},"hrdScore":{"id":"1ca6d158-c516-4e09-bf41-14274d813745","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"specimen":{"id":"4cf8e4dc-7aad-43f7-b988-06095d8dd775","type":"TumorSpecimen"},"value":0.6694837759325275,"components":{"lst":0.975584528571115,"loh":0.3550000346611628,"tai":0.7552648749927258},"interpretation":{"code":"intermediate","display":"Mittel","system":"dnpm-dip/mtb/ngs/hrd-score/interpretation"}},"simpleVariants":[{"id":"2ac9cdab-1470-420b-8202-b364d4bbd874","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"externalIds":[{"value":"25ea5aa0-de87-4ad0-8dd0-6eb722a2dd33","system":"https://www.ncbi.nlm.nih.gov/snp/"},{"value":"675918f5-b44c-4ae3-931c-8fd237fbda6f","system":"https://cancer.sanger.ac.uk/cosmic"}],"chromosome":{"code":"chr20","display":"chr20","system":"chromosome"},"gene":{"code":"HGNC:3690","display":"FGFR3","system":"https://www.genenames.org/"},"transcriptId":{"value":"75e6db4e-3690-486b-af90-3897de5858be","system":"https://www.ensembl.org/index.html"},"position":{"start":150},"altAllele":"T","refAllele":"A","dnaChange":{"code":"c.150A>T","system":"https://hgvs-nomenclature.org"},"proteinChange":{"code":"p.Gly12Cys","system":"https://hgvs-nomenclature.org"},"readDepth":19,"allelicFrequency":0.685010869061194,"interpretation":{"code":"5","display":"Pathogenic","system":"https://www.ncbi.nlm.nih.gov/clinvar/"}},{"id":"6daeb5dd-6c07-4a02-adb2-1bfcd95ff5c5","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"externalIds":[{"value":"c30785e8-8cf5-424e-87fb-2352e3281faa","system":"https://www.ncbi.nlm.nih.gov/snp/"},{"value":"d05c2209-804d-4d09-a40e-687b29fbb022","system":"https://cancer.sanger.ac.uk/cosmic"}],"chromosome":{"code":"chr8","display":"chr8","system":"chromosome"},"gene":{"code":"HGNC:5173","display":"HRAS","system":"https://www.genenames.org/"},"transcriptId":{"value":"dab28033-52de-4d24-9613-81af3766cfb4","system":"https://www.ensembl.org/index.html"},"position":{"start":64},"altAllele":"C","refAllele":"A","dnaChange":{"code":"c.64A>C","system":"https://hgvs-nomenclature.org"},"proteinChange":{"code":"p.Lys23_Val25del","system":"https://hgvs-nomenclature.org"},"readDepth":16,"allelicFrequency":0.8311864378627531,"interpretation":{"code":"2","display":"Likely benign","system":"https://www.ncbi.nlm.nih.gov/clinvar/"}},{"id":"1516de8b-454e-4a54-a6e5-345cf30c6f2b","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"externalIds":[{"value":"5dba0049-4cfe-4223-bebf-76d0abe6f709","system":"https://www.ncbi.nlm.nih.gov/snp/"},{"value":"8aaf1a47-773b-47f3-9e16-397a9d44147c","system":"https://cancer.sanger.ac.uk/cosmic"}],"chromosome":{"code":"chr1","display":"chr1","system":"chromosome"},"gene":{"code":"HGNC:21298","display":"AACS","system":"https://www.genenames.org/"},"transcriptId":{"value":"bfca3449-0c83-4aca-9ccf-38e4f7683ac4","system":"https://www.ensembl.org/index.html"},"position":{"start":146},"altAllele":"C","refAllele":"A","dnaChange":{"code":"c.146A>C","system":"https://hgvs-nomenclature.org"},"proteinChange":{"code":"p.Cys28delinsTrpVal","system":"https://hgvs-nomenclature.org"},"readDepth":9,"allelicFrequency":0.8086334871218963,"interpretation":{"code":"3","display":"Uncertain significance","system":"https://www.ncbi.nlm.nih.gov/clinvar/"}},{"id":"9419a119-7313-4374-85ab-ae02c5889be9","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"externalIds":[{"value":"4a6f7810-3760-4701-88de-56c2c15e4aa3","system":"https://www.ncbi.nlm.nih.gov/snp/"},{"value":"60158888-304f-47b0-a509-fea306c94fcd","system":"https://cancer.sanger.ac.uk/cosmic"}],"chromosome":{"code":"chr6","display":"chr6","system":"chromosome"},"gene":{"code":"HGNC:34","display":"ABCA4","system":"https://www.genenames.org/"},"transcriptId":{"value":"cffb0dd0-71df-46a8-b76d-4d26f6693e0a","system":"https://www.ensembl.org/index.html"},"position":{"start":263},"altAllele":"T","refAllele":"G","dnaChange":{"code":"c.263G>T","system":"https://hgvs-nomenclature.org"},"proteinChange":{"code":"p.(His321Leufs*3)","system":"https://hgvs-nomenclature.org"},"readDepth":8,"allelicFrequency":0.8409595330886142,"interpretation":{"code":"1","display":"Benign","system":"https://www.ncbi.nlm.nih.gov/clinvar/"}}],"copyNumberVariants":[{"id":"d6871ca0-d8f4-4486-9e4c-4005f100daf5","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"chromosome":{"code":"chr4","display":"chr4","system":"chromosome"},"startRange":{"start":16319,"end":16361},"endRange":{"start":16688,"end":16738},"totalCopyNumber":1,"relativeCopyNumber":0.9062571771396243,"cnA":0.01136986168423515,"cnB":0.9007380377937474,"reportedAffectedGenes":[{"code":"HGNC:25829","display":"ABRAXAS1","system":"https://www.genenames.org/"},{"code":"HGNC:6973","display":"MDM2","system":"https://www.genenames.org/"},{"code":"HGNC:1100","display":"BRCA1","system":"https://www.genenames.org/"},{"code":"HGNC:391","display":"AKT1","system":"https://www.genenames.org/"},{"code":"HGNC:886","display":"ATRX","system":"https://www.genenames.org/"},{"code":"HGNC:1777","display":"CDK6","system":"https://www.genenames.org/"},{"code":"HGNC:9967","display":"RET","system":"https://www.genenames.org/"},{"code":"HGNC:21298","display":"AACS","system":"https://www.genenames.org/"},{"code":"HGNC:3689","display":"FGFR2","system":"https://www.genenames.org/"},{"code":"HGNC:34","display":"ABCA4","system":"https://www.genenames.org/"},{"code":"HGNC:3236","display":"EGFR","system":"https://www.genenames.org/"}],"reportedFocality":"partial q-arm","type":{"code":"loss","display":"Loss","system":"dnpm-dip/mtb/ngs-report/cnv/type"},"copyNumberNeutralLoH":[{"code":"HGNC:33","display":"ABCA3","system":"https://www.genenames.org/"},{"code":"HGNC:11998","display":"TP53","system":"https://www.genenames.org/"},{"code":"HGNC:5173","display":"HRAS","system":"https://www.genenames.org/"},{"code":"HGNC:6973","display":"MDM2","system":"https://www.genenames.org/"},{"code":"HGNC:3690","display":"FGFR3","system":"https://www.genenames.org/"},{"code":"HGNC:391","display":"AKT1","system":"https://www.genenames.org/"},{"code":"HGNC:21298","display":"AACS","system":"https://www.genenames.org/"},{"code":"HGNC:1097","display":"BRAF","system":"https://www.genenames.org/"},{"code":"HGNC:25662","display":"AAGAB","system":"https://www.genenames.org/"},{"code":"HGNC:3942","display":"MTOR","system":"https://www.genenames.org/"},{"code":"HGNC:21597","display":"ACAD10","system":"https://www.genenames.org/"}]},{"id":"921efd94-4055-4e71-82e4-a06b67cc0325","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"chromosome":{"code":"chrY","display":"chrY","system":"chromosome"},"startRange":{"start":10433,"end":10475},"endRange":{"start":10719,"end":10769},"totalCopyNumber":1,"relativeCopyNumber":0.5236175144644951,"cnA":0.26914869021054866,"cnB":0.23749126880255889,"reportedAffectedGenes":[{"code":"HGNC:33","display":"ABCA3","system":"https://www.genenames.org/"},{"code":"HGNC:11998","display":"TP53","system":"https://www.genenames.org/"},{"code":"HGNC:3690","display":"FGFR3","system":"https://www.genenames.org/"},{"code":"HGNC:391","display":"AKT1","system":"https://www.genenames.org/"},{"code":"HGNC:76","display":"ABL1","system":"https://www.genenames.org/"},{"code":"HGNC:1777","display":"CDK6","system":"https://www.genenames.org/"},{"code":"HGNC:1097","display":"BRAF","system":"https://www.genenames.org/"},{"code":"HGNC:1100","display":"BRCA1","system":"https://www.genenames.org/"},{"code":"HGNC:9967","display":"RET","system":"https://www.genenames.org/"},{"code":"HGNC:21298","display":"AACS","system":"https://www.genenames.org/"},{"code":"HGNC:3689","display":"FGFR2","system":"https://www.genenames.org/"},{"code":"HGNC:3236","display":"EGFR","system":"https://www.genenames.org/"},{"code":"HGNC:21597","display":"ACAD10","system":"https://www.genenames.org/"}],"reportedFocality":"partial q-arm","type":{"code":"loss","display":"Loss","system":"dnpm-dip/mtb/ngs-report/cnv/type"},"copyNumberNeutralLoH":[{"code":"HGNC:1777","display":"CDK6","system":"https://www.genenames.org/"},{"code":"HGNC:6973","display":"MDM2","system":"https://www.genenames.org/"},{"code":"HGNC:3689","display":"FGFR2","system":"https://www.genenames.org/"},{"code":"HGNC:6407","display":"KRAS","system":"https://www.genenames.org/"}]},{"id":"adc6f36b-1a2e-4cc7-89c0-f7c64b565ba4","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"chromosome":{"code":"chr3","display":"chr3","system":"chromosome"},"startRange":{"start":2502,"end":2544},"endRange":{"start":3402,"end":3452},"totalCopyNumber":5,"relativeCopyNumber":0.26595729208793106,"cnA":0.007428617339384491,"cnB":0.8904149213157745,"reportedAffectedGenes":[{"code":"HGNC:25829","display":"ABRAXAS1","system":"https://www.genenames.org/"},{"code":"HGNC:6973","display":"MDM2","system":"https://www.genenames.org/"},{"code":"HGNC:1097","display":"BRAF","system":"https://www.genenames.org/"},{"code":"HGNC:391","display":"AKT1","system":"https://www.genenames.org/"},{"code":"HGNC:76","display":"ABL1","system":"https://www.genenames.org/"}],"reportedFocality":"partial q-arm","type":{"code":"high-level-gain","display":"High-level-gain","system":"dnpm-dip/mtb/ngs-report/cnv/type"},"copyNumberNeutralLoH":[{"code":"HGNC:11998","display":"TP53","system":"https://www.genenames.org/"},{"code":"HGNC:6973","display":"MDM2","system":"https://www.genenames.org/"},{"code":"HGNC:391","display":"AKT1","system":"https://www.genenames.org/"},{"code":"HGNC:3236","display":"EGFR","system":"https://www.genenames.org/"},{"code":"HGNC:18615","display":"BRAFP1","system":"https://www.genenames.org/"},{"code":"HGNC:9967","display":"RET","system":"https://www.genenames.org/"},{"code":"HGNC:3689","display":"FGFR2","system":"https://www.genenames.org/"}]},{"id":"efc5e8cd-1928-4217-84bc-9e79d44a5ee5","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"chromosome":{"code":"chr14","display":"chr14","system":"chromosome"},"startRange":{"start":44534,"end":44576},"endRange":{"start":45326,"end":45376},"totalCopyNumber":1,"relativeCopyNumber":0.9899175316498431,"cnA":0.6048797572788662,"cnB":0.6682079776039204,"reportedAffectedGenes":[{"code":"HGNC:33","display":"ABCA3","system":"https://www.genenames.org/"},{"code":"HGNC:1097","display":"BRAF","system":"https://www.genenames.org/"},{"code":"HGNC:886","display":"ATRX","system":"https://www.genenames.org/"},{"code":"HGNC:1777","display":"CDK6","system":"https://www.genenames.org/"},{"code":"HGNC:21597","display":"ACAD10","system":"https://www.genenames.org/"},{"code":"HGNC:18615","display":"BRAFP1","system":"https://www.genenames.org/"},{"code":"HGNC:1753","display":"CDH13","system":"https://www.genenames.org/"},{"code":"HGNC:3690","display":"FGFR3","system":"https://www.genenames.org/"}],"reportedFocality":"partial q-arm","type":{"code":"loss","display":"Loss","system":"dnpm-dip/mtb/ngs-report/cnv/type"},"copyNumberNeutralLoH":[{"code":"HGNC:25829","display":"ABRAXAS1","system":"https://www.genenames.org/"},{"code":"HGNC:6973","display":"MDM2","system":"https://www.genenames.org/"},{"code":"HGNC:1100","display":"BRCA1","system":"https://www.genenames.org/"},{"code":"HGNC:76","display":"ABL1","system":"https://www.genenames.org/"},{"code":"HGNC:3689","display":"FGFR2","system":"https://www.genenames.org/"}]},{"id":"58d0f9de-bf58-4727-8ede-0ad8e258c7eb","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"chromosome":{"code":"chr8","display":"chr8","system":"chromosome"},"startRange":{"start":30335,"end":30377},"endRange":{"start":31083,"end":31133},"totalCopyNumber":7,"relativeCopyNumber":0.7020221929136304,"cnA":0.053474273003236594,"cnB":0.7126880519485409,"reportedAffectedGenes":[{"code":"HGNC:11998","display":"TP53","system":"https://www.genenames.org/"},{"code":"HGNC:25829","display":"ABRAXAS1","system":"https://www.genenames.org/"},{"code":"HGNC:6973","display":"MDM2","system":"https://www.genenames.org/"},{"code":"HGNC:1753","display":"CDH13","system":"https://www.genenames.org/"},{"code":"HGNC:1097","display":"BRAF","system":"https://www.genenames.org/"},{"code":"HGNC:886","display":"ATRX","system":"https://www.genenames.org/"},{"code":"HGNC:3236","display":"EGFR","system":"https://www.genenames.org/"},{"code":"HGNC:21298","display":"AACS","system":"https://www.genenames.org/"},{"code":"HGNC:3689","display":"FGFR2","system":"https://www.genenames.org/"},{"code":"HGNC:18615","display":"BRAFP1","system":"https://www.genenames.org/"},{"code":"HGNC:6407","display":"KRAS","system":"https://www.genenames.org/"}],"reportedFocality":"partial q-arm","type":{"code":"high-level-gain","display":"High-level-gain","system":"dnpm-dip/mtb/ngs-report/cnv/type"},"copyNumberNeutralLoH":[{"code":"HGNC:33","display":"ABCA3","system":"https://www.genenames.org/"},{"code":"HGNC:5173","display":"HRAS","system":"https://www.genenames.org/"},{"code":"HGNC:25662","display":"AAGAB","system":"https://www.genenames.org/"},{"code":"HGNC:886","display":"ATRX","system":"https://www.genenames.org/"},{"code":"HGNC:1777","display":"CDK6","system":"https://www.genenames.org/"},{"code":"HGNC:21298","display":"AACS","system":"https://www.genenames.org/"},{"code":"HGNC:34","display":"ABCA4","system":"https://www.genenames.org/"},{"code":"HGNC:6407","display":"KRAS","system":"https://www.genenames.org/"}]}],"dnaFusions":[],"rnaFusions":[],"rnaSeqs":[]}}],"carePlans":[{"id":"fadc68ed-1d43-4024-93aa-7016ea49ba8a","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"indication":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"issuedOn":"2024-12-05","statusReason":{"code":"no-target","display":"Keine Therapeutische Konsequenz","system":"dnpm-dip/mtb/careplan/status-reason"},"medicationRecommendations":[{"id":"01eca133-147d-41d8-bc9b-dab2e83cb5b4","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"indication":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"issuedOn":"2024-12-05","levelOfEvidence":{"grading":{"code":"undefined","display":"Nicht definiert","system":"dnpm-dip/mtb/level-of-evidence/grading"},"addendums":[{"code":"is","display":"is","system":"dnpm-dip/mtb/level-of-evidence/addendum"}],"publications":[{"extId":{"value":"547348950","system":"https://pubmed.ncbi.nlm.nih.gov/"},"type":"Publication"}]},"priority":{"code":"1","display":"1","system":"dnpm-dip/therapy-recommendation/priority"},"medication":[{"code":"L01FX02","display":"Gemtuzumab ozogamicin","system":"http://fhir.de/CodeSystem/bfarm/atc","version":"2024"}],"supportingVariants":[{"id":"efc5e8cd-1928-4217-84bc-9e79d44a5ee5","display":"CNV ABCA3,ATRX,CDH13,BRAF,FGFR3,CDK6,ACAD10,BRAFP1 Loss","type":"Variant"}]},{"id":"c647ecac-4c88-4afb-8888-e71b43bd8422","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"indication":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"issuedOn":"2024-12-05","levelOfEvidence":{"grading":{"code":"undefined","display":"Nicht definiert","system":"dnpm-dip/mtb/level-of-evidence/grading"},"addendums":[{"code":"R","display":"R","system":"dnpm-dip/mtb/level-of-evidence/addendum"}],"publications":[{"extId":{"value":"150735084","system":"https://pubmed.ncbi.nlm.nih.gov/"},"type":"Publication"}]},"priority":{"code":"2","display":"2","system":"dnpm-dip/therapy-recommendation/priority"},"medication":[{"code":"L01EX27","display":"Capivasertib","system":"http://fhir.de/CodeSystem/bfarm/atc","version":"2024"}],"supportingVariants":[{"id":"1516de8b-454e-4a54-a6e5-345cf30c6f2b","display":"SNV AACS p.Cys28delinsTrpVal","type":"Variant"}]}],"geneticCounselingRecommendation":{"id":"0ee29ee6-2507-4f15-a3db-43c8e9c7e3bc","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"issuedOn":"2024-12-05","reason":{"code":"unknown","display":"Unbekannt","system":"dnpm-dip/mtb/recommendation/genetic-counseling/reason"}},"studyEnrollmentRecommendations":[{"id":"1ea64b0f-2c90-4fde-9f73-d19a310ae165","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"reason":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"issuedOn":"2024-12-05","levelOfEvidence":{"code":"undefined","display":"Nicht definiert","system":"dnpm-dip/mtb/level-of-evidence/grading"},"supportingVariants":[{"id":"efc5e8cd-1928-4217-84bc-9e79d44a5ee5","display":"CNV ABCA3,ATRX,CDH13,BRAF,FGFR3,CDK6,ACAD10,BRAFP1 Loss","type":"Variant"}],"studies":[{"value":"NCT:33299761","system":"NCT"}]}],"notes":"Protocol of the MTB conference..."}],"claims":[{"id":"b4cddc10-88c1-42df-ac5e-d5c7c67ccdbf","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"recommendation":{"id":"01eca133-147d-41d8-bc9b-dab2e83cb5b4","type":"MTBMedicationRecommendation"},"issuedOn":"2024-12-05","stage":{"code":"unknown","display":"Unbekannt","system":"dnpm-dip/mtb/claim/stage"}},{"id":"3474c270-a652-4cd8-82fc-8530cabb798c","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"recommendation":{"id":"c647ecac-4c88-4afb-8888-e71b43bd8422","type":"MTBMedicationRecommendation"},"issuedOn":"2024-12-05","stage":{"code":"initial-claim","display":"Erstantrag","system":"dnpm-dip/mtb/claim/stage"}}],"claimResponses":[{"id":"c967ea31-bd7f-480e-b9c8-5f86a58be6e8","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"claim":{"id":"b4cddc10-88c1-42df-ac5e-d5c7c67ccdbf","type":"Claim"},"issuedOn":"2024-12-05","status":{"code":"accepted","display":"Angenommen","system":"dnpm-dip/mtb/claim-response/status"}},{"id":"1ef676a3-842e-4473-bae2-1090f606f235","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"claim":{"id":"3474c270-a652-4cd8-82fc-8530cabb798c","type":"Claim"},"issuedOn":"2024-12-05","status":{"code":"unknown","display":"Unbekannt","system":"dnpm-dip/mtb/claim-response/status"}}],"therapies":[{"history":[{"id":"bb2f7dac-281d-419a-9562-012ba5c918d3","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"indication":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"basedOn":{"id":"01eca133-147d-41d8-bc9b-dab2e83cb5b4","type":"MTBMedicationRecommendation"},"recordedOn":"2024-12-05","status":{"code":"on-going","display":"Laufend","system":"dnpm-dip/therapy/status"},"period":{"start":"2016-07-05","end":"2016-12-20"},"medication":[{"code":"L01FX02","display":"Gemtuzumab ozogamicin","system":"http://fhir.de/CodeSystem/bfarm/atc","version":"2024"}],"notes":"Notes on the therapy..."}]},{"history":[{"id":"5463ebc8-637f-4eb3-8884-ce4355211d6e","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"indication":{"id":"78d5b572-c3fa-4d26-8a07-302a28956b80","display":"Bösartige Neubildung: Gehirn und andere Teile des Zentralnervensystems, mehrere Teilbereiche überlappend","type":"MTBDiagnosis"},"basedOn":{"id":"c647ecac-4c88-4afb-8888-e71b43bd8422","type":"MTBMedicationRecommendation"},"recordedOn":"2024-12-05","status":{"code":"completed","display":"Abgeschlossen","system":"dnpm-dip/therapy/status"},"period":{"start":"2016-08-16","end":"2016-12-20"},"medication":[{"code":"L01EX27","display":"Capivasertib","system":"http://fhir.de/CodeSystem/bfarm/atc","version":"2024"}],"notes":"Notes on the therapy..."}]}],"responses":[{"id":"5565d5ac-dfa7-4a70-b64e-494c5be60b5b","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"therapy":{"id":"bb2f7dac-281d-419a-9562-012ba5c918d3","type":"MTBMedicationTherapy"},"effectiveDate":"2016-08-30","value":{"code":"PD","display":"Progressive Disease","system":"RECIST"}},{"id":"d51793ce-76c4-4909-b3a7-82c04a2c5846","patient":{"id":"b944f6b0-d65f-432c-9e6f-e6d3a4ea79f2","type":"Patient"},"therapy":{"id":"5463ebc8-637f-4eb3-8884-ce4355211d6e","type":"MTBMedicationTherapy"},"effectiveDate":"2016-10-18","value":{"code":"CR","display":"Complete Response","system":"RECIST"}}]} \ No newline at end of file +{ + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "gender" : { + "code" : "female", + "display" : "Weiblich", + "system" : "Gender" + }, + "birthDate" : "1956-02-25", + "dateOfDeath" : "2007-02-25", + "healthInsurance" : { + "type" : { + "code" : "GKV", + "display" : "gesetzliche Krankenversicherung", + "system" : "http://fhir.de/CodeSystem/versicherungsart-de-basis" + }, + "reference" : { + "id" : "1234567890", + "system" : "https://www.dguv.de/arge-ik", + "display" : "AOK", + "type" : "HealthInsurance" + } + }, + "address" : { + "municipalityCode" : "12345" + }, + "age" : { + "value" : 51, + "unit" : "Years" + }, + "vitalStatus" : { + "code" : "deceased", + "display" : "Verstorben", + "system" : "dnpm-dip/patient/vital-status" + } + }, + "episodesOfCare" : [ { + "id" : "a95f44a6-5dbb-4acd-9d52-05db10f8410b", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "period" : { + "start" : "2024-10-03" + }, + "diagnoses" : [ { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "type" : "MTBDiagnosis" + } ] + } ], + "diagnoses" : [ { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "recordedOn" : "2004-01-25", + "type" : { + "history" : [ { + "value" : { + "code" : "main", + "display" : "Hauptdiagnose", + "system" : "dnpm-dip/mtb/diagnosis/type" + }, + "date" : "2004-01-25" + } ] + }, + "code" : { + "code" : "C69.0", + "display" : "Bösartige Neubildung: Konjunktiva", + "system" : "http://fhir.de/CodeSystem/bfarm/icd-10-gm", + "version" : "2025" + }, + "topography" : { + "code" : "C69.0", + "display" : "Konjunktiva", + "system" : "urn:oid:2.16.840.1.113883.6.43.1", + "version" : "Zweite Revision" + }, + "grading" : { + "history" : [ { + "date" : "2004-01-25", + "codes" : [ { + "code" : "U", + "display" : "U = unbekannt", + "system" : "https://www.basisdatensatz.de/feld/161/grading" + }, { + "code" : "4", + "display" : "Glioblastoma", + "system" : "dnpm-dip/mtb/who-grading-cns-tumors", + "version" : "2021" + } ] + } ] + }, + "staging" : { + "history" : [ { + "date" : "2004-01-25", + "method" : { + "code" : "clinical", + "display" : "Klinisch", + "system" : "dnpm-dip/mtb/tumor-staging/method" + }, + "tnmClassification" : { + "tumor" : { + "code" : "T1", + "system" : "UICC" + }, + "nodes" : { + "code" : "N2", + "system" : "UICC" + }, + "metastasis" : { + "code" : "Mx", + "system" : "UICC" + } + }, + "otherClassifications" : [ { + "code" : "metastasized", + "display" : "Metastasiert", + "system" : "dnpm-dip/mtb/diagnosis/kds-tumor-spread" + } ] + } ] + }, + "guidelineTreatmentStatus" : { + "code" : "non-exhausted", + "display" : "Leitlinien nicht ausgeschöpft", + "system" : "dnpm-dip/mtb/diagnosis/guideline-treatment-status" + }, + "notes" : [ "Notes on the tumor diagnosis..." ] + } ], + "guidelineTherapies" : [ { + "id" : "a3a6a53f-d531-4f46-8697-9052d98cc9e5", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "therapyLine" : 2, + "intent" : { + "code" : "S", + "display" : "Sonstiges", + "system" : "dnpm-dip/therapy/intent" + }, + "category" : { + "code" : "I", + "display" : "Intraopterativ", + "system" : "dnpm-dip/therapy/category" + }, + "recordedOn" : "2025-04-03", + "status" : { + "code" : "stopped", + "display" : "Abgebrochen", + "system" : "dnpm-dip/therapy/status" + }, + "statusReason" : { + "code" : "progression", + "display" : "Progression", + "system" : "dnpm-dip/therapy/status-reason" + }, + "period" : { + "start" : "2023-08-03", + "end" : "2024-01-18" + }, + "medication" : [ { + "code" : "L01EX24", + "display" : "Surufatinib", + "system" : "http://fhir.de/CodeSystem/bfarm/atc", + "version" : "2024" + } ], + "notes" : [ "Notes on the therapy..." ] + } ], + "guidelineProcedures" : [ { + "id" : "ff5148ce-94ab-487f-a2a4-ebc5e1ea8a53", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "therapyLine" : 1, + "intent" : { + "code" : "K", + "display" : "Kurativ", + "system" : "dnpm-dip/therapy/intent" + }, + "code" : { + "code" : "surgery", + "display" : "OP", + "system" : "dnpm-dip/mtb/procedure/type" + }, + "status" : { + "code" : "completed", + "display" : "Abgeschlossen", + "system" : "dnpm-dip/therapy/status" + }, + "statusReason" : { + "code" : "chronic-remission", + "display" : "Anhaltende Remission", + "system" : "dnpm-dip/therapy/status-reason" + }, + "recordedOn" : "2025-04-03", + "period" : { + "start" : "2024-10-03" + }, + "notes" : [ "Notes on the therapeutic procedure..." ] + }, { + "id" : "461105eb-c3c6-4fd4-bcd3-799e7eaf281d", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "therapyLine" : 8, + "intent" : { + "code" : "K", + "display" : "Kurativ", + "system" : "dnpm-dip/therapy/intent" + }, + "code" : { + "code" : "nuclear-medicine", + "display" : "Nuklearmedizinische Therapie", + "system" : "dnpm-dip/mtb/procedure/type" + }, + "status" : { + "code" : "stopped", + "display" : "Abgebrochen", + "system" : "dnpm-dip/therapy/status" + }, + "statusReason" : { + "code" : "progression", + "display" : "Progression", + "system" : "dnpm-dip/therapy/status-reason" + }, + "recordedOn" : "2025-04-03", + "period" : { + "start" : "2024-10-03" + }, + "notes" : [ "Notes on the therapeutic procedure..." ] + } ], + "performanceStatus" : [ { + "id" : "2b1522a8-9628-4e66-8769-e1f329bf37c5", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "effectiveDate" : "2025-04-03", + "value" : { + "code" : "3", + "display" : "ECOG 3", + "system" : "ECOG-Performance-Status" + } + } ], + "specimens" : [ { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "diagnosis" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "type" : "MTBDiagnosis" + }, + "type" : { + "code" : "FFPE", + "display" : "FFPE", + "system" : "dnpm-dip/mtb/tumor-specimen/type" + }, + "collection" : { + "date" : "2025-04-03", + "method" : { + "code" : "unknown", + "display" : "Unbekannt", + "system" : "dnpm-dip/mtb/tumor-specimen/collection/method" + }, + "localization" : { + "code" : "unknown", + "display" : "Unbekannt", + "system" : "dnpm-dip/mtb/tumor-specimen/collection/localization" + } + } + } ], + "priorDiagnosticReports" : [ { + "id" : "e3d6eb01-6afb-4cb2-8682-b5f67565a701", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "performer" : { + "id" : "xyz", + "display" : "Molekular-Pathologie UKx", + "type" : "Institute" + }, + "issuedOn" : "2025-04-03", + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "type" : { + "code" : "other", + "display" : "Other", + "system" : "dnpm-dip/mtb/molecular-diagnostics/type" + }, + "results" : [ "Result of diagnostics..." ] + } ], + "histologyReports" : [ { + "id" : "49154f97-84a9-4a8c-8f52-b5dcbf6973ce", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "issuedOn" : "2025-04-03", + "results" : { + "tumorMorphology" : { + "id" : "af23d218-7c03-4950-984c-a5c35295b696", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "value" : { + "code" : "8935/1", + "display" : "Stromatumor o.n.A.", + "system" : "urn:oid:2.16.840.1.113883.6.43.1", + "version" : "Zweite Revision" + }, + "notes" : "Notes..." + }, + "tumorCellContent" : { + "id" : "f45c7add-f441-4786-aff3-917bad76b140", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "method" : { + "code" : "histologic", + "display" : "Histologisch", + "system" : "dnpm-dip/mtb/tumor-cell-content/method" + }, + "value" : 0.8229387003304868 + } + } + } ], + "ihcReports" : [ { + "id" : "dfc2429b-4677-4c04-8359-2e8bd68e8006", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "issuedOn" : "2025-04-03", + "journalId" : "9dc66c04-ad2c-4d4c-9e38-b524e4e59c4a", + "blockIds" : [ "34c921a8-d047-414d-a1b6-b0bd24c6b771" ], + "results" : { + "proteinExpression" : [ { + "id" : "ca7b6082-f4ac-4be2-a28f-d1d73ad3eff3", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "protein" : { + "code" : "HGNC:391", + "display" : "AKT1", + "system" : "https://www.genenames.org/" + }, + "value" : { + "code" : "2+", + "display" : "2+", + "system" : "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore" : 64, + "icScore" : { + "code" : "3", + "display" : ">= 10%", + "system" : "dnpm-dip/mtb/ihc/protein-expression/ic-score" + }, + "tcScore" : { + "code" : "6", + "display" : ">= 75%", + "system" : "dnpm-dip/mtb/ihc/protein-expression/tc-score" + } + }, { + "id" : "824afa8e-332f-498f-9e98-5e03ba072857", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "protein" : { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, + "value" : { + "code" : "unknown", + "display" : "untersucht, kein Ergebnis", + "system" : "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore" : 67, + "icScore" : { + "code" : "2", + "display" : ">= 5%", + "system" : "dnpm-dip/mtb/ihc/protein-expression/ic-score" + }, + "tcScore" : { + "code" : "4", + "display" : ">= 25%", + "system" : "dnpm-dip/mtb/ihc/protein-expression/tc-score" + } + }, { + "id" : "697544ba-c91b-498c-825d-4768db65f064", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "protein" : { + "code" : "HGNC:21597", + "display" : "ACAD10", + "system" : "https://www.genenames.org/" + }, + "value" : { + "code" : "3+", + "display" : "3+", + "system" : "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore" : 99, + "icScore" : { + "code" : "3", + "display" : ">= 10%", + "system" : "dnpm-dip/mtb/ihc/protein-expression/ic-score" + }, + "tcScore" : { + "code" : "1", + "display" : ">= 1%", + "system" : "dnpm-dip/mtb/ihc/protein-expression/tc-score" + } + } ], + "msiMmr" : [ ] + } + } ], + "ngsReports" : [ { + "id" : "3a17112d-3dd2-468a-8eb5-d2acd2439b47", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "issuedOn" : "2025-04-03", + "type" : { + "code" : "genome-long-read", + "display" : "Genome long-read", + "system" : "dnpm-dip/ngs/type" + }, + "metadata" : [ { + "kitType" : "Kit Type", + "kitManufacturer" : "Manufacturer", + "sequencer" : "Sequencer", + "referenceGenome" : "HG19", + "pipeline" : "https://github.com/pipeline-project" + } ], + "results" : { + "tumorCellContent" : { + "id" : "1d0df7a7-b298-450d-99f6-be2eaee4c3f2", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "method" : { + "code" : "bioinformatic", + "display" : "Bioinformatisch", + "system" : "dnpm-dip/mtb/tumor-cell-content/method" + }, + "value" : 0.4814437947770913 + }, + "tmb" : { + "id" : "e2b42e18-1c99-4d7f-a049-ebf71e3fc2f6", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "value" : { + "value" : 282329, + "unit" : "Mutations per megabase" + }, + "interpretation" : { + "code" : "low", + "display" : "Niedrig", + "system" : "dnpm-dip/mtb/ngs/tmb/interpretation" + } + }, + "brcaness" : { + "id" : "9246f72b-790a-4c6b-aa8d-d00f0cda7a00", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "value" : 0.5, + "confidenceRange" : { + "min" : 0.4, + "max" : 0.6 + } + }, + "hrdScore" : { + "id" : "7a89c96e-f4c3-4f74-b7e7-69676a750ab6", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "value" : 0.7825761496253648, + "components" : { + "lst" : 0.845193455817853, + "loh" : 0.12405816770424238, + "tai" : 0.8345960469445086 + }, + "interpretation" : { + "code" : "high", + "display" : "Hoch", + "system" : "dnpm-dip/mtb/ngs/hrd-score/interpretation" + } + }, + "simpleVariants" : [ { + "id" : "a7a6d971-ccaf-489b-9d6c-3dce0fad63aa", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "aad4cdeb-d085-41d9-a3af-02e4e165ccc1", + "system" : "https://www.ncbi.nlm.nih.gov/snp" + }, { + "value" : "a302ca16-8c98-4697-85c1-6e0a2623ca12", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "chromosome" : "chr22", + "gene" : { + "code" : "HGNC:21597", + "display" : "ACAD10", + "system" : "https://www.genenames.org/" + }, + "localization" : [ { + "code" : "coding-region", + "display" : "Coding region", + "system" : "dnpm-dip/variant/localization" + } ], + "transcriptId" : { + "value" : "468fbe60-ff1f-4151-a8d4-4bd2bd53e9ad", + "system" : "https://www.ensembl.org" + }, + "exonId" : "10", + "position" : { + "start" : 442 + }, + "altAllele" : "G", + "refAllele" : "A", + "dnaChange" : { + "code" : "c.442A>G", + "system" : "https://hgvs-nomenclature.org" + }, + "proteinChange" : { + "code" : "p.Val7del", + "system" : "https://hgvs-nomenclature.org" + }, + "readDepth" : 7, + "allelicFrequency" : 0.05075371444497867, + "interpretation" : { + "code" : "3", + "display" : "Uncertain significance", + "system" : "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, { + "id" : "cfe756be-a9d1-4726-ad1f-16d18c40e1e4", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "3549065d-1a19-4f52-8b5a-7acdc0052981", + "system" : "https://www.ncbi.nlm.nih.gov/snp" + }, { + "value" : "915a64b9-dfd5-4d8f-ba53-5760c452b153", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "chromosome" : "chr19", + "gene" : { + "code" : "HGNC:34", + "display" : "ABCA4", + "system" : "https://www.genenames.org/" + }, + "localization" : [ { + "code" : "regulatory-region", + "display" : "Regulatory region", + "system" : "dnpm-dip/variant/localization" + } ], + "transcriptId" : { + "value" : "30d82280-ce5d-4477-97f8-8dfb33491662", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "5", + "position" : { + "start" : 124 + }, + "altAllele" : "G", + "refAllele" : "A", + "dnaChange" : { + "code" : "c.124A>G", + "system" : "https://hgvs-nomenclature.org" + }, + "proteinChange" : { + "code" : "p.Gly2_Met46del", + "system" : "https://hgvs-nomenclature.org" + }, + "readDepth" : 20, + "allelicFrequency" : 0.623433864043018, + "interpretation" : { + "code" : "1", + "display" : "Benign", + "system" : "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, { + "id" : "d6088d5a-3059-40a3-ae44-22ff4a63fe20", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "59c813ad-f057-4d3e-92f0-f64d198e7a9e", + "system" : "https://www.ncbi.nlm.nih.gov/snp" + }, { + "value" : "f47ba852-77d2-4495-af83-ebbbade46041", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "chromosome" : "chr6", + "gene" : { + "code" : "HGNC:1100", + "display" : "BRCA1", + "system" : "https://www.genenames.org/" + }, + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "transcriptId" : { + "value" : "7dc56f62-01fe-48de-8425-f2407a5f6797", + "system" : "https://www.ensembl.org" + }, + "exonId" : "9", + "position" : { + "start" : 586 + }, + "altAllele" : "G", + "refAllele" : "C", + "dnaChange" : { + "code" : "c.586C>G", + "system" : "https://hgvs-nomenclature.org" + }, + "proteinChange" : { + "code" : "p.Cys28_Lys29delinsTrp", + "system" : "https://hgvs-nomenclature.org" + }, + "readDepth" : 11, + "allelicFrequency" : 0.7808371811689188, + "interpretation" : { + "code" : "1", + "display" : "Benign", + "system" : "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, { + "id" : "01a40602-1992-44ee-86cf-af4b9f8ede17", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "0c12c379-ec6b-48d2-ab7d-f3ef1e832782", + "system" : "https://www.ncbi.nlm.nih.gov/snp" + }, { + "value" : "e0d20f40-37c8-4203-825c-f8c1c7aabbc9", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "chromosome" : "chr11", + "gene" : { + "code" : "HGNC:25829", + "display" : "ABRAXAS1", + "system" : "https://www.genenames.org/" + }, + "localization" : [ { + "code" : "coding-region", + "display" : "Coding region", + "system" : "dnpm-dip/variant/localization" + } ], + "transcriptId" : { + "value" : "45566daf-2799-45bf-836b-227ad57f1e13", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "11", + "position" : { + "start" : 340 + }, + "altAllele" : "A", + "refAllele" : "G", + "dnaChange" : { + "code" : "c.340G>A", + "system" : "https://hgvs-nomenclature.org" + }, + "proteinChange" : { + "code" : "p.Trp24Cys", + "system" : "https://hgvs-nomenclature.org" + }, + "readDepth" : 23, + "allelicFrequency" : 0.350726510140109, + "interpretation" : { + "code" : "2", + "display" : "Likely benign", + "system" : "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, { + "id" : "b548d991-4270-4b60-96e9-d4d1897e2f3f", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "87a18418-1e1e-4546-9316-c14907c53122", + "system" : "https://www.ncbi.nlm.nih.gov/snp" + }, { + "value" : "7ab23f44-806e-480e-ba8a-2974789b7acc", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "chromosome" : "chr9", + "gene" : { + "code" : "HGNC:1777", + "display" : "CDK6", + "system" : "https://www.genenames.org/" + }, + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "transcriptId" : { + "value" : "444c908a-a87b-401f-9446-f152b70abff6", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "3", + "position" : { + "start" : 82 + }, + "altAllele" : "C", + "refAllele" : "T", + "dnaChange" : { + "code" : "c.82T>C", + "system" : "https://hgvs-nomenclature.org" + }, + "proteinChange" : { + "code" : "p.Cys28delinsTrpVal", + "system" : "https://hgvs-nomenclature.org" + }, + "readDepth" : 9, + "allelicFrequency" : 0.7308207727279626, + "interpretation" : { + "code" : "1", + "display" : "Benign", + "system" : "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, { + "id" : "b9b37461-cad8-4aa9-ab9a-765cc390ae93", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "c9343e8a-a961-478d-abf7-af8eca753195", + "system" : "https://www.ncbi.nlm.nih.gov/snp" + }, { + "value" : "fe9cf415-da2c-48ee-8239-1c0fff308477", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "chromosome" : "chr22", + "gene" : { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, + "localization" : [ { + "code" : "coding-region", + "display" : "Coding region", + "system" : "dnpm-dip/variant/localization" + } ], + "transcriptId" : { + "value" : "e089a986-861c-4987-a2d4-4127cd94cfcc", + "system" : "https://www.ensembl.org" + }, + "exonId" : "5", + "position" : { + "start" : 350 + }, + "altAllele" : "A", + "refAllele" : "G", + "dnaChange" : { + "code" : "c.350G>A", + "system" : "https://hgvs-nomenclature.org" + }, + "proteinChange" : { + "code" : "p.Trp24Cys", + "system" : "https://hgvs-nomenclature.org" + }, + "readDepth" : 20, + "allelicFrequency" : 0.6561532201278295, + "interpretation" : { + "code" : "2", + "display" : "Likely benign", + "system" : "https://www.ncbi.nlm.nih.gov/clinvar" + } + } ], + "copyNumberVariants" : [ { + "id" : "674dcb35-ae1f-4c9a-bf96-d718631b0b76", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "chromosome" : "chr13", + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "startRange" : { + "start" : 7504, + "end" : 7546 + }, + "endRange" : { + "start" : 8028, + "end" : 8078 + }, + "totalCopyNumber" : 7, + "relativeCopyNumber" : 0.11223346698282377, + "cnA" : 0.4978945009603952, + "cnB" : 0.4387588889519498, + "reportedAffectedGenes" : [ { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:1097", + "display" : "BRAF", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:9967", + "display" : "RET", + "system" : "https://www.genenames.org/" + } ], + "reportedFocality" : "partial q-arm", + "type" : { + "code" : "high-level-gain", + "display" : "High-level-gain", + "system" : "dnpm-dip/mtb/ngs-report/cnv/type" + }, + "copyNumberNeutralLoH" : [ { + "code" : "HGNC:25662", + "display" : "AAGAB", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:11998", + "display" : "TP53", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:1753", + "display" : "CDH13", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + } ] + }, { + "id" : "0ccc8b6a-7692-405e-afb3-9ba79f6a6dc6", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "chromosome" : "chr4", + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "startRange" : { + "start" : 29821, + "end" : 29863 + }, + "endRange" : { + "start" : 30310, + "end" : 30360 + }, + "totalCopyNumber" : 2, + "relativeCopyNumber" : 0.004237951938893092, + "cnA" : 0.4120221366346364, + "cnB" : 0.021984357963086842, + "reportedAffectedGenes" : [ { + "code" : "HGNC:11998", + "display" : "TP53", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:25829", + "display" : "ABRAXAS1", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:1753", + "display" : "CDH13", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:886", + "display" : "ATRX", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3942", + "display" : "MTOR", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:9967", + "display" : "RET", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3689", + "display" : "FGFR2", + "system" : "https://www.genenames.org/" + } ], + "reportedFocality" : "partial q-arm", + "type" : { + "code" : "low-level-gain", + "display" : "Low-level-gain", + "system" : "dnpm-dip/mtb/ngs-report/cnv/type" + }, + "copyNumberNeutralLoH" : [ { + "code" : "HGNC:1097", + "display" : "BRAF", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3690", + "display" : "FGFR3", + "system" : "https://www.genenames.org/" + } ] + }, { + "id" : "5eec91bc-94e1-462e-8686-df33216192eb", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "chromosome" : "chrX", + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "startRange" : { + "start" : 18371, + "end" : 18413 + }, + "endRange" : { + "start" : 19283, + "end" : 19333 + }, + "totalCopyNumber" : 3, + "relativeCopyNumber" : 0.795318484180268, + "cnA" : 0.86546686869607, + "cnB" : 0.7216652781170053, + "reportedAffectedGenes" : [ { + "code" : "HGNC:33", + "display" : "ABCA3", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:6973", + "display" : "MDM2", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:1100", + "display" : "BRCA1", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:76", + "display" : "ABL1", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:21298", + "display" : "AACS", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:6407", + "display" : "KRAS", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:34", + "display" : "ABCA4", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3236", + "display" : "EGFR", + "system" : "https://www.genenames.org/" + } ], + "reportedFocality" : "partial q-arm", + "type" : { + "code" : "low-level-gain", + "display" : "Low-level-gain", + "system" : "dnpm-dip/mtb/ngs-report/cnv/type" + }, + "copyNumberNeutralLoH" : [ { + "code" : "HGNC:33", + "display" : "ABCA3", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:25829", + "display" : "ABRAXAS1", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3690", + "display" : "FGFR3", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:25662", + "display" : "AAGAB", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:76", + "display" : "ABL1", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:886", + "display" : "ATRX", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:18615", + "display" : "BRAFP1", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:34", + "display" : "ABCA4", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3236", + "display" : "EGFR", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:21597", + "display" : "ACAD10", + "system" : "https://www.genenames.org/" + } ] + }, { + "id" : "7a162258-d213-4243-be7e-59244f4561e9", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "chromosome" : "chr9", + "localization" : [ { + "code" : "intronic", + "display" : "Intronic", + "system" : "dnpm-dip/variant/localization" + } ], + "startRange" : { + "start" : 23025, + "end" : 23067 + }, + "endRange" : { + "start" : 23220, + "end" : 23270 + }, + "totalCopyNumber" : 1, + "relativeCopyNumber" : 0.3220959397254798, + "cnA" : 0.11998983501009763, + "cnB" : 0.08203835493839595, + "reportedAffectedGenes" : [ { + "code" : "HGNC:33", + "display" : "ABCA3", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3690", + "display" : "FGFR3", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:1097", + "display" : "BRAF", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:25662", + "display" : "AAGAB", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:1100", + "display" : "BRCA1", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:34", + "display" : "ABCA4", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3236", + "display" : "EGFR", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:21597", + "display" : "ACAD10", + "system" : "https://www.genenames.org/" + } ], + "reportedFocality" : "partial q-arm", + "type" : { + "code" : "loss", + "display" : "Loss", + "system" : "dnpm-dip/mtb/ngs-report/cnv/type" + }, + "copyNumberNeutralLoH" : [ { + "code" : "HGNC:25662", + "display" : "AAGAB", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:886", + "display" : "ATRX", + "system" : "https://www.genenames.org/" + }, { + "code" : "HGNC:3689", + "display" : "FGFR2", + "system" : "https://www.genenames.org/" + } ] + } ], + "dnaFusions" : [ { + "id" : "bfbb4eb3-fecf-4be6-a0b6-39ed3ab9f54c", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "localization" : [ { + "code" : "regulatory-region", + "display" : "Regulatory region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "chromosome" : "chr9", + "gene" : { + "code" : "HGNC:21597", + "display" : "ACAD10", + "system" : "https://www.genenames.org/" + }, + "position" : 788 + }, + "fusionPartner3prime" : { + "chromosome" : "chr19", + "gene" : { + "code" : "HGNC:1753", + "display" : "CDH13", + "system" : "https://www.genenames.org/" + }, + "position" : 384 + }, + "reportedNumReads" : 7 + }, { + "id" : "e99862ce-c098-4aa1-932c-5bfb7de2bb54", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "chromosome" : "chr10", + "gene" : { + "code" : "HGNC:1100", + "display" : "BRCA1", + "system" : "https://www.genenames.org/" + }, + "position" : 426 + }, + "fusionPartner3prime" : { + "chromosome" : "chrY", + "gene" : { + "code" : "HGNC:76", + "display" : "ABL1", + "system" : "https://www.genenames.org/" + }, + "position" : 587 + }, + "reportedNumReads" : 8 + }, { + "id" : "362f5786-4521-409a-b63f-69aad335abcb", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "localization" : [ { + "code" : "intronic", + "display" : "Intronic", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "chromosome" : "chrX", + "gene" : { + "code" : "HGNC:1777", + "display" : "CDK6", + "system" : "https://www.genenames.org/" + }, + "position" : 421 + }, + "fusionPartner3prime" : { + "chromosome" : "chr15", + "gene" : { + "code" : "HGNC:3942", + "display" : "MTOR", + "system" : "https://www.genenames.org/" + }, + "position" : 618 + }, + "reportedNumReads" : 3 + }, { + "id" : "d9cc0ae1-1f22-4545-bcfc-3fc93faf1c7b", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "localization" : [ { + "code" : "regulatory-region", + "display" : "Regulatory region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "chromosome" : "chr16", + "gene" : { + "code" : "HGNC:6407", + "display" : "KRAS", + "system" : "https://www.genenames.org/" + }, + "position" : 727 + }, + "fusionPartner3prime" : { + "chromosome" : "chr22", + "gene" : { + "code" : "HGNC:6973", + "display" : "MDM2", + "system" : "https://www.genenames.org/" + }, + "position" : 955 + }, + "reportedNumReads" : 6 + }, { + "id" : "7acb8b5a-28e5-49e8-9af0-8f0b07dd7928", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "localization" : [ { + "code" : "intergenic", + "display" : "Intergenic", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "chromosome" : "chr8", + "gene" : { + "code" : "HGNC:6407", + "display" : "KRAS", + "system" : "https://www.genenames.org/" + }, + "position" : 910 + }, + "fusionPartner3prime" : { + "chromosome" : "chr6", + "gene" : { + "code" : "HGNC:33", + "display" : "ABCA3", + "system" : "https://www.genenames.org/" + }, + "position" : 567 + }, + "reportedNumReads" : 7 + } ], + "rnaFusions" : [ { + "id" : "809f015f-8e17-45ae-82fe-1d2642a379c0", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "a961e828-b8eb-46a7-b92b-077b188d22eb", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "regulatory-region", + "display" : "Regulatory region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "7f69ae21-f0ae-4f10-965b-116b5a3a4306", + "system" : "https://www.ensembl.org" + }, + "exonId" : "3", + "gene" : { + "code" : "HGNC:76", + "display" : "ABL1", + "system" : "https://www.genenames.org/" + }, + "position" : 939, + "strand" : "-" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "3e4978f1-a4e6-4822-bca2-6d65bfa903d0", + "system" : "https://www.ensembl.org" + }, + "exonId" : "5", + "gene" : { + "code" : "HGNC:1097", + "display" : "BRAF", + "system" : "https://www.genenames.org/" + }, + "position" : 898, + "strand" : "+" + }, + "effect" : "Effect", + "reportedNumReads" : 9 + }, { + "id" : "e2686fdf-5aee-4a1c-a9f9-b5117d586a56", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "3530f838-6a51-4f34-84ff-a978182da6a6", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "intronic", + "display" : "Intronic", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "ccf31cee-09ab-4bfc-a92b-f48f5523989e", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "9", + "gene" : { + "code" : "HGNC:21597", + "display" : "ACAD10", + "system" : "https://www.genenames.org/" + }, + "position" : 272, + "strand" : "-" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "71d1e8fc-9296-4d46-9d1f-a36e1f382d35", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "7", + "gene" : { + "code" : "HGNC:34", + "display" : "ABCA4", + "system" : "https://www.genenames.org/" + }, + "position" : 848, + "strand" : "+" + }, + "effect" : "Effect", + "reportedNumReads" : 8 + }, { + "id" : "139c8db9-edde-4bd0-ac25-4b7b1729f5cc", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "a1324b2a-96de-46a1-86a7-a575fb29b41a", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "regulatory-region", + "display" : "Regulatory region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "20da1339-f72c-4481-a844-b690a0b950e5", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "6", + "gene" : { + "code" : "HGNC:3689", + "display" : "FGFR2", + "system" : "https://www.genenames.org/" + }, + "position" : 996, + "strand" : "+" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "96d13df2-6551-41f7-94b5-c7da14dd5ce0", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "6", + "gene" : { + "code" : "HGNC:18615", + "display" : "BRAFP1", + "system" : "https://www.genenames.org/" + }, + "position" : 814, + "strand" : "-" + }, + "effect" : "Effect", + "reportedNumReads" : 7 + }, { + "id" : "bf815c71-c890-40a3-84fb-714f31814c59", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "a6e3dd2f-1d7c-404d-953c-710873f846dd", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "d7d2344f-6651-4527-aa93-cb5b93f05aee", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "6", + "gene" : { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, + "position" : 292, + "strand" : "-" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "4092f456-1d4a-43e0-84a9-f70c3c14cf6b", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "5", + "gene" : { + "code" : "HGNC:6973", + "display" : "MDM2", + "system" : "https://www.genenames.org/" + }, + "position" : 925, + "strand" : "+" + }, + "effect" : "Effect", + "reportedNumReads" : 7 + }, { + "id" : "5436e5f8-db2d-4947-a88a-1ab6b07e5faa", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "b83aa40a-fd2f-49c3-a34f-1411cc32783f", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "intergenic", + "display" : "Intergenic", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "f9481fda-4a3f-442d-ad3f-e6adccfc4e73", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "5", + "gene" : { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, + "position" : 951, + "strand" : "+" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "18488fee-209c-4abe-9896-f49007bcc648", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "9", + "gene" : { + "code" : "HGNC:5173", + "display" : "HRAS", + "system" : "https://www.genenames.org/" + }, + "position" : 944, + "strand" : "-" + }, + "effect" : "Effect", + "reportedNumReads" : 6 + }, { + "id" : "a206e483-f18c-4656-924b-0f79969da5ab", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "adae872d-f6a7-4c3f-a7be-c4aad3f57694", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "regulatory-region", + "display" : "Regulatory region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "1a5c5afe-c41d-4300-b483-9a55a2ca0ac7", + "system" : "https://www.ensembl.org" + }, + "exonId" : "10", + "gene" : { + "code" : "HGNC:3942", + "display" : "MTOR", + "system" : "https://www.genenames.org/" + }, + "position" : 778, + "strand" : "+" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "16ca230d-78b7-4dfe-9025-616b2d1e0e0e", + "system" : "https://www.ensembl.org" + }, + "exonId" : "10", + "gene" : { + "code" : "HGNC:34", + "display" : "ABCA4", + "system" : "https://www.genenames.org/" + }, + "position" : 216, + "strand" : "+" + }, + "effect" : "Effect", + "reportedNumReads" : 7 + }, { + "id" : "3345abf6-6afa-4069-8b45-390c5ceda24c", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "1b970bcf-766a-472e-a210-4b245c6b697d", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "intergenic", + "display" : "Intergenic", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "030c35d3-eafb-4980-9d26-a6d124e5b411", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "8", + "gene" : { + "code" : "HGNC:33", + "display" : "ABCA3", + "system" : "https://www.genenames.org/" + }, + "position" : 496, + "strand" : "+" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "4e673024-533a-4931-9ac0-f069d139d0ad", + "system" : "https://www.ensembl.org" + }, + "exonId" : "11", + "gene" : { + "code" : "HGNC:3689", + "display" : "FGFR2", + "system" : "https://www.genenames.org/" + }, + "position" : 525, + "strand" : "+" + }, + "effect" : "Effect", + "reportedNumReads" : 6 + }, { + "id" : "74254963-0987-4123-ba2c-c57e9de9afd7", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "28050793-0c1d-4d3b-abac-3d569d26a154", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "splicing-region", + "display" : "splicing region", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "b6536e66-bc89-4288-812f-436aa4d5a9a2", + "system" : "https://www.ensembl.org" + }, + "exonId" : "10", + "gene" : { + "code" : "HGNC:1100", + "display" : "BRCA1", + "system" : "https://www.genenames.org/" + }, + "position" : 51, + "strand" : "-" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "1289121c-c6fa-4179-b7fe-5c1f6326c2fa", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "3", + "gene" : { + "code" : "HGNC:21298", + "display" : "AACS", + "system" : "https://www.genenames.org/" + }, + "position" : 905, + "strand" : "-" + }, + "effect" : "Effect", + "reportedNumReads" : 5 + }, { + "id" : "476bf705-ea3e-4a4e-8e9b-29a8fd79446c", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "externalIds" : [ { + "value" : "ed80a31e-8f15-4e4f-8c78-654bc16e56a2", + "system" : "https://cancer.sanger.ac.uk/cosmic" + } ], + "localization" : [ { + "code" : "intronic", + "display" : "Intronic", + "system" : "dnpm-dip/variant/localization" + } ], + "fusionPartner5prime" : { + "transcriptId" : { + "value" : "6ec1314f-0301-4448-adad-da588a340928", + "system" : "https://www.ensembl.org" + }, + "exonId" : "3", + "gene" : { + "code" : "HGNC:21298", + "display" : "AACS", + "system" : "https://www.genenames.org/" + }, + "position" : 335, + "strand" : "+" + }, + "fusionPartner3prime" : { + "transcriptId" : { + "value" : "869e0853-097c-4c03-81f2-5d2b1f702e83", + "system" : "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId" : "6", + "gene" : { + "code" : "HGNC:1753", + "display" : "CDH13", + "system" : "https://www.genenames.org/" + }, + "position" : 927, + "strand" : "+" + }, + "effect" : "Effect", + "reportedNumReads" : 5 + } ], + "rnaSeqs" : [ ] + } + } ], + "carePlans" : [ { + "id" : "ddecb45f-d328-4a31-9f0b-504dd74a09bb", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "issuedOn" : "2025-04-03", + "statusReason" : { + "code" : "targeted-diagnostics-recommended", + "display" : "Zieldiagnostik empfohlen", + "system" : "dnpm-dip/mtb/careplan/status-reason" + }, + "geneticCounselingRecommendation" : { + "id" : "caee4091-8b35-4be8-954e-e6d7f4d6f8b2", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "issuedOn" : "2025-04-03", + "reason" : { + "code" : "unknown", + "display" : "Unbekannt", + "system" : "dnpm-dip/mtb/recommendation/genetic-counseling/reason" + } + }, + "medicationRecommendations" : [ { + "id" : "083a04e9-05f3-4b37-9e7d-e0bf703a8c3c", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "issuedOn" : "2025-04-03", + "priority" : { + "code" : "2", + "display" : "2", + "system" : "dnpm-dip/recommendation/priority" + }, + "levelOfEvidence" : { + "grading" : { + "code" : "m1B", + "display" : "m1B", + "system" : "dnpm-dip/mtb/level-of-evidence/grading" + }, + "addendums" : [ { + "code" : "is", + "display" : "is", + "system" : "dnpm-dip/mtb/level-of-evidence/addendum" + } ], + "publications" : [ { + "id" : "884742948", + "system" : "https://pubmed.ncbi.nlm.nih.gov", + "type" : "Publication" + } ] + }, + "category" : { + "code" : "IM", + "display" : "Immun-/Antikörpertherapie", + "system" : "dnpm-dip/mtb/recommendation/systemic-therapy/category" + }, + "medication" : [ { + "code" : "L01EN01", + "display" : "Erdafitinib", + "system" : "http://fhir.de/CodeSystem/bfarm/atc", + "version" : "2024" + } ], + "useType" : { + "code" : "in-label", + "display" : "In-label Use", + "system" : "dnpm-dip/mtb/recommendation/systemic-therapy/use-type" + }, + "supportingVariants" : [ { + "variant" : { + "id" : "7acb8b5a-28e5-49e8-9af0-8f0b07dd7928", + "type" : "Variant" + }, + "gene" : { + "code" : "HGNC:6407", + "display" : "KRAS", + "system" : "https://www.genenames.org/" + } + } ] + }, { + "id" : "5650387b-2f3b-4f77-863c-9af4d02294fb", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "issuedOn" : "2025-04-03", + "priority" : { + "code" : "1", + "display" : "1", + "system" : "dnpm-dip/recommendation/priority" + }, + "levelOfEvidence" : { + "grading" : { + "code" : "m2C", + "display" : "m2C", + "system" : "dnpm-dip/mtb/level-of-evidence/grading" + }, + "addendums" : [ { + "code" : "Z", + "display" : "Z", + "system" : "dnpm-dip/mtb/level-of-evidence/addendum" + } ], + "publications" : [ { + "id" : "1566646481", + "system" : "https://pubmed.ncbi.nlm.nih.gov", + "type" : "Publication" + } ] + }, + "category" : { + "code" : "HO", + "display" : "Hormontherapie", + "system" : "dnpm-dip/mtb/recommendation/systemic-therapy/category" + }, + "medication" : [ { + "code" : "L01FX33", + "display" : "Tarlatamab", + "system" : "http://fhir.de/CodeSystem/bfarm/atc", + "version" : "2024" + } ], + "useType" : { + "code" : "off-label", + "display" : "Off-bel Use", + "system" : "dnpm-dip/mtb/recommendation/systemic-therapy/use-type" + }, + "supportingVariants" : [ { + "variant" : { + "id" : "0ccc8b6a-7692-405e-afb3-9ba79f6a6dc6", + "type" : "Variant" + }, + "gene" : { + "code" : "HGNC:11998", + "display" : "TP53", + "system" : "https://www.genenames.org/" + } + } ] + } ], + "procedureRecommendations" : [ { + "id" : "1e76d94c-a57a-4b3f-9d6b-4af303c05199", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "issuedOn" : "2025-04-03", + "priority" : { + "code" : "3", + "display" : "3", + "system" : "dnpm-dip/recommendation/priority" + }, + "levelOfEvidence" : { + "grading" : { + "code" : "m2C", + "display" : "m2C", + "system" : "dnpm-dip/mtb/level-of-evidence/grading" + }, + "addendums" : [ { + "code" : "iv", + "display" : "iv", + "system" : "dnpm-dip/mtb/level-of-evidence/addendum" + } ], + "publications" : [ { + "id" : "9936302", + "system" : "https://pubmed.ncbi.nlm.nih.gov", + "type" : "Publication" + } ] + }, + "code" : { + "code" : "SO", + "display" : "Sonstiges", + "system" : "dnpm-dip/mtb/recommendation/procedure/category" + }, + "supportingVariants" : [ { + "variant" : { + "id" : "01a40602-1992-44ee-86cf-af4b9f8ede17", + "type" : "Variant" + }, + "gene" : { + "code" : "HGNC:25829", + "display" : "ABRAXAS1", + "system" : "https://www.genenames.org/" + } + } ] + } ], + "studyEnrollmentRecommendations" : [ { + "id" : "c617652e-d118-4033-9678-ea8eade11abb", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "issuedOn" : "2025-04-03", + "levelOfEvidence" : { + "code" : "m1B", + "display" : "m1B", + "system" : "dnpm-dip/mtb/level-of-evidence/grading" + }, + "priority" : { + "code" : "1", + "display" : "1", + "system" : "dnpm-dip/recommendation/priority" + }, + "study" : [ { + "id" : "fe066270-e69e-4fc7-95b1-59a3e8456a11", + "system" : "EUDAMED", + "type" : "Study" + } ], + "supportingVariants" : [ { + "variant" : { + "id" : "7acb8b5a-28e5-49e8-9af0-8f0b07dd7928", + "type" : "Variant" + }, + "gene" : { + "code" : "HGNC:6407", + "display" : "KRAS", + "system" : "https://www.genenames.org/" + } + } ] + } ], + "histologyReevaluationRequests" : [ { + "id" : "d9565325-726d-4fc8-bfa9-0fa4c0b53d7b", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "specimen" : { + "id" : "b0557dde-6e54-4d01-8982-7ff88313adaa", + "type" : "TumorSpecimen" + }, + "issuedOn" : "2025-04-03" + } ], + "rebiopsyRequests" : [ { + "id" : "858ce32e-3dea-4cdf-b85a-ae9fa84d113b", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "tumorEntity" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "type" : "MTBDiagnosis" + }, + "issuedOn" : "2025-04-03" + } ], + "notes" : [ "Protocol of the MTB conference..." ] + } ], + "followUps" : [ { + "date" : "2006-12-10" + } ], + "claims" : [ { + "id" : "d7afc9e8-5342-443d-9e13-0a88b4dd6037", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "recommendation" : { + "id" : "083a04e9-05f3-4b37-9e7d-e0bf703a8c3c", + "type" : "MTBMedicationRecommendation" + }, + "issuedOn" : "2025-04-03", + "stage" : { + "code" : "initial-claim", + "display" : "Erstantrag", + "system" : "dnpm-dip/mtb/claim/stage" + } + }, { + "id" : "2ef6b3c7-ce7e-4415-8a43-bd7a3a67be95", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "recommendation" : { + "id" : "5650387b-2f3b-4f77-863c-9af4d02294fb", + "type" : "MTBMedicationRecommendation" + }, + "issuedOn" : "2025-04-03", + "stage" : { + "code" : "revocation", + "display" : "Widerspruch", + "system" : "dnpm-dip/mtb/claim/stage" + } + } ], + "claimResponses" : [ { + "id" : "d9085718-77f6-4ace-b6da-c9358c853ff0", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "claim" : { + "id" : "d7afc9e8-5342-443d-9e13-0a88b4dd6037", + "type" : "Claim" + }, + "issuedOn" : "2025-04-03", + "status" : { + "code" : "rejected", + "display" : "Abgelehnt", + "system" : "dnpm-dip/mtb/claim-response/status" + }, + "statusReason" : { + "code" : "unknown", + "display" : "Unbekant", + "system" : "dnpm-dip/mtb/claim-response/status-reason" + } + }, { + "id" : "d93a0943-628d-47c6-9eda-4fba38df42be", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "claim" : { + "id" : "2ef6b3c7-ce7e-4415-8a43-bd7a3a67be95", + "type" : "Claim" + }, + "issuedOn" : "2025-04-03", + "status" : { + "code" : "rejected", + "display" : "Abgelehnt", + "system" : "dnpm-dip/mtb/claim-response/status" + }, + "statusReason" : { + "code" : "approval-revocation", + "display" : "Rücknahme der Zulassung", + "system" : "dnpm-dip/mtb/claim-response/status-reason" + } + } ], + "systemicTherapies" : [ { + "history" : [ { + "id" : "6b150d30-1c82-4663-833f-6a12ac582ca4", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "intent" : { + "code" : "S", + "display" : "Sonstiges", + "system" : "dnpm-dip/therapy/intent" + }, + "category" : { + "code" : "I", + "display" : "Intraopterativ", + "system" : "dnpm-dip/therapy/category" + }, + "basedOn" : { + "id" : "083a04e9-05f3-4b37-9e7d-e0bf703a8c3c", + "type" : "MTBMedicationRecommendation" + }, + "recordedOn" : "2025-04-03", + "status" : { + "code" : "stopped", + "display" : "Abgebrochen", + "system" : "dnpm-dip/therapy/status" + }, + "statusReason" : { + "code" : "progression", + "display" : "Progression", + "system" : "dnpm-dip/therapy/status-reason" + }, + "recommendationFulfillmentStatus" : { + "code" : "complete", + "display" : "Komplett", + "system" : "dnpm-dip/therapy/recommendation-fulfillment-status" + }, + "period" : { + "start" : "2006-10-15", + "end" : "2007-02-25" + }, + "medication" : [ { + "code" : "L01EN01", + "display" : "Erdafitinib", + "system" : "http://fhir.de/CodeSystem/bfarm/atc", + "version" : "2024" + } ], + "notes" : [ "Notes on the therapy..." ] + } ] + }, { + "history" : [ { + "id" : "27b6eddc-1a4f-4d68-a027-190a2c38754b", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "reason" : { + "id" : "744bf622-ba4b-4e64-867c-0807847d9da4", + "display" : "Bösartige Neubildung: Konjunktiva", + "type" : "MTBDiagnosis" + }, + "intent" : { + "code" : "X", + "display" : "Keine Angabe", + "system" : "dnpm-dip/therapy/intent" + }, + "category" : { + "code" : "A", + "display" : "Adjuvant", + "system" : "dnpm-dip/therapy/category" + }, + "basedOn" : { + "id" : "5650387b-2f3b-4f77-863c-9af4d02294fb", + "type" : "MTBMedicationRecommendation" + }, + "recordedOn" : "2025-04-03", + "status" : { + "code" : "stopped", + "display" : "Abgebrochen", + "system" : "dnpm-dip/therapy/status" + }, + "statusReason" : { + "code" : "progression", + "display" : "Progression", + "system" : "dnpm-dip/therapy/status-reason" + }, + "recommendationFulfillmentStatus" : { + "code" : "partial", + "display" : "Partiell", + "system" : "dnpm-dip/therapy/recommendation-fulfillment-status" + }, + "period" : { + "start" : "2006-10-29", + "end" : "2007-02-25" + }, + "medication" : [ { + "code" : "L01FX33", + "display" : "Tarlatamab", + "system" : "http://fhir.de/CodeSystem/bfarm/atc", + "version" : "2024" + } ], + "notes" : [ "Notes on the therapy..." ] + } ] + } ], + "responses" : [ { + "id" : "bbbbbaaf-8486-454c-ba59-28593519342c", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "therapy" : { + "id" : "6b150d30-1c82-4663-833f-6a12ac582ca4", + "type" : "MTBSystemicTherapy" + }, + "effectiveDate" : "2006-12-10", + "method" : { + "code" : "RECIST", + "display" : "Nach RECIST-Kriterien", + "system" : "dnpm-dip/mtb/response/method" + }, + "value" : { + "code" : "SD", + "display" : "Stable Disease", + "system" : "RECIST" + } + }, { + "id" : "6b93b820-4d03-4883-af96-cf504fa6798e", + "patient" : { + "id" : "63f8fd7b-8127-4f3c-8843-aa9199e21c29", + "type" : "Patient" + }, + "therapy" : { + "id" : "27b6eddc-1a4f-4d68-a027-190a2c38754b", + "type" : "MTBSystemicTherapy" + }, + "effectiveDate" : "2007-02-11", + "method" : { + "code" : "RECIST", + "display" : "Nach RECIST-Kriterien", + "system" : "dnpm-dip/mtb/response/method" + }, + "value" : { + "code" : "PD", + "display" : "Progressive Disease", + "system" : "RECIST" + } + } ] +}