1
0
mirror of https://github.com/dnpm-dip/mv64e-mtb-dto-rs.git synced 2025-09-13 02:32:52 +00:00

chore: update data model

Changes due to: 31a614bc01
This commit is contained in:
2025-07-09 21:46:19 +02:00
parent 7da62eba87
commit f1d27d21c1
3 changed files with 1458 additions and 2102 deletions

View File

@@ -99,6 +99,7 @@ impl Mtb {
prior_diagnostic_reports: None,
systemic_therapies: None,
metadata: None,
msi_findings: None,
}
}
}

View File

@@ -39,6 +39,9 @@ pub struct Mtb {
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<MvhMetadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub msi_findings: Option<Vec<Msi>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ngs_reports: Option<Vec<SomaticNgsReport>>,
@@ -1708,6 +1711,86 @@ pub enum MvhSubmissionType {
Initial,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Msi {
pub id: String,
pub interpretation: MsiInterpretationCoding,
pub method: MsiMethodCoding,
pub patient: Reference,
pub specimen: Reference,
pub value: f64,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct MsiInterpretationCoding {
pub code: MsiInterpretationCodingCode,
#[serde(skip_serializing_if = "Option::is_none")]
pub display: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub system: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
#[serde(rename_all = "kebab-case")]
pub enum MsiInterpretationCodingCode {
#[serde(rename = "mmr-deficient")]
MmrDeficient,
#[serde(rename = "mmr-proficient")]
MmrProficient,
#[serde(rename = "msi-high")]
MsiHigh,
#[serde(rename = "msi-low")]
MsiLow,
Stable,
Unknown,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct MsiMethodCoding {
pub code: MsiMethodCodingCode,
#[serde(skip_serializing_if = "Option::is_none")]
pub display: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub system: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub enum MsiMethodCodingCode {
#[serde(rename = "bioinformatic")]
Bioinformatic,
#[serde(rename = "IHC")]
Ihc,
#[serde(rename = "PCR")]
Pcr,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
#[serde(rename_all = "camelCase")]

File diff suppressed because it is too large Load Diff