diff --git a/MV64e.MTB/Mtb.cs b/MV64e.MTB/Mtb.cs index 8db02d4..4a7e9db 100644 --- a/MV64e.MTB/Mtb.cs +++ b/MV64e.MTB/Mtb.cs @@ -24,21 +24,24 @@ namespace MV64e.MTB [JsonProperty("diagnoses", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public List Diagnoses { get; set; } - [JsonProperty("ecogStatus", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List EcogStatus { get; set; } - [JsonProperty("episode", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public MtbEpisode Episode { get; set; } + [JsonProperty("episodesOfCare", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List EpisodesOfCare { get; set; } + [JsonProperty("geneticCounsellingRequests", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public List GeneticCounsellingRequests { get; set; } + [JsonProperty("guidelineProcedures", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List GuidelineProcedures { get; set; } + + [JsonProperty("guidelineTherapies", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List GuidelineTherapies { get; set; } + [JsonProperty("histologyReports", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public List HistologyReports { get; set; } - [JsonProperty("lastGuidelineTherapies", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List LastGuidelineTherapies { get; set; } - [JsonProperty("molecularTherapies", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public List MolecularTherapies { get; set; } @@ -48,8 +51,8 @@ namespace MV64e.MTB [JsonProperty("patient", Required = Required.Always)] public MtbPatient Patient { get; set; } - [JsonProperty("previousGuidelineTherapies", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List PreviousGuidelineTherapies { get; set; } + [JsonProperty("performanceStatus", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List PerformanceStatus { get; set; } [JsonProperty("recommendations", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public List Recommendations { get; set; } @@ -66,44 +69,53 @@ namespace MV64e.MTB public partial class MtbCarePlan { - [JsonProperty("description", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Description { get; set; } - [JsonProperty("diagnosis", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public string Diagnosis { get; set; } - [JsonProperty("geneticCounsellingRequest", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string GeneticCounsellingRequest { get; set; } + [JsonProperty("geneticCounselingRecommendation", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public GeneticCounselingRecommendation GeneticCounselingRecommendation { get; set; } [JsonProperty("id", Required = Required.Always)] public string Id { get; set; } + [JsonProperty("indication", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Reference Indication { get; set; } + + [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? IssuedOn { get; set; } + + [JsonProperty("medicationRecommendations", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List MedicationRecommendations { get; set; } + + [JsonProperty("noTargetFinding", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public NoTargetFinding NoTargetFinding { get; set; } + + [JsonProperty("notes", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Notes { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("statusReason", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingCarePlanStatusReason StatusReason { get; set; } + + [JsonProperty("studyEnrollmentRecommendations", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List StudyEnrollmentRecommendations { get; set; } + } + + public partial class GeneticCounselingRecommendation + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public DateTimeOffset? IssuedOn { get; set; } - [JsonProperty("noTargetFinding", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public NoTargetFinding NoTargetFinding { get; set; } - [JsonProperty("patient", Required = Required.Always)] public Patient Patient { get; set; } - [JsonProperty("recommendations", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List Recommendations { get; set; } - - [JsonProperty("studyInclusionRequests", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List StudyInclusionRequests { get; set; } - } - - public partial class NoTargetFinding - { - [JsonProperty("diagnosis", Required = Required.Always)] - public string Diagnosis { get; set; } - - [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? IssuedOn { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } + [JsonProperty("reason", Required = Required.Always)] + public Coding Reason { get; set; } } public partial class Patient @@ -115,93 +127,6 @@ namespace MV64e.MTB public PatientType Type { get; set; } } - public partial class ClaimResponse - { - [JsonProperty("claim", Required = Required.Always)] - public ClaimResponseClaim Claim { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("issuedOn", Required = Required.Always)] - public DateTimeOffset IssuedOn { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("reason", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public ClaimResponseStatusReason? Reason { get; set; } - - [JsonProperty("status", Required = Required.Always)] - public CodingClaimResponseStatus Status { get; set; } - } - - public partial class ClaimResponseClaim - { - [JsonProperty("id", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Id { get; set; } - - [JsonProperty("type", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public ClaimResponseClaimType? Type { get; set; } - } - - public partial class CodingClaimResponseStatus - { - [JsonProperty("code", Required = Required.Always)] - public ClaimResponseStatus Code { get; set; } - - [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Display { get; set; } - - [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string System { get; set; } - } - - public partial class Claim - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("issuedOn", Required = Required.Always)] - public DateTimeOffset IssuedOn { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("therapy", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Therapy { get; set; } - } - - public partial class MtbDiagnosis - { - [JsonProperty("code", Required = Required.Always)] - public Coding Code { get; set; } - - [JsonProperty("guidelineTreatmentStatus", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Coding GuidelineTreatmentStatus { get; set; } - - [JsonProperty("histologyResults", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List HistologyResults { get; set; } - - [JsonProperty("icdO3T", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Coding IcdO3T { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("recordedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? RecordedOn { get; set; } - - [JsonProperty("statusHistory", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List StatusHistory { get; set; } - - [JsonProperty("whoGrade", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Coding WhoGrade { get; set; } - } - public partial class Coding { [JsonProperty("code", Required = Required.Always)] @@ -217,641 +142,26 @@ namespace MV64e.MTB public string Version { get; set; } } - public partial class StatusHistory + public partial class Reference { - [JsonProperty("date", Required = Required.Always)] - public DateTimeOffset Date { get; set; } - - [JsonProperty("status", Required = Required.Always)] - public MtbDiagnosisTumorSpread Status { get; set; } - } - - public partial class PerformanceStatus - { - [JsonProperty("effectiveDate", Required = Required.Always)] - public DateTimeOffset EffectiveDate { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("value", Required = Required.Always)] - public CodingEcog Value { get; set; } - } - - public partial class CodingEcog - { - [JsonProperty("code", Required = Required.Always)] - public PurpleCode Code { get; set; } - [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public string Display { get; set; } - [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string System { get; set; } - - [JsonProperty("version", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Version { get; set; } - } - - public partial class MtbEpisode - { [JsonProperty("id", Required = Required.Always)] public string Id { get; set; } - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("period", Required = Required.Always)] - public PeriodLocalDate Period { get; set; } - } - - public partial class PeriodLocalDate - { - [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? End { get; set; } - - [JsonProperty("start", Required = Required.Always)] - public DateTimeOffset Start { get; set; } - } - - public partial class GeneticCounselingRecommendation - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? IssuedOn { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("reason", Required = Required.Always)] - public string Reason { get; set; } - } - - public partial class HistologyReport - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("issuedOn", Required = Required.Always)] - public DateTimeOffset IssuedOn { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("specimen", Required = Required.Always)] - public HistologyReportSpecimen Specimen { get; set; } - - [JsonProperty("tumorCellContent", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public TumorCellContent TumorCellContent { get; set; } - - [JsonProperty("tumorMorphology", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public TumorMorphology TumorMorphology { get; set; } - } - - public partial class HistologyReportSpecimen - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("type", Required = Required.Always)] - public SpecimenType Type { get; set; } - } - - public partial class TumorCellContent - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("method", Required = Required.Always)] - public TumorCellContentMethod Method { get; set; } - - [JsonProperty("specimen", Required = Required.Always)] - public string Specimen { get; set; } - - [JsonProperty("value", Required = Required.Always)] - public double Value { get; set; } - } - - public partial class TumorMorphology - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("note", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Note { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("specimen", Required = Required.Always)] - public string Specimen { get; set; } - - [JsonProperty("value", Required = Required.Always)] - public Coding Value { get; set; } - } - - public partial class MtbMedicationTherapy - { - [JsonProperty("basedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string BasedOn { get; set; } - - [JsonProperty("diagnosis", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Diagnosis { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("medication", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List Medication { get; set; } - - [JsonProperty("notDoneReason", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public CodingTherapyStatusReason NotDoneReason { get; set; } - - [JsonProperty("note", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Note { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("period", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public PeriodLocalDate Period { get; set; } - - [JsonProperty("reasonStopped", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public CodingTherapyStatusReason ReasonStopped { get; set; } - - [JsonProperty("recordedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? RecordedOn { get; set; } - - [JsonProperty("status", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public TherapyStatus? Status { get; set; } - - [JsonProperty("therapyLine", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public long? TherapyLine { get; set; } - } - - public partial class CodingTherapyStatusReason - { - [JsonProperty("code", Required = Required.Always)] - public NotDoneReasonCode Code { get; set; } - - [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Display { get; set; } - - [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string System { get; set; } - - [JsonProperty("version", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Version { get; set; } - } - - public partial class MolecularTherapy - { - [JsonProperty("history", Required = Required.Always)] - public List History { get; set; } - } - - public partial class SomaticNgsReport - { - [JsonProperty("brcaness", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? Brcaness { get; set; } - - [JsonProperty("copyNumberVariants", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List CopyNumberVariants { get; set; } - - [JsonProperty("dnaFusions", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List DnaFusions { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("issueDate", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? IssueDate { get; set; } - - [JsonProperty("metadata", Required = Required.Always)] - public List Metadata { get; set; } - - [JsonProperty("msi", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? Msi { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("rnaFusions", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List RnaFusions { get; set; } - - [JsonProperty("rnaSeqs", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List RnaSeqs { get; set; } - - [JsonProperty("sequencingType", Required = Required.Always)] - public Coding SequencingType { get; set; } - - [JsonProperty("simpleVariants", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List SimpleVariants { get; set; } - - [JsonProperty("specimen", Required = Required.Always)] - public NgsReportSpecimen Specimen { get; set; } - - [JsonProperty("tmb", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? Tmb { get; set; } - - [JsonProperty("tumorCellContent", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public TumorCellContent TumorCellContent { get; set; } - } - - public partial class Cnv - { - [JsonProperty("chromosome", Required = Required.Always)] - public Chromosome Chromosome { get; set; } - - [JsonProperty("cnA", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? CnA { get; set; } - - [JsonProperty("cnB", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? CnB { get; set; } - - [JsonProperty("copyNumberNeutralLoH", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List CopyNumberNeutralLoH { get; set; } - - [JsonProperty("endRange", Required = Required.Always)] - public EndRange EndRange { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("relativeCopyNumber", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? RelativeCopyNumber { get; set; } - - [JsonProperty("reportedAffectedGenes", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List ReportedAffectedGenes { get; set; } - - [JsonProperty("reportedFocality", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string ReportedFocality { get; set; } - - [JsonProperty("startRange", Required = Required.Always)] - public StartRange StartRange { get; set; } - - [JsonProperty("totalCopyNumber", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public long? TotalCopyNumber { get; set; } - - [JsonProperty("type", Required = Required.Always)] - public CnvType Type { get; set; } - } - - public partial class CopyNumberNeutralLoH - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class EndRange - { - [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? End { get; set; } - - [JsonProperty("start", Required = Required.Always)] - public double Start { get; set; } - } - - public partial class ReportedAffectedGene - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class StartRange - { - [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? End { get; set; } - - [JsonProperty("start", Required = Required.Always)] - public double Start { get; set; } - } - - public partial class DnaFusion - { - [JsonProperty("fusionPartner3prime", Required = Required.Always)] - public DnaFusionFusionPartner3Prime FusionPartner3Prime { get; set; } - - [JsonProperty("fusionPartner5prime", Required = Required.Always)] - public DnaFusionFusionPartner5Prime FusionPartner5Prime { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("reportedNumReads", Required = Required.Always)] - public long ReportedNumReads { get; set; } - } - - public partial class DnaFusionFusionPartner3Prime - { - [JsonProperty("chromosome", Required = Required.Always)] - public Chromosome Chromosome { get; set; } - - [JsonProperty("gene", Required = Required.Always)] - public PurpleGene Gene { get; set; } - - [JsonProperty("position", Required = Required.Always)] - public double Position { get; set; } - } - - public partial class PurpleGene - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class DnaFusionFusionPartner5Prime - { - [JsonProperty("chromosome", Required = Required.Always)] - public Chromosome Chromosome { get; set; } - - [JsonProperty("gene", Required = Required.Always)] - public FluffyGene Gene { get; set; } - - [JsonProperty("position", Required = Required.Always)] - public double Position { get; set; } - } - - public partial class FluffyGene - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class Metadatum - { - [JsonProperty("kitManufacturer", Required = Required.Always)] - public string KitManufacturer { get; set; } - - [JsonProperty("kitType", Required = Required.Always)] - public string KitType { get; set; } - - [JsonProperty("pipeline", Required = Required.Always)] - public Uri Pipeline { get; set; } - - [JsonProperty("referenceGenome", Required = Required.Always)] - public string ReferenceGenome { get; set; } - - [JsonProperty("sequencer", Required = Required.Always)] - public string Sequencer { get; set; } - } - - public partial class RnaFusion - { - [JsonProperty("cosmicId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string CosmicId { get; set; } - - [JsonProperty("effect", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Effect { get; set; } - - [JsonProperty("fusionPartner3prime", Required = Required.Always)] - public RnaFusionFusionPartner3Prime FusionPartner3Prime { get; set; } - - [JsonProperty("fusionPartner5prime", Required = Required.Always)] - public RnaFusionFusionPartner5Prime FusionPartner5Prime { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("reportedNumReads", Required = Required.Always)] - public long ReportedNumReads { get; set; } - } - - public partial class RnaFusionFusionPartner3Prime - { - [JsonProperty("exon", Required = Required.Always)] - public string Exon { get; set; } - - [JsonProperty("gene", Required = Required.Always)] - public TentacledGene Gene { get; set; } - - [JsonProperty("position", Required = Required.Always)] - public double Position { get; set; } - - [JsonProperty("strand", Required = Required.Always)] - public RnaFusionStrand Strand { get; set; } - - [JsonProperty("transcriptId", Required = Required.Always)] - public string TranscriptId { get; set; } - } - - public partial class TentacledGene - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class RnaFusionFusionPartner5Prime - { - [JsonProperty("exon", Required = Required.Always)] - public string Exon { get; set; } - - [JsonProperty("gene", Required = Required.Always)] - public StickyGene Gene { get; set; } - - [JsonProperty("position", Required = Required.Always)] - public double Position { get; set; } - - [JsonProperty("strand", Required = Required.Always)] - public RnaFusionStrand Strand { get; set; } - - [JsonProperty("transcriptId", Required = Required.Always)] - public string TranscriptId { get; set; } - } - - public partial class StickyGene - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class RnaSeq - { - [JsonProperty("cohortRanking", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public long? CohortRanking { get; set; } - - [JsonProperty("ensemblId", Required = Required.Always)] - public string EnsemblId { get; set; } - - [JsonProperty("entrezId", Required = Required.Always)] - public string EntrezId { get; set; } - - [JsonProperty("fragmentsPerKilobaseMillion", Required = Required.Always)] - public double FragmentsPerKilobaseMillion { get; set; } - - [JsonProperty("fromNGS", Required = Required.Always)] - public bool FromNgs { get; set; } - - [JsonProperty("gene", Required = Required.Always)] - public RnaSeqGene Gene { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("librarySize", Required = Required.Always)] - public long LibrarySize { get; set; } - - [JsonProperty("rawCounts", Required = Required.Always)] - public long RawCounts { get; set; } - - [JsonProperty("tissueCorrectedExpression", Required = Required.Always)] - public bool TissueCorrectedExpression { get; set; } - - [JsonProperty("transcriptId", Required = Required.Always)] - public string TranscriptId { get; set; } - } - - public partial class RnaSeqGene - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class Snv - { - [JsonProperty("allelicFrequency", Required = Required.Always)] - public double AllelicFrequency { get; set; } - - [JsonProperty("altAllele", Required = Required.Always)] - public string AltAllele { get; set; } - - [JsonProperty("aminoAcidChange", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Coding AminoAcidChange { get; set; } - - [JsonProperty("chromosome", Required = Required.Always)] - public Chromosome Chromosome { get; set; } - - [JsonProperty("cosmicId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string CosmicId { get; set; } - - [JsonProperty("dbSNPId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string DbSnpId { get; set; } - - [JsonProperty("dnaChange", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Coding DnaChange { get; set; } - - [JsonProperty("gene", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public SimpleVariantGene Gene { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("interpretation", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Coding Interpretation { get; set; } - - [JsonProperty("readDepth", Required = Required.Always)] - public long ReadDepth { get; set; } - - [JsonProperty("refAllele", Required = Required.Always)] - public string RefAllele { get; set; } - - [JsonProperty("startEnd", Required = Required.Always)] - public StartEnd StartEnd { get; set; } - } - - public partial class SimpleVariantGene - { - [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string EnsemblId { get; set; } - - [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string HgncId { get; set; } - } - - public partial class StartEnd - { - [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public double? End { get; set; } - - [JsonProperty("start", Required = Required.Always)] - public double Start { get; set; } - } - - public partial class NgsReportSpecimen - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("type", Required = Required.Always)] - public SpecimenType Type { get; set; } - } - - public partial class MtbPatient - { - [JsonProperty("address", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Address Address { get; set; } - - [JsonProperty("birthDate", Required = Required.Always)] - public DateTimeOffset BirthDate { get; set; } - - [JsonProperty("dateOfDeath", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? DateOfDeath { get; set; } - - [JsonProperty("gender", Required = Required.Always)] - public CodingGender Gender { get; set; } - - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("insurance", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Insurance { get; set; } - } - - public partial class Address - { - [JsonProperty("municipalityCode", Required = Required.Always)] - public string MunicipalityCode { get; set; } - } - - public partial class CodingGender - { - [JsonProperty("code", Required = Required.Always)] - public Gender Code { get; set; } - - [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Display { get; set; } - - [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string System { get; set; } - - [JsonProperty("version", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public string Version { get; set; } + [JsonProperty("type", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Type { get; set; } } public partial class MtbMedicationRecommendation { - [JsonProperty("diagnosis", Required = Required.Always)] - public string Diagnosis { get; set; } - [JsonProperty("id", Required = Required.Always)] public string Id { get; set; } + [JsonProperty("indication", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Reference Indication { get; set; } + [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public DateTimeOffset? IssuedOn { get; set; } @@ -868,10 +178,10 @@ namespace MV64e.MTB public Patient Patient { get; set; } [JsonProperty("priority", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public TherapyRecommendationPriority? Priority { get; set; } + public CodingTherapyRecommendationPriority Priority { get; set; } [JsonProperty("supportingVariants", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public List SupportingVariants { get; set; } + public List SupportingVariants { get; set; } } public partial class LevelOfEvidence @@ -931,12 +241,1080 @@ namespace MV64e.MTB public partial class ExtId { [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public SystemEnum? System { get; set; } + public ExtIdSystem? System { get; set; } [JsonProperty("value", Required = Required.Always)] public string Value { get; set; } } + public partial class CodingTherapyRecommendationPriority + { + [JsonProperty("code", Required = Required.Always)] + public TherapyRecommendationPriority Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class NoTargetFinding + { + [JsonProperty("diagnosis", Required = Required.Always)] + public string Diagnosis { get; set; } + + [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? IssuedOn { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + } + + public partial class CodingCarePlanStatusReason + { + [JsonProperty("code", Required = Required.Always)] + public string Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class StudyEnrollmentRecommendation + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? IssuedOn { get; set; } + + [JsonProperty("levelOfEvidence", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding LevelOfEvidence { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("reason", Required = Required.Always)] + public Reference Reason { get; set; } + + [JsonProperty("studies", Required = Required.Always)] + public List Studies { get; set; } + + [JsonProperty("supportingVariants", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List SupportingVariants { get; set; } + } + + public partial class Study + { + [JsonProperty("system", Required = Required.Always)] + public string System { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public string Value { get; set; } + } + + public partial class ClaimResponse + { + [JsonProperty("claim", Required = Required.Always)] + public ClaimResponseClaim Claim { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("issuedOn", Required = Required.Always)] + public DateTimeOffset IssuedOn { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("status", Required = Required.Always)] + public CodingClaimResponseStatus Status { get; set; } + + [JsonProperty("statusReason", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingClaimResponseStatusReason StatusReason { get; set; } + } + + public partial class ClaimResponseClaim + { + [JsonProperty("id", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Id { get; set; } + + [JsonProperty("type", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public ClaimResponseClaimType? Type { get; set; } + } + + public partial class CodingClaimResponseStatus + { + [JsonProperty("code", Required = Required.Always)] + public ClaimResponseStatus Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class CodingClaimResponseStatusReason + { + [JsonProperty("code", Required = Required.Always)] + public ClaimResponseStatusReason Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class Claim + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("issuedOn", Required = Required.Always)] + public DateTimeOffset IssuedOn { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("recommendation", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Recommendation Recommendation { get; set; } + + [JsonProperty("stage", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding Stage { get; set; } + } + + public partial class Recommendation + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("type", Required = Required.Always)] + public string Type { get; set; } + } + + public partial class MtbDiagnosis + { + [JsonProperty("code", Required = Required.Always)] + public Coding Code { get; set; } + + [JsonProperty("guidelineTreatmentStatus", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding GuidelineTreatmentStatus { get; set; } + + [JsonProperty("histologyResults", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List HistologyResults { get; set; } + + [JsonProperty("icdO3T", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding IcdO3T { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("recordedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? RecordedOn { get; set; } + + [JsonProperty("stageHistory", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List StageHistory { get; set; } + + [JsonProperty("topography", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding Topography { get; set; } + + [JsonProperty("tumorGrade", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingTumorGrade TumorGrade { get; set; } + + [JsonProperty("whoGrade", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding WhoGrade { get; set; } + + [JsonProperty("whoGrading", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding WhoGrading { get; set; } + } + + public partial class StageHistory + { + [JsonProperty("date", Required = Required.Always)] + public DateTimeOffset Date { get; set; } + + [JsonProperty("stage", Required = Required.Always)] + public CodingTumorSpread Stage { get; set; } + } + + public partial class CodingTumorSpread + { + [JsonProperty("code", Required = Required.Always)] + public StageCode Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class CodingTumorGrade + { + [JsonProperty("code", Required = Required.Always)] + public TumorGradeCode Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + + [JsonProperty("version", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Version { get; set; } + } + + public partial class MtbEpisode + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("period", Required = Required.Always)] + public PeriodLocalDate Period { get; set; } + } + + public partial class PeriodLocalDate + { + [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? End { get; set; } + + [JsonProperty("start", Required = Required.Always)] + public DateTimeOffset Start { get; set; } + } + + public partial class EpisodeOfCare + { + [JsonProperty("diagnoses", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List Diagnoses { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Reference Patient { get; set; } + + [JsonProperty("period", Required = Required.Always)] + public PeriodLocalDate Period { get; set; } + } + + public partial class OncoProdecure + { + [JsonProperty("basedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string BasedOn { get; set; } + + [JsonProperty("code", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding Code { get; set; } + + [JsonProperty("diagnosis", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Diagnosis { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("indication", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Reference Indication { get; set; } + + [JsonProperty("notes", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Notes { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("period", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public PeriodLocalDate Period { get; set; } + + [JsonProperty("recordedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? RecordedOn { get; set; } + + [JsonProperty("status", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingTherapyStatus Status { get; set; } + + [JsonProperty("statusReason", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingTherapyStatusReason StatusReason { get; set; } + + [JsonProperty("therapyLine", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public long? TherapyLine { get; set; } + } + + public partial class CodingTherapyStatus + { + [JsonProperty("code", Required = Required.Always)] + public TherapyStatus Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class CodingTherapyStatusReason + { + [JsonProperty("code", Required = Required.Always)] + public StatusReasonCode Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + + [JsonProperty("version", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Version { get; set; } + } + + public partial class MtbMedicationTherapy + { + [JsonProperty("basedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string BasedOn { get; set; } + + [JsonProperty("diagnosis", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Diagnosis { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("indication", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Reference Indication { get; set; } + + [JsonProperty("medication", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List Medication { get; set; } + + [JsonProperty("notes", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Notes { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("period", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public PeriodLocalDate Period { get; set; } + + [JsonProperty("recordedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? RecordedOn { get; set; } + + [JsonProperty("status", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingTherapyStatus Status { get; set; } + + [JsonProperty("statusReason", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingTherapyStatusReason StatusReason { get; set; } + + [JsonProperty("therapyLine", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public long? TherapyLine { get; set; } + } + + public partial class HistologyReport + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("issuedOn", Required = Required.Always)] + public DateTimeOffset IssuedOn { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("results", Required = Required.Always)] + public HistologyReportResults Results { get; set; } + + [JsonProperty("specimen", Required = Required.Always)] + public HistologyReportSpecimen Specimen { get; set; } + } + + public partial class HistologyReportResults + { + [JsonProperty("tumorCellContent", Required = Required.Always)] + public TumorCellContent TumorCellContent { get; set; } + + [JsonProperty("tumorMorphology", Required = Required.Always)] + public TumorMorphology TumorMorphology { get; set; } + } + + public partial class TumorCellContent + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("method", Required = Required.Always)] + public CodingTumorCellContentMethod Method { get; set; } + + [JsonProperty("patient", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Patient Patient { get; set; } + + [JsonProperty("specimen", Required = Required.Always)] + public TumorCellContentSpecimen Specimen { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public double Value { get; set; } + } + + public partial class CodingTumorCellContentMethod + { + [JsonProperty("code", Required = Required.Always)] + public TumorCellContentMethod Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class TumorCellContentSpecimen + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("type", Required = Required.Always)] + public SpecimenType Type { get; set; } + } + + public partial class TumorMorphology + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("notes", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Notes { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("specimen", Required = Required.Always)] + public TumorMorphologySpecimen Specimen { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public Coding Value { get; set; } + } + + public partial class TumorMorphologySpecimen + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("type", Required = Required.Always)] + public SpecimenType Type { get; set; } + } + + public partial class HistologyReportSpecimen + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("type", Required = Required.Always)] + public SpecimenType Type { get; set; } + } + + public partial class MolecularTherapy + { + [JsonProperty("history", Required = Required.Always)] + public List History { get; set; } + } + + public partial class SomaticNgsReport + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? IssuedOn { get; set; } + + [JsonProperty("metadata", Required = Required.Always)] + public List Metadata { get; set; } + + [JsonProperty("msi", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public double? Msi { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("results", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public NgsReportResults Results { get; set; } + + [JsonProperty("sequencingType", Required = Required.Always)] + public Coding SequencingType { get; set; } + + [JsonProperty("specimen", Required = Required.Always)] + public NgsReportSpecimen Specimen { get; set; } + } + + public partial class Metadatum + { + [JsonProperty("kitManufacturer", Required = Required.Always)] + public string KitManufacturer { get; set; } + + [JsonProperty("kitType", Required = Required.Always)] + public string KitType { get; set; } + + [JsonProperty("pipeline", Required = Required.Always)] + public Uri Pipeline { get; set; } + + [JsonProperty("referenceGenome", Required = Required.Always)] + public string ReferenceGenome { get; set; } + + [JsonProperty("sequencer", Required = Required.Always)] + public string Sequencer { get; set; } + } + + public partial class NgsReportResults + { + [JsonProperty("brcaness", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public BrcAness Brcaness { get; set; } + + [JsonProperty("copyNumberVariants", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List CopyNumberVariants { get; set; } + + [JsonProperty("dnaFusions", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List DnaFusions { get; set; } + + [JsonProperty("hrdScore", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public HrdScore HrdScore { get; set; } + + [JsonProperty("rnaFusions", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List RnaFusions { get; set; } + + [JsonProperty("rnaSeqs", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List RnaSeqs { get; set; } + + [JsonProperty("simpleVariants", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List SimpleVariants { get; set; } + + [JsonProperty("tmb", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Tmb Tmb { get; set; } + + [JsonProperty("tumorCellContent", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public TumorCellContent TumorCellContent { get; set; } + } + + public partial class BrcAness + { + [JsonProperty("confidenceRange", Required = Required.Always)] + public ConfidenceRange ConfidenceRange { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Reference Patient { get; set; } + + [JsonProperty("specimen", Required = Required.Always)] + public Reference Specimen { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public double Value { get; set; } + } + + public partial class ConfidenceRange + { + [JsonProperty("max", Required = Required.Always)] + public double Max { get; set; } + + [JsonProperty("min", Required = Required.Always)] + public double Min { get; set; } + } + + public partial class Cnv + { + [JsonProperty("chromosome", Required = Required.Always)] + public CodingChromosome Chromosome { get; set; } + + [JsonProperty("cnA", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public double? CnA { get; set; } + + [JsonProperty("cnB", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public double? CnB { get; set; } + + [JsonProperty("copyNumberNeutralLoH", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List CopyNumberNeutralLoH { get; set; } + + [JsonProperty("endRange", Required = Required.Always)] + public EndRange EndRange { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("indication", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Reference Indication { get; set; } + + [JsonProperty("patient", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Patient Patient { get; set; } + + [JsonProperty("relativeCopyNumber", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public double? RelativeCopyNumber { get; set; } + + [JsonProperty("reportedAffectedGenes", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List ReportedAffectedGenes { get; set; } + + [JsonProperty("reportedFocality", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string ReportedFocality { get; set; } + + [JsonProperty("startRange", Required = Required.Always)] + public StartRange StartRange { get; set; } + + [JsonProperty("totalCopyNumber", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public long? TotalCopyNumber { get; set; } + + [JsonProperty("type", Required = Required.Always)] + public CodingCnvType Type { get; set; } + } + + public partial class CodingChromosome + { + [JsonProperty("code", Required = Required.Always)] + public ChromosomeCode Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public ChromosomeSystem? System { get; set; } + } + + public partial class CodingGene + { + [JsonProperty("code", Required = Required.Always)] + public string Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public GeneSystem? System { get; set; } + } + + public partial class EndRange + { + [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public double? End { get; set; } + + [JsonProperty("start", Required = Required.Always)] + public double Start { get; set; } + } + + public partial class StartRange + { + [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public double? End { get; set; } + + [JsonProperty("start", Required = Required.Always)] + public double Start { get; set; } + } + + public partial class CodingCnvType + { + [JsonProperty("code", Required = Required.Always)] + public CnvType Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class DnaFusion + { + [JsonProperty("fusionPartner3prime", Required = Required.Always)] + public DnaFusionFusionPartner3Prime FusionPartner3Prime { get; set; } + + [JsonProperty("fusionPartner5prime", Required = Required.Always)] + public DnaFusionFusionPartner5Prime FusionPartner5Prime { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("reportedNumReads", Required = Required.Always)] + public long ReportedNumReads { get; set; } + } + + public partial class DnaFusionFusionPartner3Prime + { + [JsonProperty("chromosome", Required = Required.Always)] + public CodingChromosome Chromosome { get; set; } + + [JsonProperty("gene", Required = Required.Always)] + public CodingGene Gene { get; set; } + + [JsonProperty("position", Required = Required.Always)] + public double Position { get; set; } + } + + public partial class DnaFusionFusionPartner5Prime + { + [JsonProperty("chromosome", Required = Required.Always)] + public CodingChromosome Chromosome { get; set; } + + [JsonProperty("gene", Required = Required.Always)] + public Gene Gene { get; set; } + + [JsonProperty("position", Required = Required.Always)] + public double Position { get; set; } + } + + public partial class Gene + { + [JsonProperty("ensemblId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string EnsemblId { get; set; } + + [JsonProperty("hgncId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string HgncId { get; set; } + } + + public partial class HrdScore + { + [JsonProperty("components", Required = Required.Always)] + public Components Components { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("interpretation", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding Interpretation { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Reference Patient { get; set; } + + [JsonProperty("specimen", Required = Required.Always)] + public Reference Specimen { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public double Value { get; set; } + } + + public partial class Components + { + [JsonProperty("loh", Required = Required.Always)] + public double Loh { get; set; } + + [JsonProperty("lst", Required = Required.Always)] + public double Lst { get; set; } + + [JsonProperty("tai", Required = Required.Always)] + public double Tai { get; set; } + } + + public partial class RnaFusion + { + [JsonProperty("cosmicId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string CosmicId { get; set; } + + [JsonProperty("effect", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Effect { get; set; } + + [JsonProperty("fusionPartner3prime", Required = Required.Always)] + public RnaFusionFusionPartner3Prime FusionPartner3Prime { get; set; } + + [JsonProperty("fusionPartner5prime", Required = Required.Always)] + public RnaFusionFusionPartner5Prime FusionPartner5Prime { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("reportedNumReads", Required = Required.Always)] + public long ReportedNumReads { get; set; } + } + + public partial class RnaFusionFusionPartner3Prime + { + [JsonProperty("exon", Required = Required.Always)] + public string Exon { get; set; } + + [JsonProperty("gene", Required = Required.Always)] + public CodingGene Gene { get; set; } + + [JsonProperty("position", Required = Required.Always)] + public double Position { get; set; } + + [JsonProperty("strand", Required = Required.Always)] + public RnaFusionStrand Strand { get; set; } + + [JsonProperty("transcriptId", Required = Required.Always)] + public string TranscriptId { get; set; } + } + + public partial class RnaFusionFusionPartner5Prime + { + [JsonProperty("exon", Required = Required.Always)] + public string Exon { get; set; } + + [JsonProperty("gene", Required = Required.Always)] + public CodingGene Gene { get; set; } + + [JsonProperty("position", Required = Required.Always)] + public double Position { get; set; } + + [JsonProperty("strand", Required = Required.Always)] + public RnaFusionStrand Strand { get; set; } + + [JsonProperty("transcriptId", Required = Required.Always)] + public string TranscriptId { get; set; } + } + + public partial class RnaSeq + { + [JsonProperty("cohortRanking", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public long? CohortRanking { get; set; } + + [JsonProperty("ensemblId", Required = Required.Always)] + public string EnsemblId { get; set; } + + [JsonProperty("entrezId", Required = Required.Always)] + public string EntrezId { get; set; } + + [JsonProperty("fragmentsPerKilobaseMillion", Required = Required.Always)] + public double FragmentsPerKilobaseMillion { get; set; } + + [JsonProperty("fromNGS", Required = Required.Always)] + public bool FromNgs { get; set; } + + [JsonProperty("gene", Required = Required.Always)] + public CodingGene Gene { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("librarySize", Required = Required.Always)] + public long LibrarySize { get; set; } + + [JsonProperty("rawCounts", Required = Required.Always)] + public long RawCounts { get; set; } + + [JsonProperty("tissueCorrectedExpression", Required = Required.Always)] + public bool TissueCorrectedExpression { get; set; } + + [JsonProperty("transcriptId", Required = Required.Always)] + public string TranscriptId { get; set; } + } + + public partial class Snv + { + [JsonProperty("allelicFrequency", Required = Required.Always)] + public double AllelicFrequency { get; set; } + + [JsonProperty("altAllele", Required = Required.Always)] + public string AltAllele { get; set; } + + [JsonProperty("aminoAcidChange", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding AminoAcidChange { get; set; } + + [JsonProperty("chromosome", Required = Required.Always)] + public CodingChromosome Chromosome { get; set; } + + [JsonProperty("cosmicId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string CosmicId { get; set; } + + [JsonProperty("dbSNPId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string DbSnpId { get; set; } + + [JsonProperty("dnaChange", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding DnaChange { get; set; } + + [JsonProperty("externalIds", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public List ExternalIds { get; set; } + + [JsonProperty("gene", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public CodingGene Gene { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("interpretation", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding Interpretation { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("position", Required = Required.Always)] + public Position Position { get; set; } + + [JsonProperty("proteinChange", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding ProteinChange { get; set; } + + [JsonProperty("readDepth", Required = Required.Always)] + public long ReadDepth { get; set; } + + [JsonProperty("refAllele", Required = Required.Always)] + public string RefAllele { get; set; } + + [JsonProperty("transcriptId", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public ExternalId TranscriptId { get; set; } + } + + public partial class ExternalId + { + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public string Value { get; set; } + } + + public partial class Position + { + [JsonProperty("end", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public double? End { get; set; } + + [JsonProperty("start", Required = Required.Always)] + public double Start { get; set; } + } + + public partial class Tmb + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("interpretation", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Coding Interpretation { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Reference Patient { get; set; } + + [JsonProperty("specimen", Required = Required.Always)] + public Reference Specimen { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public Value Value { get; set; } + } + + public partial class Value + { + [JsonProperty("unit", Required = Required.Always)] + public string Unit { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public double ValueValue { get; set; } + } + + public partial class NgsReportSpecimen + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("type", Required = Required.Always)] + public SpecimenType Type { get; set; } + } + + public partial class MtbPatient + { + [JsonProperty("address", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Address Address { get; set; } + + [JsonProperty("age", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public ValueWithUnit Age { get; set; } + + [JsonProperty("birthDate", Required = Required.Always)] + public DateTimeOffset BirthDate { get; set; } + + [JsonProperty("dateOfDeath", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public DateTimeOffset? DateOfDeath { get; set; } + + [JsonProperty("gender", Required = Required.Always)] + public CodingGender Gender { get; set; } + + [JsonProperty("healthInsurance", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public HealthInsurance HealthInsurance { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("vitalStatus", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public VitalStatus VitalStatus { get; set; } + } + + public partial class Address + { + [JsonProperty("municipalityCode", Required = Required.Always)] + public string MunicipalityCode { get; set; } + } + + public partial class ValueWithUnit + { + [JsonProperty("unit", Required = Required.Always)] + public Unit Unit { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public double Value { get; set; } + } + + public partial class CodingGender + { + [JsonProperty("code", Required = Required.Always)] + public Gender Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + + [JsonProperty("version", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Version { get; set; } + } + + public partial class HealthInsurance + { + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("extId", Required = Required.Always)] + public ExternalId ExtId { get; set; } + + [JsonProperty("type", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public TypeEnum? Type { get; set; } + } + + public partial class VitalStatus + { + [JsonProperty("code", Required = Required.Always)] + public VitalStatusCode Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + } + + public partial class PerformanceStatus + { + [JsonProperty("effectiveDate", Required = Required.Always)] + public DateTimeOffset EffectiveDate { get; set; } + + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("patient", Required = Required.Always)] + public Patient Patient { get; set; } + + [JsonProperty("value", Required = Required.Always)] + public CodingEcog Value { get; set; } + } + + public partial class CodingEcog + { + [JsonProperty("code", Required = Required.Always)] + public PurpleCode Code { get; set; } + + [JsonProperty("display", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Display { get; set; } + + [JsonProperty("system", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string System { get; set; } + + [JsonProperty("version", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public string Version { get; set; } + } + public partial class Response { [JsonProperty("effectiveDate", Required = Required.Always)] @@ -984,8 +1362,8 @@ namespace MV64e.MTB [JsonProperty("collection", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] public Collection Collection { get; set; } - [JsonProperty("icd10", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public Coding Icd10 { get; set; } + [JsonProperty("diagnosis", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] + public Diagnosis Diagnosis { get; set; } [JsonProperty("id", Required = Required.Always)] public string Id { get; set; } @@ -1033,6 +1411,15 @@ namespace MV64e.MTB public string System { get; set; } } + public partial class Diagnosis + { + [JsonProperty("id", Required = Required.Always)] + public string Id { get; set; } + + [JsonProperty("type", Required = Required.Always)] + public string Type { get; set; } + } + public partial class CodingTumorSpecimenType { [JsonProperty("code", Required = Required.Always)] @@ -1045,59 +1432,53 @@ namespace MV64e.MTB public string System { get; set; } } - public partial class StudyEnrollmentRecommendation - { - [JsonProperty("id", Required = Required.Always)] - public string Id { get; set; } - - [JsonProperty("issuedOn", Required = Required.DisallowNull, NullValueHandling = NullValueHandling.Ignore)] - public DateTimeOffset? IssuedOn { get; set; } - - [JsonProperty("nctNumber", Required = Required.Always)] - public string NctNumber { get; set; } - - [JsonProperty("patient", Required = Required.Always)] - public Patient Patient { get; set; } - - [JsonProperty("reason", Required = Required.Always)] - public string Reason { get; set; } - } - public enum PatientType { Patient }; - public enum ClaimResponseClaimType { Claim }; - - public enum ClaimResponseStatusReason { ApprovalRevocation, FormalReasons, InclusionInStudy, InsufficientEvidence, Other, OtherTherapyRecommended, StandardTherapyNotExhausted, Unknown }; - - public enum ClaimResponseStatus { Accepted, Rejected, Unknown }; - - public enum MtbDiagnosisTumorSpread { Local, Metastasized, TumorFree, Unknown }; - - public enum PurpleCode { Code0, Code1, Code2, Code3, Code4 }; - - public enum SpecimenType { TumorSpecimen }; - - public enum TumorCellContentMethod { Bioinformatic, Histologic }; - - public enum NotDoneReasonCode { ChronicRemission, ContinuedExternally, Deterioration, LostToFu, MedicalReason, NoIndication, Other, OtherTherapyChosen, PatientDeath, PatientRefusal, PatientWish, PaymentEnded, PaymentPending, PaymentRefused, Progression, Toxicity, Unknown }; - - public enum TherapyStatus { Completed, NotDone, OnGoing, Stopped, Unknown }; - - 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, ChrX, ChrY }; - - public enum CnvType { HighLevelGain, Loss, LowLevelGain }; - - public enum RnaFusionStrand { Empty, RnaFusionStrand }; - - public enum Gender { Female, Male, Other, Unknown }; - public enum AddendumCode { Is, Iv, R, Z }; public enum GradingCode { M1A, M1B, M1C, M2A, M2B, M2C, M3, M4, Undefined }; - public enum SystemEnum { HttpsPubmedNcbiNlmNihGov }; + public enum ExtIdSystem { HttpsPubmedNcbiNlmNihGov }; - public enum TherapyRecommendationPriority { Priority1, Priority2, Priority3, Priority4 }; + public enum TherapyRecommendationPriority { Prio1, Prio2, Prio3, Prio4 }; + + public enum ClaimResponseClaimType { Claim }; + + public enum ClaimResponseStatus { Accepted, Rejected, Unknown }; + + public enum ClaimResponseStatusReason { ApprovalRevocation, FormalReasons, InclusionInStudy, InsufficientEvidence, Other, OtherTherapyRecommended, StandardTherapyNotExhausted, Unknown }; + + public enum StageCode { Local, Metastasized, TumorFree, Unknown }; + + public enum TumorGradeCode { G1, G2, G3, G4, Gx }; + + public enum TherapyStatus { Completed, NotDone, OnGoing, Stopped, Unknown }; + + public enum StatusReasonCode { ChronicRemission, ContinuedExternally, Deterioration, LostToFu, MedicalReason, NoIndication, Other, OtherTherapyChosen, PatientDeath, PatientRefusal, PatientWish, PaymentEnded, PaymentPending, PaymentRefused, Progression, Toxicity, Unknown }; + + public enum TumorCellContentMethod { Bioinformatic, Histologic }; + + public enum SpecimenType { TumorSpecimen }; + + public enum ChromosomeCode { Chr1, Chr10, Chr11, Chr12, Chr13, Chr14, Chr15, Chr16, Chr17, Chr18, Chr19, Chr2, Chr20, Chr21, Chr22, Chr3, Chr4, Chr5, Chr6, Chr7, Chr8, Chr9, ChrX, ChrY }; + + public enum ChromosomeSystem { Chromosome }; + + public enum GeneSystem { HttpsWwwGenenamesOrg }; + + public enum CnvType { HighLevelGain, Loss, LowLevelGain }; + + public enum RnaFusionStrand { Empty, RnaFusionStrand }; + + public enum Unit { Years }; + + public enum Gender { Female, Male, Other, Unknown }; + + public enum TypeEnum { Organization }; + + public enum VitalStatusCode { Alive, Deceased }; + + public enum PurpleCode { Code0, Code1, Code2, Code3, Code4 }; public enum ResponseTherapyType { MtbMedicationTherapy }; @@ -1111,12 +1492,12 @@ namespace MV64e.MTB public partial class Mtb { - public static Mtb FromJson(string json) => JsonConvert.DeserializeObject(json, Converter.Settings); + public static Mtb FromJson(string json) => JsonConvert.DeserializeObject(json, MV64e.MTB.Converter.Settings); } public static class Serialize { - public static string ToJson(this Mtb self) => JsonConvert.SerializeObject(self, Converter.Settings); + public static string ToJson(this Mtb self) => JsonConvert.SerializeObject(self, MV64e.MTB.Converter.Settings); } internal static class Converter @@ -1128,23 +1509,29 @@ namespace MV64e.MTB Converters = { PatientTypeConverter.Singleton, - ClaimResponseClaimTypeConverter.Singleton, - ClaimResponseStatusReasonConverter.Singleton, - ClaimResponseStatusConverter.Singleton, - MtbDiagnosisTumorSpreadConverter.Singleton, - PurpleCodeConverter.Singleton, - SpecimenTypeConverter.Singleton, - TumorCellContentMethodConverter.Singleton, - NotDoneReasonCodeConverter.Singleton, - TherapyStatusConverter.Singleton, - ChromosomeConverter.Singleton, - CnvTypeConverter.Singleton, - RnaFusionStrandConverter.Singleton, - GenderConverter.Singleton, AddendumCodeConverter.Singleton, GradingCodeConverter.Singleton, - SystemEnumConverter.Singleton, + ExtIdSystemConverter.Singleton, TherapyRecommendationPriorityConverter.Singleton, + ClaimResponseClaimTypeConverter.Singleton, + ClaimResponseStatusConverter.Singleton, + ClaimResponseStatusReasonConverter.Singleton, + StageCodeConverter.Singleton, + TumorGradeCodeConverter.Singleton, + TherapyStatusConverter.Singleton, + StatusReasonCodeConverter.Singleton, + TumorCellContentMethodConverter.Singleton, + SpecimenTypeConverter.Singleton, + ChromosomeCodeConverter.Singleton, + ChromosomeSystemConverter.Singleton, + GeneSystemConverter.Singleton, + CnvTypeConverter.Singleton, + RnaFusionStrandConverter.Singleton, + UnitConverter.Singleton, + GenderConverter.Singleton, + TypeEnumConverter.Singleton, + VitalStatusCodeConverter.Singleton, + PurpleCodeConverter.Singleton, ResponseTherapyTypeConverter.Singleton, FluffyCodeConverter.Singleton, TumorSpecimenCollectionLocalizationConverter.Singleton, @@ -1189,800 +1576,6 @@ namespace MV64e.MTB public static readonly PatientTypeConverter Singleton = new PatientTypeConverter(); } - internal class ClaimResponseClaimTypeConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(ClaimResponseClaimType) || t == typeof(ClaimResponseClaimType?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - if (value == "Claim") - { - return ClaimResponseClaimType.Claim; - } - throw new Exception("Cannot unmarshal type ClaimResponseClaimType"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (ClaimResponseClaimType)untypedValue; - if (value == ClaimResponseClaimType.Claim) - { - serializer.Serialize(writer, "Claim"); - return; - } - throw new Exception("Cannot marshal type ClaimResponseClaimType"); - } - - public static readonly ClaimResponseClaimTypeConverter Singleton = new ClaimResponseClaimTypeConverter(); - } - - internal class ClaimResponseStatusReasonConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(ClaimResponseStatusReason) || t == typeof(ClaimResponseStatusReason?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "approval-revocation": - return ClaimResponseStatusReason.ApprovalRevocation; - case "formal-reasons": - return ClaimResponseStatusReason.FormalReasons; - case "inclusion-in-study": - return ClaimResponseStatusReason.InclusionInStudy; - case "insufficient-evidence": - return ClaimResponseStatusReason.InsufficientEvidence; - case "other": - return ClaimResponseStatusReason.Other; - case "other-therapy-recommended": - return ClaimResponseStatusReason.OtherTherapyRecommended; - case "standard-therapy-not-exhausted": - return ClaimResponseStatusReason.StandardTherapyNotExhausted; - case "unknown": - return ClaimResponseStatusReason.Unknown; - } - throw new Exception("Cannot unmarshal type ClaimResponseStatusReason"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (ClaimResponseStatusReason)untypedValue; - switch (value) - { - case ClaimResponseStatusReason.ApprovalRevocation: - serializer.Serialize(writer, "approval-revocation"); - return; - case ClaimResponseStatusReason.FormalReasons: - serializer.Serialize(writer, "formal-reasons"); - return; - case ClaimResponseStatusReason.InclusionInStudy: - serializer.Serialize(writer, "inclusion-in-study"); - return; - case ClaimResponseStatusReason.InsufficientEvidence: - serializer.Serialize(writer, "insufficient-evidence"); - return; - case ClaimResponseStatusReason.Other: - serializer.Serialize(writer, "other"); - return; - case ClaimResponseStatusReason.OtherTherapyRecommended: - serializer.Serialize(writer, "other-therapy-recommended"); - return; - case ClaimResponseStatusReason.StandardTherapyNotExhausted: - serializer.Serialize(writer, "standard-therapy-not-exhausted"); - return; - case ClaimResponseStatusReason.Unknown: - serializer.Serialize(writer, "unknown"); - return; - } - throw new Exception("Cannot marshal type ClaimResponseStatusReason"); - } - - public static readonly ClaimResponseStatusReasonConverter Singleton = new ClaimResponseStatusReasonConverter(); - } - - internal class ClaimResponseStatusConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(ClaimResponseStatus) || t == typeof(ClaimResponseStatus?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "accepted": - return ClaimResponseStatus.Accepted; - case "rejected": - return ClaimResponseStatus.Rejected; - case "unknown": - return ClaimResponseStatus.Unknown; - } - throw new Exception("Cannot unmarshal type ClaimResponseStatus"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (ClaimResponseStatus)untypedValue; - switch (value) - { - case ClaimResponseStatus.Accepted: - serializer.Serialize(writer, "accepted"); - return; - case ClaimResponseStatus.Rejected: - serializer.Serialize(writer, "rejected"); - return; - case ClaimResponseStatus.Unknown: - serializer.Serialize(writer, "unknown"); - return; - } - throw new Exception("Cannot marshal type ClaimResponseStatus"); - } - - public static readonly ClaimResponseStatusConverter Singleton = new ClaimResponseStatusConverter(); - } - - internal class MtbDiagnosisTumorSpreadConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(MtbDiagnosisTumorSpread) || t == typeof(MtbDiagnosisTumorSpread?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "local": - return MtbDiagnosisTumorSpread.Local; - case "metastasized": - return MtbDiagnosisTumorSpread.Metastasized; - case "tumor-free": - return MtbDiagnosisTumorSpread.TumorFree; - case "unknown": - return MtbDiagnosisTumorSpread.Unknown; - } - throw new Exception("Cannot unmarshal type MtbDiagnosisTumorSpread"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (MtbDiagnosisTumorSpread)untypedValue; - switch (value) - { - case MtbDiagnosisTumorSpread.Local: - serializer.Serialize(writer, "local"); - return; - case MtbDiagnosisTumorSpread.Metastasized: - serializer.Serialize(writer, "metastasized"); - return; - case MtbDiagnosisTumorSpread.TumorFree: - serializer.Serialize(writer, "tumor-free"); - return; - case MtbDiagnosisTumorSpread.Unknown: - serializer.Serialize(writer, "unknown"); - return; - } - throw new Exception("Cannot marshal type MtbDiagnosisTumorSpread"); - } - - public static readonly MtbDiagnosisTumorSpreadConverter Singleton = new MtbDiagnosisTumorSpreadConverter(); - } - - internal class PurpleCodeConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(PurpleCode) || t == typeof(PurpleCode?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "0": - return PurpleCode.Code0; - case "1": - return PurpleCode.Code1; - case "2": - return PurpleCode.Code2; - case "3": - return PurpleCode.Code3; - case "4": - return PurpleCode.Code4; - } - throw new Exception("Cannot unmarshal type PurpleCode"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (PurpleCode)untypedValue; - switch (value) - { - case PurpleCode.Code0: - serializer.Serialize(writer, "0"); - return; - case PurpleCode.Code1: - serializer.Serialize(writer, "1"); - return; - case PurpleCode.Code2: - serializer.Serialize(writer, "2"); - return; - case PurpleCode.Code3: - serializer.Serialize(writer, "3"); - return; - case PurpleCode.Code4: - serializer.Serialize(writer, "4"); - return; - } - throw new Exception("Cannot marshal type PurpleCode"); - } - - public static readonly PurpleCodeConverter Singleton = new PurpleCodeConverter(); - } - - internal class SpecimenTypeConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(SpecimenType) || t == typeof(SpecimenType?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - if (value == "TumorSpecimen") - { - return SpecimenType.TumorSpecimen; - } - throw new Exception("Cannot unmarshal type SpecimenType"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (SpecimenType)untypedValue; - if (value == SpecimenType.TumorSpecimen) - { - serializer.Serialize(writer, "TumorSpecimen"); - return; - } - throw new Exception("Cannot marshal type SpecimenType"); - } - - public static readonly SpecimenTypeConverter Singleton = new SpecimenTypeConverter(); - } - - internal class TumorCellContentMethodConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(TumorCellContentMethod) || t == typeof(TumorCellContentMethod?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "bioinformatic": - return TumorCellContentMethod.Bioinformatic; - case "histologic": - return TumorCellContentMethod.Histologic; - } - throw new Exception("Cannot unmarshal type TumorCellContentMethod"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (TumorCellContentMethod)untypedValue; - switch (value) - { - case TumorCellContentMethod.Bioinformatic: - serializer.Serialize(writer, "bioinformatic"); - return; - case TumorCellContentMethod.Histologic: - serializer.Serialize(writer, "histologic"); - return; - } - throw new Exception("Cannot marshal type TumorCellContentMethod"); - } - - public static readonly TumorCellContentMethodConverter Singleton = new TumorCellContentMethodConverter(); - } - - internal class NotDoneReasonCodeConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(NotDoneReasonCode) || t == typeof(NotDoneReasonCode?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "chronic-remission": - return NotDoneReasonCode.ChronicRemission; - case "continued-externally": - return NotDoneReasonCode.ContinuedExternally; - case "deterioration": - return NotDoneReasonCode.Deterioration; - case "lost-to-fu": - return NotDoneReasonCode.LostToFu; - case "medical-reason": - return NotDoneReasonCode.MedicalReason; - case "no-indication": - return NotDoneReasonCode.NoIndication; - case "other": - return NotDoneReasonCode.Other; - case "other-therapy-chosen": - return NotDoneReasonCode.OtherTherapyChosen; - case "patient-death": - return NotDoneReasonCode.PatientDeath; - case "patient-refusal": - return NotDoneReasonCode.PatientRefusal; - case "patient-wish": - return NotDoneReasonCode.PatientWish; - case "payment-ended": - return NotDoneReasonCode.PaymentEnded; - case "payment-pending": - return NotDoneReasonCode.PaymentPending; - case "payment-refused": - return NotDoneReasonCode.PaymentRefused; - case "progression": - return NotDoneReasonCode.Progression; - case "toxicity": - return NotDoneReasonCode.Toxicity; - case "unknown": - return NotDoneReasonCode.Unknown; - } - throw new Exception("Cannot unmarshal type NotDoneReasonCode"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (NotDoneReasonCode)untypedValue; - switch (value) - { - case NotDoneReasonCode.ChronicRemission: - serializer.Serialize(writer, "chronic-remission"); - return; - case NotDoneReasonCode.ContinuedExternally: - serializer.Serialize(writer, "continued-externally"); - return; - case NotDoneReasonCode.Deterioration: - serializer.Serialize(writer, "deterioration"); - return; - case NotDoneReasonCode.LostToFu: - serializer.Serialize(writer, "lost-to-fu"); - return; - case NotDoneReasonCode.MedicalReason: - serializer.Serialize(writer, "medical-reason"); - return; - case NotDoneReasonCode.NoIndication: - serializer.Serialize(writer, "no-indication"); - return; - case NotDoneReasonCode.Other: - serializer.Serialize(writer, "other"); - return; - case NotDoneReasonCode.OtherTherapyChosen: - serializer.Serialize(writer, "other-therapy-chosen"); - return; - case NotDoneReasonCode.PatientDeath: - serializer.Serialize(writer, "patient-death"); - return; - case NotDoneReasonCode.PatientRefusal: - serializer.Serialize(writer, "patient-refusal"); - return; - case NotDoneReasonCode.PatientWish: - serializer.Serialize(writer, "patient-wish"); - return; - case NotDoneReasonCode.PaymentEnded: - serializer.Serialize(writer, "payment-ended"); - return; - case NotDoneReasonCode.PaymentPending: - serializer.Serialize(writer, "payment-pending"); - return; - case NotDoneReasonCode.PaymentRefused: - serializer.Serialize(writer, "payment-refused"); - return; - case NotDoneReasonCode.Progression: - serializer.Serialize(writer, "progression"); - return; - case NotDoneReasonCode.Toxicity: - serializer.Serialize(writer, "toxicity"); - return; - case NotDoneReasonCode.Unknown: - serializer.Serialize(writer, "unknown"); - return; - } - throw new Exception("Cannot marshal type NotDoneReasonCode"); - } - - public static readonly NotDoneReasonCodeConverter Singleton = new NotDoneReasonCodeConverter(); - } - - internal class TherapyStatusConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(TherapyStatus) || t == typeof(TherapyStatus?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "completed": - return TherapyStatus.Completed; - case "not-done": - return TherapyStatus.NotDone; - case "on-going": - return TherapyStatus.OnGoing; - case "stopped": - return TherapyStatus.Stopped; - case "unknown": - return TherapyStatus.Unknown; - } - throw new Exception("Cannot unmarshal type TherapyStatus"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (TherapyStatus)untypedValue; - switch (value) - { - case TherapyStatus.Completed: - serializer.Serialize(writer, "completed"); - return; - case TherapyStatus.NotDone: - serializer.Serialize(writer, "not-done"); - return; - case TherapyStatus.OnGoing: - serializer.Serialize(writer, "on-going"); - return; - case TherapyStatus.Stopped: - serializer.Serialize(writer, "stopped"); - return; - case TherapyStatus.Unknown: - serializer.Serialize(writer, "unknown"); - return; - } - throw new Exception("Cannot marshal type TherapyStatus"); - } - - public static readonly TherapyStatusConverter Singleton = new TherapyStatusConverter(); - } - - internal class ChromosomeConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(Chromosome) || t == typeof(Chromosome?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "chr1": - return Chromosome.Chr1; - case "chr10": - return Chromosome.Chr10; - case "chr11": - return Chromosome.Chr11; - case "chr12": - return Chromosome.Chr12; - case "chr13": - return Chromosome.Chr13; - case "chr14": - return Chromosome.Chr14; - case "chr15": - return Chromosome.Chr15; - case "chr16": - return Chromosome.Chr16; - case "chr17": - return Chromosome.Chr17; - case "chr18": - return Chromosome.Chr18; - case "chr19": - return Chromosome.Chr19; - case "chr2": - return Chromosome.Chr2; - case "chr20": - return Chromosome.Chr20; - case "chr21": - return Chromosome.Chr21; - case "chr22": - return Chromosome.Chr22; - case "chr3": - return Chromosome.Chr3; - case "chr4": - return Chromosome.Chr4; - case "chr5": - return Chromosome.Chr5; - case "chr6": - return Chromosome.Chr6; - case "chr7": - return Chromosome.Chr7; - case "chr8": - return Chromosome.Chr8; - case "chr9": - return Chromosome.Chr9; - case "chrX": - return Chromosome.ChrX; - case "chrY": - return Chromosome.ChrY; - } - throw new Exception("Cannot unmarshal type Chromosome"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (Chromosome)untypedValue; - switch (value) - { - case Chromosome.Chr1: - serializer.Serialize(writer, "chr1"); - return; - case Chromosome.Chr10: - serializer.Serialize(writer, "chr10"); - return; - case Chromosome.Chr11: - serializer.Serialize(writer, "chr11"); - return; - case Chromosome.Chr12: - serializer.Serialize(writer, "chr12"); - return; - case Chromosome.Chr13: - serializer.Serialize(writer, "chr13"); - return; - case Chromosome.Chr14: - serializer.Serialize(writer, "chr14"); - return; - case Chromosome.Chr15: - serializer.Serialize(writer, "chr15"); - return; - case Chromosome.Chr16: - serializer.Serialize(writer, "chr16"); - return; - case Chromosome.Chr17: - serializer.Serialize(writer, "chr17"); - return; - case Chromosome.Chr18: - serializer.Serialize(writer, "chr18"); - return; - case Chromosome.Chr19: - serializer.Serialize(writer, "chr19"); - return; - case Chromosome.Chr2: - serializer.Serialize(writer, "chr2"); - return; - case Chromosome.Chr20: - serializer.Serialize(writer, "chr20"); - return; - case Chromosome.Chr21: - serializer.Serialize(writer, "chr21"); - return; - case Chromosome.Chr22: - serializer.Serialize(writer, "chr22"); - return; - case Chromosome.Chr3: - serializer.Serialize(writer, "chr3"); - return; - case Chromosome.Chr4: - serializer.Serialize(writer, "chr4"); - return; - case Chromosome.Chr5: - serializer.Serialize(writer, "chr5"); - return; - case Chromosome.Chr6: - serializer.Serialize(writer, "chr6"); - return; - case Chromosome.Chr7: - serializer.Serialize(writer, "chr7"); - return; - case Chromosome.Chr8: - serializer.Serialize(writer, "chr8"); - return; - case Chromosome.Chr9: - serializer.Serialize(writer, "chr9"); - return; - case Chromosome.ChrX: - serializer.Serialize(writer, "chrX"); - return; - case Chromosome.ChrY: - serializer.Serialize(writer, "chrY"); - return; - } - throw new Exception("Cannot marshal type Chromosome"); - } - - public static readonly ChromosomeConverter Singleton = new ChromosomeConverter(); - } - - internal class CnvTypeConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(CnvType) || t == typeof(CnvType?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "high-level-gain": - return CnvType.HighLevelGain; - case "loss": - return CnvType.Loss; - case "low-level-gain": - return CnvType.LowLevelGain; - } - throw new Exception("Cannot unmarshal type CnvType"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (CnvType)untypedValue; - switch (value) - { - case CnvType.HighLevelGain: - serializer.Serialize(writer, "high-level-gain"); - return; - case CnvType.Loss: - serializer.Serialize(writer, "loss"); - return; - case CnvType.LowLevelGain: - serializer.Serialize(writer, "low-level-gain"); - return; - } - throw new Exception("Cannot marshal type CnvType"); - } - - public static readonly CnvTypeConverter Singleton = new CnvTypeConverter(); - } - - internal class RnaFusionStrandConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(RnaFusionStrand) || t == typeof(RnaFusionStrand?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "+": - return RnaFusionStrand.Empty; - case "-": - return RnaFusionStrand.RnaFusionStrand; - } - throw new Exception("Cannot unmarshal type RnaFusionStrand"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (RnaFusionStrand)untypedValue; - switch (value) - { - case RnaFusionStrand.Empty: - serializer.Serialize(writer, "+"); - return; - case RnaFusionStrand.RnaFusionStrand: - serializer.Serialize(writer, "-"); - return; - } - throw new Exception("Cannot marshal type RnaFusionStrand"); - } - - public static readonly RnaFusionStrandConverter Singleton = new RnaFusionStrandConverter(); - } - - internal class GenderConverter : JsonConverter - { - public override bool CanConvert(Type t) => t == typeof(Gender) || t == typeof(Gender?); - - public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) return null; - var value = serializer.Deserialize(reader); - switch (value) - { - case "female": - return Gender.Female; - case "male": - return Gender.Male; - case "other": - return Gender.Other; - case "unknown": - return Gender.Unknown; - } - throw new Exception("Cannot unmarshal type Gender"); - } - - public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) - { - if (untypedValue == null) - { - serializer.Serialize(writer, null); - return; - } - var value = (Gender)untypedValue; - switch (value) - { - case Gender.Female: - serializer.Serialize(writer, "female"); - return; - case Gender.Male: - serializer.Serialize(writer, "male"); - return; - case Gender.Other: - serializer.Serialize(writer, "other"); - return; - case Gender.Unknown: - serializer.Serialize(writer, "unknown"); - return; - } - throw new Exception("Cannot marshal type Gender"); - } - - public static readonly GenderConverter Singleton = new GenderConverter(); - } - internal class AddendumCodeConverter : JsonConverter { public override bool CanConvert(Type t) => t == typeof(AddendumCode) || t == typeof(AddendumCode?); @@ -2110,9 +1703,9 @@ namespace MV64e.MTB public static readonly GradingCodeConverter Singleton = new GradingCodeConverter(); } - internal class SystemEnumConverter : JsonConverter + internal class ExtIdSystemConverter : JsonConverter { - public override bool CanConvert(Type t) => t == typeof(SystemEnum) || t == typeof(SystemEnum?); + public override bool CanConvert(Type t) => t == typeof(ExtIdSystem) || t == typeof(ExtIdSystem?); public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) { @@ -2120,9 +1713,9 @@ namespace MV64e.MTB var value = serializer.Deserialize(reader); if (value == "https://pubmed.ncbi.nlm.nih.gov/") { - return SystemEnum.HttpsPubmedNcbiNlmNihGov; + return ExtIdSystem.HttpsPubmedNcbiNlmNihGov; } - throw new Exception("Cannot unmarshal type SystemEnum"); + throw new Exception("Cannot unmarshal type ExtIdSystem"); } public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) @@ -2132,16 +1725,16 @@ namespace MV64e.MTB serializer.Serialize(writer, null); return; } - var value = (SystemEnum)untypedValue; - if (value == SystemEnum.HttpsPubmedNcbiNlmNihGov) + var value = (ExtIdSystem)untypedValue; + if (value == ExtIdSystem.HttpsPubmedNcbiNlmNihGov) { serializer.Serialize(writer, "https://pubmed.ncbi.nlm.nih.gov/"); return; } - throw new Exception("Cannot marshal type SystemEnum"); + throw new Exception("Cannot marshal type ExtIdSystem"); } - public static readonly SystemEnumConverter Singleton = new SystemEnumConverter(); + public static readonly ExtIdSystemConverter Singleton = new ExtIdSystemConverter(); } internal class TherapyRecommendationPriorityConverter : JsonConverter @@ -2155,13 +1748,13 @@ namespace MV64e.MTB switch (value) { case "1": - return TherapyRecommendationPriority.Priority1; + return TherapyRecommendationPriority.Prio1; case "2": - return TherapyRecommendationPriority.Priority2; + return TherapyRecommendationPriority.Prio2; case "3": - return TherapyRecommendationPriority.Priority3; + return TherapyRecommendationPriority.Prio3; case "4": - return TherapyRecommendationPriority.Priority4; + return TherapyRecommendationPriority.Prio4; } throw new Exception("Cannot unmarshal type TherapyRecommendationPriority"); } @@ -2176,16 +1769,16 @@ namespace MV64e.MTB var value = (TherapyRecommendationPriority)untypedValue; switch (value) { - case TherapyRecommendationPriority.Priority1: + case TherapyRecommendationPriority.Prio1: serializer.Serialize(writer, "1"); return; - case TherapyRecommendationPriority.Priority2: + case TherapyRecommendationPriority.Prio2: serializer.Serialize(writer, "2"); return; - case TherapyRecommendationPriority.Priority3: + case TherapyRecommendationPriority.Prio3: serializer.Serialize(writer, "3"); return; - case TherapyRecommendationPriority.Priority4: + case TherapyRecommendationPriority.Prio4: serializer.Serialize(writer, "4"); return; } @@ -2195,6 +1788,1033 @@ namespace MV64e.MTB public static readonly TherapyRecommendationPriorityConverter Singleton = new TherapyRecommendationPriorityConverter(); } + internal class ClaimResponseClaimTypeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(ClaimResponseClaimType) || t == typeof(ClaimResponseClaimType?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + if (value == "Claim") + { + return ClaimResponseClaimType.Claim; + } + throw new Exception("Cannot unmarshal type ClaimResponseClaimType"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (ClaimResponseClaimType)untypedValue; + if (value == ClaimResponseClaimType.Claim) + { + serializer.Serialize(writer, "Claim"); + return; + } + throw new Exception("Cannot marshal type ClaimResponseClaimType"); + } + + public static readonly ClaimResponseClaimTypeConverter Singleton = new ClaimResponseClaimTypeConverter(); + } + + internal class ClaimResponseStatusConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(ClaimResponseStatus) || t == typeof(ClaimResponseStatus?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "accepted": + return ClaimResponseStatus.Accepted; + case "rejected": + return ClaimResponseStatus.Rejected; + case "unknown": + return ClaimResponseStatus.Unknown; + } + throw new Exception("Cannot unmarshal type ClaimResponseStatus"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (ClaimResponseStatus)untypedValue; + switch (value) + { + case ClaimResponseStatus.Accepted: + serializer.Serialize(writer, "accepted"); + return; + case ClaimResponseStatus.Rejected: + serializer.Serialize(writer, "rejected"); + return; + case ClaimResponseStatus.Unknown: + serializer.Serialize(writer, "unknown"); + return; + } + throw new Exception("Cannot marshal type ClaimResponseStatus"); + } + + public static readonly ClaimResponseStatusConverter Singleton = new ClaimResponseStatusConverter(); + } + + internal class ClaimResponseStatusReasonConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(ClaimResponseStatusReason) || t == typeof(ClaimResponseStatusReason?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "approval-revocation": + return ClaimResponseStatusReason.ApprovalRevocation; + case "formal-reasons": + return ClaimResponseStatusReason.FormalReasons; + case "inclusion-in-study": + return ClaimResponseStatusReason.InclusionInStudy; + case "insufficient-evidence": + return ClaimResponseStatusReason.InsufficientEvidence; + case "other": + return ClaimResponseStatusReason.Other; + case "other-therapy-recommended": + return ClaimResponseStatusReason.OtherTherapyRecommended; + case "standard-therapy-not-exhausted": + return ClaimResponseStatusReason.StandardTherapyNotExhausted; + case "unknown": + return ClaimResponseStatusReason.Unknown; + } + throw new Exception("Cannot unmarshal type ClaimResponseStatusReason"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (ClaimResponseStatusReason)untypedValue; + switch (value) + { + case ClaimResponseStatusReason.ApprovalRevocation: + serializer.Serialize(writer, "approval-revocation"); + return; + case ClaimResponseStatusReason.FormalReasons: + serializer.Serialize(writer, "formal-reasons"); + return; + case ClaimResponseStatusReason.InclusionInStudy: + serializer.Serialize(writer, "inclusion-in-study"); + return; + case ClaimResponseStatusReason.InsufficientEvidence: + serializer.Serialize(writer, "insufficient-evidence"); + return; + case ClaimResponseStatusReason.Other: + serializer.Serialize(writer, "other"); + return; + case ClaimResponseStatusReason.OtherTherapyRecommended: + serializer.Serialize(writer, "other-therapy-recommended"); + return; + case ClaimResponseStatusReason.StandardTherapyNotExhausted: + serializer.Serialize(writer, "standard-therapy-not-exhausted"); + return; + case ClaimResponseStatusReason.Unknown: + serializer.Serialize(writer, "unknown"); + return; + } + throw new Exception("Cannot marshal type ClaimResponseStatusReason"); + } + + public static readonly ClaimResponseStatusReasonConverter Singleton = new ClaimResponseStatusReasonConverter(); + } + + internal class StageCodeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(StageCode) || t == typeof(StageCode?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "local": + return StageCode.Local; + case "metastasized": + return StageCode.Metastasized; + case "tumor-free": + return StageCode.TumorFree; + case "unknown": + return StageCode.Unknown; + } + throw new Exception("Cannot unmarshal type StageCode"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (StageCode)untypedValue; + switch (value) + { + case StageCode.Local: + serializer.Serialize(writer, "local"); + return; + case StageCode.Metastasized: + serializer.Serialize(writer, "metastasized"); + return; + case StageCode.TumorFree: + serializer.Serialize(writer, "tumor-free"); + return; + case StageCode.Unknown: + serializer.Serialize(writer, "unknown"); + return; + } + throw new Exception("Cannot marshal type StageCode"); + } + + public static readonly StageCodeConverter Singleton = new StageCodeConverter(); + } + + internal class TumorGradeCodeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(TumorGradeCode) || t == typeof(TumorGradeCode?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "G1": + return TumorGradeCode.G1; + case "G2": + return TumorGradeCode.G2; + case "G3": + return TumorGradeCode.G3; + case "G4": + return TumorGradeCode.G4; + case "GX": + return TumorGradeCode.Gx; + } + throw new Exception("Cannot unmarshal type TumorGradeCode"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (TumorGradeCode)untypedValue; + switch (value) + { + case TumorGradeCode.G1: + serializer.Serialize(writer, "G1"); + return; + case TumorGradeCode.G2: + serializer.Serialize(writer, "G2"); + return; + case TumorGradeCode.G3: + serializer.Serialize(writer, "G3"); + return; + case TumorGradeCode.G4: + serializer.Serialize(writer, "G4"); + return; + case TumorGradeCode.Gx: + serializer.Serialize(writer, "GX"); + return; + } + throw new Exception("Cannot marshal type TumorGradeCode"); + } + + public static readonly TumorGradeCodeConverter Singleton = new TumorGradeCodeConverter(); + } + + internal class TherapyStatusConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(TherapyStatus) || t == typeof(TherapyStatus?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "completed": + return TherapyStatus.Completed; + case "not-done": + return TherapyStatus.NotDone; + case "on-going": + return TherapyStatus.OnGoing; + case "stopped": + return TherapyStatus.Stopped; + case "unknown": + return TherapyStatus.Unknown; + } + throw new Exception("Cannot unmarshal type TherapyStatus"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (TherapyStatus)untypedValue; + switch (value) + { + case TherapyStatus.Completed: + serializer.Serialize(writer, "completed"); + return; + case TherapyStatus.NotDone: + serializer.Serialize(writer, "not-done"); + return; + case TherapyStatus.OnGoing: + serializer.Serialize(writer, "on-going"); + return; + case TherapyStatus.Stopped: + serializer.Serialize(writer, "stopped"); + return; + case TherapyStatus.Unknown: + serializer.Serialize(writer, "unknown"); + return; + } + throw new Exception("Cannot marshal type TherapyStatus"); + } + + public static readonly TherapyStatusConverter Singleton = new TherapyStatusConverter(); + } + + internal class StatusReasonCodeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(StatusReasonCode) || t == typeof(StatusReasonCode?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "chronic-remission": + return StatusReasonCode.ChronicRemission; + case "continued-externally": + return StatusReasonCode.ContinuedExternally; + case "deterioration": + return StatusReasonCode.Deterioration; + case "lost-to-fu": + return StatusReasonCode.LostToFu; + case "medical-reason": + return StatusReasonCode.MedicalReason; + case "no-indication": + return StatusReasonCode.NoIndication; + case "other": + return StatusReasonCode.Other; + case "other-therapy-chosen": + return StatusReasonCode.OtherTherapyChosen; + case "patient-death": + return StatusReasonCode.PatientDeath; + case "patient-refusal": + return StatusReasonCode.PatientRefusal; + case "patient-wish": + return StatusReasonCode.PatientWish; + case "payment-ended": + return StatusReasonCode.PaymentEnded; + case "payment-pending": + return StatusReasonCode.PaymentPending; + case "payment-refused": + return StatusReasonCode.PaymentRefused; + case "progression": + return StatusReasonCode.Progression; + case "toxicity": + return StatusReasonCode.Toxicity; + case "unknown": + return StatusReasonCode.Unknown; + } + throw new Exception("Cannot unmarshal type StatusReasonCode"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (StatusReasonCode)untypedValue; + switch (value) + { + case StatusReasonCode.ChronicRemission: + serializer.Serialize(writer, "chronic-remission"); + return; + case StatusReasonCode.ContinuedExternally: + serializer.Serialize(writer, "continued-externally"); + return; + case StatusReasonCode.Deterioration: + serializer.Serialize(writer, "deterioration"); + return; + case StatusReasonCode.LostToFu: + serializer.Serialize(writer, "lost-to-fu"); + return; + case StatusReasonCode.MedicalReason: + serializer.Serialize(writer, "medical-reason"); + return; + case StatusReasonCode.NoIndication: + serializer.Serialize(writer, "no-indication"); + return; + case StatusReasonCode.Other: + serializer.Serialize(writer, "other"); + return; + case StatusReasonCode.OtherTherapyChosen: + serializer.Serialize(writer, "other-therapy-chosen"); + return; + case StatusReasonCode.PatientDeath: + serializer.Serialize(writer, "patient-death"); + return; + case StatusReasonCode.PatientRefusal: + serializer.Serialize(writer, "patient-refusal"); + return; + case StatusReasonCode.PatientWish: + serializer.Serialize(writer, "patient-wish"); + return; + case StatusReasonCode.PaymentEnded: + serializer.Serialize(writer, "payment-ended"); + return; + case StatusReasonCode.PaymentPending: + serializer.Serialize(writer, "payment-pending"); + return; + case StatusReasonCode.PaymentRefused: + serializer.Serialize(writer, "payment-refused"); + return; + case StatusReasonCode.Progression: + serializer.Serialize(writer, "progression"); + return; + case StatusReasonCode.Toxicity: + serializer.Serialize(writer, "toxicity"); + return; + case StatusReasonCode.Unknown: + serializer.Serialize(writer, "unknown"); + return; + } + throw new Exception("Cannot marshal type StatusReasonCode"); + } + + public static readonly StatusReasonCodeConverter Singleton = new StatusReasonCodeConverter(); + } + + internal class TumorCellContentMethodConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(TumorCellContentMethod) || t == typeof(TumorCellContentMethod?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "bioinformatic": + return TumorCellContentMethod.Bioinformatic; + case "histologic": + return TumorCellContentMethod.Histologic; + } + throw new Exception("Cannot unmarshal type TumorCellContentMethod"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (TumorCellContentMethod)untypedValue; + switch (value) + { + case TumorCellContentMethod.Bioinformatic: + serializer.Serialize(writer, "bioinformatic"); + return; + case TumorCellContentMethod.Histologic: + serializer.Serialize(writer, "histologic"); + return; + } + throw new Exception("Cannot marshal type TumorCellContentMethod"); + } + + public static readonly TumorCellContentMethodConverter Singleton = new TumorCellContentMethodConverter(); + } + + internal class SpecimenTypeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(SpecimenType) || t == typeof(SpecimenType?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + if (value == "TumorSpecimen") + { + return SpecimenType.TumorSpecimen; + } + throw new Exception("Cannot unmarshal type SpecimenType"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (SpecimenType)untypedValue; + if (value == SpecimenType.TumorSpecimen) + { + serializer.Serialize(writer, "TumorSpecimen"); + return; + } + throw new Exception("Cannot marshal type SpecimenType"); + } + + public static readonly SpecimenTypeConverter Singleton = new SpecimenTypeConverter(); + } + + internal class ChromosomeCodeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(ChromosomeCode) || t == typeof(ChromosomeCode?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "chr1": + return ChromosomeCode.Chr1; + case "chr10": + return ChromosomeCode.Chr10; + case "chr11": + return ChromosomeCode.Chr11; + case "chr12": + return ChromosomeCode.Chr12; + case "chr13": + return ChromosomeCode.Chr13; + case "chr14": + return ChromosomeCode.Chr14; + case "chr15": + return ChromosomeCode.Chr15; + case "chr16": + return ChromosomeCode.Chr16; + case "chr17": + return ChromosomeCode.Chr17; + case "chr18": + return ChromosomeCode.Chr18; + case "chr19": + return ChromosomeCode.Chr19; + case "chr2": + return ChromosomeCode.Chr2; + case "chr20": + return ChromosomeCode.Chr20; + case "chr21": + return ChromosomeCode.Chr21; + case "chr22": + return ChromosomeCode.Chr22; + case "chr3": + return ChromosomeCode.Chr3; + case "chr4": + return ChromosomeCode.Chr4; + case "chr5": + return ChromosomeCode.Chr5; + case "chr6": + return ChromosomeCode.Chr6; + case "chr7": + return ChromosomeCode.Chr7; + case "chr8": + return ChromosomeCode.Chr8; + case "chr9": + return ChromosomeCode.Chr9; + case "chrX": + return ChromosomeCode.ChrX; + case "chrY": + return ChromosomeCode.ChrY; + } + throw new Exception("Cannot unmarshal type ChromosomeCode"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (ChromosomeCode)untypedValue; + switch (value) + { + case ChromosomeCode.Chr1: + serializer.Serialize(writer, "chr1"); + return; + case ChromosomeCode.Chr10: + serializer.Serialize(writer, "chr10"); + return; + case ChromosomeCode.Chr11: + serializer.Serialize(writer, "chr11"); + return; + case ChromosomeCode.Chr12: + serializer.Serialize(writer, "chr12"); + return; + case ChromosomeCode.Chr13: + serializer.Serialize(writer, "chr13"); + return; + case ChromosomeCode.Chr14: + serializer.Serialize(writer, "chr14"); + return; + case ChromosomeCode.Chr15: + serializer.Serialize(writer, "chr15"); + return; + case ChromosomeCode.Chr16: + serializer.Serialize(writer, "chr16"); + return; + case ChromosomeCode.Chr17: + serializer.Serialize(writer, "chr17"); + return; + case ChromosomeCode.Chr18: + serializer.Serialize(writer, "chr18"); + return; + case ChromosomeCode.Chr19: + serializer.Serialize(writer, "chr19"); + return; + case ChromosomeCode.Chr2: + serializer.Serialize(writer, "chr2"); + return; + case ChromosomeCode.Chr20: + serializer.Serialize(writer, "chr20"); + return; + case ChromosomeCode.Chr21: + serializer.Serialize(writer, "chr21"); + return; + case ChromosomeCode.Chr22: + serializer.Serialize(writer, "chr22"); + return; + case ChromosomeCode.Chr3: + serializer.Serialize(writer, "chr3"); + return; + case ChromosomeCode.Chr4: + serializer.Serialize(writer, "chr4"); + return; + case ChromosomeCode.Chr5: + serializer.Serialize(writer, "chr5"); + return; + case ChromosomeCode.Chr6: + serializer.Serialize(writer, "chr6"); + return; + case ChromosomeCode.Chr7: + serializer.Serialize(writer, "chr7"); + return; + case ChromosomeCode.Chr8: + serializer.Serialize(writer, "chr8"); + return; + case ChromosomeCode.Chr9: + serializer.Serialize(writer, "chr9"); + return; + case ChromosomeCode.ChrX: + serializer.Serialize(writer, "chrX"); + return; + case ChromosomeCode.ChrY: + serializer.Serialize(writer, "chrY"); + return; + } + throw new Exception("Cannot marshal type ChromosomeCode"); + } + + public static readonly ChromosomeCodeConverter Singleton = new ChromosomeCodeConverter(); + } + + internal class ChromosomeSystemConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(ChromosomeSystem) || t == typeof(ChromosomeSystem?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + if (value == "chromosome") + { + return ChromosomeSystem.Chromosome; + } + throw new Exception("Cannot unmarshal type ChromosomeSystem"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (ChromosomeSystem)untypedValue; + if (value == ChromosomeSystem.Chromosome) + { + serializer.Serialize(writer, "chromosome"); + return; + } + throw new Exception("Cannot marshal type ChromosomeSystem"); + } + + public static readonly ChromosomeSystemConverter Singleton = new ChromosomeSystemConverter(); + } + + internal class GeneSystemConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(GeneSystem) || t == typeof(GeneSystem?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + if (value == "https://www.genenames.org/") + { + return GeneSystem.HttpsWwwGenenamesOrg; + } + throw new Exception("Cannot unmarshal type GeneSystem"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (GeneSystem)untypedValue; + if (value == GeneSystem.HttpsWwwGenenamesOrg) + { + serializer.Serialize(writer, "https://www.genenames.org/"); + return; + } + throw new Exception("Cannot marshal type GeneSystem"); + } + + public static readonly GeneSystemConverter Singleton = new GeneSystemConverter(); + } + + internal class CnvTypeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(CnvType) || t == typeof(CnvType?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "high-level-gain": + return CnvType.HighLevelGain; + case "loss": + return CnvType.Loss; + case "low-level-gain": + return CnvType.LowLevelGain; + } + throw new Exception("Cannot unmarshal type CnvType"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (CnvType)untypedValue; + switch (value) + { + case CnvType.HighLevelGain: + serializer.Serialize(writer, "high-level-gain"); + return; + case CnvType.Loss: + serializer.Serialize(writer, "loss"); + return; + case CnvType.LowLevelGain: + serializer.Serialize(writer, "low-level-gain"); + return; + } + throw new Exception("Cannot marshal type CnvType"); + } + + public static readonly CnvTypeConverter Singleton = new CnvTypeConverter(); + } + + internal class RnaFusionStrandConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(RnaFusionStrand) || t == typeof(RnaFusionStrand?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "+": + return RnaFusionStrand.Empty; + case "-": + return RnaFusionStrand.RnaFusionStrand; + } + throw new Exception("Cannot unmarshal type RnaFusionStrand"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (RnaFusionStrand)untypedValue; + switch (value) + { + case RnaFusionStrand.Empty: + serializer.Serialize(writer, "+"); + return; + case RnaFusionStrand.RnaFusionStrand: + serializer.Serialize(writer, "-"); + return; + } + throw new Exception("Cannot marshal type RnaFusionStrand"); + } + + public static readonly RnaFusionStrandConverter Singleton = new RnaFusionStrandConverter(); + } + + internal class UnitConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(Unit) || t == typeof(Unit?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + if (value == "Years") + { + return Unit.Years; + } + throw new Exception("Cannot unmarshal type Unit"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (Unit)untypedValue; + if (value == Unit.Years) + { + serializer.Serialize(writer, "Years"); + return; + } + throw new Exception("Cannot marshal type Unit"); + } + + public static readonly UnitConverter Singleton = new UnitConverter(); + } + + internal class GenderConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(Gender) || t == typeof(Gender?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "female": + return Gender.Female; + case "male": + return Gender.Male; + case "other": + return Gender.Other; + case "unknown": + return Gender.Unknown; + } + throw new Exception("Cannot unmarshal type Gender"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (Gender)untypedValue; + switch (value) + { + case Gender.Female: + serializer.Serialize(writer, "female"); + return; + case Gender.Male: + serializer.Serialize(writer, "male"); + return; + case Gender.Other: + serializer.Serialize(writer, "other"); + return; + case Gender.Unknown: + serializer.Serialize(writer, "unknown"); + return; + } + throw new Exception("Cannot marshal type Gender"); + } + + public static readonly GenderConverter Singleton = new GenderConverter(); + } + + internal class TypeEnumConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(TypeEnum) || t == typeof(TypeEnum?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + if (value == "Organization") + { + return TypeEnum.Organization; + } + throw new Exception("Cannot unmarshal type TypeEnum"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (TypeEnum)untypedValue; + if (value == TypeEnum.Organization) + { + serializer.Serialize(writer, "Organization"); + return; + } + throw new Exception("Cannot marshal type TypeEnum"); + } + + public static readonly TypeEnumConverter Singleton = new TypeEnumConverter(); + } + + internal class VitalStatusCodeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(VitalStatusCode) || t == typeof(VitalStatusCode?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "alive": + return VitalStatusCode.Alive; + case "deceased": + return VitalStatusCode.Deceased; + } + throw new Exception("Cannot unmarshal type VitalStatusCode"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (VitalStatusCode)untypedValue; + switch (value) + { + case VitalStatusCode.Alive: + serializer.Serialize(writer, "alive"); + return; + case VitalStatusCode.Deceased: + serializer.Serialize(writer, "deceased"); + return; + } + throw new Exception("Cannot marshal type VitalStatusCode"); + } + + public static readonly VitalStatusCodeConverter Singleton = new VitalStatusCodeConverter(); + } + + internal class PurpleCodeConverter : JsonConverter + { + public override bool CanConvert(Type t) => t == typeof(PurpleCode) || t == typeof(PurpleCode?); + + public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) + { + if (reader.TokenType == JsonToken.Null) return null; + var value = serializer.Deserialize(reader); + switch (value) + { + case "0": + return PurpleCode.Code0; + case "1": + return PurpleCode.Code1; + case "2": + return PurpleCode.Code2; + case "3": + return PurpleCode.Code3; + case "4": + return PurpleCode.Code3; + } + throw new Exception("Cannot unmarshal type PurpleCode"); + } + + public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) + { + if (untypedValue == null) + { + serializer.Serialize(writer, null); + return; + } + var value = (PurpleCode)untypedValue; + switch (value) + { + case PurpleCode.Code0: + serializer.Serialize(writer, "0"); + return; + case PurpleCode.Code1: + serializer.Serialize(writer, "1"); + return; + case PurpleCode.Code2: + serializer.Serialize(writer, "2"); + return; + case PurpleCode.Code3: + serializer.Serialize(writer, "3"); + return; + case PurpleCode.Code4: + serializer.Serialize(writer, "4"); + return; + } + throw new Exception("Cannot marshal type PurpleCode"); + } + + public static readonly PurpleCodeConverter Singleton = new PurpleCodeConverter(); + } + internal class ResponseTherapyTypeConverter : JsonConverter { public override bool CanConvert(Type t) => t == typeof(ResponseTherapyType) || t == typeof(ResponseTherapyType?);