1
0
mirror of https://github.com/dnpm-dip/mv64e-mtb-dto-go.git synced 2025-07-02 02:42:54 +00:00

Add IHC report and Therapies

This commit is contained in:
2024-12-24 13:46:16 +01:00
parent 493e06976b
commit 03b6788833

140
mtb.go
View File

@ -23,6 +23,7 @@ type Mtb struct {
GuidelineProcedures []OncoProdecure `json:"guidelineProcedures,omitempty"` GuidelineProcedures []OncoProdecure `json:"guidelineProcedures,omitempty"`
GuidelineTherapies []GuidelineTherapyElement `json:"guidelineTherapies,omitempty"` GuidelineTherapies []GuidelineTherapyElement `json:"guidelineTherapies,omitempty"`
HistologyReports []HistologyReport `json:"histologyReports,omitempty"` HistologyReports []HistologyReport `json:"histologyReports,omitempty"`
IhcReports []IHCReport `json:"ihcReports,omitempty"`
MolecularTherapies []MolecularTherapy `json:"molecularTherapies,omitempty"` MolecularTherapies []MolecularTherapy `json:"molecularTherapies,omitempty"`
NgsReports []SomaticNGSReport `json:"ngsReports,omitempty"` NgsReports []SomaticNGSReport `json:"ngsReports,omitempty"`
Patient MtbPatient `json:"patient"` Patient MtbPatient `json:"patient"`
@ -31,6 +32,7 @@ type Mtb struct {
Responses []Response `json:"responses,omitempty"` Responses []Response `json:"responses,omitempty"`
Specimens []SpecimenElement `json:"specimens,omitempty"` Specimens []SpecimenElement `json:"specimens,omitempty"`
StudyInclusionRequests []StudyEnrollmentRecommendation `json:"studyInclusionRequests,omitempty"` StudyInclusionRequests []StudyEnrollmentRecommendation `json:"studyInclusionRequests,omitempty"`
Therapies []Therapy `json:"therapies,omitempty"`
} }
type MTBCarePlan struct { type MTBCarePlan struct {
@ -267,7 +269,7 @@ type CodingTherapyStatusReason struct {
} }
type GuidelineTherapyElement struct { type GuidelineTherapyElement struct {
BasedOn *string `json:"basedOn,omitempty"` BasedOn *Reference `json:"basedOn,omitempty"`
Diagnosis *string `json:"diagnosis,omitempty"` Diagnosis *string `json:"diagnosis,omitempty"`
ID string `json:"id"` ID string `json:"id"`
Indication *Reference `json:"indication,omitempty"` Indication *Reference `json:"indication,omitempty"`
@ -331,6 +333,63 @@ type HistologyReportSpecimen struct {
Type SpecimenType `json:"type"` Type SpecimenType `json:"type"`
} }
type IHCReport struct {
BlockID ExternalID `json:"blockId"`
Date string `json:"date"`
ID string `json:"id"`
JournalID ExternalID `json:"journalId"`
MSIMmrResults []MSIMmrResult `json:"msiMmrResults"`
Patient Reference `json:"patient"`
ProteinExpressionResults []ProteinExpressionResult `json:"proteinExpressionResults"`
Specimen Reference `json:"specimen"`
}
type ExternalID struct {
System *string `json:"system,omitempty"`
Value string `json:"value"`
}
type MSIMmrResult struct {
ICScore *CodingProteinExpressionICScore `json:"icScore,omitempty"`
ID string `json:"id"`
Patient Reference `json:"patient"`
Protein Coding `json:"protein"`
TcScore *CodingProteinExpressionTCScore `json:"tcScore,omitempty"`
TpsScore *int64 `json:"tpsScore,omitempty"`
Value CodingProteinExpressionResult `json:"value"`
}
type CodingProteinExpressionICScore struct {
Code ICScoreCode `json:"code"`
Display *string `json:"display,omitempty"`
System *string `json:"system,omitempty"`
Version *string `json:"version,omitempty"`
}
type CodingProteinExpressionTCScore struct {
Code TcScoreCode `json:"code"`
Display *string `json:"display,omitempty"`
System *string `json:"system,omitempty"`
Version *string `json:"version,omitempty"`
}
type CodingProteinExpressionResult struct {
Code ProteinExpressionResultCode `json:"code"`
Display *string `json:"display,omitempty"`
System *string `json:"system,omitempty"`
Version *string `json:"version,omitempty"`
}
type ProteinExpressionResult struct {
ICScore *CodingProteinExpressionICScore `json:"icScore,omitempty"`
ID string `json:"id"`
Patient Reference `json:"patient"`
Protein Coding `json:"protein"`
TcScore *CodingProteinExpressionTCScore `json:"tcScore,omitempty"`
TpsScore *int64 `json:"tpsScore,omitempty"`
Value CodingProteinExpressionResult `json:"value"`
}
type MolecularTherapy struct { type MolecularTherapy struct {
History []GuidelineTherapyElement `json:"history"` History []GuidelineTherapyElement `json:"history"`
} }
@ -522,11 +581,6 @@ type Snv struct {
TranscriptID *ExternalID `json:"transcriptId,omitempty"` TranscriptID *ExternalID `json:"transcriptId,omitempty"`
} }
type ExternalID struct {
System *string `json:"system,omitempty"`
Value string `json:"value"`
}
type Position struct { type Position struct {
End *float64 `json:"end,omitempty"` End *float64 `json:"end,omitempty"`
Start float64 `json:"start"` Start float64 `json:"start"`
@ -597,10 +651,10 @@ type PerformanceStatus struct {
} }
type CodingECOG struct { type CodingECOG struct {
Code PurpleCode `json:"code"` Code EcogCode `json:"code"`
Display *string `json:"display,omitempty"` Display *string `json:"display,omitempty"`
System *string `json:"system,omitempty"` System *string `json:"system,omitempty"`
Version *string `json:"version,omitempty"` Version *string `json:"version,omitempty"`
} }
type Response struct { type Response struct {
@ -617,7 +671,7 @@ type ResponseTherapy struct {
} }
type CodingRECIST struct { type CodingRECIST struct {
Code FluffyCode `json:"code"` Code RecistCode `json:"code"`
Display *string `json:"display,omitempty"` Display *string `json:"display,omitempty"`
System *string `json:"system,omitempty"` System *string `json:"system,omitempty"`
Version *string `json:"version,omitempty"` Version *string `json:"version,omitempty"`
@ -660,6 +714,10 @@ type CodingTumorSpecimenType struct {
System *string `json:"system,omitempty"` System *string `json:"system,omitempty"`
} }
type Therapy struct {
History []GuidelineTherapyElement `json:"history"`
}
type PatientType string type PatientType string
const ( const (
@ -795,6 +853,38 @@ const (
TumorSpecimen SpecimenType = "TumorSpecimen" TumorSpecimen SpecimenType = "TumorSpecimen"
) )
type ICScoreCode string
const (
ICScoreCode0 ICScoreCode = "0"
ICScoreCode1 ICScoreCode = "1"
ICScoreCode2 ICScoreCode = "2"
ICScoreCode3 ICScoreCode = "3"
)
type TcScoreCode string
const (
TcScoreCode0 TcScoreCode = "0"
TcScoreCode1 TcScoreCode = "1"
TcScoreCode2 TcScoreCode = "2"
TcScoreCode3 TcScoreCode = "3"
TcScoreCode4 TcScoreCode = "4"
TcScoreCode5 TcScoreCode = "5"
TcScoreCode6 TcScoreCode = "6"
)
type ProteinExpressionResultCode string
const (
Exp ProteinExpressionResultCode = "exp"
NotExp ProteinExpressionResultCode = "not-exp"
TentacledUnknown ProteinExpressionResultCode = "unknown"
ProteinExpressionResultCode1Plus ProteinExpressionResultCode = "1+"
ProteinExpressionResultCode2Plus ProteinExpressionResultCode = "2+"
ProteinExpressionResultCode3Plus ProteinExpressionResultCode = "3+"
)
type ChromosomeCode string type ChromosomeCode string
const ( const (
@ -879,14 +969,14 @@ const (
Deceased VitalStatusCode = "deceased" Deceased VitalStatusCode = "deceased"
) )
type PurpleCode string type EcogCode string
const ( const (
Code1 PurpleCode = "1" EcogCode0 EcogCode = "0"
Code2 PurpleCode = "2" EcogCode1 EcogCode = "1"
Code3 PurpleCode = "3" EcogCode2 EcogCode = "2"
Code4 PurpleCode = "4" EcogCode3 EcogCode = "3"
Code0 PurpleCode = "0" EcogCode4 EcogCode = "4"
) )
type ResponseTherapyType string type ResponseTherapyType string
@ -895,16 +985,16 @@ const (
MTBMedicationTherapy ResponseTherapyType = "MTBMedicationTherapy" MTBMedicationTherapy ResponseTherapyType = "MTBMedicationTherapy"
) )
type FluffyCode string type RecistCode string
const ( const (
CR FluffyCode = "CR" CR RecistCode = "CR"
Mr FluffyCode = "MR" Mr RecistCode = "MR"
Na FluffyCode = "NA" Na RecistCode = "NA"
Nya FluffyCode = "NYA" Nya RecistCode = "NYA"
PD FluffyCode = "PD" PD RecistCode = "PD"
PR FluffyCode = "PR" PR RecistCode = "PR"
SD FluffyCode = "SD" SD RecistCode = "SD"
) )
type TumorSpecimenCollectionLocalization string type TumorSpecimenCollectionLocalization string