@erosolaraijs/cure 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/bin/cure.js +114 -1
- package/dist/bin/cure.js.map +1 -1
- package/dist/capabilities/clinicalTrialMatchingModule.d.ts +150 -0
- package/dist/capabilities/clinicalTrialMatchingModule.d.ts.map +1 -0
- package/dist/capabilities/clinicalTrialMatchingModule.js +436 -0
- package/dist/capabilities/clinicalTrialMatchingModule.js.map +1 -0
- package/dist/capabilities/emergencyOncology.d.ts +97 -0
- package/dist/capabilities/emergencyOncology.d.ts.map +1 -0
- package/dist/capabilities/emergencyOncology.js +1824 -0
- package/dist/capabilities/emergencyOncology.js.map +1 -0
- package/dist/capabilities/index.d.ts +10 -0
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +20 -0
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/multimodalOncologyModule.d.ts +149 -0
- package/dist/capabilities/multimodalOncologyModule.d.ts.map +1 -0
- package/dist/capabilities/multimodalOncologyModule.js +701 -0
- package/dist/capabilities/multimodalOncologyModule.js.map +1 -0
- package/dist/capabilities/palliativeCareModule.d.ts +216 -0
- package/dist/capabilities/palliativeCareModule.d.ts.map +1 -0
- package/dist/capabilities/palliativeCareModule.js +1160 -0
- package/dist/capabilities/palliativeCareModule.js.map +1 -0
- package/dist/capabilities/precisionMedicineModule.d.ts +151 -0
- package/dist/capabilities/precisionMedicineModule.d.ts.map +1 -0
- package/dist/capabilities/precisionMedicineModule.js +758 -0
- package/dist/capabilities/precisionMedicineModule.js.map +1 -0
- package/dist/capabilities/specialPopulationsModule.d.ts +126 -0
- package/dist/capabilities/specialPopulationsModule.d.ts.map +1 -0
- package/dist/capabilities/specialPopulationsModule.js +574 -0
- package/dist/capabilities/specialPopulationsModule.js.map +1 -0
- package/dist/capabilities/survivorshipManagement.d.ts +178 -0
- package/dist/capabilities/survivorshipManagement.d.ts.map +1 -0
- package/dist/capabilities/survivorshipManagement.js +983 -0
- package/dist/capabilities/survivorshipManagement.js.map +1 -0
- package/dist/capabilities/treatmentSequencing.d.ts +140 -0
- package/dist/capabilities/treatmentSequencing.d.ts.map +1 -0
- package/dist/capabilities/treatmentSequencing.js +1689 -0
- package/dist/capabilities/treatmentSequencing.js.map +1 -0
- package/dist/capabilities/universalHealthFramework.d.ts +108 -0
- package/dist/capabilities/universalHealthFramework.d.ts.map +1 -0
- package/dist/capabilities/universalHealthFramework.js +615 -0
- package/dist/capabilities/universalHealthFramework.js.map +1 -0
- package/dist/compliance/hipaa.d.ts.map +1 -1
- package/dist/compliance/hipaa.js +7 -16
- package/dist/compliance/hipaa.js.map +1 -1
- package/dist/tools/index.d.ts +31 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +1373 -0
- package/dist/tools/index.js.map +1 -0
- package/package.json +3 -2
- package/src/bin/cure.ts +130 -1
- package/src/capabilities/clinicalTrialMatchingModule.ts +600 -0
- package/src/capabilities/emergencyOncology.ts +1945 -0
- package/src/capabilities/index.ts +181 -0
- package/src/capabilities/multimodalOncologyModule.ts +873 -0
- package/src/capabilities/palliativeCareModule.ts +1438 -0
- package/src/capabilities/precisionMedicineModule.ts +952 -0
- package/src/capabilities/specialPopulationsModule.ts +711 -0
- package/src/capabilities/survivorshipManagement.ts +1213 -0
- package/src/capabilities/treatmentSequencing.ts +1878 -0
- package/src/capabilities/universalHealthFramework.ts +739 -0
- package/src/compliance/hipaa.ts +7 -15
- package/src/tools/index.ts +1628 -0
|
@@ -0,0 +1,873 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multimodal Oncology - Radiation and Surgical Oncology Integration
|
|
3
|
+
*
|
|
4
|
+
* ╔═══════════════════════════════════════════════════════════════════════════════╗
|
|
5
|
+
* ║ MULTIMODAL ONCOLOGY - RADIATION AND SURGICAL TREATMENT INTEGRATION ║
|
|
6
|
+
* ╠═══════════════════════════════════════════════════════════════════════════════╣
|
|
7
|
+
* ║ This module provides: ║
|
|
8
|
+
* ║ - Radiation oncology protocols and dose calculations ║
|
|
9
|
+
* ║ - Surgical oncology decision support ║
|
|
10
|
+
* ║ - Multimodal treatment sequencing ║
|
|
11
|
+
* ║ - Toxicity prediction and management ║
|
|
12
|
+
* ║ - Re-irradiation considerations ║
|
|
13
|
+
* ╚═══════════════════════════════════════════════════════════════════════════════╝
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
17
|
+
// RADIATION ONCOLOGY DEFINITIONS
|
|
18
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
19
|
+
|
|
20
|
+
export interface RadiationProtocol {
|
|
21
|
+
indication: string;
|
|
22
|
+
intent: 'Curative' | 'Adjuvant' | 'Neoadjuvant' | 'Palliative' | 'Definitive';
|
|
23
|
+
technique: RadiationTechnique;
|
|
24
|
+
fractionation: FractionationScheme[];
|
|
25
|
+
targetVolumes: TargetVolume[];
|
|
26
|
+
organAtRiskConstraints: OARConstraint[];
|
|
27
|
+
combinationTherapy?: ConcurrentTherapy;
|
|
28
|
+
expectedOutcomes: RadiationOutcome;
|
|
29
|
+
toxicityProfile: RadiationToxicity;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface RadiationTechnique {
|
|
33
|
+
modality: 'Photon EBRT' | 'IMRT' | 'VMAT' | 'SBRT/SABR' | 'SRS' | 'Proton' | 'Carbon Ion' | 'Brachytherapy' | 'TBI';
|
|
34
|
+
deliveryMethod: string;
|
|
35
|
+
imagingGuidance: string[];
|
|
36
|
+
motionManagement?: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface FractionationScheme {
|
|
40
|
+
name: string;
|
|
41
|
+
totalDose: number;
|
|
42
|
+
fractions: number;
|
|
43
|
+
dosePerFraction: number;
|
|
44
|
+
schedule: string;
|
|
45
|
+
indication: string;
|
|
46
|
+
biologicalEquivalentDose?: number; // BED
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface TargetVolume {
|
|
50
|
+
name: 'GTV' | 'CTV' | 'PTV' | 'ITV';
|
|
51
|
+
description: string;
|
|
52
|
+
margin: string;
|
|
53
|
+
dose: number;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface OARConstraint {
|
|
57
|
+
organ: string;
|
|
58
|
+
constraint: string;
|
|
59
|
+
toxicityEndpoint: string;
|
|
60
|
+
priority: 'Hard' | 'Soft';
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface ConcurrentTherapy {
|
|
64
|
+
agent: string;
|
|
65
|
+
schedule: string;
|
|
66
|
+
rationale: string;
|
|
67
|
+
precautions: string[];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface RadiationOutcome {
|
|
71
|
+
localControl: string;
|
|
72
|
+
survivalBenefit: string;
|
|
73
|
+
evidenceBasis: string;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface RadiationToxicity {
|
|
77
|
+
acute: ToxicityEvent[];
|
|
78
|
+
late: ToxicityEvent[];
|
|
79
|
+
managementStrategies: string[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface ToxicityEvent {
|
|
83
|
+
type: string;
|
|
84
|
+
incidence: string;
|
|
85
|
+
severity: string;
|
|
86
|
+
timing: string;
|
|
87
|
+
management: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
91
|
+
// RADIATION PROTOCOLS BY SITE
|
|
92
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
93
|
+
|
|
94
|
+
export const RADIATION_PROTOCOLS: Record<string, RadiationProtocol[]> = {
|
|
95
|
+
'lung-nsclc-early': [
|
|
96
|
+
{
|
|
97
|
+
indication: 'Early-stage NSCLC (Stage I-II) - Medically Inoperable',
|
|
98
|
+
intent: 'Curative',
|
|
99
|
+
technique: {
|
|
100
|
+
modality: 'SBRT/SABR',
|
|
101
|
+
deliveryMethod: 'VMAT or 3D-CRT',
|
|
102
|
+
imagingGuidance: ['CBCT', '4D-CT for motion assessment'],
|
|
103
|
+
motionManagement: 'Abdominal compression, gating, or tracking'
|
|
104
|
+
},
|
|
105
|
+
fractionation: [
|
|
106
|
+
{
|
|
107
|
+
name: 'Standard SBRT',
|
|
108
|
+
totalDose: 54,
|
|
109
|
+
fractions: 3,
|
|
110
|
+
dosePerFraction: 18,
|
|
111
|
+
schedule: 'Every other day x 3',
|
|
112
|
+
indication: 'Peripheral tumors',
|
|
113
|
+
biologicalEquivalentDose: 151
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: 'Central SBRT',
|
|
117
|
+
totalDose: 50,
|
|
118
|
+
fractions: 5,
|
|
119
|
+
dosePerFraction: 10,
|
|
120
|
+
schedule: 'Daily or every other day x 5',
|
|
121
|
+
indication: 'Central tumors (within 2cm of bronchial tree)',
|
|
122
|
+
biologicalEquivalentDose: 100
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: 'Ultra-central',
|
|
126
|
+
totalDose: 60,
|
|
127
|
+
fractions: 8,
|
|
128
|
+
dosePerFraction: 7.5,
|
|
129
|
+
schedule: 'Every other day',
|
|
130
|
+
indication: 'Ultra-central tumors',
|
|
131
|
+
biologicalEquivalentDose: 105
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
targetVolumes: [
|
|
135
|
+
{ name: 'GTV', description: 'Gross tumor on imaging', margin: '0', dose: 54 },
|
|
136
|
+
{ name: 'ITV', description: 'Internal target volume (4D-CT)', margin: 'Motion envelope', dose: 54 },
|
|
137
|
+
{ name: 'PTV', description: 'Planning target volume', margin: '3-5mm from ITV', dose: 54 }
|
|
138
|
+
],
|
|
139
|
+
organAtRiskConstraints: [
|
|
140
|
+
{ organ: 'Spinal cord', constraint: 'Dmax < 18 Gy (3 fx) or 30 Gy (5 fx)', toxicityEndpoint: 'Myelopathy', priority: 'Hard' },
|
|
141
|
+
{ organ: 'Esophagus', constraint: 'Dmax < 25 Gy (3 fx)', toxicityEndpoint: 'Esophagitis, stricture', priority: 'Hard' },
|
|
142
|
+
{ organ: 'Heart', constraint: 'Dmax < 30 Gy (3 fx)', toxicityEndpoint: 'Pericarditis', priority: 'Hard' },
|
|
143
|
+
{ organ: 'Brachial plexus', constraint: 'Dmax < 24 Gy (3 fx)', toxicityEndpoint: 'Plexopathy', priority: 'Hard' },
|
|
144
|
+
{ organ: 'Chest wall', constraint: 'V30 < 30cc', toxicityEndpoint: 'Rib fracture, pain', priority: 'Soft' }
|
|
145
|
+
],
|
|
146
|
+
expectedOutcomes: {
|
|
147
|
+
localControl: '90-95% at 3 years',
|
|
148
|
+
survivalBenefit: '50-60% OS at 3 years for inoperable patients',
|
|
149
|
+
evidenceBasis: 'RTOG 0236, RTOG 0618, Multiple institutional series'
|
|
150
|
+
},
|
|
151
|
+
toxicityProfile: {
|
|
152
|
+
acute: [
|
|
153
|
+
{ type: 'Fatigue', incidence: '30-50%', severity: 'Mild-moderate', timing: 'During treatment', management: 'Supportive care' },
|
|
154
|
+
{ type: 'Cough', incidence: '20-30%', severity: 'Mild', timing: '1-2 weeks post-treatment', management: 'Antitussives' }
|
|
155
|
+
],
|
|
156
|
+
late: [
|
|
157
|
+
{ type: 'Radiation pneumonitis', incidence: '10-15%', severity: 'Grade 2-3 in 5%', timing: '1-6 months', management: 'Steroids if symptomatic' },
|
|
158
|
+
{ type: 'Chest wall pain/rib fracture', incidence: '5-10%', severity: 'Mild-moderate', timing: '6-24 months', management: 'Analgesics' }
|
|
159
|
+
],
|
|
160
|
+
managementStrategies: ['Baseline and follow-up PFTs', 'CT surveillance', 'Smoking cessation']
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
],
|
|
164
|
+
'lung-nsclc-locally-advanced': [
|
|
165
|
+
{
|
|
166
|
+
indication: 'Locally Advanced NSCLC (Stage III) - Definitive Chemoradiation',
|
|
167
|
+
intent: 'Definitive',
|
|
168
|
+
technique: {
|
|
169
|
+
modality: 'IMRT',
|
|
170
|
+
deliveryMethod: 'VMAT preferred',
|
|
171
|
+
imagingGuidance: ['Daily CBCT', '4D-CT planning'],
|
|
172
|
+
motionManagement: 'ITV approach or gating'
|
|
173
|
+
},
|
|
174
|
+
fractionation: [
|
|
175
|
+
{
|
|
176
|
+
name: 'Standard fractionation',
|
|
177
|
+
totalDose: 60,
|
|
178
|
+
fractions: 30,
|
|
179
|
+
dosePerFraction: 2,
|
|
180
|
+
schedule: 'Daily, Monday-Friday',
|
|
181
|
+
indication: 'Standard for concurrent chemoradiation',
|
|
182
|
+
biologicalEquivalentDose: 72
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
targetVolumes: [
|
|
186
|
+
{ name: 'GTV', description: 'Primary tumor + involved nodes', margin: '0', dose: 60 },
|
|
187
|
+
{ name: 'CTV', description: 'GTV + microscopic extension', margin: '5-8mm (anatomically constrained)', dose: 60 },
|
|
188
|
+
{ name: 'PTV', description: 'CTV + setup uncertainty', margin: '5mm', dose: 60 }
|
|
189
|
+
],
|
|
190
|
+
organAtRiskConstraints: [
|
|
191
|
+
{ organ: 'Lung (bilateral)', constraint: 'V20 < 35%, Mean lung dose < 20 Gy', toxicityEndpoint: 'Pneumonitis', priority: 'Soft' },
|
|
192
|
+
{ organ: 'Spinal cord', constraint: 'Dmax < 45 Gy', toxicityEndpoint: 'Myelopathy', priority: 'Hard' },
|
|
193
|
+
{ organ: 'Esophagus', constraint: 'Mean < 34 Gy, V60 < 17%', toxicityEndpoint: 'Esophagitis', priority: 'Soft' },
|
|
194
|
+
{ organ: 'Heart', constraint: 'Mean < 26 Gy, V50 < 25%', toxicityEndpoint: 'Cardiac toxicity', priority: 'Soft' }
|
|
195
|
+
],
|
|
196
|
+
combinationTherapy: {
|
|
197
|
+
agent: 'Platinum-doublet (cisplatin/etoposide or carboplatin/paclitaxel)',
|
|
198
|
+
schedule: 'Weekly or every 3 weeks during radiation',
|
|
199
|
+
rationale: 'Radiosensitization, improved survival',
|
|
200
|
+
precautions: ['Monitor counts', 'Nephrotoxicity with cisplatin', 'Esophagitis may be worse']
|
|
201
|
+
},
|
|
202
|
+
expectedOutcomes: {
|
|
203
|
+
localControl: '60-70% at 2 years',
|
|
204
|
+
survivalBenefit: 'Median OS 28-29 months with durvalumab consolidation',
|
|
205
|
+
evidenceBasis: 'RTOG 0617, PACIFIC trial'
|
|
206
|
+
},
|
|
207
|
+
toxicityProfile: {
|
|
208
|
+
acute: [
|
|
209
|
+
{ type: 'Esophagitis', incidence: '60-80%', severity: 'Grade 3 in 15-20%', timing: 'Weeks 3-6', management: 'Lidocaine viscous, PPI, soft diet' },
|
|
210
|
+
{ type: 'Fatigue', incidence: '80%', severity: 'Moderate', timing: 'Throughout', management: 'Rest, activity as tolerated' },
|
|
211
|
+
{ type: 'Myelosuppression', incidence: '50-70%', severity: 'Variable', timing: 'Throughout', management: 'Hold chemo if needed, G-CSF' }
|
|
212
|
+
],
|
|
213
|
+
late: [
|
|
214
|
+
{ type: 'Radiation pneumonitis', incidence: '15-30%', severity: 'Grade 3 in 5-10%', timing: '1-6 months', management: 'Steroids' },
|
|
215
|
+
{ type: 'Cardiac events', incidence: '5-10%', severity: 'Variable', timing: 'Years', management: 'Cardiology follow-up' }
|
|
216
|
+
],
|
|
217
|
+
managementStrategies: ['Weekly on-treatment visits', 'Nutritional support', 'PFT monitoring']
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
'breast-adjuvant': [
|
|
222
|
+
{
|
|
223
|
+
indication: 'Breast Cancer - Adjuvant Whole Breast Radiation after Lumpectomy',
|
|
224
|
+
intent: 'Adjuvant',
|
|
225
|
+
technique: {
|
|
226
|
+
modality: 'IMRT',
|
|
227
|
+
deliveryMethod: 'Tangential fields or VMAT',
|
|
228
|
+
imagingGuidance: ['Surface guidance (AlignRT)', 'CBCT weekly'],
|
|
229
|
+
motionManagement: 'Deep inspiration breath hold (DIBH) for left-sided'
|
|
230
|
+
},
|
|
231
|
+
fractionation: [
|
|
232
|
+
{
|
|
233
|
+
name: 'Conventional fractionation',
|
|
234
|
+
totalDose: 50,
|
|
235
|
+
fractions: 25,
|
|
236
|
+
dosePerFraction: 2,
|
|
237
|
+
schedule: 'Daily, Monday-Friday',
|
|
238
|
+
indication: 'Standard approach',
|
|
239
|
+
biologicalEquivalentDose: 60
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
name: 'Hypofractionation',
|
|
243
|
+
totalDose: 40,
|
|
244
|
+
fractions: 15,
|
|
245
|
+
dosePerFraction: 2.67,
|
|
246
|
+
schedule: 'Daily, Monday-Friday',
|
|
247
|
+
indication: 'Preferred for most patients',
|
|
248
|
+
biologicalEquivalentDose: 58
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'Ultra-hypofractionation',
|
|
252
|
+
totalDose: 26,
|
|
253
|
+
fractions: 5,
|
|
254
|
+
dosePerFraction: 5.2,
|
|
255
|
+
schedule: 'Weekly x 5',
|
|
256
|
+
indication: 'Select patients, FAST-Forward regimen',
|
|
257
|
+
biologicalEquivalentDose: 54
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
targetVolumes: [
|
|
261
|
+
{ name: 'CTV', description: 'Whole breast (chest wall if mastectomy)', margin: 'Anatomic', dose: 40 },
|
|
262
|
+
{ name: 'PTV', description: 'CTV + setup margin', margin: '5mm (skin flash)', dose: 40 }
|
|
263
|
+
],
|
|
264
|
+
organAtRiskConstraints: [
|
|
265
|
+
{ organ: 'Heart (left-sided)', constraint: 'Mean < 4 Gy, V25 < 10%', toxicityEndpoint: 'Coronary disease', priority: 'Soft' },
|
|
266
|
+
{ organ: 'Lung (ipsilateral)', constraint: 'V20 < 30%', toxicityEndpoint: 'Pneumonitis', priority: 'Soft' },
|
|
267
|
+
{ organ: 'Contralateral breast', constraint: 'Mean < 3 Gy', toxicityEndpoint: 'Second malignancy', priority: 'Soft' }
|
|
268
|
+
],
|
|
269
|
+
expectedOutcomes: {
|
|
270
|
+
localControl: 'Reduces local recurrence by 50%',
|
|
271
|
+
survivalBenefit: '5-10% improvement in breast cancer-specific survival at 15 years',
|
|
272
|
+
evidenceBasis: 'EBCTCG meta-analysis, START trials, FAST-Forward'
|
|
273
|
+
},
|
|
274
|
+
toxicityProfile: {
|
|
275
|
+
acute: [
|
|
276
|
+
{ type: 'Skin reaction (erythema, desquamation)', incidence: '90%', severity: 'Grade 2-3 in 30%', timing: 'Weeks 3-6', management: 'Aquaphor, Silvadene if moist' },
|
|
277
|
+
{ type: 'Fatigue', incidence: '60%', severity: 'Mild-moderate', timing: 'Throughout', management: 'Rest' }
|
|
278
|
+
],
|
|
279
|
+
late: [
|
|
280
|
+
{ type: 'Breast fibrosis/cosmetic change', incidence: '10-20%', severity: 'Mild in most', timing: 'Months-years', management: 'Pentoxifylline/vitamin E' },
|
|
281
|
+
{ type: 'Lymphedema', incidence: '5-10% (higher with nodal RT)', severity: 'Variable', timing: 'Months-years', management: 'Physical therapy, compression' }
|
|
282
|
+
],
|
|
283
|
+
managementStrategies: ['Weekly skin assessment', 'Arm exercise program', 'DIBH for left-sided']
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
],
|
|
287
|
+
'prostate-definitive': [
|
|
288
|
+
{
|
|
289
|
+
indication: 'Prostate Cancer - Definitive Radiation',
|
|
290
|
+
intent: 'Curative',
|
|
291
|
+
technique: {
|
|
292
|
+
modality: 'IMRT',
|
|
293
|
+
deliveryMethod: 'VMAT',
|
|
294
|
+
imagingGuidance: ['Daily CBCT or fiducial tracking', 'MRI fusion for planning'],
|
|
295
|
+
motionManagement: 'Rectal spacer (SpaceOAR) recommended'
|
|
296
|
+
},
|
|
297
|
+
fractionation: [
|
|
298
|
+
{
|
|
299
|
+
name: 'Conventional',
|
|
300
|
+
totalDose: 78,
|
|
301
|
+
fractions: 39,
|
|
302
|
+
dosePerFraction: 2,
|
|
303
|
+
schedule: 'Daily, Monday-Friday',
|
|
304
|
+
indication: 'Standard for higher-risk disease',
|
|
305
|
+
biologicalEquivalentDose: 137
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
name: 'Moderate hypofractionation',
|
|
309
|
+
totalDose: 70,
|
|
310
|
+
fractions: 28,
|
|
311
|
+
dosePerFraction: 2.5,
|
|
312
|
+
schedule: 'Daily, Monday-Friday',
|
|
313
|
+
indication: 'Non-inferior to conventional',
|
|
314
|
+
biologicalEquivalentDose: 141
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
name: 'Ultra-hypofractionation/SBRT',
|
|
318
|
+
totalDose: 36.25,
|
|
319
|
+
fractions: 5,
|
|
320
|
+
dosePerFraction: 7.25,
|
|
321
|
+
schedule: 'Every other day',
|
|
322
|
+
indication: 'Low to intermediate risk',
|
|
323
|
+
biologicalEquivalentDose: 158
|
|
324
|
+
}
|
|
325
|
+
],
|
|
326
|
+
targetVolumes: [
|
|
327
|
+
{ name: 'CTV', description: 'Prostate ± seminal vesicles', margin: 'Anatomic', dose: 78 },
|
|
328
|
+
{ name: 'PTV', description: 'CTV + setup margin', margin: '3-5mm (smaller posteriorly)', dose: 78 }
|
|
329
|
+
],
|
|
330
|
+
organAtRiskConstraints: [
|
|
331
|
+
{ organ: 'Rectum', constraint: 'V70 < 15%, V50 < 50%', toxicityEndpoint: 'Rectal toxicity', priority: 'Soft' },
|
|
332
|
+
{ organ: 'Bladder', constraint: 'V70 < 25%, V65 < 50%', toxicityEndpoint: 'Cystitis', priority: 'Soft' },
|
|
333
|
+
{ organ: 'Femoral heads', constraint: 'V50 < 5%', toxicityEndpoint: 'Avascular necrosis', priority: 'Soft' }
|
|
334
|
+
],
|
|
335
|
+
combinationTherapy: {
|
|
336
|
+
agent: 'ADT (GnRH agonist ± antiandrogen)',
|
|
337
|
+
schedule: 'Intermediate risk: 4-6 months; High risk: 18-36 months',
|
|
338
|
+
rationale: 'Improved survival with ADT in intermediate and high risk',
|
|
339
|
+
precautions: ['Cardiovascular risk', 'Bone health', 'Metabolic effects']
|
|
340
|
+
},
|
|
341
|
+
expectedOutcomes: {
|
|
342
|
+
localControl: '90-95% biochemical control at 5 years for intermediate risk',
|
|
343
|
+
survivalBenefit: 'Equivalent to surgery; 10-year CSS >90% for intermediate risk',
|
|
344
|
+
evidenceBasis: 'ProtecT, PROFIT, CHHiP, PACE trials'
|
|
345
|
+
},
|
|
346
|
+
toxicityProfile: {
|
|
347
|
+
acute: [
|
|
348
|
+
{ type: 'Urinary frequency/urgency', incidence: '40-60%', severity: 'Mild-moderate', timing: 'During and weeks after', management: 'Alpha-blockers, anticholinergics' },
|
|
349
|
+
{ type: 'Bowel symptoms (diarrhea, urgency)', incidence: '30-40%', severity: 'Mild-moderate', timing: 'During and weeks after', management: 'Loperamide, low-residue diet' }
|
|
350
|
+
],
|
|
351
|
+
late: [
|
|
352
|
+
{ type: 'Erectile dysfunction', incidence: '30-50%', severity: 'Variable', timing: 'Months-years', management: 'PDE5 inhibitors, penile rehabilitation' },
|
|
353
|
+
{ type: 'Rectal bleeding', incidence: '5-10%', severity: 'Usually mild', timing: 'Months-years', management: 'Observation, argon plasma coagulation if severe' }
|
|
354
|
+
],
|
|
355
|
+
managementStrategies: ['SpaceOAR hydrogel', 'Daily image guidance', 'Bladder/rectal filling protocols']
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
],
|
|
359
|
+
'palliative-bone': [
|
|
360
|
+
{
|
|
361
|
+
indication: 'Painful Bone Metastases - Palliative',
|
|
362
|
+
intent: 'Palliative',
|
|
363
|
+
technique: {
|
|
364
|
+
modality: 'Photon EBRT',
|
|
365
|
+
deliveryMethod: '3D-CRT or simple fields',
|
|
366
|
+
imagingGuidance: ['Portal imaging or kV'],
|
|
367
|
+
motionManagement: 'None typically required'
|
|
368
|
+
},
|
|
369
|
+
fractionation: [
|
|
370
|
+
{
|
|
371
|
+
name: 'Single fraction',
|
|
372
|
+
totalDose: 8,
|
|
373
|
+
fractions: 1,
|
|
374
|
+
dosePerFraction: 8,
|
|
375
|
+
schedule: 'Single treatment',
|
|
376
|
+
indication: 'Preferred for most uncomplicated bone mets',
|
|
377
|
+
biologicalEquivalentDose: 14
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
name: 'Short course',
|
|
381
|
+
totalDose: 20,
|
|
382
|
+
fractions: 5,
|
|
383
|
+
dosePerFraction: 4,
|
|
384
|
+
schedule: 'Daily x 5',
|
|
385
|
+
indication: 'Alternative to single fraction',
|
|
386
|
+
biologicalEquivalentDose: 27
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
name: 'Longer course',
|
|
390
|
+
totalDose: 30,
|
|
391
|
+
fractions: 10,
|
|
392
|
+
dosePerFraction: 3,
|
|
393
|
+
schedule: 'Daily x 10',
|
|
394
|
+
indication: 'Larger treatment volumes, spinal cord compression',
|
|
395
|
+
biologicalEquivalentDose: 39
|
|
396
|
+
}
|
|
397
|
+
],
|
|
398
|
+
targetVolumes: [
|
|
399
|
+
{ name: 'GTV', description: 'Visible metastasis', margin: '0', dose: 8 },
|
|
400
|
+
{ name: 'CTV', description: 'GTV + margin for subclinical disease', margin: '1 vertebral body above/below for spine', dose: 8 },
|
|
401
|
+
{ name: 'PTV', description: 'CTV + setup margin', margin: '0.5-1cm', dose: 8 }
|
|
402
|
+
],
|
|
403
|
+
organAtRiskConstraints: [
|
|
404
|
+
{ organ: 'Spinal cord', constraint: 'Dmax varies by fractionation', toxicityEndpoint: 'Myelopathy', priority: 'Hard' }
|
|
405
|
+
],
|
|
406
|
+
expectedOutcomes: {
|
|
407
|
+
localControl: '70-80% pain response',
|
|
408
|
+
survivalBenefit: 'N/A - palliative intent',
|
|
409
|
+
evidenceBasis: 'RTOG 9714, Dutch Bone Metastasis Study'
|
|
410
|
+
},
|
|
411
|
+
toxicityProfile: {
|
|
412
|
+
acute: [
|
|
413
|
+
{ type: 'Pain flare', incidence: '30-40%', severity: 'Mild-moderate', timing: '24-48h post-treatment', management: 'Dexamethasone premedication reduces' },
|
|
414
|
+
{ type: 'Nausea (abdominal sites)', incidence: '20-30%', severity: 'Mild', timing: 'During/after', management: 'Antiemetics' }
|
|
415
|
+
],
|
|
416
|
+
late: [
|
|
417
|
+
{ type: 'Pathologic fracture risk', incidence: 'Varies', severity: 'N/A', timing: 'Any time', management: 'Orthopedic evaluation for impending fracture' }
|
|
418
|
+
],
|
|
419
|
+
managementStrategies: ['Pain reassessment at 4 weeks', 'Consider retreatment if incomplete response', 'Bisphosphonates/denosumab']
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
]
|
|
423
|
+
};
|
|
424
|
+
|
|
425
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
426
|
+
// SURGICAL ONCOLOGY DEFINITIONS
|
|
427
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
428
|
+
|
|
429
|
+
export interface SurgicalProcedure {
|
|
430
|
+
name: string;
|
|
431
|
+
indication: string;
|
|
432
|
+
intent: 'Curative' | 'Debulking' | 'Palliative' | 'Diagnostic' | 'Prophylactic';
|
|
433
|
+
approach: SurgicalApproach[];
|
|
434
|
+
oncologicPrinciples: string[];
|
|
435
|
+
margins: MarginRequirement;
|
|
436
|
+
lymphNodeAssessment: LymphNodeProtocol;
|
|
437
|
+
perioperativeConsiderations: PerioperativeProtocol;
|
|
438
|
+
outcomes: SurgicalOutcome;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
export interface SurgicalApproach {
|
|
442
|
+
technique: 'Open' | 'Laparoscopic' | 'Robotic' | 'Endoscopic' | 'Percutaneous';
|
|
443
|
+
advantages: string[];
|
|
444
|
+
disadvantages: string[];
|
|
445
|
+
patientSelection: string[];
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
export interface MarginRequirement {
|
|
449
|
+
recommended: string;
|
|
450
|
+
minimum: string;
|
|
451
|
+
impactOfPositiveMargin: string;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
export interface LymphNodeProtocol {
|
|
455
|
+
type: 'Sentinel Node' | 'Regional Dissection' | 'Sampling' | 'None';
|
|
456
|
+
minimumNodes?: number;
|
|
457
|
+
technique: string;
|
|
458
|
+
indication: string;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
export interface PerioperativeProtocol {
|
|
462
|
+
preoperativeOptimization: string[];
|
|
463
|
+
erpsProtocol: boolean;
|
|
464
|
+
vteProhylaxis: string;
|
|
465
|
+
antibioticProphylaxis: string;
|
|
466
|
+
nutritionalConsiderations: string;
|
|
467
|
+
neoadjuvantOptions?: string;
|
|
468
|
+
adjuvantOptions?: string;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
export interface SurgicalOutcome {
|
|
472
|
+
mortality: string;
|
|
473
|
+
morbidity: string;
|
|
474
|
+
hospitalStay: string;
|
|
475
|
+
oncologicOutcome: string;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
479
|
+
// SURGICAL PROTOCOLS BY CANCER TYPE
|
|
480
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
481
|
+
|
|
482
|
+
export const SURGICAL_PROTOCOLS: Record<string, SurgicalProcedure[]> = {
|
|
483
|
+
'breast': [
|
|
484
|
+
{
|
|
485
|
+
name: 'Breast-Conserving Surgery (Lumpectomy)',
|
|
486
|
+
indication: 'Early-stage breast cancer, suitable tumor-to-breast ratio, patient preference',
|
|
487
|
+
intent: 'Curative',
|
|
488
|
+
approach: [
|
|
489
|
+
{
|
|
490
|
+
technique: 'Open',
|
|
491
|
+
advantages: ['Standard approach', 'Established oncologic outcomes'],
|
|
492
|
+
disadvantages: ['Larger incision than needed for tumor'],
|
|
493
|
+
patientSelection: ['Most patients with unicentric disease', 'Adequate tumor-to-breast ratio']
|
|
494
|
+
}
|
|
495
|
+
],
|
|
496
|
+
oncologicPrinciples: [
|
|
497
|
+
'Complete tumor excision with negative margins',
|
|
498
|
+
'Specimen orientation for margin assessment',
|
|
499
|
+
'Oncoplastic techniques for larger excisions'
|
|
500
|
+
],
|
|
501
|
+
margins: {
|
|
502
|
+
recommended: 'No ink on tumor (negative margin)',
|
|
503
|
+
minimum: 'No ink on tumor for invasive; 2mm for DCIS',
|
|
504
|
+
impactOfPositiveMargin: 'Increased local recurrence; re-excision recommended'
|
|
505
|
+
},
|
|
506
|
+
lymphNodeAssessment: {
|
|
507
|
+
type: 'Sentinel Node',
|
|
508
|
+
minimumNodes: 1,
|
|
509
|
+
technique: 'Blue dye and/or radiotracer injection',
|
|
510
|
+
indication: 'Clinically node-negative; if SLN positive, may avoid ALND (Z0011 criteria)'
|
|
511
|
+
},
|
|
512
|
+
perioperativeConsiderations: {
|
|
513
|
+
preoperativeOptimization: ['Localization if non-palpable (wire, seed, radar reflector)'],
|
|
514
|
+
erpsProtocol: true,
|
|
515
|
+
vteProhylaxis: 'Mechanical; pharmacologic for high-risk',
|
|
516
|
+
antibioticProphylaxis: 'Single dose cefazolin',
|
|
517
|
+
nutritionalConsiderations: 'Standard',
|
|
518
|
+
neoadjuvantOptions: 'Neoadjuvant chemotherapy to downstage for BCT',
|
|
519
|
+
adjuvantOptions: 'Radiation required after BCT; systemic therapy per subtype'
|
|
520
|
+
},
|
|
521
|
+
outcomes: {
|
|
522
|
+
mortality: '<0.1%',
|
|
523
|
+
morbidity: 'Seroma 10-20%, infection 3-5%',
|
|
524
|
+
hospitalStay: 'Outpatient or 23-hour observation',
|
|
525
|
+
oncologicOutcome: 'Equivalent survival to mastectomy with radiation'
|
|
526
|
+
}
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
name: 'Mastectomy',
|
|
530
|
+
indication: 'Multicentric disease, large tumor, BRCA carrier preference, radiation contraindicated',
|
|
531
|
+
intent: 'Curative',
|
|
532
|
+
approach: [
|
|
533
|
+
{
|
|
534
|
+
technique: 'Open',
|
|
535
|
+
advantages: ['Complete removal of breast tissue'],
|
|
536
|
+
disadvantages: ['Loss of breast', 'Larger surgery'],
|
|
537
|
+
patientSelection: ['Patient preference', 'Not BCT candidate']
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
technique: 'Robotic',
|
|
541
|
+
advantages: ['Nipple-sparing approach', 'Smaller incision'],
|
|
542
|
+
disadvantages: ['Specialized expertise required', 'Learning curve'],
|
|
543
|
+
patientSelection: ['Nipple-sparing candidates', 'Immediate reconstruction planned']
|
|
544
|
+
}
|
|
545
|
+
],
|
|
546
|
+
oncologicPrinciples: [
|
|
547
|
+
'Complete removal of all breast tissue',
|
|
548
|
+
'Skin-sparing or nipple-sparing when oncologically safe',
|
|
549
|
+
'Axillary assessment per protocol'
|
|
550
|
+
],
|
|
551
|
+
margins: {
|
|
552
|
+
recommended: 'No ink on tumor',
|
|
553
|
+
minimum: 'No tumor at margin',
|
|
554
|
+
impactOfPositiveMargin: 'Consider chest wall re-excision or radiation'
|
|
555
|
+
},
|
|
556
|
+
lymphNodeAssessment: {
|
|
557
|
+
type: 'Sentinel Node',
|
|
558
|
+
minimumNodes: 1,
|
|
559
|
+
technique: 'Same as BCT',
|
|
560
|
+
indication: 'Clinically node-negative'
|
|
561
|
+
},
|
|
562
|
+
perioperativeConsiderations: {
|
|
563
|
+
preoperativeOptimization: ['Discuss reconstruction options', 'Genetic testing if applicable'],
|
|
564
|
+
erpsProtocol: true,
|
|
565
|
+
vteProhylaxis: 'Mechanical + pharmacologic if high risk',
|
|
566
|
+
antibioticProphylaxis: 'Single dose cefazolin; extended if implant',
|
|
567
|
+
nutritionalConsiderations: 'Standard',
|
|
568
|
+
adjuvantOptions: 'Radiation if node-positive or high-risk features; systemic therapy per subtype'
|
|
569
|
+
},
|
|
570
|
+
outcomes: {
|
|
571
|
+
mortality: '<0.5%',
|
|
572
|
+
morbidity: 'Seroma 20-30%, flap necrosis 5-10%',
|
|
573
|
+
hospitalStay: '1-2 days (longer with reconstruction)',
|
|
574
|
+
oncologicOutcome: '10-year local recurrence <5% for node-negative'
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
],
|
|
578
|
+
'colorectal': [
|
|
579
|
+
{
|
|
580
|
+
name: 'Right Hemicolectomy',
|
|
581
|
+
indication: 'Right colon cancer (cecum to hepatic flexure)',
|
|
582
|
+
intent: 'Curative',
|
|
583
|
+
approach: [
|
|
584
|
+
{
|
|
585
|
+
technique: 'Laparoscopic',
|
|
586
|
+
advantages: ['Faster recovery', 'Less pain', 'Equivalent oncologic outcomes'],
|
|
587
|
+
disadvantages: ['Technical expertise required'],
|
|
588
|
+
patientSelection: ['Most patients', 'Non-emergency']
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
technique: 'Robotic',
|
|
592
|
+
advantages: ['Improved ergonomics', 'Enhanced visualization'],
|
|
593
|
+
disadvantages: ['Cost', 'Setup time'],
|
|
594
|
+
patientSelection: ['Surgeon preference', 'Complex anatomy']
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
technique: 'Open',
|
|
598
|
+
advantages: ['Faster for emergencies', 'Familiar to all surgeons'],
|
|
599
|
+
disadvantages: ['Longer recovery', 'More pain'],
|
|
600
|
+
patientSelection: ['Emergency', 'Extensive adhesions', 'Patient factors']
|
|
601
|
+
}
|
|
602
|
+
],
|
|
603
|
+
oncologicPrinciples: [
|
|
604
|
+
'High ligation of ileocolic and right colic vessels',
|
|
605
|
+
'Complete mesocolic excision (CME)',
|
|
606
|
+
'En bloc resection of tumor with adequate margins'
|
|
607
|
+
],
|
|
608
|
+
margins: {
|
|
609
|
+
recommended: '≥5 cm proximally and distally',
|
|
610
|
+
minimum: '≥1-2 cm for colon cancer',
|
|
611
|
+
impactOfPositiveMargin: 'Increased local recurrence; may need re-resection or radiation'
|
|
612
|
+
},
|
|
613
|
+
lymphNodeAssessment: {
|
|
614
|
+
type: 'Regional Dissection',
|
|
615
|
+
minimumNodes: 12,
|
|
616
|
+
technique: 'Central vascular ligation with lymph node harvest',
|
|
617
|
+
indication: 'All resections for cancer'
|
|
618
|
+
},
|
|
619
|
+
perioperativeConsiderations: {
|
|
620
|
+
preoperativeOptimization: ['Bowel prep (selective)', 'Nutritional optimization'],
|
|
621
|
+
erpsProtocol: true,
|
|
622
|
+
vteProhylaxis: 'LMWH + mechanical',
|
|
623
|
+
antibioticProphylaxis: 'Cefoxitin or cefazolin + metronidazole',
|
|
624
|
+
nutritionalConsiderations: 'Early feeding; prehabilitation if malnourished',
|
|
625
|
+
adjuvantOptions: 'Adjuvant chemotherapy for stage III and high-risk stage II'
|
|
626
|
+
},
|
|
627
|
+
outcomes: {
|
|
628
|
+
mortality: '1-3%',
|
|
629
|
+
morbidity: 'Anastomotic leak 2-4%, ileus 10-20%',
|
|
630
|
+
hospitalStay: '4-7 days (ERAS protocol)',
|
|
631
|
+
oncologicOutcome: '5-year survival: Stage I 90%, Stage II 75-80%, Stage III 50-70%'
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
name: 'Low Anterior Resection (LAR)',
|
|
636
|
+
indication: 'Rectal cancer (mid to upper rectum)',
|
|
637
|
+
intent: 'Curative',
|
|
638
|
+
approach: [
|
|
639
|
+
{
|
|
640
|
+
technique: 'Laparoscopic',
|
|
641
|
+
advantages: ['Better visualization of pelvis', 'Faster recovery'],
|
|
642
|
+
disadvantages: ['Technical challenge in narrow pelvis'],
|
|
643
|
+
patientSelection: ['Most patients']
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
technique: 'Robotic',
|
|
647
|
+
advantages: ['Improved dexterity in pelvis', 'Better nerve preservation'],
|
|
648
|
+
disadvantages: ['Cost', 'Learning curve'],
|
|
649
|
+
patientSelection: ['Low rectal tumors', 'Narrow pelvis']
|
|
650
|
+
}
|
|
651
|
+
],
|
|
652
|
+
oncologicPrinciples: [
|
|
653
|
+
'Total mesorectal excision (TME)',
|
|
654
|
+
'Negative circumferential resection margin (CRM)',
|
|
655
|
+
'Distal margin ≥1 cm (may accept 0.5 cm for low tumors)'
|
|
656
|
+
],
|
|
657
|
+
margins: {
|
|
658
|
+
recommended: 'Distal 2 cm, CRM >1 mm',
|
|
659
|
+
minimum: 'Distal 1 cm, CRM >1 mm',
|
|
660
|
+
impactOfPositiveMargin: 'CRM+ significantly increases local recurrence'
|
|
661
|
+
},
|
|
662
|
+
lymphNodeAssessment: {
|
|
663
|
+
type: 'Regional Dissection',
|
|
664
|
+
minimumNodes: 12,
|
|
665
|
+
technique: 'TME includes lymph nodes within mesorectum',
|
|
666
|
+
indication: 'All rectal cancer resections'
|
|
667
|
+
},
|
|
668
|
+
perioperativeConsiderations: {
|
|
669
|
+
preoperativeOptimization: ['MRI for staging', 'Consider stoma marking'],
|
|
670
|
+
erpsProtocol: true,
|
|
671
|
+
vteProhylaxis: 'Extended (4 weeks post-op)',
|
|
672
|
+
antibioticProphylaxis: 'Per colorectal protocol',
|
|
673
|
+
nutritionalConsiderations: 'Prehabilitation, especially if neoadjuvant therapy',
|
|
674
|
+
neoadjuvantOptions: 'Total neoadjuvant therapy (TNT) for locally advanced; short-course RT or long-course CRT',
|
|
675
|
+
adjuvantOptions: 'Complete TNT if not given neoadjuvantly'
|
|
676
|
+
},
|
|
677
|
+
outcomes: {
|
|
678
|
+
mortality: '2-4%',
|
|
679
|
+
morbidity: 'Anastomotic leak 5-15%, low anterior resection syndrome 50-80%',
|
|
680
|
+
hospitalStay: '5-10 days',
|
|
681
|
+
oncologicOutcome: '5-year local recurrence <10% with TME and neoadjuvant therapy'
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
],
|
|
685
|
+
'lung': [
|
|
686
|
+
{
|
|
687
|
+
name: 'Lobectomy',
|
|
688
|
+
indication: 'Early-stage NSCLC (preferred for stage I-II)',
|
|
689
|
+
intent: 'Curative',
|
|
690
|
+
approach: [
|
|
691
|
+
{
|
|
692
|
+
technique: 'Robotic',
|
|
693
|
+
advantages: ['Magnified view', 'Precise dissection', 'Shorter recovery'],
|
|
694
|
+
disadvantages: ['Cost', 'Requires specialized expertise'],
|
|
695
|
+
patientSelection: ['Most patients with adequate pulmonary reserve']
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
technique: 'Open',
|
|
699
|
+
advantages: ['Allows tactile feedback', 'Complex cases'],
|
|
700
|
+
disadvantages: ['More pain', 'Longer recovery'],
|
|
701
|
+
patientSelection: ['Central tumors', 'Sleeve resections', 'Prior surgery']
|
|
702
|
+
}
|
|
703
|
+
],
|
|
704
|
+
oncologicPrinciples: [
|
|
705
|
+
'Complete resection with negative margins',
|
|
706
|
+
'Systematic mediastinal lymph node dissection',
|
|
707
|
+
'En bloc resection if invasion into adjacent structures'
|
|
708
|
+
],
|
|
709
|
+
margins: {
|
|
710
|
+
recommended: 'Negative margin; ≥2 cm or ≥ tumor diameter',
|
|
711
|
+
minimum: 'Negative margin',
|
|
712
|
+
impactOfPositiveMargin: 'Consider re-resection or adjuvant radiation'
|
|
713
|
+
},
|
|
714
|
+
lymphNodeAssessment: {
|
|
715
|
+
type: 'Regional Dissection',
|
|
716
|
+
minimumNodes: 6,
|
|
717
|
+
technique: 'Systematic sampling or complete mediastinal lymph node dissection',
|
|
718
|
+
indication: 'All resections for cancer'
|
|
719
|
+
},
|
|
720
|
+
perioperativeConsiderations: {
|
|
721
|
+
preoperativeOptimization: ['PFTs', 'Smoking cessation', 'Pulmonary rehabilitation'],
|
|
722
|
+
erpsProtocol: true,
|
|
723
|
+
vteProhylaxis: 'LMWH + mechanical',
|
|
724
|
+
antibioticProphylaxis: 'Cefazolin',
|
|
725
|
+
nutritionalConsiderations: 'Prehabilitation for deconditioned patients',
|
|
726
|
+
adjuvantOptions: 'Adjuvant chemotherapy for stage II-III; adjuvant osimertinib for EGFR+; adjuvant atezolizumab for PD-L1 ≥1%'
|
|
727
|
+
},
|
|
728
|
+
outcomes: {
|
|
729
|
+
mortality: '1-3%',
|
|
730
|
+
morbidity: 'Air leak 10-15%, atrial fibrillation 10-20%, pneumonia 5%',
|
|
731
|
+
hospitalStay: '3-5 days (VATS/robotic)',
|
|
732
|
+
oncologicOutcome: '5-year survival: Stage IA 80-90%, Stage IB 70%, Stage II 50-60%'
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
]
|
|
736
|
+
};
|
|
737
|
+
|
|
738
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
739
|
+
// MULTIMODAL TREATMENT SEQUENCING
|
|
740
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
741
|
+
|
|
742
|
+
export interface MultimodalSequence {
|
|
743
|
+
cancerType: string;
|
|
744
|
+
stage: string;
|
|
745
|
+
sequence: TreatmentPhase[];
|
|
746
|
+
rationale: string;
|
|
747
|
+
evidence: string;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
export interface TreatmentPhase {
|
|
751
|
+
phase: string;
|
|
752
|
+
modality: 'Surgery' | 'Radiation' | 'Chemotherapy' | 'Targeted Therapy' | 'Immunotherapy' | 'Hormone Therapy';
|
|
753
|
+
timing: string;
|
|
754
|
+
details: string;
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
export const MULTIMODAL_SEQUENCES: MultimodalSequence[] = [
|
|
758
|
+
{
|
|
759
|
+
cancerType: 'Locally Advanced Rectal Cancer',
|
|
760
|
+
stage: 'Stage II-III',
|
|
761
|
+
sequence: [
|
|
762
|
+
{ phase: 'Induction', modality: 'Chemotherapy', timing: 'Weeks 1-8', details: 'FOLFOX or CAPOX x 4 cycles' },
|
|
763
|
+
{ phase: 'Chemoradiation', modality: 'Radiation', timing: 'Weeks 9-14', details: 'Long-course CRT (50.4 Gy + capecitabine) OR short-course RT (25 Gy/5 fx)' },
|
|
764
|
+
{ phase: 'Consolidation', modality: 'Chemotherapy', timing: 'Weeks 15-22', details: 'FOLFOX x 4 cycles' },
|
|
765
|
+
{ phase: 'Surgery', modality: 'Surgery', timing: 'Week 23-24', details: 'TME with LAR or APR' }
|
|
766
|
+
],
|
|
767
|
+
rationale: 'Total neoadjuvant therapy (TNT) improves pathologic complete response and may improve survival',
|
|
768
|
+
evidence: 'RAPIDO, PRODIGE 23 trials'
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
cancerType: 'Locally Advanced NSCLC',
|
|
772
|
+
stage: 'Stage IIIA-IIIB',
|
|
773
|
+
sequence: [
|
|
774
|
+
{ phase: 'Definitive Treatment', modality: 'Radiation', timing: 'Weeks 1-6', details: 'Concurrent chemoradiation (60 Gy + platinum doublet)' },
|
|
775
|
+
{ phase: 'Consolidation', modality: 'Immunotherapy', timing: 'Weeks 8-60', details: 'Durvalumab x 12 months' }
|
|
776
|
+
],
|
|
777
|
+
rationale: 'PACIFIC regimen is standard of care for unresectable stage III NSCLC without progression after CRT',
|
|
778
|
+
evidence: 'PACIFIC trial'
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
cancerType: 'HER2+ Breast Cancer',
|
|
782
|
+
stage: 'Stage II-III',
|
|
783
|
+
sequence: [
|
|
784
|
+
{ phase: 'Neoadjuvant', modality: 'Chemotherapy', timing: 'Weeks 1-24', details: 'AC-THP (anthracycline + taxane + trastuzumab + pertuzumab)' },
|
|
785
|
+
{ phase: 'Surgery', modality: 'Surgery', timing: 'Week 26-28', details: 'Lumpectomy or mastectomy + SLN biopsy' },
|
|
786
|
+
{ phase: 'Adjuvant RT', modality: 'Radiation', timing: 'Weeks 30-36', details: 'Whole breast/chest wall ± regional nodes' },
|
|
787
|
+
{ phase: 'Adjuvant HER2 Therapy', modality: 'Targeted Therapy', timing: 'Weeks 24-76', details: 'Complete 1 year of trastuzumab ± pertuzumab; T-DM1 if residual disease' }
|
|
788
|
+
],
|
|
789
|
+
rationale: 'Neoadjuvant approach allows response assessment; residual disease guides adjuvant therapy',
|
|
790
|
+
evidence: 'KATHERINE, APHINITY trials'
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
cancerType: 'Esophageal/GEJ Adenocarcinoma',
|
|
794
|
+
stage: 'Stage II-III',
|
|
795
|
+
sequence: [
|
|
796
|
+
{ phase: 'Neoadjuvant', modality: 'Chemotherapy', timing: 'Weeks 1-9', details: 'CROSS regimen: Carboplatin/Paclitaxel + concurrent RT (41.4 Gy)' },
|
|
797
|
+
{ phase: 'Surgery', modality: 'Surgery', timing: 'Weeks 12-14', details: 'Esophagectomy' },
|
|
798
|
+
{ phase: 'Adjuvant IO', modality: 'Immunotherapy', timing: 'Weeks 18-70', details: 'Nivolumab x 1 year if residual disease' }
|
|
799
|
+
],
|
|
800
|
+
rationale: 'Trimodality therapy standard; adjuvant nivolumab improves DFS in residual disease',
|
|
801
|
+
evidence: 'CROSS trial, CheckMate 577'
|
|
802
|
+
}
|
|
803
|
+
];
|
|
804
|
+
|
|
805
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
806
|
+
// MULTIMODAL ONCOLOGY ENGINE
|
|
807
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
808
|
+
|
|
809
|
+
export class MultimodalOncologyEngine {
|
|
810
|
+
getRadiationProtocol(site: string): RadiationProtocol[] {
|
|
811
|
+
return RADIATION_PROTOCOLS[site] || [];
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
getSurgicalProtocol(cancerType: string): SurgicalProcedure[] {
|
|
815
|
+
return SURGICAL_PROTOCOLS[cancerType] || [];
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
getMultimodalSequence(cancerType: string, stage: string): MultimodalSequence | undefined {
|
|
819
|
+
return MULTIMODAL_SEQUENCES.find(s =>
|
|
820
|
+
s.cancerType.toLowerCase().includes(cancerType.toLowerCase()) &&
|
|
821
|
+
s.stage.toLowerCase().includes(stage.toLowerCase())
|
|
822
|
+
);
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
calculateBED(totalDose: number, fractions: number, alphabeta: number = 10): number {
|
|
826
|
+
const dosePerFraction = totalDose / fractions;
|
|
827
|
+
return totalDose * (1 + dosePerFraction / alphabeta);
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
assessOperability(
|
|
831
|
+
performanceStatus: number,
|
|
832
|
+
comorbidities: string[],
|
|
833
|
+
cancerType: string
|
|
834
|
+
): {
|
|
835
|
+
operable: boolean;
|
|
836
|
+
approach: string;
|
|
837
|
+
considerations: string[];
|
|
838
|
+
} {
|
|
839
|
+
const considerations: string[] = [];
|
|
840
|
+
|
|
841
|
+
if (performanceStatus >= 3) {
|
|
842
|
+
return {
|
|
843
|
+
operable: false,
|
|
844
|
+
approach: 'Non-surgical',
|
|
845
|
+
considerations: ['Poor performance status precludes major surgery']
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
if (comorbidities.includes('severe cardiac disease')) {
|
|
850
|
+
considerations.push('Cardiology clearance required');
|
|
851
|
+
}
|
|
852
|
+
if (comorbidities.includes('COPD')) {
|
|
853
|
+
considerations.push('Pulmonary function testing; pulmonary rehabilitation');
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
return {
|
|
857
|
+
operable: performanceStatus <= 2,
|
|
858
|
+
approach: performanceStatus === 0 ? 'Standard surgical approach' : 'Modified approach with optimization',
|
|
859
|
+
considerations
|
|
860
|
+
};
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
getAllRadiationSites(): string[] {
|
|
864
|
+
return Object.keys(RADIATION_PROTOCOLS);
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
getAllSurgicalSites(): string[] {
|
|
868
|
+
return Object.keys(SURGICAL_PROTOCOLS);
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
// Export singleton
|
|
873
|
+
export const multimodalOncologyEngine = new MultimodalOncologyEngine();
|