diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/AddendumCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/AddendumCode.java deleted file mode 100644 index 7b36a77..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/AddendumCode.java +++ /dev/null @@ -1,34 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum AddendumCode { - IS, IV, R, Z; - - @JsonValue - public String toValue() { - switch (this) { - case IS: return "is"; - case IV: return "iv"; - case R: return "R"; - case Z: return "Z"; - } - return null; - } - - @JsonCreator - public static AddendumCode forValue(String value) throws IOException { - switch (value) { - case "is": - return IS; - case "iv": - return IV; - case "R": - return R; - case "Z": - return Z; - } - throw new IOException("Cannot deserialize AddendumCode"); - } -} 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/AtcUnregisteredMedicationCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/AtcUnregisteredMedicationCoding.java new file mode 100644 index 0000000..56441ce --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/AtcUnregisteredMedicationCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class AtcUnregisteredMedicationCoding { + private String code; + private String display; + private RequestedMedicationSystem system; + private String version; + + @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 RequestedMedicationSystem getSystem() { return system; } + @JsonProperty("system") + 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/BaseVariantLocalizationCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/BaseVariantLocalizationCoding.java new file mode 100644 index 0000000..d21eb00 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/BaseVariantLocalizationCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class BaseVariantLocalizationCoding { + private BaseVariantLocalizationCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public BaseVariantLocalizationCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(BaseVariantLocalizationCodingCode 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/BaseVariantLocalizationCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/BaseVariantLocalizationCodingCode.java new file mode 100644 index 0000000..4634632 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/BaseVariantLocalizationCodingCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum BaseVariantLocalizationCodingCode { + 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 BaseVariantLocalizationCodingCode 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 BaseVariantLocalizationCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/BRCAness.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Brcaness.java similarity index 97% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/BRCAness.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/Brcaness.java index a8b02b3..c0f731b 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/BRCAness.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Brcaness.java @@ -2,7 +2,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class BRCAness { +public class Brcaness { private ConfidenceRange confidenceRange; private String id; private Reference patient; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CarePlanNoSequencingPerformedReasonCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CarePlanNoSequencingPerformedReasonCoding.java new file mode 100644 index 0000000..22949b3 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CarePlanNoSequencingPerformedReasonCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class CarePlanNoSequencingPerformedReasonCoding { + private NoSequencingPerformedReasonCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public NoSequencingPerformedReasonCode getCode() { return code; } + @JsonProperty("code") + public void setCode(NoSequencingPerformedReasonCode 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/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..7de8f51 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 ClaimStageCoding 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 ClaimStageCoding getStage() { return stage; } @JsonProperty("stage") - public void setStage(Coding value) { this.stage = value; } + public void setStage(ClaimStageCoding 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..9304d51 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 CodingClaimResponseStatus status; - private CodingClaimResponseStatusReason statusReason; + private Reference patient; + private ClaimResponseStatusCoding status; + private ClaimResponseStatusReasonCoding 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,17 +29,17 @@ 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; } + public ClaimResponseStatusCoding getStatus() { return status; } @JsonProperty("status") - public void setStatus(CodingClaimResponseStatus value) { this.status = value; } + public void setStatus(ClaimResponseStatusCoding value) { this.status = value; } @JsonProperty("statusReason") - public CodingClaimResponseStatusReason getStatusReason() { return statusReason; } + public ClaimResponseStatusReasonCoding getStatusReason() { return statusReason; } @JsonProperty("statusReason") - public void setStatusReason(CodingClaimResponseStatusReason value) { this.statusReason = value; } + public void setStatusReason(ClaimResponseStatusReasonCoding value) { this.statusReason = value; } } 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/ClaimResponseStatusCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusCoding.java new file mode 100644 index 0000000..37e3f44 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class ClaimResponseStatusCoding { + private ClaimResponseStatusCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public ClaimResponseStatusCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(ClaimResponseStatusCodingCode 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/ClaimResponseStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusCodingCode.java similarity index 57% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatus.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusCodingCode.java index 6e9c34c..79be481 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum ClaimResponseStatus { +public enum ClaimResponseStatusCodingCode { 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 ClaimResponseStatusCodingCode 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 ClaimResponseStatusCodingCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReasonCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReasonCoding.java new file mode 100644 index 0000000..1d09a1b --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReasonCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class ClaimResponseStatusReasonCoding { + private ClaimResponseStatusReasonCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public ClaimResponseStatusReasonCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(ClaimResponseStatusReasonCodingCode 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/ClaimResponseStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReasonCodingCode.java similarity index 54% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReason.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReasonCodingCode.java index 1cf35ab..581e8a8 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReason.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimResponseStatusReasonCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum ClaimResponseStatusReason { +public enum ClaimResponseStatusReasonCodingCode { 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 ClaimResponseStatusReasonCodingCode 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 ClaimResponseStatusReasonCodingCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceAddendum.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimStageCoding.java similarity index 78% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceAddendum.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimStageCoding.java index 4efe15e..8c8d7fb 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceAddendum.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimStageCoding.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingLevelOfEvidenceAddendum { - private AddendumCode code; +public class ClaimStageCoding { + private ClaimStageCodingCode code; private String display; private String system; private String version; @JsonProperty("code") - public AddendumCode getCode() { return code; } + public ClaimStageCodingCode getCode() { return code; } @JsonProperty("code") - public void setCode(AddendumCode value) { this.code = value; } + public void setCode(ClaimStageCodingCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimStageCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimStageCodingCode.java new file mode 100644 index 0000000..d879dd6 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClaimStageCodingCode.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ClaimStageCodingCode { + FOLLOW_UP_CLAIM, INITIAL_CLAIM, REVOCATION, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case FOLLOW_UP_CLAIM: return "follow-up-claim"; + case INITIAL_CLAIM: return "initial-claim"; + case REVOCATION: return "revocation"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static ClaimStageCodingCode forValue(String value) throws IOException { + 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 ClaimStageCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionIcScore.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClinVarCoding.java similarity index 79% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionIcScore.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/ClinVarCoding.java index fb10972..0a36498 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionIcScore.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClinVarCoding.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingProteinExpressionIcScore { - private ICScoreCode code; +public class ClinVarCoding { + private ClinVarCodingCode code; private String display; private String system; private String version; @JsonProperty("code") - public ICScoreCode getCode() { return code; } + public ClinVarCodingCode getCode() { return code; } @JsonProperty("code") - public void setCode(ICScoreCode value) { this.code = value; } + public void setCode(ClinVarCodingCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ClinVarCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClinVarCodingCode.java new file mode 100644 index 0000000..34f203c --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ClinVarCodingCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ClinVarCodingCode { + CODE_1, CODE_2, CODE_3, CODE_4, CODE_5; + + @JsonValue + public String toValue() { + switch (this) { + 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"; + } + return null; + } + + @JsonCreator + public static ClinVarCodingCode forValue(String value) throws IOException { + if (value.equals("1")) return CODE_1; + if (value.equals("2")) return CODE_2; + if (value.equals("3")) return CODE_3; + if (value.equals("4")) return CODE_4; + if (value.equals("5")) return CODE_5; + throw new IOException("Cannot deserialize ClinVarCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Cnv.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Cnv.java index 27c308f..b36a812 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 CnvCoding 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 CnvCoding getType() { return type; } @JsonProperty("type") - public void setType(CodingCnvType value) { this.type = value; } + public void setType(CnvCoding value) { this.type = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGender.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CnvCoding.java similarity index 80% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGender.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CnvCoding.java index 9f67221..9081da5 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingGender.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CnvCoding.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingGender { - private Gender code; +public class CnvCoding { + private CnvCodingCode code; private String display; private String system; private String version; @JsonProperty("code") - public Gender getCode() { return code; } + public CnvCodingCode getCode() { return code; } @JsonProperty("code") - public void setCode(Gender value) { this.code = value; } + public void setCode(CnvCodingCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CNVType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CnvCodingCode.java similarity index 52% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CNVType.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/CnvCodingCode.java index 58338d3..858c544 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CNVType.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/CnvCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum CNVType { +public enum CnvCodingCode { 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 CnvCodingCode 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 CnvCodingCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCarePlanStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCarePlanStatusReason.java deleted file mode 100644 index 698acd9..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCarePlanStatusReason.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingCarePlanStatusReason { - private String code; - private String display; - private String 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 String getSystem() { return system; } - @JsonProperty("system") - public void setSystem(String value) { this.system = value; } -} 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 deleted file mode 100644 index beff73d..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatus.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingClaimResponseStatus { - private ClaimResponseStatus code; - private String display; - private String system; - - @JsonProperty("code") - public ClaimResponseStatus getCode() { return code; } - @JsonProperty("code") - public void setCode(ClaimResponseStatus 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/CodingClaimResponseStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReason.java deleted file mode 100644 index ea49f6b..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingClaimResponseStatusReason.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingClaimResponseStatusReason { - private ClaimResponseStatusReason code; - private String display; - private String system; - - @JsonProperty("code") - public ClaimResponseStatusReason getCode() { return code; } - @JsonProperty("code") - public void setCode(ClaimResponseStatusReason 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/CodingCnvType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvType.java deleted file mode 100644 index 3bf6b07..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingCnvType.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingCnvType { - private CNVType code; - private String display; - private String system; - - @JsonProperty("code") - public CNVType getCode() { return code; } - @JsonProperty("code") - public void setCode(CNVType 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/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/CodingProteinExpressionResult.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResult.java deleted file mode 100644 index 9ed9ac8..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionResult.java +++ /dev/null @@ -1,30 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingProteinExpressionResult { - private ProteinExpressionResultCode code; - private String display; - private String system; - private String version; - - @JsonProperty("code") - public ProteinExpressionResultCode getCode() { return code; } - @JsonProperty("code") - public void setCode(ProteinExpressionResultCode 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/CodingProteinExpressionTcScore.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionTcScore.java deleted file mode 100644 index ec33755..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingProteinExpressionTcScore.java +++ /dev/null @@ -1,30 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingProteinExpressionTcScore { - private TcScoreCode code; - private String display; - private String system; - private String version; - - @JsonProperty("code") - public TcScoreCode getCode() { return code; } - @JsonProperty("code") - public void setCode(TcScoreCode 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/CodingTherapyRecommendationPriority.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyRecommendationPriority.java deleted file mode 100644 index 040ef92..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyRecommendationPriority.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTherapyRecommendationPriority { - private TherapyRecommendationPriority code; - private String display; - private String system; - - @JsonProperty("code") - public TherapyRecommendationPriority getCode() { return code; } - @JsonProperty("code") - public void setCode(TherapyRecommendationPriority 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/CodingTherapyStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatus.java deleted file mode 100644 index ee51af0..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatus.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTherapyStatus { - private TherapyStatus code; - private String display; - private String system; - - @JsonProperty("code") - public TherapyStatus getCode() { return code; } - @JsonProperty("code") - public void setCode(TherapyStatus 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/CodingTherapyStatusReason.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusReason.java deleted file mode 100644 index 0b7284f..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTherapyStatusReason.java +++ /dev/null @@ -1,30 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTherapyStatusReason { - private StatusReasonCode code; - private String display; - private String system; - private String version; - - @JsonProperty("code") - public StatusReasonCode getCode() { return code; } - @JsonProperty("code") - public void setCode(StatusReasonCode 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 deleted file mode 100644 index 868c44a..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorCellContentMethod.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTumorCellContentMethod { - private TumorCellContentMethod code; - private String display; - private String system; - - @JsonProperty("code") - public TumorCellContentMethod getCode() { return code; } - @JsonProperty("code") - public void setCode(TumorCellContentMethod 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/CodingTumorSpecimenCollectionLocalization.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalization.java deleted file mode 100644 index 31b0888..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionLocalization.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTumorSpecimenCollectionLocalization { - private TumorSpecimenCollectionLocalization code; - private String display; - private String system; - - @JsonProperty("code") - public TumorSpecimenCollectionLocalization getCode() { return code; } - @JsonProperty("code") - public void setCode(TumorSpecimenCollectionLocalization 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/CodingTumorSpecimenCollectionMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethod.java deleted file mode 100644 index 9a44fdd..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenCollectionMethod.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTumorSpecimenCollectionMethod { - private TumorSpecimenCollectionMethod code; - private String display; - private String system; - - @JsonProperty("code") - public TumorSpecimenCollectionMethod getCode() { return code; } - @JsonProperty("code") - public void setCode(TumorSpecimenCollectionMethod 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/CodingTumorSpecimenType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenType.java deleted file mode 100644 index ff9ef3d..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorSpecimenType.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class CodingTumorSpecimenType { - private TumorSpecimenType code; - private String display; - private String system; - - @JsonProperty("code") - public TumorSpecimenType getCode() { return code; } - @JsonProperty("code") - public void setCode(TumorSpecimenType 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/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/Collection.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Collection.java index c45b7cb..5518efa 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Collection.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Collection.java @@ -5,23 +5,21 @@ import java.util.Date; public class Collection { private Date date; - private CodingTumorSpecimenCollectionLocalization localization; - private CodingTumorSpecimenCollectionMethod method; + private TumorSpecimenCollectionLocalizationCoding localization; + private TumorSpecimenCollectionMethodCoding 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") - public CodingTumorSpecimenCollectionLocalization getLocalization() { return localization; } + public TumorSpecimenCollectionLocalizationCoding getLocalization() { return localization; } @JsonProperty("localization") - public void setLocalization(CodingTumorSpecimenCollectionLocalization value) { this.localization = value; } + public void setLocalization(TumorSpecimenCollectionLocalizationCoding value) { this.localization = value; } @JsonProperty("method") - public CodingTumorSpecimenCollectionMethod getMethod() { return method; } + public TumorSpecimenCollectionMethodCoding getMethod() { return method; } @JsonProperty("method") - public void setMethod(CodingTumorSpecimenCollectionMethod value) { this.method = value; } + public void setMethod(TumorSpecimenCollectionMethodCoding value) { this.method = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ConsentProvision.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ConsentProvision.java new file mode 100644 index 0000000..5698f9d --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ConsentProvision.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ConsentProvision { + DENY, PERMIT; + + @JsonValue + public String toValue() { + switch (this) { + case DENY: return "deny"; + case PERMIT: return "permit"; + } + return null; + } + + @JsonCreator + public static ConsentProvision forValue(String value) throws IOException { + if (value.equals("deny")) return DENY; + if (value.equals("permit")) return PERMIT; + throw new IOException("Cannot deserialize ConsentProvision"); + } +} 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/DNAFusion.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusion.java similarity index 58% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/DNAFusion.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/DnaFusion.java index 0a45733..48b32cc 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 { +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/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/CodingTumorGrade.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCoding.java similarity index 80% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorGrade.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCoding.java index 1cb9881..668ead2 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingTumorGrade.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCoding.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingTumorGrade { - private TumorGradeCode code; +public class EcogCoding { + private EcogCodingCode code; private String display; private String system; private String version; @JsonProperty("code") - public TumorGradeCode getCode() { return code; } + public EcogCodingCode getCode() { return code; } @JsonProperty("code") - public void setCode(TumorGradeCode value) { this.code = value; } + public void setCode(EcogCodingCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCodingCode.java new file mode 100644 index 0000000..2101049 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/EcogCodingCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum EcogCodingCode { + CODE_0, CODE_1, CODE_2, CODE_3, CODE_4, CODE_5; + + @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"; + } + return null; + } + + @JsonCreator + public static EcogCodingCode forValue(String value) throws IOException { + if (value.equals("0")) return CODE_0; + if (value.equals("1")) return CODE_1; + if (value.equals("2")) return CODE_2; + if (value.equals("3")) return CODE_3; + if (value.equals("4")) return CODE_4; + if (value.equals("5")) return CODE_5; + throw new IOException("Cannot deserialize EcogCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalId.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalId.java deleted file mode 100644 index fcad183..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalId.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class ExternalId { - 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/ExternalIdSystem.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ExternalIdSystem.java new file mode 100644 index 0000000..967450c --- /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 { + CANCER_SANGER_AC_UK_COSMIC, ENSEMBL_ORG, NCBI_NLM_NIH_GOV_ENTREZ, NCBI_NLM_NIH_GOV_SNP; + + @JsonValue + public String toValue() { + switch (this) { + case CANCER_SANGER_AC_UK_COSMIC: return "https://cancer.sanger.ac.uk/cosmic"; + case ENSEMBL_ORG: return "https://www.ensembl.org"; + case NCBI_NLM_NIH_GOV_ENTREZ: return "https://www.ncbi.nlm.nih.gov/entrez"; + case 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 CANCER_SANGER_AC_UK_COSMIC; + if (value.equals("https://www.ensembl.org")) return ENSEMBL_ORG; + if (value.equals("https://www.ncbi.nlm.nih.gov/entrez")) return NCBI_NLM_NIH_GOV_ENTREZ; + if (value.equals("https://www.ncbi.nlm.nih.gov/snp")) return 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..6e9c011 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUp.java @@ -0,0 +1,33 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; + +public class FollowUp { + private Date date; + private Date lastContactDate; + private Reference patient; + private FollowUpPatientStatusCoding 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("lastContactDate") + public Date getLastContactDate() { return lastContactDate; } + @JsonProperty("lastContactDate") + public void setLastContactDate(Date value) { this.lastContactDate = value; } + + @JsonProperty("patient") + public Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = value; } + + @JsonProperty("patientStatus") + public FollowUpPatientStatusCoding getPatientStatus() { return patientStatus; } + @JsonProperty("patientStatus") + public void setPatientStatus(FollowUpPatientStatusCoding value) { this.patientStatus = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUpPatientStatusCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUpPatientStatusCoding.java new file mode 100644 index 0000000..bf63271 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUpPatientStatusCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class FollowUpPatientStatusCoding { + private FollowUpPatientStatusCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public FollowUpPatientStatusCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(FollowUpPatientStatusCodingCode 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/FollowUpPatientStatusCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUpPatientStatusCodingCode.java new file mode 100644 index 0000000..d4fd47a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/FollowUpPatientStatusCodingCode.java @@ -0,0 +1,22 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum FollowUpPatientStatusCodingCode { + LOST_TO_FU; + + @JsonValue + public String toValue() { + switch (this) { + case LOST_TO_FU: return "lost-to-fu"; + } + return null; + } + + @JsonCreator + public static FollowUpPatientStatusCodingCode forValue(String value) throws IOException { + if (value.equals("lost-to-fu")) return LOST_TO_FU; + throw new IOException("Cannot deserialize FollowUpPatientStatusCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecist.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCoding.java similarity index 79% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecist.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCoding.java index c05c8d0..924e282 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingRecist.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCoding.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingRecist { - private RecistCode code; +public class GenderCoding { + private GenderCodingCode code; private String display; private String system; private String version; @JsonProperty("code") - public RecistCode getCode() { return code; } + public GenderCodingCode getCode() { return code; } @JsonProperty("code") - public void setCode(RecistCode value) { this.code = value; } + public void setCode(GenderCodingCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Gender.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCodingCode.java similarity index 51% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/Gender.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCodingCode.java index aa8970f..dcc094e 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Gender.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GenderCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum Gender { +public enum GenderCodingCode { 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 GenderCodingCode 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 GenderCodingCode"); } } 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..57b3f65 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 GeneticCounselingRecommendationReasonCoding 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 GeneticCounselingRecommendationReasonCoding getReason() { return reason; } @JsonProperty("reason") - public void setReason(Coding value) { this.reason = value; } + public void setReason(GeneticCounselingRecommendationReasonCoding value) { this.reason = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendationReasonCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendationReasonCoding.java new file mode 100644 index 0000000..47cdd8d --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendationReasonCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class GeneticCounselingRecommendationReasonCoding { + private GeneticCounselingRecommendationReasonCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public GeneticCounselingRecommendationReasonCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(GeneticCounselingRecommendationReasonCodingCode 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/GeneticCounselingRecommendationReasonCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendationReasonCodingCode.java new file mode 100644 index 0000000..290130b --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/GeneticCounselingRecommendationReasonCodingCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum GeneticCounselingRecommendationReasonCodingCode { + 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 GeneticCounselingRecommendationReasonCodingCode 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 GeneticCounselingRecommendationReasonCodingCode"); + } +} 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/HealthInsurance.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsurance.java index a79c185..912a090 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 HealthInsuranceCoding 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 HealthInsuranceCoding getType() { return type; } @JsonProperty("type") - public void setType(Type value) { this.type = value; } + public void setType(HealthInsuranceCoding value) { this.type = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsuranceCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsuranceCoding.java new file mode 100644 index 0000000..0b8c011 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsuranceCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class HealthInsuranceCoding { + private HealthInsuranceCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public HealthInsuranceCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(HealthInsuranceCodingCode 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/HealthInsuranceCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsuranceCodingCode.java new file mode 100644 index 0000000..0c93b4a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HealthInsuranceCodingCode.java @@ -0,0 +1,40 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum HealthInsuranceCodingCode { + BEI, BG, GKV, GPV, PKV, PPV, SEL, SKT, 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 SKT: return "SKT"; + case SOZ: return "SOZ"; + case UNK: return "UNK"; + } + return null; + } + + @JsonCreator + public static HealthInsuranceCodingCode 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("SKT")) return SKT; + if (value.equals("SOZ")) return SOZ; + if (value.equals("UNK")) return UNK; + throw new IOException("Cannot deserialize HealthInsuranceCodingCode"); + } +} 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..71ffc74 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 MtbDiagnosisCoding 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 MtbDiagnosisCoding getValue() { return value; } + @JsonProperty("value") + public void setValue(MtbDiagnosisCoding value) { this.value = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HRDScore.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HrdScore.java similarity index 81% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/HRDScore.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/HrdScore.java index 4945a09..d552859 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/HRDScore.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HrdScore.java @@ -2,10 +2,10 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class HRDScore { +public class HrdScore { private Components components; private String id; - private Coding interpretation; + private HrdScoreInterpretationCoding 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 HrdScoreInterpretationCoding getInterpretation() { return interpretation; } @JsonProperty("interpretation") - public void setInterpretation(Coding value) { this.interpretation = value; } + public void setInterpretation(HrdScoreInterpretationCoding value) { this.interpretation = value; } @JsonProperty("patient") public Reference getPatient() { return patient; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/HrdScoreInterpretationCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/HrdScoreInterpretationCoding.java new file mode 100644 index 0000000..d69bf48 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/HrdScoreInterpretationCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class HrdScoreInterpretationCoding { + private InterpretationCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public InterpretationCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(InterpretationCodingCode 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/IHCReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/IHCReport.java deleted file mode 100644 index 722dee6..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/IHCReport.java +++ /dev/null @@ -1,58 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; -import java.util.List; - -public class IHCReport { - private ExternalId blockId; - private Date date; - private String id; - private ExternalId journalId; - private List msiMmrResults; - private Reference patient; - private List proteinExpressionResults; - 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("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("msiMmrResults") - public List getMsiMmrResults() { return msiMmrResults; } - @JsonProperty("msiMmrResults") - public void setMsiMmrResults(List value) { this.msiMmrResults = 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("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/IhcReport.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/IhcReport.java new file mode 100644 index 0000000..c24ebfa --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/IhcReport.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 IhcReport { + private List blockIds; + private String id; + private Date issuedOn; + private String journalId; + private Reference patient; + private IhcReportResults results; + private Reference specimen; + + @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("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("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("results") + public IhcReportResults getResults() { return results; } + @JsonProperty("results") + public void setResults(IhcReportResults value) { this.results = 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/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/InterpretationCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/InterpretationCodingCode.java new file mode 100644 index 0000000..1704310 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/InterpretationCodingCode.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum InterpretationCodingCode { + 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 InterpretationCodingCode 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 InterpretationCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java index 6e3e79f..c1d2cff 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidence.java @@ -4,22 +4,22 @@ import com.fasterxml.jackson.annotation.*; import java.util.List; public class LevelOfEvidence { - private List addendums; - private CodingLevelOfEvidenceGrading grading; - private List publications; + private List addendums; + private LevelOfEvidenceGradingCoding grading; + private List publications; @JsonProperty("addendums") - public List getAddendums() { return addendums; } + public List getAddendums() { return addendums; } @JsonProperty("addendums") - public void setAddendums(List value) { this.addendums = value; } + public void setAddendums(List value) { this.addendums = value; } @JsonProperty("grading") - public CodingLevelOfEvidenceGrading getGrading() { return grading; } + public LevelOfEvidenceGradingCoding getGrading() { return grading; } @JsonProperty("grading") - public void setGrading(CodingLevelOfEvidenceGrading value) { this.grading = value; } + public void setGrading(LevelOfEvidenceGradingCoding 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/LevelOfEvidenceAddendumCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceAddendumCoding.java new file mode 100644 index 0000000..09f9821 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceAddendumCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class LevelOfEvidenceAddendumCoding { + private LevelOfEvidenceAddendumCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public LevelOfEvidenceAddendumCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(LevelOfEvidenceAddendumCodingCode 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/LevelOfEvidenceAddendumCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceAddendumCodingCode.java new file mode 100644 index 0000000..3c74d8f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceAddendumCodingCode.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum LevelOfEvidenceAddendumCodingCode { + IS, IV, R, Z; + + @JsonValue + public String toValue() { + switch (this) { + case IS: return "is"; + case IV: return "iv"; + case R: return "R"; + case Z: return "Z"; + } + return null; + } + + @JsonCreator + public static LevelOfEvidenceAddendumCodingCode forValue(String value) throws IOException { + if (value.equals("is")) return IS; + if (value.equals("iv")) return IV; + if (value.equals("R")) return R; + if (value.equals("Z")) return Z; + throw new IOException("Cannot deserialize LevelOfEvidenceAddendumCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceGradingCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceGradingCoding.java new file mode 100644 index 0000000..f9f0433 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceGradingCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class LevelOfEvidenceGradingCoding { + private LevelOfEvidenceGradingCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public LevelOfEvidenceGradingCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(LevelOfEvidenceGradingCodingCode 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/LevelOfEvidenceGradingCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceGradingCodingCode.java new file mode 100644 index 0000000..d836518 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/LevelOfEvidenceGradingCodingCode.java @@ -0,0 +1,38 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum LevelOfEvidenceGradingCodingCode { + M1A, M1B, M1C, M2A, M2B, M2C, M3, M4, UNDEFINED; + + @JsonValue + public String toValue() { + switch (this) { + case M1A: return "m1A"; + case M1B: return "m1B"; + case M1C: return "m1C"; + case M2A: return "m2A"; + case M2B: return "m2B"; + case M2C: return "m2C"; + case M3: return "m3"; + case M4: return "m4"; + case UNDEFINED: return "undefined"; + } + return null; + } + + @JsonCreator + public static LevelOfEvidenceGradingCodingCode forValue(String value) throws IOException { + if (value.equals("m1A")) return M1A; + if (value.equals("m1B")) return M1B; + if (value.equals("m1C")) return M1C; + if (value.equals("m2A")) return M2A; + if (value.equals("m2B")) return M2B; + if (value.equals("m2C")) return M2C; + if (value.equals("m3")) return M3; + if (value.equals("m4")) return M4; + if (value.equals("undefined")) return UNDEFINED; + throw new IOException("Cannot deserialize LevelOfEvidenceGradingCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmrResult.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmr.java similarity index 67% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmrResult.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmr.java index 5311eb6..c7c8b69 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmrResult.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MSIMmr.java @@ -2,19 +2,19 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class MSIMmrResult { - private CodingProteinExpressionIcScore icScore; +public class MSIMmr { + private ProteinExpressionIcScoreCoding icScore; private String id; private Reference patient; private Coding protein; - private CodingProteinExpressionTcScore tcScore; + private ProteinExpressionTcScoreCoding tcScore; private Long tpsScore; - private CodingProteinExpressionResult value; + private ProteinExpressionResultCoding value; @JsonProperty("icScore") - public CodingProteinExpressionIcScore getIcScore() { return icScore; } + public ProteinExpressionIcScoreCoding getIcScore() { return icScore; } @JsonProperty("icScore") - public void setIcScore(CodingProteinExpressionIcScore value) { this.icScore = value; } + public void setIcScore(ProteinExpressionIcScoreCoding value) { this.icScore = value; } @JsonProperty("id") public String getId() { return id; } @@ -32,9 +32,9 @@ public class MSIMmrResult { public void setProtein(Coding value) { this.protein = value; } @JsonProperty("tcScore") - public CodingProteinExpressionTcScore getTcScore() { return tcScore; } + public ProteinExpressionTcScoreCoding getTcScore() { return tcScore; } @JsonProperty("tcScore") - public void setTcScore(CodingProteinExpressionTcScore value) { this.tcScore = value; } + public void setTcScore(ProteinExpressionTcScoreCoding value) { this.tcScore = value; } @JsonProperty("tpsScore") public Long getTpsScore() { return tpsScore; } @@ -42,7 +42,7 @@ public class MSIMmrResult { public void setTpsScore(Long value) { this.tpsScore = value; } @JsonProperty("value") - public CodingProteinExpressionResult getValue() { return value; } + public ProteinExpressionResultCoding getValue() { return value; } @JsonProperty("value") - public void setValue(CodingProteinExpressionResult value) { this.value = value; } + public void setValue(ProteinExpressionResultCoding value) { this.value = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBCarePlan.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBCarePlan.java deleted file mode 100644 index f1440ed..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBCarePlan.java +++ /dev/null @@ -1,74 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; -import java.util.List; - -public class MTBCarePlan { - private String diagnosis; - private GeneticCounselingRecommendation geneticCounselingRecommendation; - 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; } - - @JsonProperty("geneticCounselingRecommendation") - public GeneticCounselingRecommendation getGeneticCounselingRecommendation() { return geneticCounselingRecommendation; } - @JsonProperty("geneticCounselingRecommendation") - public void setGeneticCounselingRecommendation(GeneticCounselingRecommendation value) { this.geneticCounselingRecommendation = 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") - public Date getIssuedOn() { return issuedOn; } - @JsonProperty("issuedOn") - public void setIssuedOn(Date value) { this.issuedOn = value; } - - @JsonProperty("medicationRecommendations") - public List getMedicationRecommendations() { return medicationRecommendations; } - @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; } - @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("statusReason") - public CodingCarePlanStatusReason getStatusReason() { return statusReason; } - @JsonProperty("statusReason") - public void setStatusReason(CodingCarePlanStatusReason value) { this.statusReason = value; } - - @JsonProperty("studyEnrollmentRecommendations") - public List getStudyEnrollmentRecommendations() { return studyEnrollmentRecommendations; } - @JsonProperty("studyEnrollmentRecommendations") - 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 deleted file mode 100644 index c8c26ed..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBDiagnosis.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 MTBDiagnosis { - private Coding code; - private Coding guidelineTreatmentStatus; - private List histologyResults; - private Coding icdO3T; - private String id; - private Patient patient; - private Date recordedOn; - private List stageHistory; - private Coding topography; - private CodingTumorGrade tumorGrade; - private Coding whoGrade; - private Coding whoGrading; - - @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("histologyResults") - public List getHistologyResults() { return histologyResults; } - @JsonProperty("histologyResults") - public void setHistologyResults(List value) { this.histologyResults = value; } - - @JsonProperty("icdO3T") - public Coding getIcdO3T() { return icdO3T; } - @JsonProperty("icdO3T") - public void setIcdO3T(Coding value) { this.icdO3T = value; } - - @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("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("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; } -} 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/MTBMedicationRecommendation.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationRecommendation.java deleted file mode 100644 index 7abc6b3..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/MTBMedicationRecommendation.java +++ /dev/null @@ -1,62 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; -import java.util.Date; -import java.util.List; - -public class MTBMedicationRecommendation { - 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; - - @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") - public Date getIssuedOn() { return issuedOn; } - @JsonProperty("issuedOn") - 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("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; } - - @JsonProperty("patient") - public Patient getPatient() { return patient; } - @JsonProperty("patient") - public void setPatient(Patient value) { this.patient = value; } - - @JsonProperty("priority") - public CodingTherapyRecommendationPriority getPriority() { return priority; } - @JsonProperty("priority") - public void setPriority(CodingTherapyRecommendationPriority value) { this.priority = 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/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/ModelProjectConsent.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ModelProjectConsent.java new file mode 100644 index 0000000..db8a0f9 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ModelProjectConsent.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class ModelProjectConsent { + private Date date; + private List provisions; + private String version; + + @JsonProperty("date") + public Date getDate() { return date; } + @JsonProperty("date") + public void setDate(Date value) { this.date = value; } + + @JsonProperty("provisions") + public List getProvisions() { return provisions; } + @JsonProperty("provisions") + public void setProvisions(List value) { this.provisions = 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/ModelProjectConsentPurpose.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ModelProjectConsentPurpose.java new file mode 100644 index 0000000..05626da --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ModelProjectConsentPurpose.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ModelProjectConsentPurpose { + CASE_IDENTIFICATION, REIDENTIFICATION, SEQUENCING; + + @JsonValue + public String toValue() { + switch (this) { + case CASE_IDENTIFICATION: return "case-identification"; + case REIDENTIFICATION: return "reidentification"; + case SEQUENCING: return "sequencing"; + } + return null; + } + + @JsonCreator + public static ModelProjectConsentPurpose forValue(String value) throws IOException { + if (value.equals("case-identification")) return CASE_IDENTIFICATION; + if (value.equals("reidentification")) return REIDENTIFICATION; + if (value.equals("sequencing")) return SEQUENCING; + throw new IOException("Cannot deserialize ModelProjectConsentPurpose"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularDiagnosticReportCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularDiagnosticReportCoding.java new file mode 100644 index 0000000..429f2ed --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularDiagnosticReportCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MolecularDiagnosticReportCoding { + private MolecularDiagnosticReportCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MolecularDiagnosticReportCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MolecularDiagnosticReportCodingCode 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/MolecularDiagnosticReportCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularDiagnosticReportCodingCode.java new file mode 100644 index 0000000..9f7380e --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MolecularDiagnosticReportCodingCode.java @@ -0,0 +1,44 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MolecularDiagnosticReportCodingCode { + 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 MolecularDiagnosticReportCodingCode 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 MolecularDiagnosticReportCodingCode"); + } +} 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..d2081d7 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Mtb.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Mtb.java @@ -4,31 +4,29 @@ import com.fasterxml.jackson.annotation.*; import java.util.List; public class Mtb { - private List carePlans; + private List carePlans; 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 diagnoses; + private List episodesOfCare; + private List followUps; + private List guidelineProcedures; + private List guidelineTherapies; private List histologyReports; - private List ihcReports; - private List molecularTherapies; + private List ihcReports; + private MvhMetadata metadata; private List ngsReports; - private MtbPatient patient; + 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; } + public List getCarePlans() { return carePlans; } @JsonProperty("carePlans") - public void setCarePlans(List value) { this.carePlans = value; } + public void setCarePlans(List value) { this.carePlans = value; } @JsonProperty("claimResponses") public List getClaimResponses() { return claimResponses; } @@ -41,34 +39,29 @@ public class Mtb { public void setClaims(List value) { this.claims = value; } @JsonProperty("diagnoses") - public List getDiagnoses() { return diagnoses; } + public List getDiagnoses() { return diagnoses; } @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; } + public void setDiagnoses(List value) { this.diagnoses = 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; } @@ -76,14 +69,14 @@ public class Mtb { public void setHistologyReports(List value) { this.histologyReports = value; } @JsonProperty("ihcReports") - public List getIhcReports() { return ihcReports; } + public List getIhcReports() { return ihcReports; } @JsonProperty("ihcReports") - public void setIhcReports(List value) { this.ihcReports = value; } + 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("metadata") + public MvhMetadata getMetadata() { return metadata; } + @JsonProperty("metadata") + public void setMetadata(MvhMetadata value) { this.metadata = value; } @JsonProperty("ngsReports") public List getNgsReports() { return ngsReports; } @@ -91,19 +84,19 @@ public class Mtb { 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 +108,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/MtbCarePlan.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbCarePlan.java new file mode 100644 index 0000000..15d1286 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbCarePlan.java @@ -0,0 +1,88 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class MtbCarePlan { + private GeneticCounselingRecommendation geneticCounselingRecommendation; + private List histologyReevaluationRequests; + private String id; + private Date issuedOn; + private List medicationRecommendations; + private CarePlanNoSequencingPerformedReasonCoding noSequencingPerformedReason; + private List notes; + private Reference patient; + private List procedureRecommendations; + private Reference reason; + private List rebiopsyRequests; + private MtbCarePlanRecommendationsMissingReasonCoding recommendationsMissingReason; + 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("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") + public List getMedicationRecommendations() { return medicationRecommendations; } + @JsonProperty("medicationRecommendations") + public void setMedicationRecommendations(List value) { this.medicationRecommendations = value; } + + @JsonProperty("noSequencingPerformedReason") + public CarePlanNoSequencingPerformedReasonCoding getNoSequencingPerformedReason() { return noSequencingPerformedReason; } + @JsonProperty("noSequencingPerformedReason") + public void setNoSequencingPerformedReason(CarePlanNoSequencingPerformedReasonCoding value) { this.noSequencingPerformedReason = 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("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("recommendationsMissingReason") + public MtbCarePlanRecommendationsMissingReasonCoding getRecommendationsMissingReason() { return recommendationsMissingReason; } + @JsonProperty("recommendationsMissingReason") + public void setRecommendationsMissingReason(MtbCarePlanRecommendationsMissingReasonCoding value) { this.recommendationsMissingReason = value; } + + @JsonProperty("studyEnrollmentRecommendations") + public List getStudyEnrollmentRecommendations() { return studyEnrollmentRecommendations; } + @JsonProperty("studyEnrollmentRecommendations") + public void setStudyEnrollmentRecommendations(List value) { this.studyEnrollmentRecommendations = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbCarePlanRecommendationsMissingReasonCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbCarePlanRecommendationsMissingReasonCoding.java new file mode 100644 index 0000000..4c1ee61 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbCarePlanRecommendationsMissingReasonCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbCarePlanRecommendationsMissingReasonCoding { + private MtbCarePlanRecommendationsMissingReasonCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbCarePlanRecommendationsMissingReasonCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbCarePlanRecommendationsMissingReasonCodingCode 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/MtbCarePlanRecommendationsMissingReasonCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbCarePlanRecommendationsMissingReasonCodingCode.java new file mode 100644 index 0000000..eb48fbc --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbCarePlanRecommendationsMissingReasonCodingCode.java @@ -0,0 +1,22 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbCarePlanRecommendationsMissingReasonCodingCode { + NO_TARGET; + + @JsonValue + public String toValue() { + switch (this) { + case NO_TARGET: return "no-target"; + } + return null; + } + + @JsonCreator + public static MtbCarePlanRecommendationsMissingReasonCodingCode forValue(String value) throws IOException { + if (value.equals("no-target")) return NO_TARGET; + throw new IOException("Cannot deserialize MtbCarePlanRecommendationsMissingReasonCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosis.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosis.java new file mode 100644 index 0000000..bdf6e3b --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosis.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 MtbDiagnosis { + private Coding code; + private List germlineCodes; + private Grading grading; + private MtbDiagnosisGuidelineTreatmentStatusCoding guidelineTreatmentStatus; + private List histology; + private String id; + private List notes; + private Reference patient; + private Date recordedOn; + private Staging staging; + private Coding topography; + private Type type; + + @JsonProperty("code") + public Coding getCode() { return code; } + @JsonProperty("code") + public void setCode(Coding value) { this.code = value; } + + @JsonProperty("germlineCodes") + public List getGermlineCodes() { return germlineCodes; } + @JsonProperty("germlineCodes") + public void setGermlineCodes(List value) { this.germlineCodes = value; } + + @JsonProperty("grading") + public Grading getGrading() { return grading; } + @JsonProperty("grading") + public void setGrading(Grading value) { this.grading = value; } + + @JsonProperty("guidelineTreatmentStatus") + public MtbDiagnosisGuidelineTreatmentStatusCoding getGuidelineTreatmentStatus() { return guidelineTreatmentStatus; } + @JsonProperty("guidelineTreatmentStatus") + public void setGuidelineTreatmentStatus(MtbDiagnosisGuidelineTreatmentStatusCoding 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 Reference getPatient() { return patient; } + @JsonProperty("patient") + public void setPatient(Reference value) { this.patient = 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("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("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/CodingEcog.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisCoding.java similarity index 80% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcog.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisCoding.java index 22fc01a..c2c7fa1 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingEcog.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisCoding.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingEcog { - private EcogCode code; +public class MtbDiagnosisCoding { + private ValueCode code; private String display; private String system; private String version; @JsonProperty("code") - public EcogCode getCode() { return code; } + public ValueCode getCode() { return code; } @JsonProperty("code") - public void setCode(EcogCode value) { this.code = value; } + public void setCode(ValueCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisGuidelineTreatmentStatusCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisGuidelineTreatmentStatusCoding.java new file mode 100644 index 0000000..42bf335 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisGuidelineTreatmentStatusCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbDiagnosisGuidelineTreatmentStatusCoding { + private MtbDiagnosisGuidelineTreatmentStatusCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbDiagnosisGuidelineTreatmentStatusCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbDiagnosisGuidelineTreatmentStatusCodingCode 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/MtbDiagnosisGuidelineTreatmentStatusCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisGuidelineTreatmentStatusCodingCode.java new file mode 100644 index 0000000..7b376ac --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbDiagnosisGuidelineTreatmentStatusCodingCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbDiagnosisGuidelineTreatmentStatusCodingCode { + 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 MtbDiagnosisGuidelineTreatmentStatusCodingCode 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 MtbDiagnosisGuidelineTreatmentStatusCodingCode"); + } +} 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..ce70f33 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 new file mode 100644 index 0000000..1f5de01 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendation.java @@ -0,0 +1,70 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; +import java.util.List; + +public class MtbMedicationRecommendation { + private MtbMedicationRecommendationCategoryCoding category; + private String id; + private Date issuedOn; + private LevelOfEvidence levelOfEvidence; + private List medication; + private Reference patient; + private RecommendationPriorityCoding priority; + private Reference reason; + private List supportingVariants; + private MtbMedicationRecommendationUseTypeCoding useType; + + @JsonProperty("category") + public MtbMedicationRecommendationCategoryCoding getCategory() { return category; } + @JsonProperty("category") + public void setCategory(MtbMedicationRecommendationCategoryCoding value) { this.category = 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("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 RecommendationPriorityCoding getPriority() { return priority; } + @JsonProperty("priority") + public void setPriority(RecommendationPriorityCoding 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; } + + @JsonProperty("useType") + public MtbMedicationRecommendationUseTypeCoding getUseType() { return useType; } + @JsonProperty("useType") + public void setUseType(MtbMedicationRecommendationUseTypeCoding value) { this.useType = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationCategoryCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationCategoryCoding.java new file mode 100644 index 0000000..0cc5589 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationCategoryCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbMedicationRecommendationCategoryCoding { + private MtbMedicationRecommendationCategoryCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbMedicationRecommendationCategoryCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbMedicationRecommendationCategoryCodingCode 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/MtbMedicationRecommendationCategoryCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationCategoryCodingCode.java new file mode 100644 index 0000000..6ca31ca --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationCategoryCodingCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbMedicationRecommendationCategoryCodingCode { + 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 MtbMedicationRecommendationCategoryCodingCode 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 MtbMedicationRecommendationCategoryCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationUseTypeCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationUseTypeCoding.java new file mode 100644 index 0000000..c0fd439 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationUseTypeCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbMedicationRecommendationUseTypeCoding { + private MtbMedicationRecommendationUseTypeCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbMedicationRecommendationUseTypeCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbMedicationRecommendationUseTypeCodingCode 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/MtbMedicationRecommendationUseTypeCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationUseTypeCodingCode.java new file mode 100644 index 0000000..08e2c5c --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbMedicationRecommendationUseTypeCodingCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbMedicationRecommendationUseTypeCodingCode { + 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 MtbMedicationRecommendationUseTypeCodingCode 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 MtbMedicationRecommendationUseTypeCodingCode"); + } +} 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/MtbProcedureRecommendationCategoryCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbProcedureRecommendationCategoryCoding.java new file mode 100644 index 0000000..6257192 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbProcedureRecommendationCategoryCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbProcedureRecommendationCategoryCoding { + private MtbProcedureRecommendationCategoryCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbProcedureRecommendationCategoryCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbProcedureRecommendationCategoryCodingCode 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/MtbProcedureRecommendationCategoryCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbProcedureRecommendationCategoryCodingCode.java new file mode 100644 index 0000000..5b2b21e --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbProcedureRecommendationCategoryCodingCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbProcedureRecommendationCategoryCodingCode { + 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 MtbProcedureRecommendationCategoryCodingCode 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 MtbProcedureRecommendationCategoryCodingCode"); + } +} 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..bc780a1 --- /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 LevelOfEvidence levelOfEvidence; + private List medication; + private Reference patient; + private RecommendationPriorityCoding 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 LevelOfEvidence getLevelOfEvidence() { return levelOfEvidence; } + @JsonProperty("levelOfEvidence") + public void setLevelOfEvidence(LevelOfEvidence 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 RecommendationPriorityCoding getPriority() { return priority; } + @JsonProperty("priority") + public void setPriority(RecommendationPriorityCoding 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..a542e7a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapy.java @@ -0,0 +1,100 @@ +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 MtbSystemicTherapyCategoryCoding category; + private MtbSystemicTherapyDosageDensityCoding dosage; + private String id; + private MtbTherapyIntentCoding intent; + private List medication; + private List notes; + private Reference patient; + private PeriodDate period; + private Reference reason; + private MtbSystemicTherapyRecommendationFulfillmentStatusCoding recommendationFulfillmentStatus; + private Date recordedOn; + private TherapyStatusCoding status; + private MtbTherapyStatusReasonCoding statusReason; + private Long therapyLine; + + @JsonProperty("basedOn") + public Reference getBasedOn() { return basedOn; } + @JsonProperty("basedOn") + public void setBasedOn(Reference value) { this.basedOn = value; } + + @JsonProperty("category") + public MtbSystemicTherapyCategoryCoding getCategory() { return category; } + @JsonProperty("category") + public void setCategory(MtbSystemicTherapyCategoryCoding value) { this.category = value; } + + @JsonProperty("dosage") + public MtbSystemicTherapyDosageDensityCoding getDosage() { return dosage; } + @JsonProperty("dosage") + public void setDosage(MtbSystemicTherapyDosageDensityCoding value) { this.dosage = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("intent") + public MtbTherapyIntentCoding getIntent() { return intent; } + @JsonProperty("intent") + public void setIntent(MtbTherapyIntentCoding 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 MtbSystemicTherapyRecommendationFulfillmentStatusCoding getRecommendationFulfillmentStatus() { return recommendationFulfillmentStatus; } + @JsonProperty("recommendationFulfillmentStatus") + public void setRecommendationFulfillmentStatus(MtbSystemicTherapyRecommendationFulfillmentStatusCoding 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 TherapyStatusCoding getStatus() { return status; } + @JsonProperty("status") + public void setStatus(TherapyStatusCoding value) { this.status = value; } + + @JsonProperty("statusReason") + public MtbTherapyStatusReasonCoding getStatusReason() { return statusReason; } + @JsonProperty("statusReason") + public void setStatusReason(MtbTherapyStatusReasonCoding 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/MtbSystemicTherapyCategoryCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyCategoryCoding.java new file mode 100644 index 0000000..2e4cdf9 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyCategoryCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbSystemicTherapyCategoryCoding { + private MtbSystemicTherapyCategoryCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbSystemicTherapyCategoryCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbSystemicTherapyCategoryCodingCode 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/MtbSystemicTherapyCategoryCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyCategoryCodingCode.java new file mode 100644 index 0000000..83200bf --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyCategoryCodingCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbSystemicTherapyCategoryCodingCode { + 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 MtbSystemicTherapyCategoryCodingCode 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 MtbSystemicTherapyCategoryCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyDosageDensityCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyDosageDensityCoding.java new file mode 100644 index 0000000..871d4e2 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyDosageDensityCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbSystemicTherapyDosageDensityCoding { + private MtbSystemicTherapyDosageDensityCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbSystemicTherapyDosageDensityCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbSystemicTherapyDosageDensityCodingCode 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/MtbSystemicTherapyDosageDensityCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyDosageDensityCodingCode.java new file mode 100644 index 0000000..19f4642 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyDosageDensityCodingCode.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbSystemicTherapyDosageDensityCodingCode { + OVER_50, UNDER_50; + + @JsonValue + public String toValue() { + switch (this) { + case OVER_50: return "over-50%"; + case UNDER_50: return "under-50%"; + } + return null; + } + + @JsonCreator + public static MtbSystemicTherapyDosageDensityCodingCode forValue(String value) throws IOException { + if (value.equals("over-50%")) return OVER_50; + if (value.equals("under-50%")) return UNDER_50; + throw new IOException("Cannot deserialize MtbSystemicTherapyDosageDensityCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyRecommendationFulfillmentStatusCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyRecommendationFulfillmentStatusCoding.java new file mode 100644 index 0000000..fbc1c64 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyRecommendationFulfillmentStatusCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbSystemicTherapyRecommendationFulfillmentStatusCoding { + private MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode 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/MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode.java new file mode 100644 index 0000000..48b3024 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode { + COMPLETE, PARTIAL; + + @JsonValue + public String toValue() { + switch (this) { + case COMPLETE: return "complete"; + case PARTIAL: return "partial"; + } + return null; + } + + @JsonCreator + public static MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode forValue(String value) throws IOException { + if (value.equals("complete")) return COMPLETE; + if (value.equals("partial")) return PARTIAL; + throw new IOException("Cannot deserialize MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyIntentCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyIntentCoding.java new file mode 100644 index 0000000..5bae22f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyIntentCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbTherapyIntentCoding { + private MtbTherapyIntentCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbTherapyIntentCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbTherapyIntentCodingCode 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/MtbTherapyIntentCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyIntentCodingCode.java new file mode 100644 index 0000000..5239a43 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyIntentCodingCode.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbTherapyIntentCodingCode { + 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 MtbTherapyIntentCodingCode 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 MtbTherapyIntentCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyStatusReasonCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyStatusReasonCoding.java new file mode 100644 index 0000000..a16c010 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyStatusReasonCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class MtbTherapyStatusReasonCoding { + private MtbTherapyStatusReasonCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public MtbTherapyStatusReasonCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbTherapyStatusReasonCodingCode 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/MtbTherapyStatusReasonCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyStatusReasonCodingCode.java new file mode 100644 index 0000000..12848b5 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MtbTherapyStatusReasonCodingCode.java @@ -0,0 +1,58 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MtbTherapyStatusReasonCodingCode { + 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 MtbTherapyStatusReasonCodingCode 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 MtbTherapyStatusReasonCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MvhMetadata.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MvhMetadata.java new file mode 100644 index 0000000..39e7b89 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MvhMetadata.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.List; +import java.util.Map; + +public class MvhMetadata { + private ModelProjectConsent modelProjectConsent; + private List> researchConsents; + private String transferTan; + private MvhSubmissionType type; + + @JsonProperty("modelProjectConsent") + public ModelProjectConsent getModelProjectConsent() { return modelProjectConsent; } + @JsonProperty("modelProjectConsent") + public void setModelProjectConsent(ModelProjectConsent value) { this.modelProjectConsent = value; } + + @JsonProperty("researchConsents") + public List> getResearchConsents() { return researchConsents; } + @JsonProperty("researchConsents") + public void setResearchConsents(List> value) { this.researchConsents = value; } + + @JsonProperty("transferTAN") + public String getTransferTan() { return transferTan; } + @JsonProperty("transferTAN") + public void setTransferTan(String value) { this.transferTan = value; } + + @JsonProperty("type") + public MvhSubmissionType getType() { return type; } + @JsonProperty("type") + public void setType(MvhSubmissionType value) { this.type = value; } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/MvhSubmissionType.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/MvhSubmissionType.java new file mode 100644 index 0000000..47733de --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/MvhSubmissionType.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum MvhSubmissionType { + ADDITION, CORRECTION, FOLLOWUP, INITIAL; + + @JsonValue + public String toValue() { + switch (this) { + case ADDITION: return "addition"; + case CORRECTION: return "correction"; + case FOLLOWUP: return "followup"; + case INITIAL: return "initial"; + } + return null; + } + + @JsonCreator + public static MvhSubmissionType forValue(String value) throws IOException { + if (value.equals("addition")) return ADDITION; + if (value.equals("correction")) return CORRECTION; + if (value.equals("followup")) return FOLLOWUP; + if (value.equals("initial")) return INITIAL; + throw new IOException("Cannot deserialize MvhSubmissionType"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceGrading.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportCoding.java similarity index 78% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceGrading.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportCoding.java index f797266..d083713 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/CodingLevelOfEvidenceGrading.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportCoding.java @@ -2,16 +2,16 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class CodingLevelOfEvidenceGrading { - private GradingCode code; +public class NgsReportCoding { + private NgsReportCodingCode code; private String display; private String system; private String version; @JsonProperty("code") - public GradingCode getCode() { return code; } + public NgsReportCodingCode getCode() { return code; } @JsonProperty("code") - public void setCode(GradingCode value) { this.code = value; } + public void setCode(NgsReportCodingCode value) { this.code = value; } @JsonProperty("display") public String getDisplay() { return display; } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportCodingCode.java new file mode 100644 index 0000000..a86968c --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportCodingCode.java @@ -0,0 +1,36 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum NgsReportCodingCode { + 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 NgsReportCodingCode 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 NgsReportCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Metadatum.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportMetadata.java similarity index 97% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/Metadatum.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportMetadata.java index 010cf44..036fcc4 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Metadatum.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportMetadata.java @@ -2,7 +2,7 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class Metadatum { +public class NgsReportMetadata { private String kitManufacturer; private String kitType; private String pipeline; diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportResults.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportResults.java index 567aa4b..e5d8c4a 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportResults.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/NgsReportResults.java @@ -4,20 +4,20 @@ import com.fasterxml.jackson.annotation.*; import java.util.List; public class NgsReportResults { - private BRCAness brcaness; + private Brcaness brcaness; private List copyNumberVariants; - private List dnaFusions; - private HRDScore hrdScore; - private List rnaFusions; - private List rnaSeqs; + private List dnaFusions; + private HrdScore hrdScore; + private List rnaFusions; + private List rnaSeqs; private List simpleVariants; private Tmb tmb; private TumorCellContent tumorCellContent; @JsonProperty("brcaness") - public BRCAness getBrcaness() { return brcaness; } + public Brcaness getBrcaness() { return brcaness; } @JsonProperty("brcaness") - public void setBrcaness(BRCAness value) { this.brcaness = value; } + public void setBrcaness(Brcaness value) { this.brcaness = value; } @JsonProperty("copyNumberVariants") public List getCopyNumberVariants() { return copyNumberVariants; } @@ -25,24 +25,24 @@ public class NgsReportResults { public void setCopyNumberVariants(List value) { this.copyNumberVariants = value; } @JsonProperty("dnaFusions") - public List getDnaFusions() { return dnaFusions; } + public List getDnaFusions() { return dnaFusions; } @JsonProperty("dnaFusions") - public void setDnaFusions(List value) { this.dnaFusions = value; } + public void setDnaFusions(List value) { this.dnaFusions = value; } @JsonProperty("hrdScore") - public HRDScore getHrdScore() { return hrdScore; } + public HrdScore getHrdScore() { return hrdScore; } @JsonProperty("hrdScore") - public void setHrdScore(HRDScore value) { this.hrdScore = value; } + public void setHrdScore(HrdScore value) { this.hrdScore = value; } @JsonProperty("rnaFusions") - public List getRnaFusions() { return rnaFusions; } + public List getRnaFusions() { return rnaFusions; } @JsonProperty("rnaFusions") - public void setRnaFusions(List value) { this.rnaFusions = value; } + public void setRnaFusions(List value) { this.rnaFusions = value; } @JsonProperty("rnaSeqs") - public List getRnaSeqs() { return rnaSeqs; } + public List getRnaSeqs() { return rnaSeqs; } @JsonProperty("rnaSeqs") - public void setRnaSeqs(List value) { this.rnaSeqs = value; } + public void setRnaSeqs(List value) { this.rnaSeqs = value; } @JsonProperty("simpleVariants") public List getSimpleVariants() { return simpleVariants; } 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/NoSequencingPerformedReasonCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/NoSequencingPerformedReasonCode.java new file mode 100644 index 0000000..15f3915 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/NoSequencingPerformedReasonCode.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum NoSequencingPerformedReasonCode { + NON_GENETIC_CAUSE, NOT_RARE_DISEASE, 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 OTHER: return "other"; + case PSYCHOSOMATIC: return "psychosomatic"; + case TARGETED_DIAGNOSTICS_RECOMMENDED: return "targeted-diagnostics-recommended"; + } + return null; + } + + @JsonCreator + public static NoSequencingPerformedReasonCode 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("other")) return OTHER; + if (value.equals("psychosomatic")) return PSYCHOSOMATIC; + if (value.equals("targeted-diagnostics-recommended")) return TARGETED_DIAGNOSTICS_RECOMMENDED; + throw new IOException("Cannot deserialize NoSequencingPerformedReasonCode"); + } +} 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..1c0eeac --- /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 OncoProcedureCoding code; + private String id; + private MtbTherapyIntentCoding intent; + private List notes; + private Reference patient; + private PeriodDate period; + private Reference reason; + private Date recordedOn; + private TherapyStatusCoding status; + private MtbTherapyStatusReasonCoding statusReason; + private Long therapyLine; + + @JsonProperty("basedOn") + public Reference getBasedOn() { return basedOn; } + @JsonProperty("basedOn") + public void setBasedOn(Reference value) { this.basedOn = value; } + + @JsonProperty("code") + public OncoProcedureCoding getCode() { return code; } + @JsonProperty("code") + public void setCode(OncoProcedureCoding value) { this.code = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("intent") + public MtbTherapyIntentCoding getIntent() { return intent; } + @JsonProperty("intent") + public void setIntent(MtbTherapyIntentCoding 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 TherapyStatusCoding getStatus() { return status; } + @JsonProperty("status") + public void setStatus(TherapyStatusCoding value) { this.status = value; } + + @JsonProperty("statusReason") + public MtbTherapyStatusReasonCoding getStatusReason() { return statusReason; } + @JsonProperty("statusReason") + public void setStatusReason(MtbTherapyStatusReasonCoding 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/OncoProcedureCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProcedureCoding.java new file mode 100644 index 0000000..aca7471 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProcedureCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class OncoProcedureCoding { + private OncoProcedureCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public OncoProcedureCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(OncoProcedureCodingCode 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/OncoProcedureCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProcedureCodingCode.java new file mode 100644 index 0000000..81d781f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/OncoProcedureCodingCode.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum OncoProcedureCodingCode { + 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 OncoProcedureCodingCode 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 OncoProcedureCodingCode"); + } +} 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..8532ab8 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 GenderCoding gender; + private HealthInsurance healthInsurance; private String id; - private PatientType type; + private Coding managingSite; + private VitalStatusCoding 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 GenderCoding getGender() { return gender; } + @JsonProperty("gender") + public void setGender(GenderCoding 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 VitalStatusCoding getVitalStatus() { return vitalStatus; } + @JsonProperty("vitalStatus") + public void setVitalStatus(VitalStatusCoding value) { this.vitalStatus = value; } } 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..921dc19 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/PerformanceStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/PerformanceStatus.java @@ -6,8 +6,8 @@ import java.util.Date; public class PerformanceStatus { private Date effectiveDate; private String id; - private Patient patient; - private CodingEcog value; + private Reference patient; + private EcogCoding value; @JsonProperty("effectiveDate") @JsonFormat(pattern = "yyyy-MM-dd") @@ -22,12 +22,12 @@ 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; } + public EcogCoding getValue() { return value; } @JsonProperty("value") - public void setValue(CodingEcog value) { this.value = value; } + public void setValue(EcogCoding value) { this.value = 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..88e34a1 --- /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 MolecularDiagnosticReportCoding 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 MolecularDiagnosticReportCoding getType() { return type; } + @JsonProperty("type") + public void setType(MolecularDiagnosticReportCoding value) { this.type = value; } +} 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..255648a --- /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 MtbProcedureRecommendationCategoryCoding code; + private String id; + private Date issuedOn; + private LevelOfEvidence levelOfEvidence; + private Reference patient; + private RecommendationPriorityCoding priority; + private Reference reason; + private List supportingVariants; + + @JsonProperty("code") + public MtbProcedureRecommendationCategoryCoding getCode() { return code; } + @JsonProperty("code") + public void setCode(MtbProcedureRecommendationCategoryCoding 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 RecommendationPriorityCoding getPriority() { return priority; } + @JsonProperty("priority") + public void setPriority(RecommendationPriorityCoding 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 66% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResult.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpression.java index e004417..092251c 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResult.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpression.java @@ -2,19 +2,19 @@ package dev.pcvolkmer.mv64e.mtb; import com.fasterxml.jackson.annotation.*; -public class ProteinExpressionResult { - private CodingProteinExpressionIcScore icScore; +public class ProteinExpression { + private ProteinExpressionIcScoreCoding icScore; private String id; private Reference patient; private Coding protein; - private CodingProteinExpressionTcScore tcScore; + private ProteinExpressionTcScoreCoding tcScore; private Long tpsScore; - private CodingProteinExpressionResult value; + private ProteinExpressionResultCoding value; @JsonProperty("icScore") - public CodingProteinExpressionIcScore getIcScore() { return icScore; } + public ProteinExpressionIcScoreCoding getIcScore() { return icScore; } @JsonProperty("icScore") - public void setIcScore(CodingProteinExpressionIcScore value) { this.icScore = value; } + public void setIcScore(ProteinExpressionIcScoreCoding value) { this.icScore = value; } @JsonProperty("id") public String getId() { return id; } @@ -32,9 +32,9 @@ public class ProteinExpressionResult { public void setProtein(Coding value) { this.protein = value; } @JsonProperty("tcScore") - public CodingProteinExpressionTcScore getTcScore() { return tcScore; } + public ProteinExpressionTcScoreCoding getTcScore() { return tcScore; } @JsonProperty("tcScore") - public void setTcScore(CodingProteinExpressionTcScore value) { this.tcScore = value; } + public void setTcScore(ProteinExpressionTcScoreCoding value) { this.tcScore = value; } @JsonProperty("tpsScore") public Long getTpsScore() { return tpsScore; } @@ -42,7 +42,7 @@ public class ProteinExpressionResult { public void setTpsScore(Long value) { this.tpsScore = value; } @JsonProperty("value") - public CodingProteinExpressionResult getValue() { return value; } + public ProteinExpressionResultCoding getValue() { return value; } @JsonProperty("value") - public void setValue(CodingProteinExpressionResult value) { this.value = value; } + public void setValue(ProteinExpressionResultCoding value) { this.value = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionIcScoreCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionIcScoreCoding.java new file mode 100644 index 0000000..7d01df1 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionIcScoreCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class ProteinExpressionIcScoreCoding { + private ProteinExpressionIcScoreCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public ProteinExpressionIcScoreCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(ProteinExpressionIcScoreCodingCode 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/ICScoreCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionIcScoreCodingCode.java similarity index 50% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/ICScoreCode.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionIcScoreCodingCode.java index 0122265..3a08d05 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/ICScoreCode.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionIcScoreCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum ICScoreCode { +public enum ProteinExpressionIcScoreCodingCode { CODE_0, CODE_1, CODE_2, CODE_3; @JsonValue @@ -18,17 +18,11 @@ public enum ICScoreCode { } @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; - } - throw new IOException("Cannot deserialize ICScoreCode"); + public static ProteinExpressionIcScoreCodingCode forValue(String value) throws IOException { + if (value.equals("0")) return CODE_0; + if (value.equals("1")) return CODE_1; + if (value.equals("2")) return CODE_2; + if (value.equals("3")) return CODE_3; + throw new IOException("Cannot deserialize ProteinExpressionIcScoreCodingCode"); } } 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/ProteinExpressionResultCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResultCoding.java new file mode 100644 index 0000000..31fd787 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResultCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class ProteinExpressionResultCoding { + private ProteinExpressionResultCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public ProteinExpressionResultCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(ProteinExpressionResultCodingCode 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/ProteinExpressionResultCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResultCodingCode.java new file mode 100644 index 0000000..06478dd --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionResultCodingCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ProteinExpressionResultCodingCode { + EXP, NOT_EXP, CODE_1PLUS, CODE_2PLUS, CODE_3PLUS, UNKNOWN; + + @JsonValue + public String toValue() { + switch (this) { + case EXP: return "exp"; + case NOT_EXP: return "not-exp"; + case CODE_1PLUS: return "1+"; + case CODE_2PLUS: return "2+"; + case CODE_3PLUS: return "3+"; + case UNKNOWN: return "unknown"; + } + return null; + } + + @JsonCreator + public static ProteinExpressionResultCodingCode forValue(String value) throws IOException { + if (value.equals("exp")) return EXP; + if (value.equals("not-exp")) return NOT_EXP; + if (value.equals("1+")) return CODE_1PLUS; + if (value.equals("2+")) return CODE_2PLUS; + if (value.equals("3+")) return CODE_3PLUS; + if (value.equals("unknown")) return UNKNOWN; + throw new IOException("Cannot deserialize ProteinExpressionResultCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionTcScoreCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionTcScoreCoding.java new file mode 100644 index 0000000..54c110c --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionTcScoreCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class ProteinExpressionTcScoreCoding { + private ProteinExpressionTcScoreCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public ProteinExpressionTcScoreCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(ProteinExpressionTcScoreCodingCode 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/ProteinExpressionTcScoreCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionTcScoreCodingCode.java new file mode 100644 index 0000000..f0740f4 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ProteinExpressionTcScoreCodingCode.java @@ -0,0 +1,34 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ProteinExpressionTcScoreCodingCode { + CODE_0, CODE_1, CODE_2, CODE_3, CODE_4, CODE_5, CODE_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"; + } + return null; + } + + @JsonCreator + public static ProteinExpressionTcScoreCodingCode forValue(String value) throws IOException { + if (value.equals("0")) return CODE_0; + if (value.equals("1")) return CODE_1; + if (value.equals("2")) return CODE_2; + if (value.equals("3")) return CODE_3; + if (value.equals("4")) return CODE_4; + if (value.equals("5")) return CODE_5; + if (value.equals("6")) return CODE_6; + throw new IOException("Cannot deserialize ProteinExpressionTcScoreCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Provision.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Provision.java new file mode 100644 index 0000000..f5c9c26 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Provision.java @@ -0,0 +1,27 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.Date; + +public class Provision { + private Date date; + private ModelProjectConsentPurpose purpose; + private ConsentProvision type; + + @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("purpose") + public ModelProjectConsentPurpose getPurpose() { return purpose; } + @JsonProperty("purpose") + public void setPurpose(ModelProjectConsentPurpose value) { this.purpose = value; } + + @JsonProperty("type") + public ConsentProvision getType() { return type; } + @JsonProperty("type") + public void setType(ConsentProvision value) { this.type = value; } +} 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..34bb2aa --- /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 { + PUBMED_NCBI_NLM_NIH_GOV, DOI_ORG; + + @JsonValue + public String toValue() { + switch (this) { + case PUBMED_NCBI_NLM_NIH_GOV: return "https://pubmed.ncbi.nlm.nih.gov"; + case 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 PUBMED_NCBI_NLM_NIH_GOV; + if (value.equals("https://www.doi.org")) return DOI_ORG; + throw new IOException("Cannot deserialize PublicationSystem"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RNASeq.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RNASeq.java deleted file mode 100644 index 5757db3..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/RNASeq.java +++ /dev/null @@ -1,72 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class RNASeq { - private Long cohortRanking; - private String ensemblId; - private String entrezId; - private double fragmentsPerKilobaseMillion; - private boolean fromNgs; - private CodingGene gene; - private String id; - private long librarySize; - private long rawCounts; - private boolean tissueCorrectedExpression; - private String transcriptId; - - @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("gene") - public CodingGene getGene() { return gene; } - @JsonProperty("gene") - public void setGene(CodingGene value) { this.gene = value; } - - @JsonProperty("id") - public String getId() { return id; } - @JsonProperty("id") - public void setId(String value) { this.id = value; } - - @JsonProperty("librarySize") - public long getLibrarySize() { return librarySize; } - @JsonProperty("librarySize") - public void setLibrarySize(long value) { this.librarySize = value; } - - @JsonProperty("rawCounts") - public long getRawCounts() { return rawCounts; } - @JsonProperty("rawCounts") - public void setRawCounts(long value) { this.rawCounts = value; } - - @JsonProperty("tissueCorrectedExpression") - public boolean getTissueCorrectedExpression() { return tissueCorrectedExpression; } - @JsonProperty("tissueCorrectedExpression") - public void setTissueCorrectedExpression(boolean value) { this.tissueCorrectedExpression = value; } - - @JsonProperty("transcriptId") - public String getTranscriptId() { return transcriptId; } - @JsonProperty("transcriptId") - public void setTranscriptId(String value) { this.transcriptId = value; } -} 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/RecistCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecistCoding.java new file mode 100644 index 0000000..7ba1a8a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecistCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class RecistCoding { + private RecistCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public RecistCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(RecistCodingCode 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/RecistCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecistCodingCode.java new file mode 100644 index 0000000..9df7135 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecistCodingCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum RecistCodingCode { + 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 RecistCodingCode 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 RecistCodingCode"); + } +} 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/RecommendationPriorityCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecommendationPriorityCoding.java new file mode 100644 index 0000000..0df4de6 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecommendationPriorityCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class RecommendationPriorityCoding { + private RecommendationPriorityCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public RecommendationPriorityCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(RecommendationPriorityCodingCode 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/RecommendationPriorityCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecommendationPriorityCodingCode.java new file mode 100644 index 0000000..dccf9ab --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RecommendationPriorityCodingCode.java @@ -0,0 +1,28 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum RecommendationPriorityCodingCode { + CODE_1, CODE_2, CODE_3, CODE_4; + + @JsonValue + public String toValue() { + switch (this) { + 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 RecommendationPriorityCodingCode forValue(String value) throws IOException { + if (value.equals("1")) return CODE_1; + if (value.equals("2")) return CODE_2; + if (value.equals("3")) return CODE_3; + if (value.equals("4")) return CODE_4; + throw new IOException("Cannot deserialize RecommendationPriorityCodingCode"); + } +} 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..d62d678 --- /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 { + FHIR_DE_CODE_SYSTEM_BFARM_ATC, UNDEFINED; + + @JsonValue + public String toValue() { + switch (this) { + case 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 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..d03077a 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Response.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/Response.java @@ -6,9 +6,10 @@ import java.util.Date; public class Response { private Date effectiveDate; private String id; - private Patient patient; - private ResponseTherapy therapy; - private CodingRecist value; + private ResponseMethodCoding method; + private Reference patient; + private Reference therapy; + private RecistCoding value; @JsonProperty("effectiveDate") @JsonFormat(pattern = "yyyy-MM-dd") @@ -22,18 +23,23 @@ public class Response { @JsonProperty("id") public void setId(String value) { this.id = value; } + @JsonProperty("method") + public ResponseMethodCoding getMethod() { return method; } + @JsonProperty("method") + public void setMethod(ResponseMethodCoding 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; } + public RecistCoding getValue() { return value; } @JsonProperty("value") - public void setValue(CodingRecist value) { this.value = value; } + public void setValue(RecistCoding value) { this.value = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseMethodCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseMethodCoding.java new file mode 100644 index 0000000..04f7e98 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseMethodCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class ResponseMethodCoding { + private ResponseMethodCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public ResponseMethodCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(ResponseMethodCodingCode 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/ResponseMethodCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseMethodCodingCode.java new file mode 100644 index 0000000..08707b0 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ResponseMethodCodingCode.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ResponseMethodCodingCode { + RANO, RECIST; + + @JsonValue + public String toValue() { + switch (this) { + case RANO: return "RANO"; + case RECIST: return "RECIST"; + } + return null; + } + + @JsonCreator + public static ResponseMethodCodingCode forValue(String value) throws IOException { + if (value.equals("RANO")) return RANO; + if (value.equals("RECIST")) return RECIST; + throw new IOException("Cannot deserialize ResponseMethodCodingCode"); + } +} 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/RNAFusion.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusion.java similarity index 61% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/RNAFusion.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusion.java index 7152835..f2f097f 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; +public class RnaFusion { 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/RnaFusionFusionPartner3Prime.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionFusionPartner3Prime.java index 4160c4e..947b9f2 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 RnaFusionStrand strand; + 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; } @@ -25,12 +25,12 @@ public class RnaFusionFusionPartner3Prime { public void setPosition(double value) { this.position = value; } @JsonProperty("strand") - public RNAFusionStrand getStrand() { return strand; } + public RnaFusionStrand getStrand() { return strand; } @JsonProperty("strand") - public void setStrand(RNAFusionStrand value) { this.strand = value; } + 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..7a76c87 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 RnaFusionStrand strand; + 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; } @@ -25,12 +25,12 @@ public class RnaFusionFusionPartner5Prime { public void setPosition(double value) { this.position = value; } @JsonProperty("strand") - public RNAFusionStrand getStrand() { return strand; } + public RnaFusionStrand getStrand() { return strand; } @JsonProperty("strand") - public void setStrand(RNAFusionStrand value) { this.strand = value; } + 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/RNAFusionStrand.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionStrand.java similarity index 75% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/RNAFusionStrand.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionStrand.java index 8de16d9..e749cd0 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/RNAFusionStrand.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaFusionStrand.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum RNAFusionStrand { +public enum RnaFusionStrand { EMPTY, RNA_FUSION_STRAND; @JsonValue @@ -16,9 +16,9 @@ public enum RNAFusionStrand { } @JsonCreator - public static RNAFusionStrand forValue(String value) throws IOException { + public static RnaFusionStrand forValue(String value) throws IOException { if (value.equals("+")) return EMPTY; if (value.equals("-")) return RNA_FUSION_STRAND; - throw new IOException("Cannot deserialize RNAFusionStrand"); + throw new IOException("Cannot deserialize RnaFusionStrand"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaSeq.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaSeq.java new file mode 100644 index 0000000..ab7b6a8 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/RnaSeq.java @@ -0,0 +1,79 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; +import java.util.List; + +public class RnaSeq { + private Long cohortRanking; + private List externalIds; + private Coding gene; + private String id; + private Long librarySize; + private List localization; + private Reference patient; + private long rawCounts; + 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("externalIds") + public List getExternalIds() { return externalIds; } + @JsonProperty("externalIds") + public void setExternalIds(List value) { this.externalIds = value; } + + @JsonProperty("gene") + public Coding getGene() { return gene; } + @JsonProperty("gene") + public void setGene(Coding value) { this.gene = value; } + + @JsonProperty("id") + public String getId() { return id; } + @JsonProperty("id") + public void setId(String value) { this.id = value; } + + @JsonProperty("librarySize") + public Long getLibrarySize() { return librarySize; } + @JsonProperty("librarySize") + 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; } + @JsonProperty("rawCounts") + public void setRawCounts(long value) { this.rawCounts = value; } + + @JsonProperty("tissueCorrectedExpression") + public Boolean getTissueCorrectedExpression() { return tissueCorrectedExpression; } + @JsonProperty("tissueCorrectedExpression") + public void setTissueCorrectedExpression(Boolean value) { this.tissueCorrectedExpression = value; } + + @JsonProperty("transcriptId") + public TranscriptId getTranscriptId() { return transcriptId; } + @JsonProperty("transcriptId") + 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/Snv.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Snv.java index 3811672..a0a7058 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 Coding dnaChange; - private List externalIds; - private CodingGene gene; + private Chromosome chromosome; + private String dnaChange; + private String exonId; + private List externalIds; + private Coding gene; private String id; - private Coding interpretation; - private Patient patient; + private ClinVarCoding interpretation; + private List localization; + private Reference patient; private Position position; - private Coding proteinChange; + private String 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; } + public String getDnaChange() { return dnaChange; } @JsonProperty("dnaChange") - public void setDnaChange(Coding value) { this.dnaChange = value; } + public void setDnaChange(String 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 ClinVarCoding getInterpretation() { return interpretation; } @JsonProperty("interpretation") - public void setInterpretation(Coding value) { this.interpretation = value; } + public void setInterpretation(ClinVarCoding 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; } @@ -88,9 +82,9 @@ public class Snv { public void setPosition(Position value) { this.position = value; } @JsonProperty("proteinChange") - public Coding getProteinChange() { return proteinChange; } + public String getProteinChange() { return proteinChange; } @JsonProperty("proteinChange") - public void setProteinChange(Coding value) { this.proteinChange = value; } + public void setProteinChange(String value) { this.proteinChange = value; } @JsonProperty("readDepth") public long getReadDepth() { return readDepth; } @@ -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 index ad6e57f..7c6156a 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReport.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/SomaticNgsReport.java @@ -7,12 +7,11 @@ import java.util.List; public class SomaticNgsReport { private String id; private Date issuedOn; - private List metadata; - private Double msi; - private Patient patient; + private List metadata; + private Reference patient; private NgsReportResults results; - private Coding sequencingType; - private NgsReportSpecimen specimen; + private Reference specimen; + private NgsReportCoding type; @JsonProperty("id") public String getId() { return id; } @@ -20,37 +19,34 @@ public class SomaticNgsReport { 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; } + 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; } + public void setMetadata(List value) { this.metadata = 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 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 Reference getSpecimen() { return specimen; } + @JsonProperty("specimen") + public void setSpecimen(Reference value) { this.specimen = value; } - @JsonProperty("specimen") - public NgsReportSpecimen getSpecimen() { return specimen; } - @JsonProperty("specimen") - public void setSpecimen(NgsReportSpecimen value) { this.specimen = value; } + @JsonProperty("type") + public NgsReportCoding getType() { return type; } + @JsonProperty("type") + public void setType(NgsReportCoding 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 deleted file mode 100644 index bd06407..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/StageCode.java +++ /dev/null @@ -1,34 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import java.io.IOException; -import com.fasterxml.jackson.annotation.*; - -public enum StageCode { - LOCAL, METASTASIZED, TUMOR_FREE, UNKNOWN; - - @JsonValue - public String toValue() { - switch (this) { - case LOCAL: return "local"; - case METASTASIZED: return "metastasized"; - case TUMOR_FREE: return "tumor-free"; - case UNKNOWN: return "unknown"; - } - return null; - } - - @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; - } - 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/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..6098479 --- /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..3abd517 --- /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/TcScoreCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TcScoreCode.java deleted file mode 100644 index 9024092..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TcScoreCode.java +++ /dev/null @@ -1,43 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -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; - - @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"; - } - 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; - } - 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/TherapyStatusCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatusCoding.java new file mode 100644 index 0000000..7c6fc48 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatusCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TherapyStatusCoding { + private TherapyStatusCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public TherapyStatusCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(TherapyStatusCodingCode 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/TherapyStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatusCodingCode.java similarity index 50% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatus.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatusCodingCode.java index 9379f04..8d3c5ee 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatus.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TherapyStatusCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum TherapyStatus { +public enum TherapyStatusCodingCode { 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 TherapyStatusCodingCode 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 TherapyStatusCodingCode"); } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/Tmb.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/Tmb.java index 507bc64..83bf7d8 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 TmbInterpretationCoding 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 TmbInterpretationCoding getInterpretation() { return interpretation; } @JsonProperty("interpretation") - public void setInterpretation(Coding value) { this.interpretation = value; } + public void setInterpretation(TmbInterpretationCoding 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/TmbInterpretationCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TmbInterpretationCoding.java new file mode 100644 index 0000000..a61f27f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TmbInterpretationCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TmbInterpretationCoding { + private InterpretationCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public InterpretationCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(InterpretationCodingCode 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/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..f2b0a54 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/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/Study.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptId.java similarity index 61% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/Study.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/TranscriptId.java index 791abe2..f447b9a 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/Study.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 Study { - 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..24ef392 --- /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 { + ENSEMBL_ORG, NCBI_NLM_NIH_GOV_REFSEQ; + + @JsonValue + public String toValue() { + switch (this) { + case ENSEMBL_ORG: return "https://www.ensembl.org"; + case 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 ENSEMBL_ORG; + if (value.equals("https://www.ncbi.nlm.nih.gov/refseq")) return 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..9013408 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContent.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContent.java @@ -4,9 +4,9 @@ import com.fasterxml.jackson.annotation.*; public class TumorCellContent { private String id; - private CodingTumorCellContentMethod method; - private Patient patient; - private TumorCellContentSpecimen specimen; + private TumorCellContentMethodCoding method; + private Reference patient; + private Reference specimen; private double value; @JsonProperty("id") @@ -15,19 +15,19 @@ public class TumorCellContent { public void setId(String value) { this.id = value; } @JsonProperty("method") - public CodingTumorCellContentMethod getMethod() { return method; } + public TumorCellContentMethodCoding getMethod() { return method; } @JsonProperty("method") - public void setMethod(CodingTumorCellContentMethod value) { this.method = value; } + public void setMethod(TumorCellContentMethodCoding 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/TumorCellContentMethodCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethodCoding.java new file mode 100644 index 0000000..18858ba --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethodCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TumorCellContentMethodCoding { + private TumorCellContentMethodCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public TumorCellContentMethodCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(TumorCellContentMethodCodingCode 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/TumorCellContentMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethodCodingCode.java similarity index 77% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethod.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethodCodingCode.java index f3f2a06..7d3e963 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethod.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorCellContentMethodCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum TumorCellContentMethod { +public enum TumorCellContentMethodCodingCode { BIOINFORMATIC, HISTOLOGIC; @JsonValue @@ -16,9 +16,9 @@ public enum TumorCellContentMethod { } @JsonCreator - public static TumorCellContentMethod forValue(String value) throws IOException { + public static TumorCellContentMethodCodingCode 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 TumorCellContentMethodCodingCode"); } } 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..3e5ec8c 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphology.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorMorphology.java @@ -4,9 +4,9 @@ import com.fasterxml.jackson.annotation.*; public class TumorMorphology { private String id; - private String notes; - private Patient patient; - private TumorMorphologySpecimen specimen; + private String note; + private Reference patient; + private Reference specimen; private Coding value; @JsonProperty("id") @@ -14,20 +14,20 @@ public class TumorMorphology { @JsonProperty("id") public void setId(String value) { this.id = value; } - @JsonProperty("notes") - public String getNotes() { return notes; } - @JsonProperty("notes") - public void setNotes(String value) { this.notes = value; } + @JsonProperty("note") + public String getNote() { return note; } + @JsonProperty("note") + public void setNote(String value) { this.note = 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..097c26e 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 TumorSpecimenCoding 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 TumorSpecimenCoding getType() { return type; } @JsonProperty("type") - public void setType(CodingTumorSpecimenType value) { this.type = value; } + public void setType(TumorSpecimenCoding value) { this.type = value; } } diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCoding.java new file mode 100644 index 0000000..40db539 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TumorSpecimenCoding { + private TumorSpecimenCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public TumorSpecimenCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(TumorSpecimenCodingCode 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/TumorSpecimenCodingCode.java similarity index 50% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenType.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCodingCode.java index 9c9b448..f8ff478 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenType.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum TumorSpecimenType { +public enum TumorSpecimenCodingCode { 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 TumorSpecimenCodingCode 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 TumorSpecimenCodingCode"); } } 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/TumorSpecimenCollectionLocalizationCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionLocalizationCoding.java new file mode 100644 index 0000000..e7827f9 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionLocalizationCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TumorSpecimenCollectionLocalizationCoding { + private TumorSpecimenCollectionLocalizationCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public TumorSpecimenCollectionLocalizationCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(TumorSpecimenCollectionLocalizationCodingCode 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/TumorSpecimenCollectionLocalizationCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionLocalizationCodingCode.java new file mode 100644 index 0000000..c35658f --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionLocalizationCodingCode.java @@ -0,0 +1,32 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum TumorSpecimenCollectionLocalizationCodingCode { + 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 TumorSpecimenCollectionLocalizationCodingCode 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 TumorSpecimenCollectionLocalizationCodingCode"); + } +} diff --git a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethodCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethodCoding.java new file mode 100644 index 0000000..99c9515 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethodCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TumorSpecimenCollectionMethodCoding { + private TumorSpecimenCollectionMethodCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public TumorSpecimenCollectionMethodCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(TumorSpecimenCollectionMethodCodingCode 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/TumorSpecimenCollectionMethod.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethodCodingCode.java similarity index 54% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethod.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethodCodingCode.java index 36ec4c9..e514d62 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethod.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorSpecimenCollectionMethodCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum TumorSpecimenCollectionMethod { +public enum TumorSpecimenCollectionMethodCodingCode { BIOPSY, CYTOLOGY, LIQUID_BIOPSY, RESECTION, UNKNOWN; @JsonValue @@ -19,19 +19,12 @@ public enum TumorSpecimenCollectionMethod { } @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"); + public static TumorSpecimenCollectionMethodCodingCode 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 TumorSpecimenCollectionMethodCodingCode"); } } 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..d22f7f8 --- /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 TumorStagingMethodCoding 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 TumorStagingMethodCoding getMethod() { return method; } + @JsonProperty("method") + public void setMethod(TumorStagingMethodCoding 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/TumorStagingMethodCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorStagingMethodCoding.java new file mode 100644 index 0000000..64507e0 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorStagingMethodCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class TumorStagingMethodCoding { + private TumorStagingMethodCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public TumorStagingMethodCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(TumorStagingMethodCodingCode 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/TumorStagingMethodCodingCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorStagingMethodCodingCode.java new file mode 100644 index 0000000..0b01f8c --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/TumorStagingMethodCodingCode.java @@ -0,0 +1,24 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum TumorStagingMethodCodingCode { + CLINICAL, PATHOLOGIC; + + @JsonValue + public String toValue() { + switch (this) { + case CLINICAL: return "clinical"; + case PATHOLOGIC: return "pathologic"; + } + return null; + } + + @JsonCreator + public static TumorStagingMethodCodingCode forValue(String value) throws IOException { + if (value.equals("clinical")) return CLINICAL; + if (value.equals("pathologic")) return PATHOLOGIC; + throw new IOException("Cannot deserialize TumorStagingMethodCodingCode"); + } +} 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/ValueCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/ValueCode.java new file mode 100644 index 0000000..847bc49 --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/ValueCode.java @@ -0,0 +1,26 @@ +package dev.pcvolkmer.mv64e.mtb; + +import java.io.IOException; +import com.fasterxml.jackson.annotation.*; + +public enum ValueCode { + 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 ValueCode 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 ValueCode"); + } +} 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/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatus.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatus.java deleted file mode 100644 index c553e1b..0000000 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatus.java +++ /dev/null @@ -1,24 +0,0 @@ -package dev.pcvolkmer.mv64e.mtb; - -import com.fasterxml.jackson.annotation.*; - -public class VitalStatus { - private VitalStatusCode code; - private String display; - private String system; - - @JsonProperty("code") - public VitalStatusCode getCode() { return code; } - @JsonProperty("code") - public void setCode(VitalStatusCode 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/VitalStatusCoding.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatusCoding.java new file mode 100644 index 0000000..1d9c95a --- /dev/null +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatusCoding.java @@ -0,0 +1,30 @@ +package dev.pcvolkmer.mv64e.mtb; + +import com.fasterxml.jackson.annotation.*; + +public class VitalStatusCoding { + private VitalStatusCodingCode code; + private String display; + private String system; + private String version; + + @JsonProperty("code") + public VitalStatusCodingCode getCode() { return code; } + @JsonProperty("code") + public void setCode(VitalStatusCodingCode 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/VitalStatusCode.java b/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatusCodingCode.java similarity index 79% rename from src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatusCode.java rename to src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatusCodingCode.java index 1bd604f..24a25c1 100644 --- a/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatusCode.java +++ b/src/main/java/dev/pcvolkmer/mv64e/mtb/VitalStatusCodingCode.java @@ -3,7 +3,7 @@ package dev.pcvolkmer.mv64e.mtb; import java.io.IOException; import com.fasterxml.jackson.annotation.*; -public enum VitalStatusCode { +public enum VitalStatusCodingCode { ALIVE, DECEASED; @JsonValue @@ -16,9 +16,9 @@ public enum VitalStatusCode { } @JsonCreator - public static VitalStatusCode forValue(String value) throws IOException { + public static VitalStatusCodingCode forValue(String value) throws IOException { if (value.equals("alive")) return ALIVE; if (value.equals("deceased")) return DECEASED; - throw new IOException("Cannot deserialize VitalStatusCode"); + throw new IOException("Cannot deserialize VitalStatusCodingCode"); } } diff --git a/src/test/resources/mv64e-mtb-fake-patient.json b/src/test/resources/mv64e-mtb-fake-patient.json index 94ec8ad..5895be5 100644 --- a/src/test/resources/mv64e-mtb-fake-patient.json +++ b/src/test/resources/mv64e-mtb-fake-patient.json @@ -1 +1,2606 @@ -{"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": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "gender": { + "code": "male", + "display": "Männlich", + "system": "Gender" + }, + "birthDate": "1993-08-01", + "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": 31, + "unit": "Years" + }, + "vitalStatus": { + "code": "alive", + "display": "Lebend", + "system": "dnpm-dip/patient/vital-status" + } + }, + "episodesOfCare": [ + { + "id": "dc4d1b2c-7468-4a4a-8fbd-1b0bb645c082", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "period": { + "start": "2024-11-30" + }, + "diagnoses": [ + { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "type": "MTBDiagnosis" + } + ] + } + ], + "diagnoses": [ + { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "recordedOn": "2022-09-01", + "type": { + "history": [ + { + "value": { + "code": "main", + "display": "Hauptdiagnose", + "system": "dnpm-dip/mtb/diagnosis/type" + }, + "date": "2022-09-01" + } + ] + }, + "code": { + "code": "C57.0", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm", + "version": "2025" + }, + "topography": { + "code": "C57.0", + "display": "Eileiter", + "system": "urn:oid:2.16.840.1.113883.6.43.1", + "version": "Zweite Revision" + }, + "grading": { + "history": [ + { + "date": "2022-09-01", + "codes": [ + { + "code": "4", + "display": "4 = undifferenziert", + "system": "https://www.basisdatensatz.de/feld/161/grading" + }, + { + "code": "1", + "display": "Pilocytic astrocytoma", + "system": "dnpm-dip/mtb/who-grading-cns-tumors", + "version": "2021" + } + ] + } + ] + }, + "staging": { + "history": [ + { + "date": "2022-09-01", + "method": { + "code": "clinical", + "display": "Klinisch", + "system": "dnpm-dip/mtb/tumor-staging/method" + }, + "tnmClassification": { + "tumor": { + "code": "T1", + "system": "UICC" + }, + "nodes": { + "code": "N3", + "system": "UICC" + }, + "metastasis": { + "code": "M0", + "system": "UICC" + } + }, + "otherClassifications": [ + { + "code": "local", + "display": "Lokal", + "system": "dnpm-dip/mtb/diagnosis/kds-tumor-spread" + } + ] + } + ] + }, + "guidelineTreatmentStatus": { + "code": "no-guidelines-available", + "display": "Keine Leitlinien vorhanden", + "system": "dnpm-dip/mtb/diagnosis/guideline-treatment-status" + }, + "notes": [ + "Notes on the tumor diagnosis..." + ] + } + ], + "guidelineTherapies": [ + { + "id": "b63bcd3e-1bbb-425d-bd4f-03820036e249", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "therapyLine": 8, + "intent": { + "code": "X", + "display": "Keine Angabe", + "system": "dnpm-dip/therapy/intent" + }, + "category": { + "code": "S", + "display": "Sonstiges", + "system": "dnpm-dip/therapy/category" + }, + "recordedOn": "2025-05-30", + "status": { + "code": "stopped", + "display": "Abgebrochen", + "system": "dnpm-dip/therapy/status" + }, + "statusReason": { + "code": "progression", + "display": "Progression", + "system": "dnpm-dip/therapy/status-reason" + }, + "period": { + "start": "2024-05-30", + "end": "2024-08-22" + }, + "medication": [ + { + "code": "L01XX57", + "display": "Plitidepsin", + "system": "http://fhir.de/CodeSystem/bfarm/atc", + "version": "2025" + } + ], + "notes": [ + "Notes on the therapy..." + ] + }, + { + "id": "d7de61c1-a5cc-429b-9c6f-e47765828f90", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "therapyLine": 5, + "intent": { + "code": "P", + "display": "Palliativ", + "system": "dnpm-dip/therapy/intent" + }, + "category": { + "code": "S", + "display": "Sonstiges", + "system": "dnpm-dip/therapy/category" + }, + "recordedOn": "2025-05-30", + "status": { + "code": "stopped", + "display": "Abgebrochen", + "system": "dnpm-dip/therapy/status" + }, + "statusReason": { + "code": "progression", + "display": "Progression", + "system": "dnpm-dip/therapy/status-reason" + }, + "period": { + "start": "2024-02-29", + "end": "2024-10-03" + }, + "medication": [ + { + "code": "L01XX29", + "display": "Denileukindiftitox", + "system": "http://fhir.de/CodeSystem/bfarm/atc", + "version": "2025" + } + ], + "notes": [ + "Notes on the therapy..." + ] + } + ], + "guidelineProcedures": [ + { + "id": "960c989f-12f0-4592-96a8-fcb55938cd38", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "therapyLine": 3, + "intent": { + "code": "X", + "display": "Keine Angabe", + "system": "dnpm-dip/therapy/intent" + }, + "code": { + "code": "surgery", + "display": "OP", + "system": "dnpm-dip/mtb/procedure/type" + }, + "status": { + "code": "on-going", + "display": "Laufend", + "system": "dnpm-dip/therapy/status" + }, + "statusReason": { + "code": "payment-pending", + "display": "Kostenübernahme noch ausstehend", + "system": "dnpm-dip/therapy/status-reason" + }, + "recordedOn": "2025-05-30", + "period": { + "start": "2024-11-30" + }, + "notes": [ + "Notes on the therapeutic procedure..." + ] + } + ], + "performanceStatus": [ + { + "id": "2d5108a3-600c-4153-8600-0427ad00d8a9", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "effectiveDate": "2025-05-30", + "value": { + "code": "5", + "display": "ECOG 5", + "system": "ECOG-Performance-Status" + } + } + ], + "specimens": [ + { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "diagnosis": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "type": "MTBDiagnosis" + }, + "type": { + "code": "unknown", + "display": "Unbekannt", + "system": "dnpm-dip/mtb/tumor-specimen/type" + }, + "collection": { + "date": "2025-05-30", + "method": { + "code": "unknown", + "display": "Unbekannt", + "system": "dnpm-dip/mtb/tumor-specimen/collection/method" + }, + "localization": { + "code": "primary-tumor", + "display": "Primärtumor", + "system": "dnpm-dip/mtb/tumor-specimen/collection/localization" + } + } + } + ], + "priorDiagnosticReports": [ + { + "id": "c02f0997-c43f-4da0-819e-d7ae7370d78d", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "performer": { + "id": "xyz", + "display": "Molekular-Pathologie UKx", + "type": "Institute" + }, + "issuedOn": "2025-05-30", + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "type": { + "code": "karyotyping", + "display": "Karyotyping", + "system": "dnpm-dip/mtb/molecular-diagnostics/type" + }, + "results": [ + "Result of diagnostics..." + ] + } + ], + "histologyReports": [ + { + "id": "791de8a5-b766-42d5-9454-12fbfe25ad92", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "issuedOn": "2025-05-30", + "results": { + "tumorMorphology": { + "id": "699db4c1-74a1-4c0f-bc20-275f85abfd20", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "value": { + "code": "8891/0", + "display": "Epitheloides Leiomyom", + "system": "urn:oid:2.16.840.1.113883.6.43.1", + "version": "Zweite Revision" + }, + "note": "Notes..." + }, + "tumorCellContent": { + "id": "5c408779-8f1c-4c44-a3f1-0bee32a0b7f1", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "method": { + "code": "histologic", + "display": "Histologisch", + "system": "dnpm-dip/mtb/tumor-cell-content/method" + }, + "value": 0.022777185931090127 + } + } + } + ], + "ihcReports": [ + { + "id": "d913c59b-7788-4931-a24c-5a71995ee77b", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "issuedOn": "2025-05-30", + "journalId": "7f39e2f3-6b0f-486d-b2d2-a1c8c4ec0493", + "blockIds": [ + "a91d53a8-7949-4233-b710-1f1b456ff8c7" + ], + "results": { + "proteinExpression": [ + { + "id": "60538b11-9da7-4248-a878-00dbfe31cf37", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "protein": { + "code": "HGNC:34", + "display": "ABCA4", + "system": "https://www.genenames.org/" + }, + "value": { + "code": "2+", + "display": "2+", + "system": "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore": 15, + "icScore": { + "code": "3", + "display": ">= 10%", + "system": "dnpm-dip/mtb/ihc/protein-expression/ic-score" + }, + "tcScore": { + "code": "5", + "display": ">= 50%", + "system": "dnpm-dip/mtb/ihc/protein-expression/tc-score" + } + }, + { + "id": "32a8c01c-4bd7-4ae9-8835-6ba747fe1991", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "protein": { + "code": "HGNC:886", + "display": "ATRX", + "system": "https://www.genenames.org/" + }, + "value": { + "code": "not-exp", + "display": "Nicht exprimiert", + "system": "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore": 33, + "icScore": { + "code": "2", + "display": ">= 5%", + "system": "dnpm-dip/mtb/ihc/protein-expression/ic-score" + }, + "tcScore": { + "code": "5", + "display": ">= 50%", + "system": "dnpm-dip/mtb/ihc/protein-expression/tc-score" + } + }, + { + "id": "edd1cb04-8c1a-49f7-bb88-36ee576ade21", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "protein": { + "code": "HGNC:886", + "display": "ATRX", + "system": "https://www.genenames.org/" + }, + "value": { + "code": "3+", + "display": "3+", + "system": "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore": 95, + "icScore": { + "code": "2", + "display": ">= 5%", + "system": "dnpm-dip/mtb/ihc/protein-expression/ic-score" + }, + "tcScore": { + "code": "1", + "display": ">= 1%", + "system": "dnpm-dip/mtb/ihc/protein-expression/tc-score" + } + }, + { + "id": "8e7f8610-2bab-4baa-9567-98a0c71eead4", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "protein": { + "code": "HGNC:33", + "display": "ABCA3", + "system": "https://www.genenames.org/" + }, + "value": { + "code": "not-exp", + "display": "Nicht exprimiert", + "system": "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore": 81, + "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" + } + }, + { + "id": "845b905d-eef9-4a2c-9aff-cde382933968", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "protein": { + "code": "HGNC:1100", + "display": "BRCA1", + "system": "https://www.genenames.org/" + }, + "value": { + "code": "1+", + "display": "1+", + "system": "dnpm-dip/mtb/ihc/protein-expression/result" + }, + "tpsScore": 70, + "icScore": { + "code": "1", + "display": ">= 1%", + "system": "dnpm-dip/mtb/ihc/protein-expression/ic-score" + }, + "tcScore": { + "code": "5", + "display": ">= 50%", + "system": "dnpm-dip/mtb/ihc/protein-expression/tc-score" + } + } + ], + "msiMmr": [] + } + } + ], + "ngsReports": [ + { + "id": "c21b5bdb-47e2-4579-a0d4-7bea8f12a1ae", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "issuedOn": "2025-05-30", + "type": { + "code": "single", + "display": "Single", + "system": "dnpm-dip/ngs/type" + }, + "metadata": [ + { + "kitType": "Kit Type", + "kitManufacturer": "Manufacturer", + "sequencer": "Sequencer", + "referenceGenome": "HG38", + "pipeline": "https://github.com/pipeline-project" + } + ], + "results": { + "tumorCellContent": { + "id": "94927ed9-449d-4b20-b87b-8d30c3262cd8", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "method": { + "code": "bioinformatic", + "display": "Bioinformatisch", + "system": "dnpm-dip/mtb/tumor-cell-content/method" + }, + "value": 0.09638668241172943 + }, + "tmb": { + "id": "b50f37ba-684a-4456-baec-1b852506522e", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "value": { + "value": 111701, + "unit": "Mutations per megabase" + }, + "interpretation": { + "code": "intermediate", + "display": "Mittel", + "system": "dnpm-dip/mtb/ngs/tmb/interpretation" + } + }, + "brcaness": { + "id": "ae6d8152-2ec0-46f3-bc96-a8cdb0354dff", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "value": 0.5, + "confidenceRange": { + "min": 0.4, + "max": 0.6 + } + }, + "hrdScore": { + "id": "09b18803-9465-4cd0-8525-60d7aba52cda", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "value": 0.05766991221140638, + "components": { + "lst": 0.702408484465023, + "loh": 0.9316758294159152, + "tai": 0.27810914785699703 + }, + "interpretation": { + "code": "high", + "display": "Hoch", + "system": "dnpm-dip/mtb/ngs/hrd-score/interpretation" + } + }, + "simpleVariants": [ + { + "id": "d2209570-1391-4035-9365-765e707a7675", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "3ff51b45-bea4-4adf-a652-68e9a8eb9ba0", + "system": "https://www.ncbi.nlm.nih.gov/snp" + }, + { + "value": "d4ef6e0d-70f3-48af-9815-12add7d405fd", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "chromosome": "chr4", + "gene": { + "code": "HGNC:18615", + "display": "BRAFP1", + "system": "https://www.genenames.org/" + }, + "localization": [ + { + "code": "intergenic", + "display": "Intergenic", + "system": "dnpm-dip/variant/localization" + } + ], + "transcriptId": { + "value": "b0819774-a371-4f25-898e-0e60971a3bba", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "3", + "position": { + "start": 561 + }, + "altAllele": "T", + "refAllele": "C", + "dnaChange": "c.561C>T", + "proteinChange": "p.Trp24=/Cys", + "readDepth": 6, + "allelicFrequency": 0.7168882236398768, + "interpretation": { + "code": "3", + "display": "Uncertain significance", + "system": "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, + { + "id": "0d033c43-d69b-44b3-90f6-b816180829b5", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "e91b92ac-b721-4dfe-a5fc-d39ad54537c9", + "system": "https://www.ncbi.nlm.nih.gov/snp" + }, + { + "value": "3cc72402-f627-4bbf-9468-fbb566459d81", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "chromosome": "chr17", + "gene": { + "code": "HGNC:3690", + "display": "FGFR3", + "system": "https://www.genenames.org/" + }, + "localization": [ + { + "code": "splicing-region", + "display": "splicing region", + "system": "dnpm-dip/variant/localization" + } + ], + "transcriptId": { + "value": "6512c902-f492-4951-a614-ff4801d2c308", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "2", + "position": { + "start": 193 + }, + "altAllele": "A", + "refAllele": "G", + "dnaChange": "c.193G>A", + "proteinChange": "p.Trp24=/Cys", + "readDepth": 5, + "allelicFrequency": 0.1081527557463462, + "interpretation": { + "code": "2", + "display": "Likely benign", + "system": "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, + { + "id": "ea5a3264-8d84-4312-ba18-7de0da5a89b5", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "29ecbc7d-32bc-41ec-8654-4dbfb76a2333", + "system": "https://www.ncbi.nlm.nih.gov/snp" + }, + { + "value": "e14e1284-920c-429d-9893-8a027eee414c", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "chromosome": "chr1", + "gene": { + "code": "HGNC:6407", + "display": "KRAS", + "system": "https://www.genenames.org/" + }, + "localization": [ + { + "code": "intergenic", + "display": "Intergenic", + "system": "dnpm-dip/variant/localization" + } + ], + "transcriptId": { + "value": "dd7b0cca-2707-4bf7-a361-37906e36a22c", + "system": "https://www.ensembl.org" + }, + "exonId": "8", + "position": { + "start": 131 + }, + "altAllele": "G", + "refAllele": "T", + "dnaChange": "c.131T>G", + "proteinChange": "p.His4_Gln5insAla", + "readDepth": 24, + "allelicFrequency": 0.7601485607234963, + "interpretation": { + "code": "5", + "display": "Pathogenic", + "system": "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, + { + "id": "5feae8bd-710c-42b6-ba52-e9a33be957b7", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "45515482-873f-46ea-818e-9b2b4dd8d389", + "system": "https://www.ncbi.nlm.nih.gov/snp" + }, + { + "value": "c49c7e81-c34d-445e-804f-d110718752e1", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "chromosome": "chr4", + "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": "90ed01ce-b09b-44db-87e5-f8b083664838", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "2", + "position": { + "start": 445 + }, + "altAllele": "C", + "refAllele": "A", + "dnaChange": "c.445A>C", + "proteinChange": "p.Gly2_Met46del", + "readDepth": 15, + "allelicFrequency": 0.42158645101228087, + "interpretation": { + "code": "4", + "display": "Likely pathogenic", + "system": "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, + { + "id": "7748dd2f-e547-4412-996b-c8116040a5d4", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "5600f37a-7570-4177-8ca9-43f08f297c1b", + "system": "https://www.ncbi.nlm.nih.gov/snp" + }, + { + "value": "1c6569e0-a8e6-477a-956a-c95e04097143", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "chromosome": "chr3", + "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": "e97218d5-8e07-4516-980b-9bc3a944f5ed", + "system": "https://www.ensembl.org" + }, + "exonId": "3", + "position": { + "start": 52 + }, + "altAllele": "A", + "refAllele": "T", + "dnaChange": "c.52T>A", + "proteinChange": "p.(Glu125_Ala132delinsGlyLeuHisArgPheIleValLeu)", + "readDepth": 16, + "allelicFrequency": 0.43914773954080655, + "interpretation": { + "code": "2", + "display": "Likely benign", + "system": "https://www.ncbi.nlm.nih.gov/clinvar" + } + }, + { + "id": "c6e4a8ca-9fd5-46d6-b9c3-4fb92fa3ad7f", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "414cfb9c-1a27-49f4-89a7-20fa9b34d4c1", + "system": "https://www.ncbi.nlm.nih.gov/snp" + }, + { + "value": "029491a2-a2ec-4153-8f58-0a0643b82c7f", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "chromosome": "chr19", + "gene": { + "code": "HGNC:25829", + "display": "ABRAXAS1", + "system": "https://www.genenames.org/" + }, + "localization": [ + { + "code": "regulatory-region", + "display": "Regulatory region", + "system": "dnpm-dip/variant/localization" + } + ], + "transcriptId": { + "value": "12393377-f07e-468b-bb15-a5dd2498cd31", + "system": "https://www.ensembl.org" + }, + "exonId": "10", + "position": { + "start": 77 + }, + "altAllele": "G", + "refAllele": "C", + "dnaChange": "c.77C>G", + "proteinChange": "p.Lys23_Val25del", + "readDepth": 23, + "allelicFrequency": 0.7263541136743669, + "interpretation": { + "code": "1", + "display": "Benign", + "system": "https://www.ncbi.nlm.nih.gov/clinvar" + } + } + ], + "copyNumberVariants": [ + { + "id": "def11b75-84d6-4910-8f0a-e289326fa14c", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "chromosome": "chr17", + "localization": [ + { + "code": "intronic", + "display": "Intronic", + "system": "dnpm-dip/variant/localization" + } + ], + "startRange": { + "start": 49051, + "end": 49093 + }, + "endRange": { + "start": 49114, + "end": 49164 + }, + "totalCopyNumber": 4, + "relativeCopyNumber": 0.951841616210335, + "cnA": 0.4819056712797626, + "cnB": 0.6266734124941649, + "reportedAffectedGenes": [ + { + "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:76", + "display": "ABL1", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:886", + "display": "ATRX", + "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:3942", + "display": "MTOR", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:3236", + "display": "EGFR", + "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:1753", + "display": "CDH13", + "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:25662", + "display": "AAGAB", + "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/" + } + ] + }, + { + "id": "a8702d47-5520-458e-929f-fdd2bc55fe17", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "chromosome": "chr22", + "localization": [ + { + "code": "intergenic", + "display": "Intergenic", + "system": "dnpm-dip/variant/localization" + } + ], + "startRange": { + "start": 48141, + "end": 48183 + }, + "endRange": { + "start": 48711, + "end": 48761 + }, + "totalCopyNumber": 2, + "relativeCopyNumber": 0.5067539649405646, + "cnA": 0.9335404521608939, + "cnB": 0.04708321769922241, + "reportedAffectedGenes": [ + { + "code": "HGNC:3690", + "display": "FGFR3", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:1097", + "display": "BRAF", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:76", + "display": "ABL1", + "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:21298", + "display": "AACS", + "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": "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:11998", + "display": "TP53", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:5173", + "display": "HRAS", + "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:3689", + "display": "FGFR2", + "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:6407", + "display": "KRAS", + "system": "https://www.genenames.org/" + } + ] + }, + { + "id": "e459c5b6-16ab-45ad-be8e-588a466fa42e", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "chromosome": "chr22", + "localization": [ + { + "code": "regulatory-region", + "display": "Regulatory region", + "system": "dnpm-dip/variant/localization" + } + ], + "startRange": { + "start": 10844, + "end": 10886 + }, + "endRange": { + "start": 11502, + "end": 11552 + }, + "totalCopyNumber": 3, + "relativeCopyNumber": 0.18257424389770927, + "cnA": 0.6677514703429981, + "cnB": 0.03993481724373449, + "reportedAffectedGenes": [ + { + "code": "HGNC:33", + "display": "ABCA3", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:886", + "display": "ATRX", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:6407", + "display": "KRAS", + "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:1753", + "display": "CDH13", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:1100", + "display": "BRCA1", + "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:3236", + "display": "EGFR", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:6407", + "display": "KRAS", + "system": "https://www.genenames.org/" + } + ] + }, + { + "id": "6050ca03-a0ae-4da7-87b8-76cac7dffa8d", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "chromosome": "chr22", + "localization": [ + { + "code": "splicing-region", + "display": "splicing region", + "system": "dnpm-dip/variant/localization" + } + ], + "startRange": { + "start": 29573, + "end": 29615 + }, + "endRange": { + "start": 30148, + "end": 30198 + }, + "totalCopyNumber": 5, + "relativeCopyNumber": 0.3733910734264396, + "cnA": 0.4299750761842057, + "cnB": 0.20874476574745604, + "reportedAffectedGenes": [ + { + "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: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:25662", + "display": "AAGAB", + "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/" + }, + { + "code": "HGNC:6407", + "display": "KRAS", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:34", + "display": "ABCA4", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:3942", + "display": "MTOR", + "system": "https://www.genenames.org/" + }, + { + "code": "HGNC:3236", + "display": "EGFR", + "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:1753", + "display": "CDH13", + "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:21597", + "display": "ACAD10", + "system": "https://www.genenames.org/" + } + ] + } + ], + "dnaFusions": [ + { + "id": "1901fef1-f341-49cd-80b3-80af8f6f7bea", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "splicing-region", + "display": "splicing region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr9", + "gene": { + "code": "HGNC:21597", + "display": "ACAD10", + "system": "https://www.genenames.org/" + }, + "position": 968 + }, + "fusionPartner3prime": { + "chromosome": "chrX", + "gene": { + "code": "HGNC:6407", + "display": "KRAS", + "system": "https://www.genenames.org/" + }, + "position": 61 + }, + "reportedNumReads": 7 + }, + { + "id": "12ca0894-8fe6-4243-aed7-d630df490cac", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "splicing-region", + "display": "splicing region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr20", + "gene": { + "code": "HGNC:18615", + "display": "BRAFP1", + "system": "https://www.genenames.org/" + }, + "position": 462 + }, + "fusionPartner3prime": { + "chromosome": "chr3", + "gene": { + "code": "HGNC:3942", + "display": "MTOR", + "system": "https://www.genenames.org/" + }, + "position": 984 + }, + "reportedNumReads": 5 + }, + { + "id": "17335f8f-1ac4-43a7-9fdf-5574d8390bf5", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "intronic", + "display": "Intronic", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr21", + "gene": { + "code": "HGNC:1100", + "display": "BRCA1", + "system": "https://www.genenames.org/" + }, + "position": 930 + }, + "fusionPartner3prime": { + "chromosome": "chr14", + "gene": { + "code": "HGNC:76", + "display": "ABL1", + "system": "https://www.genenames.org/" + }, + "position": 896 + }, + "reportedNumReads": 7 + }, + { + "id": "a6acd3bb-127b-44f6-8331-dc4b2488ed38", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "splicing-region", + "display": "splicing region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr8", + "gene": { + "code": "HGNC:1097", + "display": "BRAF", + "system": "https://www.genenames.org/" + }, + "position": 460 + }, + "fusionPartner3prime": { + "chromosome": "chr19", + "gene": { + "code": "HGNC:3236", + "display": "EGFR", + "system": "https://www.genenames.org/" + }, + "position": 577 + }, + "reportedNumReads": 9 + }, + { + "id": "4705fb0d-d429-47d6-8191-c07d06d16c7a", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "regulatory-region", + "display": "Regulatory region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr19", + "gene": { + "code": "HGNC:25662", + "display": "AAGAB", + "system": "https://www.genenames.org/" + }, + "position": 270 + }, + "fusionPartner3prime": { + "chromosome": "chr5", + "gene": { + "code": "HGNC:21298", + "display": "AACS", + "system": "https://www.genenames.org/" + }, + "position": 124 + }, + "reportedNumReads": 3 + }, + { + "id": "9df78e1b-5126-4e72-9d3b-09ddc0fc4d0c", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "intronic", + "display": "Intronic", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr9", + "gene": { + "code": "HGNC:25829", + "display": "ABRAXAS1", + "system": "https://www.genenames.org/" + }, + "position": 658 + }, + "fusionPartner3prime": { + "chromosome": "chr1", + "gene": { + "code": "HGNC:25829", + "display": "ABRAXAS1", + "system": "https://www.genenames.org/" + }, + "position": 805 + }, + "reportedNumReads": 7 + }, + { + "id": "60c7636c-7207-4dbd-bf1f-35fba21137b5", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "coding-region", + "display": "Coding region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr11", + "gene": { + "code": "HGNC:3689", + "display": "FGFR2", + "system": "https://www.genenames.org/" + }, + "position": 146 + }, + "fusionPartner3prime": { + "chromosome": "chr13", + "gene": { + "code": "HGNC:886", + "display": "ATRX", + "system": "https://www.genenames.org/" + }, + "position": 521 + }, + "reportedNumReads": 5 + }, + { + "id": "ade9cd16-516a-4725-b803-51402b8913b2", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "localization": [ + { + "code": "intergenic", + "display": "Intergenic", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "chromosome": "chr13", + "gene": { + "code": "HGNC:3689", + "display": "FGFR2", + "system": "https://www.genenames.org/" + }, + "position": 555 + }, + "fusionPartner3prime": { + "chromosome": "chrY", + "gene": { + "code": "HGNC:3690", + "display": "FGFR3", + "system": "https://www.genenames.org/" + }, + "position": 510 + }, + "reportedNumReads": 9 + } + ], + "rnaFusions": [ + { + "id": "1da6ea65-074a-4850-b2a5-d6c014ba34ec", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "675d80ec-d50b-44ad-8669-a10323550d5a", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "localization": [ + { + "code": "intergenic", + "display": "Intergenic", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "transcriptId": { + "value": "63338877-2207-459b-9700-15bb3794fef4", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "5", + "gene": { + "code": "HGNC:25829", + "display": "ABRAXAS1", + "system": "https://www.genenames.org/" + }, + "position": 844, + "strand": "-" + }, + "fusionPartner3prime": { + "transcriptId": { + "value": "1f43ad86-86f4-4f7c-bc47-893e8ec15584", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "8", + "gene": { + "code": "HGNC:25662", + "display": "AAGAB", + "system": "https://www.genenames.org/" + }, + "position": 280, + "strand": "-" + }, + "effect": "Effect", + "reportedNumReads": 6 + }, + { + "id": "78aaf57f-5e75-47f5-b2ce-284a45f15df3", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "2ac1b8c8-47ec-4465-86c0-0252c9c77fba", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "localization": [ + { + "code": "coding-region", + "display": "Coding region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "transcriptId": { + "value": "c05b0d75-918a-4cde-8ad3-1e72ed88c04c", + "system": "https://www.ensembl.org" + }, + "exonId": "10", + "gene": { + "code": "HGNC:21298", + "display": "AACS", + "system": "https://www.genenames.org/" + }, + "position": 837, + "strand": "-" + }, + "fusionPartner3prime": { + "transcriptId": { + "value": "4e21b4fc-81fb-4e79-a7a7-cff1c9e428ca", + "system": "https://www.ensembl.org" + }, + "exonId": "11", + "gene": { + "code": "HGNC:3689", + "display": "FGFR2", + "system": "https://www.genenames.org/" + }, + "position": 167, + "strand": "-" + }, + "effect": "Effect", + "reportedNumReads": 3 + }, + { + "id": "85ae18ea-3c4b-4990-a983-4d8cdfbc9987", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "3eaec2c4-3a36-466c-9462-46bfd9238c27", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "localization": [ + { + "code": "splicing-region", + "display": "splicing region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "transcriptId": { + "value": "6b4b1249-f90d-4971-85d7-444d39e220eb", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "2", + "gene": { + "code": "HGNC:6973", + "display": "MDM2", + "system": "https://www.genenames.org/" + }, + "position": 252, + "strand": "-" + }, + "fusionPartner3prime": { + "transcriptId": { + "value": "67beabf6-e37e-400b-8861-2706e40e63d0", + "system": "https://www.ensembl.org" + }, + "exonId": "6", + "gene": { + "code": "HGNC:3690", + "display": "FGFR3", + "system": "https://www.genenames.org/" + }, + "position": 755, + "strand": "-" + }, + "effect": "Effect", + "reportedNumReads": 3 + }, + { + "id": "33f12136-e588-4fdb-9a00-d54fd045a8ae", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "f7c89ee5-77fb-40eb-8542-916111cf8b68", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "localization": [ + { + "code": "intergenic", + "display": "Intergenic", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "transcriptId": { + "value": "3a84500a-fbdc-4086-b38e-b7e3454a61a7", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "5", + "gene": { + "code": "HGNC:3689", + "display": "FGFR2", + "system": "https://www.genenames.org/" + }, + "position": 902, + "strand": "-" + }, + "fusionPartner3prime": { + "transcriptId": { + "value": "30c64920-c400-407b-93b5-3bbd8ba3f255", + "system": "https://www.ensembl.org" + }, + "exonId": "7", + "gene": { + "code": "HGNC:21298", + "display": "AACS", + "system": "https://www.genenames.org/" + }, + "position": 254, + "strand": "+" + }, + "effect": "Effect", + "reportedNumReads": 3 + }, + { + "id": "f53c79bf-72e0-4e92-a1fe-b91017602828", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "5b988b8f-54a7-43b7-a001-0feaf31fcfef", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "localization": [ + { + "code": "regulatory-region", + "display": "Regulatory region", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "transcriptId": { + "value": "41d8e247-25d3-426b-b3f7-fddf5cdb558c", + "system": "https://www.ensembl.org" + }, + "exonId": "7", + "gene": { + "code": "HGNC:3236", + "display": "EGFR", + "system": "https://www.genenames.org/" + }, + "position": 376, + "strand": "+" + }, + "fusionPartner3prime": { + "transcriptId": { + "value": "5ec975b9-d2f1-4717-82bd-c7ce4dd2734c", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "10", + "gene": { + "code": "HGNC:1100", + "display": "BRCA1", + "system": "https://www.genenames.org/" + }, + "position": 356, + "strand": "-" + }, + "effect": "Effect", + "reportedNumReads": 4 + }, + { + "id": "7a5955a4-c7d4-4fe8-a529-0a0c01b84743", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "externalIds": [ + { + "value": "032e1ac6-e21f-4311-98a6-ad6a19ee7b35", + "system": "https://cancer.sanger.ac.uk/cosmic" + } + ], + "localization": [ + { + "code": "intergenic", + "display": "Intergenic", + "system": "dnpm-dip/variant/localization" + } + ], + "fusionPartner5prime": { + "transcriptId": { + "value": "6e43eb94-48ca-41e2-a57e-bf964c1d953a", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "5", + "gene": { + "code": "HGNC:391", + "display": "AKT1", + "system": "https://www.genenames.org/" + }, + "position": 714, + "strand": "-" + }, + "fusionPartner3prime": { + "transcriptId": { + "value": "91fb4eaf-c3da-434b-991b-cbaeee330de2", + "system": "https://www.ncbi.nlm.nih.gov/refseq" + }, + "exonId": "11", + "gene": { + "code": "HGNC:34", + "display": "ABCA4", + "system": "https://www.genenames.org/" + }, + "position": 357, + "strand": "-" + }, + "effect": "Effect", + "reportedNumReads": 4 + } + ], + "rnaSeqs": [] + } + } + ], + "carePlans": [ + { + "id": "01b19e31-f38b-4b69-bb72-01248bb92d11", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "issuedOn": "2025-05-30", + "geneticCounselingRecommendation": { + "id": "f75d972c-f6be-4be9-bd2a-aeef0d492072", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "issuedOn": "2025-05-30", + "reason": { + "code": "other", + "display": "Andere", + "system": "dnpm-dip/mtb/recommendation/genetic-counseling/reason" + } + }, + "medicationRecommendations": [ + { + "id": "8c9e7e7f-daea-4b7b-ad72-6ef6be070f95", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "issuedOn": "2025-05-30", + "priority": { + "code": "1", + "display": "1", + "system": "dnpm-dip/recommendation/priority" + }, + "levelOfEvidence": { + "grading": { + "code": "m2A", + "display": "m2A", + "system": "dnpm-dip/mtb/level-of-evidence/grading" + }, + "addendums": [ + { + "code": "iv", + "display": "iv", + "system": "dnpm-dip/mtb/level-of-evidence/addendum" + } + ], + "publications": [ + { + "id": "482370142", + "system": "https://pubmed.ncbi.nlm.nih.gov", + "type": "Publication" + } + ] + }, + "category": { + "code": "HO", + "display": "Hormontherapie", + "system": "dnpm-dip/mtb/recommendation/systemic-therapy/category" + }, + "medication": [ + { + "code": "L01EX01", + "display": "Sunitinib", + "system": "http://fhir.de/CodeSystem/bfarm/atc", + "version": "2025" + } + ], + "useType": { + "code": "in-label", + "display": "In-label Use", + "system": "dnpm-dip/mtb/recommendation/systemic-therapy/use-type" + }, + "supportingVariants": [ + { + "variant": { + "id": "4705fb0d-d429-47d6-8191-c07d06d16c7a", + "type": "Variant" + }, + "gene": { + "code": "HGNC:25662", + "display": "AAGAB", + "system": "https://www.genenames.org/" + } + } + ] + }, + { + "id": "5adb8293-f9d1-4e65-bdcf-9d4803bd9d1c", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "issuedOn": "2025-05-30", + "priority": { + "code": "2", + "display": "2", + "system": "dnpm-dip/recommendation/priority" + }, + "levelOfEvidence": { + "grading": { + "code": "m4", + "display": "m4", + "system": "dnpm-dip/mtb/level-of-evidence/grading" + }, + "addendums": [ + { + "code": "iv", + "display": "iv", + "system": "dnpm-dip/mtb/level-of-evidence/addendum" + } + ], + "publications": [ + { + "id": "1987640662", + "system": "https://pubmed.ncbi.nlm.nih.gov", + "type": "Publication" + } + ] + }, + "category": { + "code": "HO", + "display": "Hormontherapie", + "system": "dnpm-dip/mtb/recommendation/systemic-therapy/category" + }, + "medication": [ + { + "code": "L01FX01", + "display": "Edrecolomab", + "system": "http://fhir.de/CodeSystem/bfarm/atc", + "version": "2025" + } + ], + "useType": { + "code": "sec-preventive", + "display": "Sec-preventive", + "system": "dnpm-dip/mtb/recommendation/systemic-therapy/use-type" + }, + "supportingVariants": [ + { + "variant": { + "id": "c6e4a8ca-9fd5-46d6-b9c3-4fb92fa3ad7f", + "type": "Variant" + }, + "gene": { + "code": "HGNC:25829", + "display": "ABRAXAS1", + "system": "https://www.genenames.org/" + } + } + ] + } + ], + "procedureRecommendations": [ + { + "id": "7c51af31-3e47-467b-aee6-87a6aee9068a", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "issuedOn": "2025-05-30", + "priority": { + "code": "1", + "display": "1", + "system": "dnpm-dip/recommendation/priority" + }, + "levelOfEvidence": { + "grading": { + "code": "m1A", + "display": "m1A", + "system": "dnpm-dip/mtb/level-of-evidence/grading" + }, + "addendums": [ + { + "code": "iv", + "display": "iv", + "system": "dnpm-dip/mtb/level-of-evidence/addendum" + } + ], + "publications": [ + { + "id": "45577081", + "system": "https://pubmed.ncbi.nlm.nih.gov", + "type": "Publication" + } + ] + }, + "code": { + "code": "WS", + "display": "Wait and see", + "system": "dnpm-dip/mtb/recommendation/procedure/category" + }, + "supportingVariants": [ + { + "variant": { + "id": "7748dd2f-e547-4412-996b-c8116040a5d4", + "type": "Variant" + }, + "gene": { + "code": "HGNC:25829", + "display": "ABRAXAS1", + "system": "https://www.genenames.org/" + } + } + ] + } + ], + "studyEnrollmentRecommendations": [ + { + "id": "3d4c243c-2908-46b7-9faf-d795fd883ac0", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "issuedOn": "2025-05-30", + "levelOfEvidence": { + "grading": { + "code": "m2A", + "display": "m2A", + "system": "dnpm-dip/mtb/level-of-evidence/grading" + }, + "addendums": [ + { + "code": "iv", + "display": "iv", + "system": "dnpm-dip/mtb/level-of-evidence/addendum" + } + ], + "publications": [ + { + "id": "482370142", + "system": "https://pubmed.ncbi.nlm.nih.gov", + "type": "Publication" + } + ] + }, + "priority": { + "code": "4", + "display": "4", + "system": "dnpm-dip/recommendation/priority" + }, + "study": [ + { + "id": "8547-845744-34-56", + "system": "Eudra-CT", + "type": "Study" + } + ], + "supportingVariants": [ + { + "variant": { + "id": "4705fb0d-d429-47d6-8191-c07d06d16c7a", + "type": "Variant" + }, + "gene": { + "code": "HGNC:25662", + "display": "AAGAB", + "system": "https://www.genenames.org/" + } + } + ] + } + ], + "histologyReevaluationRequests": [ + { + "id": "a641f201-fa1e-4650-8fba-adf3665040ed", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "specimen": { + "id": "c59253e3-3c11-40bd-bc35-7c089f734862", + "type": "TumorSpecimen" + }, + "issuedOn": "2025-05-30" + } + ], + "rebiopsyRequests": [ + { + "id": "2501cd78-c360-40c1-9ced-455fa7172191", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "tumorEntity": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "type": "MTBDiagnosis" + }, + "issuedOn": "2025-05-30" + } + ], + "notes": [ + "Protocol of the MTB conference..." + ] + } + ], + "followUps": [ + { + "date": "2025-02-07", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "lastContactDate": "2025-02-07" + } + ], + "claims": [ + { + "id": "4aa57f09-d47a-4916-852e-c79175a0eca7", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "recommendation": { + "id": "8c9e7e7f-daea-4b7b-ad72-6ef6be070f95", + "type": "MTBMedicationRecommendation" + }, + "issuedOn": "2025-05-30", + "stage": { + "code": "revocation", + "display": "Widerspruch", + "system": "dnpm-dip/mtb/claim/stage" + } + }, + { + "id": "fa9b668c-c39d-42a9-bdb2-410bc3f4a361", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "recommendation": { + "id": "5adb8293-f9d1-4e65-bdcf-9d4803bd9d1c", + "type": "MTBMedicationRecommendation" + }, + "issuedOn": "2025-05-30", + "stage": { + "code": "initial-claim", + "display": "Erstantrag", + "system": "dnpm-dip/mtb/claim/stage" + } + } + ], + "claimResponses": [ + { + "id": "db18a72a-293e-4f2d-bfe5-273776f8286b", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "claim": { + "id": "4aa57f09-d47a-4916-852e-c79175a0eca7", + "type": "Claim" + }, + "issuedOn": "2025-05-30", + "status": { + "code": "accepted", + "display": "Angenommen", + "system": "dnpm-dip/mtb/claim-response/status" + } + }, + { + "id": "ff5f495e-20c6-4c18-b150-4799343049c4", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "claim": { + "id": "fa9b668c-c39d-42a9-bdb2-410bc3f4a361", + "type": "Claim" + }, + "issuedOn": "2025-05-30", + "status": { + "code": "accepted", + "display": "Angenommen", + "system": "dnpm-dip/mtb/claim-response/status" + } + } + ], + "systemicTherapies": [ + { + "history": [ + { + "id": "bc0b340d-17ea-4598-ad69-38d309e47182", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "intent": { + "code": "X", + "display": "Keine Angabe", + "system": "dnpm-dip/therapy/intent" + }, + "category": { + "code": "N", + "display": "Neoadjuvant", + "system": "dnpm-dip/therapy/category" + }, + "basedOn": { + "id": "8c9e7e7f-daea-4b7b-ad72-6ef6be070f95", + "type": "MTBMedicationRecommendation" + }, + "recordedOn": "2025-05-30", + "status": { + "code": "on-going", + "display": "Laufend", + "system": "dnpm-dip/therapy/status" + }, + "recommendationFulfillmentStatus": { + "code": "partial", + "display": "Partiell", + "system": "dnpm-dip/therapy/recommendation-fulfillment-status" + }, + "dosage": { + "code": "under-50%", + "display": "< 50 %", + "system": "dnpm-dip/therapy/dosage-density" + }, + "period": { + "start": "2024-11-08", + "end": "2025-05-30" + }, + "medication": [ + { + "code": "L01EX01", + "display": "Sunitinib", + "system": "http://fhir.de/CodeSystem/bfarm/atc", + "version": "2025" + } + ], + "notes": [ + "Notes on the therapy..." + ] + } + ] + }, + { + "history": [ + { + "id": "e3d4b435-0531-4d75-827c-0da914f054dd", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "reason": { + "id": "53155bb3-39f8-4cd9-aa9b-1675165bfdb8", + "display": "Bösartige Neubildung: Tuba uterina [Falloppio]", + "type": "MTBDiagnosis" + }, + "intent": { + "code": "K", + "display": "Kurativ", + "system": "dnpm-dip/therapy/intent" + }, + "category": { + "code": "A", + "display": "Adjuvant", + "system": "dnpm-dip/therapy/category" + }, + "basedOn": { + "id": "5adb8293-f9d1-4e65-bdcf-9d4803bd9d1c", + "type": "MTBMedicationRecommendation" + }, + "recordedOn": "2025-05-30", + "status": { + "code": "completed", + "display": "Abgeschlossen", + "system": "dnpm-dip/therapy/status" + }, + "recommendationFulfillmentStatus": { + "code": "complete", + "display": "Komplett", + "system": "dnpm-dip/therapy/recommendation-fulfillment-status" + }, + "dosage": { + "code": "over-50%", + "display": ">= 50 %", + "system": "dnpm-dip/therapy/dosage-density" + }, + "period": { + "start": "2024-10-25", + "end": "2025-05-30" + }, + "medication": [ + { + "code": "L01FX01", + "display": "Edrecolomab", + "system": "http://fhir.de/CodeSystem/bfarm/atc", + "version": "2025" + } + ], + "notes": [ + "Notes on the therapy..." + ] + } + ] + } + ], + "responses": [ + { + "id": "1bcd9695-739f-451b-a403-7def6fa43614", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "therapy": { + "id": "bc0b340d-17ea-4598-ad69-38d309e47182", + "type": "MTBSystemicTherapy" + }, + "effectiveDate": "2025-02-07", + "method": { + "code": "RANO", + "display": "Nach RANO-Kriterien", + "system": "dnpm-dip/mtb/response/method" + }, + "value": { + "code": "PR", + "display": "Partial Response", + "system": "RECIST" + } + }, + { + "id": "89f6c606-0ec6-4b1e-a316-56a16eb52ea2", + "patient": { + "id": "e14bf9b6-7982-4933-a648-cfdea6484f1c", + "type": "Patient" + }, + "therapy": { + "id": "e3d4b435-0531-4d75-827c-0da914f054dd", + "type": "MTBSystemicTherapy" + }, + "effectiveDate": "2024-12-27", + "method": { + "code": "RECIST", + "display": "Nach RECIST-Kriterien", + "system": "dnpm-dip/mtb/response/method" + }, + "value": { + "code": "SD", + "display": "Stable Disease", + "system": "RECIST" + } + } + ] +}