mirror of
https://github.com/dnpm-dip/mv64e-mtb-dto-rs.git
synced 2025-09-13 10:42:52 +00:00
Merge pull request #11 from pcvolkmer/update_datamodel
chore: update data model
This commit is contained in:
@@ -99,6 +99,7 @@ impl Mtb {
|
||||
prior_diagnostic_reports: None,
|
||||
systemic_therapies: None,
|
||||
metadata: None,
|
||||
msi_findings: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
83
src/mtb.rs
83
src/mtb.rs
@@ -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
Reference in New Issue
Block a user