@erosolaraijs/cure 2.3.1 → 2.5.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 +3075 -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 +3501 -0
|
@@ -0,0 +1,1878 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Treatment Sequencing and Line-of-Therapy Protocols
|
|
3
|
+
*
|
|
4
|
+
* ╔═══════════════════════════════════════════════════════════════════════════════╗
|
|
5
|
+
* ║ TREATMENT SEQUENCING ENGINE - OPTIMAL THERAPY ORDERING FOR CURE ║
|
|
6
|
+
* ╠═══════════════════════════════════════════════════════════════════════════════╣
|
|
7
|
+
* ║ This module provides: ║
|
|
8
|
+
* ║ - Complete line-of-therapy protocols for all cancer types ║
|
|
9
|
+
* ║ - Evidence-based treatment sequencing algorithms ║
|
|
10
|
+
* ║ - Biomarker-guided therapy selection ║
|
|
11
|
+
* ║ - Combination vs sequential therapy decision support ║
|
|
12
|
+
* ║ - Treatment switching criteria and timing ║
|
|
13
|
+
* ║ - Maintenance therapy protocols ║
|
|
14
|
+
* ║ - Rechallenge strategies after treatment holiday ║
|
|
15
|
+
* ╚═══════════════════════════════════════════════════════════════════════════════╝
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
19
|
+
// TREATMENT LINE DEFINITIONS
|
|
20
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
21
|
+
|
|
22
|
+
export interface TreatmentLine {
|
|
23
|
+
line: '1L' | '2L' | '3L' | '4L' | '5L+' | 'Maintenance' | 'Neoadjuvant' | 'Adjuvant' | 'Consolidation';
|
|
24
|
+
setting: 'Curative' | 'Palliative' | 'Definitive' | 'Salvage';
|
|
25
|
+
regimens: TherapyRegimen[];
|
|
26
|
+
selectionCriteria: SelectionCriteria;
|
|
27
|
+
responseAssessment: ResponseAssessment;
|
|
28
|
+
switchingCriteria: SwitchingCriteria;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface TherapyRegimen {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
drugs: DrugComponent[];
|
|
35
|
+
schedule: string;
|
|
36
|
+
duration: string;
|
|
37
|
+
evidenceLevel: 'Category 1' | 'Category 2A' | 'Category 2B' | 'Category 3';
|
|
38
|
+
preferenceLevel: 'Preferred' | 'Other Recommended' | 'Useful in Certain Circumstances';
|
|
39
|
+
keyTrials: string[];
|
|
40
|
+
expectedOutcomes: {
|
|
41
|
+
responseRate: string;
|
|
42
|
+
pfs: string;
|
|
43
|
+
os: string;
|
|
44
|
+
};
|
|
45
|
+
biomarkerRequirements?: BiomarkerRequirement[];
|
|
46
|
+
contraindications: string[];
|
|
47
|
+
specialConsiderations: string[];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface DrugComponent {
|
|
51
|
+
name: string;
|
|
52
|
+
class: string;
|
|
53
|
+
dose: string;
|
|
54
|
+
route: 'IV' | 'PO' | 'SC' | 'IM' | 'IT' | 'Topical';
|
|
55
|
+
schedule: string;
|
|
56
|
+
doseModifications?: DoseModification[];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface DoseModification {
|
|
60
|
+
indication: string;
|
|
61
|
+
adjustment: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface SelectionCriteria {
|
|
65
|
+
biomarkers: BiomarkerRequirement[];
|
|
66
|
+
performanceStatus: string;
|
|
67
|
+
organFunction: string[];
|
|
68
|
+
priorTherapies: string[];
|
|
69
|
+
patientPreferences: string[];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface BiomarkerRequirement {
|
|
73
|
+
marker: string;
|
|
74
|
+
requirement: 'Required Positive' | 'Required Negative' | 'Preferred Positive' | 'Preferred Negative' | 'Predictive';
|
|
75
|
+
testMethod: string[];
|
|
76
|
+
threshold?: string;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface ResponseAssessment {
|
|
80
|
+
method: string[];
|
|
81
|
+
timing: string;
|
|
82
|
+
criteria: 'RECIST 1.1' | 'iRECIST' | 'RANO' | 'Lugano' | 'PCWG3' | 'mRECIST' | 'Cheson';
|
|
83
|
+
minimalResidualDisease?: boolean;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export interface SwitchingCriteria {
|
|
87
|
+
progressionDefinition: string;
|
|
88
|
+
toxicityCriteria: string;
|
|
89
|
+
ctDNAGuidance?: string;
|
|
90
|
+
imagingInterval: string;
|
|
91
|
+
mandatorySwitch: string[];
|
|
92
|
+
optionalSwitch: string[];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
96
|
+
// COMPREHENSIVE TREATMENT SEQUENCING DATABASE
|
|
97
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
98
|
+
|
|
99
|
+
export interface CancerTreatmentSequence {
|
|
100
|
+
cancerType: string;
|
|
101
|
+
molecularSubtype?: string;
|
|
102
|
+
stage: string;
|
|
103
|
+
treatmentIntent: 'Curative' | 'Life-Prolonging' | 'Palliative';
|
|
104
|
+
lines: TreatmentLine[];
|
|
105
|
+
specialPathways: SpecialPathway[];
|
|
106
|
+
maintenanceOptions: MaintenanceProtocol[];
|
|
107
|
+
rechallengeOptions: RechallengeProtocol[];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface SpecialPathway {
|
|
111
|
+
name: string;
|
|
112
|
+
eligibility: string[];
|
|
113
|
+
protocol: string;
|
|
114
|
+
rationale: string;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export interface MaintenanceProtocol {
|
|
118
|
+
name: string;
|
|
119
|
+
eligibility: string[];
|
|
120
|
+
regimen: TherapyRegimen;
|
|
121
|
+
duration: string;
|
|
122
|
+
monitoringSchedule: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export interface RechallengeProtocol {
|
|
126
|
+
originalTherapy: string;
|
|
127
|
+
eligibility: string[];
|
|
128
|
+
washoutPeriod: string;
|
|
129
|
+
expectedResponse: string;
|
|
130
|
+
monitoringIntensity: string;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
134
|
+
// NON-SMALL CELL LUNG CANCER TREATMENT SEQUENCES
|
|
135
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
136
|
+
|
|
137
|
+
export const NSCLC_TREATMENT_SEQUENCES: CancerTreatmentSequence[] = [
|
|
138
|
+
{
|
|
139
|
+
cancerType: 'Non-Small Cell Lung Cancer',
|
|
140
|
+
molecularSubtype: 'EGFR-mutant (exon 19 del or L858R)',
|
|
141
|
+
stage: 'Stage IV / Metastatic',
|
|
142
|
+
treatmentIntent: 'Life-Prolonging',
|
|
143
|
+
lines: [
|
|
144
|
+
{
|
|
145
|
+
line: '1L',
|
|
146
|
+
setting: 'Palliative',
|
|
147
|
+
regimens: [
|
|
148
|
+
{
|
|
149
|
+
id: 'nsclc-egfr-1l-osi',
|
|
150
|
+
name: 'Osimertinib',
|
|
151
|
+
drugs: [{
|
|
152
|
+
name: 'Osimertinib',
|
|
153
|
+
class: 'Third-generation EGFR TKI',
|
|
154
|
+
dose: '80mg',
|
|
155
|
+
route: 'PO',
|
|
156
|
+
schedule: 'Daily'
|
|
157
|
+
}],
|
|
158
|
+
schedule: 'Continuous until progression',
|
|
159
|
+
duration: 'Until progression or unacceptable toxicity',
|
|
160
|
+
evidenceLevel: 'Category 1',
|
|
161
|
+
preferenceLevel: 'Preferred',
|
|
162
|
+
keyTrials: ['FLAURA', 'FLAURA2'],
|
|
163
|
+
expectedOutcomes: {
|
|
164
|
+
responseRate: '80%',
|
|
165
|
+
pfs: '18.9 months',
|
|
166
|
+
os: '38.6 months'
|
|
167
|
+
},
|
|
168
|
+
biomarkerRequirements: [{
|
|
169
|
+
marker: 'EGFR exon 19 del or L858R',
|
|
170
|
+
requirement: 'Required Positive',
|
|
171
|
+
testMethod: ['PCR', 'NGS', 'ctDNA']
|
|
172
|
+
}],
|
|
173
|
+
contraindications: ['ILD history', 'Severe hepatic impairment'],
|
|
174
|
+
specialConsiderations: ['CNS-penetrant - preferred for brain mets', 'QTc monitoring']
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
id: 'nsclc-egfr-1l-osi-chemo',
|
|
178
|
+
name: 'Osimertinib + Platinum/Pemetrexed',
|
|
179
|
+
drugs: [
|
|
180
|
+
{ name: 'Osimertinib', class: 'EGFR TKI', dose: '80mg', route: 'PO', schedule: 'Daily' },
|
|
181
|
+
{ name: 'Carboplatin', class: 'Platinum', dose: 'AUC 5', route: 'IV', schedule: 'Day 1 q3w x 4' },
|
|
182
|
+
{ name: 'Pemetrexed', class: 'Antifolate', dose: '500mg/m²', route: 'IV', schedule: 'Day 1 q3w' }
|
|
183
|
+
],
|
|
184
|
+
schedule: '21-day cycles',
|
|
185
|
+
duration: '4 cycles induction then osimertinib + pemetrexed maintenance',
|
|
186
|
+
evidenceLevel: 'Category 1',
|
|
187
|
+
preferenceLevel: 'Preferred',
|
|
188
|
+
keyTrials: ['FLAURA2'],
|
|
189
|
+
expectedOutcomes: {
|
|
190
|
+
responseRate: '83%',
|
|
191
|
+
pfs: '25.5 months',
|
|
192
|
+
os: 'NR (improved)'
|
|
193
|
+
},
|
|
194
|
+
biomarkerRequirements: [{
|
|
195
|
+
marker: 'EGFR exon 19 del or L858R',
|
|
196
|
+
requirement: 'Required Positive',
|
|
197
|
+
testMethod: ['PCR', 'NGS', 'ctDNA']
|
|
198
|
+
}],
|
|
199
|
+
contraindications: ['CrCl <45', 'ILD', 'Severe myelosuppression'],
|
|
200
|
+
specialConsiderations: ['Higher response rate', 'More toxicity than osimertinib alone']
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
selectionCriteria: {
|
|
204
|
+
biomarkers: [{
|
|
205
|
+
marker: 'EGFR',
|
|
206
|
+
requirement: 'Required Positive',
|
|
207
|
+
testMethod: ['NGS', 'PCR', 'ctDNA']
|
|
208
|
+
}],
|
|
209
|
+
performanceStatus: 'ECOG 0-2',
|
|
210
|
+
organFunction: ['Adequate hepatic function', 'CrCl >45 for pemetrexed'],
|
|
211
|
+
priorTherapies: ['No prior systemic therapy for metastatic disease'],
|
|
212
|
+
patientPreferences: ['Consider oral-only vs combination based on patient preference']
|
|
213
|
+
},
|
|
214
|
+
responseAssessment: {
|
|
215
|
+
method: ['CT chest/abdomen', 'Brain MRI'],
|
|
216
|
+
timing: 'Every 8-12 weeks',
|
|
217
|
+
criteria: 'RECIST 1.1'
|
|
218
|
+
},
|
|
219
|
+
switchingCriteria: {
|
|
220
|
+
progressionDefinition: 'RECIST 1.1 confirmed progression',
|
|
221
|
+
toxicityCriteria: 'Grade 3+ ILD, Grade 4 hepatotoxicity',
|
|
222
|
+
ctDNAGuidance: 'Consider ctDNA at progression to identify resistance mechanism',
|
|
223
|
+
imagingInterval: 'Every 8-12 weeks',
|
|
224
|
+
mandatorySwitch: ['RECIST progression', 'Unacceptable toxicity'],
|
|
225
|
+
optionalSwitch: ['Isolated CNS progression (may add local therapy)']
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
line: '2L',
|
|
230
|
+
setting: 'Palliative',
|
|
231
|
+
regimens: [
|
|
232
|
+
{
|
|
233
|
+
id: 'nsclc-egfr-2l-amivantamab-lazertinib',
|
|
234
|
+
name: 'Amivantamab + Lazertinib',
|
|
235
|
+
drugs: [
|
|
236
|
+
{ name: 'Amivantamab', class: 'EGFR-MET bispecific', dose: '1050-1400mg', route: 'IV', schedule: 'Weekly x 4, then Q2W' },
|
|
237
|
+
{ name: 'Lazertinib', class: 'Third-gen EGFR TKI', dose: '240mg', route: 'PO', schedule: 'Daily' }
|
|
238
|
+
],
|
|
239
|
+
schedule: 'Continuous',
|
|
240
|
+
duration: 'Until progression',
|
|
241
|
+
evidenceLevel: 'Category 1',
|
|
242
|
+
preferenceLevel: 'Preferred',
|
|
243
|
+
keyTrials: ['MARIPOSA-2'],
|
|
244
|
+
expectedOutcomes: {
|
|
245
|
+
responseRate: '64%',
|
|
246
|
+
pfs: '6.3 months',
|
|
247
|
+
os: 'Improved'
|
|
248
|
+
},
|
|
249
|
+
contraindications: ['Severe infusion reactions history'],
|
|
250
|
+
specialConsiderations: ['Add chemotherapy if rapid progression expected']
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
id: 'nsclc-egfr-2l-platinum-pem-pembro',
|
|
254
|
+
name: 'Platinum/Pemetrexed/Pembrolizumab',
|
|
255
|
+
drugs: [
|
|
256
|
+
{ name: 'Carboplatin', class: 'Platinum', dose: 'AUC 5', route: 'IV', schedule: 'Day 1 q3w x 4' },
|
|
257
|
+
{ name: 'Pemetrexed', class: 'Antifolate', dose: '500mg/m²', route: 'IV', schedule: 'Day 1 q3w' },
|
|
258
|
+
{ name: 'Pembrolizumab', class: 'Anti-PD-1', dose: '200mg', route: 'IV', schedule: 'Day 1 q3w' }
|
|
259
|
+
],
|
|
260
|
+
schedule: '21-day cycles',
|
|
261
|
+
duration: '4 cycles then pem/pembro maintenance',
|
|
262
|
+
evidenceLevel: 'Category 2A',
|
|
263
|
+
preferenceLevel: 'Other Recommended',
|
|
264
|
+
keyTrials: ['KEYNOTE-789'],
|
|
265
|
+
expectedOutcomes: {
|
|
266
|
+
responseRate: '29%',
|
|
267
|
+
pfs: '5.6 months',
|
|
268
|
+
os: '15.9 months'
|
|
269
|
+
},
|
|
270
|
+
contraindications: ['Active autoimmune disease', 'ILD'],
|
|
271
|
+
specialConsiderations: ['Consider if no targetable resistance mechanism']
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
selectionCriteria: {
|
|
275
|
+
biomarkers: [{
|
|
276
|
+
marker: 'Resistance mechanism',
|
|
277
|
+
requirement: 'Predictive',
|
|
278
|
+
testMethod: ['ctDNA', 'Repeat biopsy NGS']
|
|
279
|
+
}],
|
|
280
|
+
performanceStatus: 'ECOG 0-2',
|
|
281
|
+
organFunction: ['Adequate for chemotherapy'],
|
|
282
|
+
priorTherapies: ['Prior osimertinib'],
|
|
283
|
+
patientPreferences: []
|
|
284
|
+
},
|
|
285
|
+
responseAssessment: {
|
|
286
|
+
method: ['CT chest/abdomen', 'Brain MRI'],
|
|
287
|
+
timing: 'Every 6-8 weeks',
|
|
288
|
+
criteria: 'RECIST 1.1'
|
|
289
|
+
},
|
|
290
|
+
switchingCriteria: {
|
|
291
|
+
progressionDefinition: 'RECIST progression',
|
|
292
|
+
toxicityCriteria: 'Grade 3+ immune-related AE',
|
|
293
|
+
imagingInterval: 'Every 6-8 weeks',
|
|
294
|
+
mandatorySwitch: ['RECIST progression'],
|
|
295
|
+
optionalSwitch: []
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
],
|
|
299
|
+
specialPathways: [
|
|
300
|
+
{
|
|
301
|
+
name: 'Oligoprogression Pathway',
|
|
302
|
+
eligibility: ['1-3 sites of progression', 'Systemic disease controlled'],
|
|
303
|
+
protocol: 'Continue systemic therapy + local ablative therapy (SBRT/surgery)',
|
|
304
|
+
rationale: 'May prolong time on effective systemic therapy'
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
name: 'CNS Sanctuary Progression',
|
|
308
|
+
eligibility: ['Intracranial progression only', 'Extracranial disease controlled'],
|
|
309
|
+
protocol: 'SRS/WBRT + continue osimertinib (CNS-penetrant)',
|
|
310
|
+
rationale: 'Osimertinib has CNS penetration but may need local boost'
|
|
311
|
+
}
|
|
312
|
+
],
|
|
313
|
+
maintenanceOptions: [
|
|
314
|
+
{
|
|
315
|
+
name: 'Osimertinib Maintenance',
|
|
316
|
+
eligibility: ['Response or stable disease on osimertinib'],
|
|
317
|
+
regimen: {
|
|
318
|
+
id: 'osi-maintenance',
|
|
319
|
+
name: 'Osimertinib Maintenance',
|
|
320
|
+
drugs: [{ name: 'Osimertinib', class: 'EGFR TKI', dose: '80mg', route: 'PO', schedule: 'Daily' }],
|
|
321
|
+
schedule: 'Continuous',
|
|
322
|
+
duration: 'Until progression',
|
|
323
|
+
evidenceLevel: 'Category 1',
|
|
324
|
+
preferenceLevel: 'Preferred',
|
|
325
|
+
keyTrials: ['FLAURA'],
|
|
326
|
+
expectedOutcomes: { responseRate: 'N/A', pfs: 'Ongoing', os: 'Ongoing' },
|
|
327
|
+
contraindications: [],
|
|
328
|
+
specialConsiderations: []
|
|
329
|
+
},
|
|
330
|
+
duration: 'Until progression',
|
|
331
|
+
monitoringSchedule: 'CT every 8-12 weeks'
|
|
332
|
+
}
|
|
333
|
+
],
|
|
334
|
+
rechallengeOptions: [
|
|
335
|
+
{
|
|
336
|
+
originalTherapy: 'Osimertinib',
|
|
337
|
+
eligibility: ['Drug holiday >3 months', 'No on-target resistance mutations'],
|
|
338
|
+
washoutPeriod: 'Minimum 3 months',
|
|
339
|
+
expectedResponse: '30-40% may respond',
|
|
340
|
+
monitoringIntensity: 'CT every 6 weeks initially'
|
|
341
|
+
}
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
cancerType: 'Non-Small Cell Lung Cancer',
|
|
346
|
+
molecularSubtype: 'ALK-rearranged',
|
|
347
|
+
stage: 'Stage IV / Metastatic',
|
|
348
|
+
treatmentIntent: 'Life-Prolonging',
|
|
349
|
+
lines: [
|
|
350
|
+
{
|
|
351
|
+
line: '1L',
|
|
352
|
+
setting: 'Palliative',
|
|
353
|
+
regimens: [
|
|
354
|
+
{
|
|
355
|
+
id: 'nsclc-alk-1l-lorlatinib',
|
|
356
|
+
name: 'Lorlatinib',
|
|
357
|
+
drugs: [{
|
|
358
|
+
name: 'Lorlatinib',
|
|
359
|
+
class: 'Third-generation ALK TKI',
|
|
360
|
+
dose: '100mg',
|
|
361
|
+
route: 'PO',
|
|
362
|
+
schedule: 'Daily'
|
|
363
|
+
}],
|
|
364
|
+
schedule: 'Continuous',
|
|
365
|
+
duration: 'Until progression',
|
|
366
|
+
evidenceLevel: 'Category 1',
|
|
367
|
+
preferenceLevel: 'Preferred',
|
|
368
|
+
keyTrials: ['CROWN'],
|
|
369
|
+
expectedOutcomes: {
|
|
370
|
+
responseRate: '76%',
|
|
371
|
+
pfs: '60% at 3 years (NR)',
|
|
372
|
+
os: 'Not reached'
|
|
373
|
+
},
|
|
374
|
+
biomarkerRequirements: [{
|
|
375
|
+
marker: 'ALK rearrangement',
|
|
376
|
+
requirement: 'Required Positive',
|
|
377
|
+
testMethod: ['FISH', 'NGS', 'IHC']
|
|
378
|
+
}],
|
|
379
|
+
contraindications: ['CNS toxicity intolerance'],
|
|
380
|
+
specialConsiderations: ['Best CNS penetration', 'Cognitive/mood effects monitoring']
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
id: 'nsclc-alk-1l-alectinib',
|
|
384
|
+
name: 'Alectinib',
|
|
385
|
+
drugs: [{
|
|
386
|
+
name: 'Alectinib',
|
|
387
|
+
class: 'Second-generation ALK TKI',
|
|
388
|
+
dose: '600mg',
|
|
389
|
+
route: 'PO',
|
|
390
|
+
schedule: 'BID'
|
|
391
|
+
}],
|
|
392
|
+
schedule: 'Continuous',
|
|
393
|
+
duration: 'Until progression',
|
|
394
|
+
evidenceLevel: 'Category 1',
|
|
395
|
+
preferenceLevel: 'Preferred',
|
|
396
|
+
keyTrials: ['ALEX', 'J-ALEX'],
|
|
397
|
+
expectedOutcomes: {
|
|
398
|
+
responseRate: '83%',
|
|
399
|
+
pfs: '34.8 months',
|
|
400
|
+
os: 'Not reached at 5 years'
|
|
401
|
+
},
|
|
402
|
+
biomarkerRequirements: [{
|
|
403
|
+
marker: 'ALK rearrangement',
|
|
404
|
+
requirement: 'Required Positive',
|
|
405
|
+
testMethod: ['FISH', 'NGS', 'IHC']
|
|
406
|
+
}],
|
|
407
|
+
contraindications: ['Severe hepatic impairment'],
|
|
408
|
+
specialConsiderations: ['Excellent CNS activity', 'Well-tolerated']
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
id: 'nsclc-alk-1l-brigatinib',
|
|
412
|
+
name: 'Brigatinib',
|
|
413
|
+
drugs: [{
|
|
414
|
+
name: 'Brigatinib',
|
|
415
|
+
class: 'Second-generation ALK TKI',
|
|
416
|
+
dose: '180mg',
|
|
417
|
+
route: 'PO',
|
|
418
|
+
schedule: 'Daily (7-day lead-in at 90mg)'
|
|
419
|
+
}],
|
|
420
|
+
schedule: 'Continuous',
|
|
421
|
+
duration: 'Until progression',
|
|
422
|
+
evidenceLevel: 'Category 1',
|
|
423
|
+
preferenceLevel: 'Preferred',
|
|
424
|
+
keyTrials: ['ALTA-1L'],
|
|
425
|
+
expectedOutcomes: {
|
|
426
|
+
responseRate: '74%',
|
|
427
|
+
pfs: '24 months',
|
|
428
|
+
os: 'Not reached'
|
|
429
|
+
},
|
|
430
|
+
biomarkerRequirements: [{
|
|
431
|
+
marker: 'ALK rearrangement',
|
|
432
|
+
requirement: 'Required Positive',
|
|
433
|
+
testMethod: ['FISH', 'NGS', 'IHC']
|
|
434
|
+
}],
|
|
435
|
+
contraindications: ['Early-onset pulmonary events'],
|
|
436
|
+
specialConsiderations: ['7-day lead-in required', 'Good CNS activity']
|
|
437
|
+
}
|
|
438
|
+
],
|
|
439
|
+
selectionCriteria: {
|
|
440
|
+
biomarkers: [{
|
|
441
|
+
marker: 'ALK',
|
|
442
|
+
requirement: 'Required Positive',
|
|
443
|
+
testMethod: ['FISH', 'NGS', 'IHC']
|
|
444
|
+
}],
|
|
445
|
+
performanceStatus: 'ECOG 0-2',
|
|
446
|
+
organFunction: ['Adequate hepatic function'],
|
|
447
|
+
priorTherapies: ['No prior ALK TKI'],
|
|
448
|
+
patientPreferences: ['Lorlatinib for brain mets', 'Alectinib if concerned about CNS toxicity']
|
|
449
|
+
},
|
|
450
|
+
responseAssessment: {
|
|
451
|
+
method: ['CT chest/abdomen', 'Brain MRI'],
|
|
452
|
+
timing: 'Every 8-12 weeks',
|
|
453
|
+
criteria: 'RECIST 1.1'
|
|
454
|
+
},
|
|
455
|
+
switchingCriteria: {
|
|
456
|
+
progressionDefinition: 'RECIST progression',
|
|
457
|
+
toxicityCriteria: 'Intolerable CNS effects, Grade 3+ hepatotoxicity',
|
|
458
|
+
ctDNAGuidance: 'Identify ALK resistance mutations at progression',
|
|
459
|
+
imagingInterval: 'Every 8-12 weeks',
|
|
460
|
+
mandatorySwitch: ['RECIST progression', 'Unacceptable toxicity'],
|
|
461
|
+
optionalSwitch: ['Isolated oligoprogression']
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
line: '2L',
|
|
466
|
+
setting: 'Palliative',
|
|
467
|
+
regimens: [
|
|
468
|
+
{
|
|
469
|
+
id: 'nsclc-alk-2l-lorlatinib',
|
|
470
|
+
name: 'Lorlatinib (if not used 1L)',
|
|
471
|
+
drugs: [{
|
|
472
|
+
name: 'Lorlatinib',
|
|
473
|
+
class: 'Third-generation ALK TKI',
|
|
474
|
+
dose: '100mg',
|
|
475
|
+
route: 'PO',
|
|
476
|
+
schedule: 'Daily'
|
|
477
|
+
}],
|
|
478
|
+
schedule: 'Continuous',
|
|
479
|
+
duration: 'Until progression',
|
|
480
|
+
evidenceLevel: 'Category 1',
|
|
481
|
+
preferenceLevel: 'Preferred',
|
|
482
|
+
keyTrials: ['B7461001'],
|
|
483
|
+
expectedOutcomes: {
|
|
484
|
+
responseRate: '47% (post 2nd-gen TKI)',
|
|
485
|
+
pfs: '6.9 months',
|
|
486
|
+
os: 'Improved'
|
|
487
|
+
},
|
|
488
|
+
biomarkerRequirements: [{
|
|
489
|
+
marker: 'ALK rearrangement',
|
|
490
|
+
requirement: 'Required Positive',
|
|
491
|
+
testMethod: ['FISH', 'NGS']
|
|
492
|
+
}],
|
|
493
|
+
contraindications: ['Prior lorlatinib'],
|
|
494
|
+
specialConsiderations: ['Best for ALK compound mutations', 'CNS penetration']
|
|
495
|
+
}
|
|
496
|
+
],
|
|
497
|
+
selectionCriteria: {
|
|
498
|
+
biomarkers: [{
|
|
499
|
+
marker: 'ALK resistance mutations',
|
|
500
|
+
requirement: 'Predictive',
|
|
501
|
+
testMethod: ['NGS', 'ctDNA']
|
|
502
|
+
}],
|
|
503
|
+
performanceStatus: 'ECOG 0-2',
|
|
504
|
+
organFunction: ['Adequate'],
|
|
505
|
+
priorTherapies: ['Prior 2nd-gen ALK TKI'],
|
|
506
|
+
patientPreferences: []
|
|
507
|
+
},
|
|
508
|
+
responseAssessment: {
|
|
509
|
+
method: ['CT', 'Brain MRI'],
|
|
510
|
+
timing: 'Every 6-8 weeks',
|
|
511
|
+
criteria: 'RECIST 1.1'
|
|
512
|
+
},
|
|
513
|
+
switchingCriteria: {
|
|
514
|
+
progressionDefinition: 'RECIST progression',
|
|
515
|
+
toxicityCriteria: 'Grade 3+ toxicity',
|
|
516
|
+
imagingInterval: 'Every 6-8 weeks',
|
|
517
|
+
mandatorySwitch: ['RECIST progression'],
|
|
518
|
+
optionalSwitch: []
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
],
|
|
522
|
+
specialPathways: [],
|
|
523
|
+
maintenanceOptions: [],
|
|
524
|
+
rechallengeOptions: []
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
cancerType: 'Non-Small Cell Lung Cancer',
|
|
528
|
+
molecularSubtype: 'No actionable driver (PD-L1 ≥50%)',
|
|
529
|
+
stage: 'Stage IV / Metastatic',
|
|
530
|
+
treatmentIntent: 'Life-Prolonging',
|
|
531
|
+
lines: [
|
|
532
|
+
{
|
|
533
|
+
line: '1L',
|
|
534
|
+
setting: 'Palliative',
|
|
535
|
+
regimens: [
|
|
536
|
+
{
|
|
537
|
+
id: 'nsclc-pdl1-high-pembro-mono',
|
|
538
|
+
name: 'Pembrolizumab Monotherapy',
|
|
539
|
+
drugs: [{
|
|
540
|
+
name: 'Pembrolizumab',
|
|
541
|
+
class: 'Anti-PD-1',
|
|
542
|
+
dose: '200mg q3w or 400mg q6w',
|
|
543
|
+
route: 'IV',
|
|
544
|
+
schedule: 'Every 3 or 6 weeks'
|
|
545
|
+
}],
|
|
546
|
+
schedule: 'Q3W or Q6W',
|
|
547
|
+
duration: '2 years or until progression',
|
|
548
|
+
evidenceLevel: 'Category 1',
|
|
549
|
+
preferenceLevel: 'Preferred',
|
|
550
|
+
keyTrials: ['KEYNOTE-024', 'KEYNOTE-042'],
|
|
551
|
+
expectedOutcomes: {
|
|
552
|
+
responseRate: '45%',
|
|
553
|
+
pfs: '10.3 months',
|
|
554
|
+
os: '30 months'
|
|
555
|
+
},
|
|
556
|
+
biomarkerRequirements: [{
|
|
557
|
+
marker: 'PD-L1 TPS ≥50%',
|
|
558
|
+
requirement: 'Required Positive',
|
|
559
|
+
testMethod: ['22C3 IHC'],
|
|
560
|
+
threshold: '≥50%'
|
|
561
|
+
}],
|
|
562
|
+
contraindications: ['Active autoimmune disease', 'Chronic steroid use'],
|
|
563
|
+
specialConsiderations: ['Lower toxicity than chemo-IO']
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
id: 'nsclc-pdl1-high-chemo-pembro',
|
|
567
|
+
name: 'Platinum/Pemetrexed/Pembrolizumab (non-squamous)',
|
|
568
|
+
drugs: [
|
|
569
|
+
{ name: 'Carboplatin', class: 'Platinum', dose: 'AUC 5', route: 'IV', schedule: 'Day 1 q3w x 4' },
|
|
570
|
+
{ name: 'Pemetrexed', class: 'Antifolate', dose: '500mg/m²', route: 'IV', schedule: 'Day 1 q3w' },
|
|
571
|
+
{ name: 'Pembrolizumab', class: 'Anti-PD-1', dose: '200mg', route: 'IV', schedule: 'Day 1 q3w' }
|
|
572
|
+
],
|
|
573
|
+
schedule: '21-day cycles',
|
|
574
|
+
duration: '4 cycles then pem/pembro maintenance',
|
|
575
|
+
evidenceLevel: 'Category 1',
|
|
576
|
+
preferenceLevel: 'Preferred',
|
|
577
|
+
keyTrials: ['KEYNOTE-189'],
|
|
578
|
+
expectedOutcomes: {
|
|
579
|
+
responseRate: '48%',
|
|
580
|
+
pfs: '12 months',
|
|
581
|
+
os: '22 months'
|
|
582
|
+
},
|
|
583
|
+
contraindications: ['CrCl <45', 'Active autoimmune disease'],
|
|
584
|
+
specialConsiderations: ['May have higher response rate than IO alone']
|
|
585
|
+
}
|
|
586
|
+
],
|
|
587
|
+
selectionCriteria: {
|
|
588
|
+
biomarkers: [{
|
|
589
|
+
marker: 'PD-L1',
|
|
590
|
+
requirement: 'Required Positive',
|
|
591
|
+
testMethod: ['22C3 IHC'],
|
|
592
|
+
threshold: '≥50%'
|
|
593
|
+
}],
|
|
594
|
+
performanceStatus: 'ECOG 0-1 for IO mono, ECOG 0-2 for chemo-IO',
|
|
595
|
+
organFunction: ['Adequate'],
|
|
596
|
+
priorTherapies: ['Treatment-naive'],
|
|
597
|
+
patientPreferences: ['Consider IO mono if toxicity concerns']
|
|
598
|
+
},
|
|
599
|
+
responseAssessment: {
|
|
600
|
+
method: ['CT chest/abdomen/pelvis'],
|
|
601
|
+
timing: 'Every 6-12 weeks',
|
|
602
|
+
criteria: 'RECIST 1.1'
|
|
603
|
+
},
|
|
604
|
+
switchingCriteria: {
|
|
605
|
+
progressionDefinition: 'Confirmed RECIST progression',
|
|
606
|
+
toxicityCriteria: 'Grade 3+ irAE',
|
|
607
|
+
imagingInterval: 'Every 6-12 weeks',
|
|
608
|
+
mandatorySwitch: ['Confirmed progression'],
|
|
609
|
+
optionalSwitch: ['Pseudoprogression suspected - confirm at 4-8 weeks']
|
|
610
|
+
}
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
line: '2L',
|
|
614
|
+
setting: 'Palliative',
|
|
615
|
+
regimens: [
|
|
616
|
+
{
|
|
617
|
+
id: 'nsclc-2l-docetaxel-ram',
|
|
618
|
+
name: 'Docetaxel + Ramucirumab',
|
|
619
|
+
drugs: [
|
|
620
|
+
{ name: 'Docetaxel', class: 'Taxane', dose: '75mg/m²', route: 'IV', schedule: 'Day 1 q3w' },
|
|
621
|
+
{ name: 'Ramucirumab', class: 'Anti-VEGFR2', dose: '10mg/kg', route: 'IV', schedule: 'Day 1 q3w' }
|
|
622
|
+
],
|
|
623
|
+
schedule: '21-day cycles',
|
|
624
|
+
duration: 'Until progression',
|
|
625
|
+
evidenceLevel: 'Category 1',
|
|
626
|
+
preferenceLevel: 'Preferred',
|
|
627
|
+
keyTrials: ['REVEL'],
|
|
628
|
+
expectedOutcomes: {
|
|
629
|
+
responseRate: '23%',
|
|
630
|
+
pfs: '4.5 months',
|
|
631
|
+
os: '10.5 months'
|
|
632
|
+
},
|
|
633
|
+
contraindications: ['Grade 3+ bleeding', 'Uncontrolled hypertension'],
|
|
634
|
+
specialConsiderations: ['Improved OS vs docetaxel alone']
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
id: 'nsclc-2l-docetaxel',
|
|
638
|
+
name: 'Docetaxel',
|
|
639
|
+
drugs: [{
|
|
640
|
+
name: 'Docetaxel',
|
|
641
|
+
class: 'Taxane',
|
|
642
|
+
dose: '75mg/m²',
|
|
643
|
+
route: 'IV',
|
|
644
|
+
schedule: 'Day 1 q3w'
|
|
645
|
+
}],
|
|
646
|
+
schedule: '21-day cycles',
|
|
647
|
+
duration: 'Until progression',
|
|
648
|
+
evidenceLevel: 'Category 1',
|
|
649
|
+
preferenceLevel: 'Other Recommended',
|
|
650
|
+
keyTrials: ['TAX 317', 'TAX 320'],
|
|
651
|
+
expectedOutcomes: {
|
|
652
|
+
responseRate: '7-10%',
|
|
653
|
+
pfs: '2.9 months',
|
|
654
|
+
os: '7.5 months'
|
|
655
|
+
},
|
|
656
|
+
contraindications: ['Neutropenia', 'Severe neuropathy'],
|
|
657
|
+
specialConsiderations: ['Consider G-CSF support']
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
selectionCriteria: {
|
|
661
|
+
biomarkers: [],
|
|
662
|
+
performanceStatus: 'ECOG 0-2',
|
|
663
|
+
organFunction: ['Adequate bone marrow'],
|
|
664
|
+
priorTherapies: ['Prior platinum-based chemo and IO'],
|
|
665
|
+
patientPreferences: []
|
|
666
|
+
},
|
|
667
|
+
responseAssessment: {
|
|
668
|
+
method: ['CT'],
|
|
669
|
+
timing: 'Every 6-8 weeks',
|
|
670
|
+
criteria: 'RECIST 1.1'
|
|
671
|
+
},
|
|
672
|
+
switchingCriteria: {
|
|
673
|
+
progressionDefinition: 'RECIST progression',
|
|
674
|
+
toxicityCriteria: 'Grade 3+ toxicity',
|
|
675
|
+
imagingInterval: 'Every 6-8 weeks',
|
|
676
|
+
mandatorySwitch: ['Progression'],
|
|
677
|
+
optionalSwitch: []
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
],
|
|
681
|
+
specialPathways: [],
|
|
682
|
+
maintenanceOptions: [
|
|
683
|
+
{
|
|
684
|
+
name: 'Pemetrexed + Pembrolizumab Maintenance',
|
|
685
|
+
eligibility: ['Non-squamous', 'Response or SD after induction'],
|
|
686
|
+
regimen: {
|
|
687
|
+
id: 'pem-pembro-maint',
|
|
688
|
+
name: 'Pemetrexed + Pembrolizumab',
|
|
689
|
+
drugs: [
|
|
690
|
+
{ name: 'Pemetrexed', class: 'Antifolate', dose: '500mg/m²', route: 'IV', schedule: 'Day 1 q3w' },
|
|
691
|
+
{ name: 'Pembrolizumab', class: 'Anti-PD-1', dose: '200mg', route: 'IV', schedule: 'Day 1 q3w' }
|
|
692
|
+
],
|
|
693
|
+
schedule: '21-day cycles',
|
|
694
|
+
duration: 'Until progression (pembro max 2 years)',
|
|
695
|
+
evidenceLevel: 'Category 1',
|
|
696
|
+
preferenceLevel: 'Preferred',
|
|
697
|
+
keyTrials: ['KEYNOTE-189'],
|
|
698
|
+
expectedOutcomes: { responseRate: 'N/A', pfs: 'Ongoing', os: 'Ongoing' },
|
|
699
|
+
contraindications: [],
|
|
700
|
+
specialConsiderations: []
|
|
701
|
+
},
|
|
702
|
+
duration: 'Until progression or 2 years pembrolizumab',
|
|
703
|
+
monitoringSchedule: 'Every 6-12 weeks'
|
|
704
|
+
}
|
|
705
|
+
],
|
|
706
|
+
rechallengeOptions: []
|
|
707
|
+
}
|
|
708
|
+
];
|
|
709
|
+
|
|
710
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
711
|
+
// BREAST CANCER TREATMENT SEQUENCES
|
|
712
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
713
|
+
|
|
714
|
+
export const BREAST_CANCER_TREATMENT_SEQUENCES: CancerTreatmentSequence[] = [
|
|
715
|
+
{
|
|
716
|
+
cancerType: 'Breast Cancer',
|
|
717
|
+
molecularSubtype: 'HR+/HER2- Metastatic',
|
|
718
|
+
stage: 'Stage IV / Metastatic',
|
|
719
|
+
treatmentIntent: 'Life-Prolonging',
|
|
720
|
+
lines: [
|
|
721
|
+
{
|
|
722
|
+
line: '1L',
|
|
723
|
+
setting: 'Palliative',
|
|
724
|
+
regimens: [
|
|
725
|
+
{
|
|
726
|
+
id: 'bc-hr-1l-cdk46i-ai',
|
|
727
|
+
name: 'CDK4/6 Inhibitor + Aromatase Inhibitor',
|
|
728
|
+
drugs: [
|
|
729
|
+
{ name: 'Palbociclib', class: 'CDK4/6 inhibitor', dose: '125mg', route: 'PO', schedule: 'Day 1-21 q28d' },
|
|
730
|
+
{ name: 'Letrozole', class: 'Aromatase inhibitor', dose: '2.5mg', route: 'PO', schedule: 'Daily' }
|
|
731
|
+
],
|
|
732
|
+
schedule: '28-day cycles',
|
|
733
|
+
duration: 'Until progression',
|
|
734
|
+
evidenceLevel: 'Category 1',
|
|
735
|
+
preferenceLevel: 'Preferred',
|
|
736
|
+
keyTrials: ['PALOMA-2', 'MONALEESA-2', 'MONARCH-3'],
|
|
737
|
+
expectedOutcomes: {
|
|
738
|
+
responseRate: '55%',
|
|
739
|
+
pfs: '27.6 months',
|
|
740
|
+
os: '53.9 months'
|
|
741
|
+
},
|
|
742
|
+
biomarkerRequirements: [
|
|
743
|
+
{ marker: 'ER', requirement: 'Required Positive', testMethod: ['IHC'], threshold: '≥1%' },
|
|
744
|
+
{ marker: 'HER2', requirement: 'Required Negative', testMethod: ['IHC', 'FISH'] }
|
|
745
|
+
],
|
|
746
|
+
contraindications: ['Severe hepatic impairment', 'Concurrent CYP3A4 inhibitors'],
|
|
747
|
+
specialConsiderations: ['Ribociclib or abemaciclib alternatives', 'Neutropenia monitoring']
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
id: 'bc-hr-1l-ribociclib-ai',
|
|
751
|
+
name: 'Ribociclib + Aromatase Inhibitor',
|
|
752
|
+
drugs: [
|
|
753
|
+
{ name: 'Ribociclib', class: 'CDK4/6 inhibitor', dose: '600mg', route: 'PO', schedule: 'Day 1-21 q28d' },
|
|
754
|
+
{ name: 'Letrozole', class: 'Aromatase inhibitor', dose: '2.5mg', route: 'PO', schedule: 'Daily' }
|
|
755
|
+
],
|
|
756
|
+
schedule: '28-day cycles',
|
|
757
|
+
duration: 'Until progression',
|
|
758
|
+
evidenceLevel: 'Category 1',
|
|
759
|
+
preferenceLevel: 'Preferred',
|
|
760
|
+
keyTrials: ['MONALEESA-2', 'MONALEESA-7'],
|
|
761
|
+
expectedOutcomes: {
|
|
762
|
+
responseRate: '53%',
|
|
763
|
+
pfs: '25.3 months',
|
|
764
|
+
os: '63.9 months'
|
|
765
|
+
},
|
|
766
|
+
biomarkerRequirements: [
|
|
767
|
+
{ marker: 'ER', requirement: 'Required Positive', testMethod: ['IHC'] },
|
|
768
|
+
{ marker: 'HER2', requirement: 'Required Negative', testMethod: ['IHC', 'FISH'] }
|
|
769
|
+
],
|
|
770
|
+
contraindications: ['QTc prolongation', 'Hepatic impairment'],
|
|
771
|
+
specialConsiderations: ['ECG monitoring for QTc', 'Demonstrated OS benefit']
|
|
772
|
+
}
|
|
773
|
+
],
|
|
774
|
+
selectionCriteria: {
|
|
775
|
+
biomarkers: [
|
|
776
|
+
{ marker: 'ER/PR', requirement: 'Required Positive', testMethod: ['IHC'] },
|
|
777
|
+
{ marker: 'HER2', requirement: 'Required Negative', testMethod: ['IHC', 'FISH'] }
|
|
778
|
+
],
|
|
779
|
+
performanceStatus: 'ECOG 0-2',
|
|
780
|
+
organFunction: ['Adequate hepatic function', 'QTc <480ms for ribociclib'],
|
|
781
|
+
priorTherapies: ['May have had adjuvant ET if >12 months since completion'],
|
|
782
|
+
patientPreferences: ['All-oral regimen']
|
|
783
|
+
},
|
|
784
|
+
responseAssessment: {
|
|
785
|
+
method: ['CT', 'Bone scan'],
|
|
786
|
+
timing: 'Every 12 weeks',
|
|
787
|
+
criteria: 'RECIST 1.1'
|
|
788
|
+
},
|
|
789
|
+
switchingCriteria: {
|
|
790
|
+
progressionDefinition: 'RECIST progression',
|
|
791
|
+
toxicityCriteria: 'Grade 4 neutropenia, QTc >500ms',
|
|
792
|
+
imagingInterval: 'Every 12 weeks',
|
|
793
|
+
mandatorySwitch: ['RECIST progression'],
|
|
794
|
+
optionalSwitch: ['Switch CDK4/6i if toxicity to one agent']
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
line: '2L',
|
|
799
|
+
setting: 'Palliative',
|
|
800
|
+
regimens: [
|
|
801
|
+
{
|
|
802
|
+
id: 'bc-hr-2l-elahere',
|
|
803
|
+
name: 'Elacestrant (ESR1 mutant)',
|
|
804
|
+
drugs: [{
|
|
805
|
+
name: 'Elacestrant',
|
|
806
|
+
class: 'Oral SERD',
|
|
807
|
+
dose: '345mg',
|
|
808
|
+
route: 'PO',
|
|
809
|
+
schedule: 'Daily'
|
|
810
|
+
}],
|
|
811
|
+
schedule: 'Continuous',
|
|
812
|
+
duration: 'Until progression',
|
|
813
|
+
evidenceLevel: 'Category 1',
|
|
814
|
+
preferenceLevel: 'Preferred',
|
|
815
|
+
keyTrials: ['EMERALD'],
|
|
816
|
+
expectedOutcomes: {
|
|
817
|
+
responseRate: '22%',
|
|
818
|
+
pfs: '3.8 months (ESR1 mut: 8.6 mo)',
|
|
819
|
+
os: 'Trend to improvement in ESR1 mut'
|
|
820
|
+
},
|
|
821
|
+
biomarkerRequirements: [{
|
|
822
|
+
marker: 'ESR1 mutation',
|
|
823
|
+
requirement: 'Preferred Positive',
|
|
824
|
+
testMethod: ['ctDNA', 'NGS']
|
|
825
|
+
}],
|
|
826
|
+
contraindications: ['Severe hepatic impairment'],
|
|
827
|
+
specialConsiderations: ['Best activity in ESR1 mutant', 'Oral convenience']
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
id: 'bc-hr-2l-everolimus-exemestane',
|
|
831
|
+
name: 'Everolimus + Exemestane',
|
|
832
|
+
drugs: [
|
|
833
|
+
{ name: 'Everolimus', class: 'mTOR inhibitor', dose: '10mg', route: 'PO', schedule: 'Daily' },
|
|
834
|
+
{ name: 'Exemestane', class: 'Aromatase inhibitor', dose: '25mg', route: 'PO', schedule: 'Daily' }
|
|
835
|
+
],
|
|
836
|
+
schedule: 'Continuous',
|
|
837
|
+
duration: 'Until progression',
|
|
838
|
+
evidenceLevel: 'Category 1',
|
|
839
|
+
preferenceLevel: 'Other Recommended',
|
|
840
|
+
keyTrials: ['BOLERO-2'],
|
|
841
|
+
expectedOutcomes: {
|
|
842
|
+
responseRate: '12%',
|
|
843
|
+
pfs: '7.8 months',
|
|
844
|
+
os: 'No significant difference'
|
|
845
|
+
},
|
|
846
|
+
contraindications: ['Severe pulmonary disease', 'Uncontrolled diabetes'],
|
|
847
|
+
specialConsiderations: ['Stomatitis management', 'Pneumonitis monitoring']
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
id: 'bc-hr-2l-capivasertib-fulv',
|
|
851
|
+
name: 'Capivasertib + Fulvestrant (AKT pathway)',
|
|
852
|
+
drugs: [
|
|
853
|
+
{ name: 'Capivasertib', class: 'AKT inhibitor', dose: '400mg BID', route: 'PO', schedule: '4 days on/3 days off' },
|
|
854
|
+
{ name: 'Fulvestrant', class: 'SERD', dose: '500mg', route: 'IM', schedule: 'Day 1, 15 (C1), then Day 1 q28d' }
|
|
855
|
+
],
|
|
856
|
+
schedule: '28-day cycles',
|
|
857
|
+
duration: 'Until progression',
|
|
858
|
+
evidenceLevel: 'Category 1',
|
|
859
|
+
preferenceLevel: 'Preferred',
|
|
860
|
+
keyTrials: ['CAPItello-291'],
|
|
861
|
+
expectedOutcomes: {
|
|
862
|
+
responseRate: '23%',
|
|
863
|
+
pfs: '7.2 months (AKT pathway: 7.3 mo)',
|
|
864
|
+
os: 'Pending'
|
|
865
|
+
},
|
|
866
|
+
biomarkerRequirements: [{
|
|
867
|
+
marker: 'AKT pathway alteration (PIK3CA/AKT1/PTEN)',
|
|
868
|
+
requirement: 'Preferred Positive',
|
|
869
|
+
testMethod: ['NGS']
|
|
870
|
+
}],
|
|
871
|
+
contraindications: ['Uncontrolled diabetes', 'Severe diarrhea history'],
|
|
872
|
+
specialConsiderations: ['Hyperglycemia monitoring', 'Diarrhea management']
|
|
873
|
+
}
|
|
874
|
+
],
|
|
875
|
+
selectionCriteria: {
|
|
876
|
+
biomarkers: [
|
|
877
|
+
{ marker: 'ESR1 mutation', requirement: 'Predictive', testMethod: ['ctDNA'] },
|
|
878
|
+
{ marker: 'PIK3CA/AKT1/PTEN', requirement: 'Predictive', testMethod: ['NGS'] }
|
|
879
|
+
],
|
|
880
|
+
performanceStatus: 'ECOG 0-2',
|
|
881
|
+
organFunction: ['Adequate'],
|
|
882
|
+
priorTherapies: ['Prior CDK4/6i + ET'],
|
|
883
|
+
patientPreferences: ['Consider oral options']
|
|
884
|
+
},
|
|
885
|
+
responseAssessment: {
|
|
886
|
+
method: ['CT', 'Bone scan'],
|
|
887
|
+
timing: 'Every 8-12 weeks',
|
|
888
|
+
criteria: 'RECIST 1.1'
|
|
889
|
+
},
|
|
890
|
+
switchingCriteria: {
|
|
891
|
+
progressionDefinition: 'RECIST progression',
|
|
892
|
+
toxicityCriteria: 'Grade 3+ toxicity',
|
|
893
|
+
imagingInterval: 'Every 8-12 weeks',
|
|
894
|
+
mandatorySwitch: ['Progression'],
|
|
895
|
+
optionalSwitch: []
|
|
896
|
+
}
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
line: '3L',
|
|
900
|
+
setting: 'Palliative',
|
|
901
|
+
regimens: [
|
|
902
|
+
{
|
|
903
|
+
id: 'bc-hr-3l-tdxd',
|
|
904
|
+
name: 'Trastuzumab Deruxtecan (HER2-low)',
|
|
905
|
+
drugs: [{
|
|
906
|
+
name: 'Trastuzumab deruxtecan',
|
|
907
|
+
class: 'HER2-directed ADC',
|
|
908
|
+
dose: '5.4mg/kg',
|
|
909
|
+
route: 'IV',
|
|
910
|
+
schedule: 'Day 1 q3w'
|
|
911
|
+
}],
|
|
912
|
+
schedule: '21-day cycles',
|
|
913
|
+
duration: 'Until progression',
|
|
914
|
+
evidenceLevel: 'Category 1',
|
|
915
|
+
preferenceLevel: 'Preferred',
|
|
916
|
+
keyTrials: ['DESTINY-Breast04'],
|
|
917
|
+
expectedOutcomes: {
|
|
918
|
+
responseRate: '52%',
|
|
919
|
+
pfs: '10.1 months',
|
|
920
|
+
os: '23.9 months'
|
|
921
|
+
},
|
|
922
|
+
biomarkerRequirements: [{
|
|
923
|
+
marker: 'HER2-low (IHC 1+ or 2+/FISH-)',
|
|
924
|
+
requirement: 'Required Positive',
|
|
925
|
+
testMethod: ['IHC', 'FISH']
|
|
926
|
+
}],
|
|
927
|
+
contraindications: ['ILD history'],
|
|
928
|
+
specialConsiderations: ['ILD monitoring critical', 'Nausea prophylaxis']
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
id: 'bc-hr-3l-sacituzumab',
|
|
932
|
+
name: 'Sacituzumab Govitecan',
|
|
933
|
+
drugs: [{
|
|
934
|
+
name: 'Sacituzumab govitecan',
|
|
935
|
+
class: 'Trop-2-directed ADC',
|
|
936
|
+
dose: '10mg/kg',
|
|
937
|
+
route: 'IV',
|
|
938
|
+
schedule: 'Days 1, 8 q21d'
|
|
939
|
+
}],
|
|
940
|
+
schedule: '21-day cycles',
|
|
941
|
+
duration: 'Until progression',
|
|
942
|
+
evidenceLevel: 'Category 1',
|
|
943
|
+
preferenceLevel: 'Preferred',
|
|
944
|
+
keyTrials: ['TROPiCS-02'],
|
|
945
|
+
expectedOutcomes: {
|
|
946
|
+
responseRate: '21%',
|
|
947
|
+
pfs: '5.5 months',
|
|
948
|
+
os: '14.4 months'
|
|
949
|
+
},
|
|
950
|
+
biomarkerRequirements: [],
|
|
951
|
+
contraindications: ['UGT1A1*28 homozygous (dose reduce)', 'Severe neutropenia'],
|
|
952
|
+
specialConsiderations: ['Diarrhea management', 'Neutropenia common']
|
|
953
|
+
}
|
|
954
|
+
],
|
|
955
|
+
selectionCriteria: {
|
|
956
|
+
biomarkers: [{
|
|
957
|
+
marker: 'HER2-low status',
|
|
958
|
+
requirement: 'Predictive',
|
|
959
|
+
testMethod: ['IHC', 'FISH']
|
|
960
|
+
}],
|
|
961
|
+
performanceStatus: 'ECOG 0-2',
|
|
962
|
+
organFunction: ['Adequate'],
|
|
963
|
+
priorTherapies: ['≥2 prior ET', 'Prior CDK4/6i', '1-2 prior chemotherapy'],
|
|
964
|
+
patientPreferences: []
|
|
965
|
+
},
|
|
966
|
+
responseAssessment: {
|
|
967
|
+
method: ['CT'],
|
|
968
|
+
timing: 'Every 6-8 weeks',
|
|
969
|
+
criteria: 'RECIST 1.1'
|
|
970
|
+
},
|
|
971
|
+
switchingCriteria: {
|
|
972
|
+
progressionDefinition: 'RECIST progression',
|
|
973
|
+
toxicityCriteria: 'ILD any grade, Grade 4 neutropenia',
|
|
974
|
+
imagingInterval: 'Every 6-8 weeks',
|
|
975
|
+
mandatorySwitch: ['Progression', 'ILD'],
|
|
976
|
+
optionalSwitch: []
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
],
|
|
980
|
+
specialPathways: [
|
|
981
|
+
{
|
|
982
|
+
name: 'BRCA-mutant pathway',
|
|
983
|
+
eligibility: ['Germline BRCA1/2 mutation', 'Prior chemotherapy'],
|
|
984
|
+
protocol: 'Olaparib or Talazoparib (PARP inhibitor)',
|
|
985
|
+
rationale: 'OlympiAD trial showed PFS benefit'
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
name: 'PIK3CA-mutant pathway',
|
|
989
|
+
eligibility: ['PIK3CA mutation', 'Prior ET'],
|
|
990
|
+
protocol: 'Alpelisib + Fulvestrant',
|
|
991
|
+
rationale: 'SOLAR-1 trial showed PFS benefit in PIK3CA-mutant'
|
|
992
|
+
}
|
|
993
|
+
],
|
|
994
|
+
maintenanceOptions: [],
|
|
995
|
+
rechallengeOptions: []
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
cancerType: 'Breast Cancer',
|
|
999
|
+
molecularSubtype: 'HER2+ Metastatic',
|
|
1000
|
+
stage: 'Stage IV / Metastatic',
|
|
1001
|
+
treatmentIntent: 'Life-Prolonging',
|
|
1002
|
+
lines: [
|
|
1003
|
+
{
|
|
1004
|
+
line: '1L',
|
|
1005
|
+
setting: 'Palliative',
|
|
1006
|
+
regimens: [
|
|
1007
|
+
{
|
|
1008
|
+
id: 'bc-her2-1l-tchp',
|
|
1009
|
+
name: 'Taxane + Trastuzumab + Pertuzumab',
|
|
1010
|
+
drugs: [
|
|
1011
|
+
{ name: 'Docetaxel', class: 'Taxane', dose: '75-100mg/m²', route: 'IV', schedule: 'Day 1 q3w' },
|
|
1012
|
+
{ name: 'Trastuzumab', class: 'Anti-HER2', dose: '8mg/kg load, 6mg/kg maint', route: 'IV', schedule: 'Day 1 q3w' },
|
|
1013
|
+
{ name: 'Pertuzumab', class: 'Anti-HER2', dose: '840mg load, 420mg maint', route: 'IV', schedule: 'Day 1 q3w' }
|
|
1014
|
+
],
|
|
1015
|
+
schedule: '21-day cycles',
|
|
1016
|
+
duration: 'Taxane x 6 cycles, HP until progression',
|
|
1017
|
+
evidenceLevel: 'Category 1',
|
|
1018
|
+
preferenceLevel: 'Preferred',
|
|
1019
|
+
keyTrials: ['CLEOPATRA'],
|
|
1020
|
+
expectedOutcomes: {
|
|
1021
|
+
responseRate: '80%',
|
|
1022
|
+
pfs: '18.7 months',
|
|
1023
|
+
os: '57 months'
|
|
1024
|
+
},
|
|
1025
|
+
biomarkerRequirements: [{
|
|
1026
|
+
marker: 'HER2 positive',
|
|
1027
|
+
requirement: 'Required Positive',
|
|
1028
|
+
testMethod: ['IHC 3+', 'FISH amplified']
|
|
1029
|
+
}],
|
|
1030
|
+
contraindications: ['LVEF <50%', 'Severe neuropathy'],
|
|
1031
|
+
specialConsiderations: ['Cardiac monitoring', 'Diarrhea management']
|
|
1032
|
+
}
|
|
1033
|
+
],
|
|
1034
|
+
selectionCriteria: {
|
|
1035
|
+
biomarkers: [{
|
|
1036
|
+
marker: 'HER2',
|
|
1037
|
+
requirement: 'Required Positive',
|
|
1038
|
+
testMethod: ['IHC 3+', 'FISH']
|
|
1039
|
+
}],
|
|
1040
|
+
performanceStatus: 'ECOG 0-2',
|
|
1041
|
+
organFunction: ['LVEF ≥50%', 'Adequate bone marrow'],
|
|
1042
|
+
priorTherapies: ['Treatment-naive or >12 months from adjuvant HP'],
|
|
1043
|
+
patientPreferences: []
|
|
1044
|
+
},
|
|
1045
|
+
responseAssessment: {
|
|
1046
|
+
method: ['CT', 'ECHO q3 months'],
|
|
1047
|
+
timing: 'Every 9-12 weeks',
|
|
1048
|
+
criteria: 'RECIST 1.1'
|
|
1049
|
+
},
|
|
1050
|
+
switchingCriteria: {
|
|
1051
|
+
progressionDefinition: 'RECIST progression',
|
|
1052
|
+
toxicityCriteria: 'LVEF drop >10% or <50%, Grade 3+ diarrhea',
|
|
1053
|
+
imagingInterval: 'Every 9-12 weeks',
|
|
1054
|
+
mandatorySwitch: ['Progression', 'Cardiac toxicity'],
|
|
1055
|
+
optionalSwitch: []
|
|
1056
|
+
}
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
line: '2L',
|
|
1060
|
+
setting: 'Palliative',
|
|
1061
|
+
regimens: [
|
|
1062
|
+
{
|
|
1063
|
+
id: 'bc-her2-2l-tdxd',
|
|
1064
|
+
name: 'Trastuzumab Deruxtecan',
|
|
1065
|
+
drugs: [{
|
|
1066
|
+
name: 'Trastuzumab deruxtecan',
|
|
1067
|
+
class: 'HER2-directed ADC',
|
|
1068
|
+
dose: '5.4mg/kg',
|
|
1069
|
+
route: 'IV',
|
|
1070
|
+
schedule: 'Day 1 q3w'
|
|
1071
|
+
}],
|
|
1072
|
+
schedule: '21-day cycles',
|
|
1073
|
+
duration: 'Until progression',
|
|
1074
|
+
evidenceLevel: 'Category 1',
|
|
1075
|
+
preferenceLevel: 'Preferred',
|
|
1076
|
+
keyTrials: ['DESTINY-Breast03'],
|
|
1077
|
+
expectedOutcomes: {
|
|
1078
|
+
responseRate: '79%',
|
|
1079
|
+
pfs: '28.8 months',
|
|
1080
|
+
os: 'Not reached'
|
|
1081
|
+
},
|
|
1082
|
+
biomarkerRequirements: [{
|
|
1083
|
+
marker: 'HER2 positive',
|
|
1084
|
+
requirement: 'Required Positive',
|
|
1085
|
+
testMethod: ['IHC 3+', 'FISH']
|
|
1086
|
+
}],
|
|
1087
|
+
contraindications: ['ILD history'],
|
|
1088
|
+
specialConsiderations: ['ILD monitoring mandatory', 'Nausea prophylaxis']
|
|
1089
|
+
}
|
|
1090
|
+
],
|
|
1091
|
+
selectionCriteria: {
|
|
1092
|
+
biomarkers: [{
|
|
1093
|
+
marker: 'HER2',
|
|
1094
|
+
requirement: 'Required Positive',
|
|
1095
|
+
testMethod: ['IHC 3+', 'FISH']
|
|
1096
|
+
}],
|
|
1097
|
+
performanceStatus: 'ECOG 0-2',
|
|
1098
|
+
organFunction: ['Adequate'],
|
|
1099
|
+
priorTherapies: ['Prior taxane + HP'],
|
|
1100
|
+
patientPreferences: []
|
|
1101
|
+
},
|
|
1102
|
+
responseAssessment: {
|
|
1103
|
+
method: ['CT'],
|
|
1104
|
+
timing: 'Every 6-9 weeks',
|
|
1105
|
+
criteria: 'RECIST 1.1'
|
|
1106
|
+
},
|
|
1107
|
+
switchingCriteria: {
|
|
1108
|
+
progressionDefinition: 'RECIST progression',
|
|
1109
|
+
toxicityCriteria: 'ILD Grade 2+',
|
|
1110
|
+
imagingInterval: 'Every 6-9 weeks',
|
|
1111
|
+
mandatorySwitch: ['Progression', 'ILD'],
|
|
1112
|
+
optionalSwitch: []
|
|
1113
|
+
}
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
line: '3L',
|
|
1117
|
+
setting: 'Palliative',
|
|
1118
|
+
regimens: [
|
|
1119
|
+
{
|
|
1120
|
+
id: 'bc-her2-3l-tucatinib',
|
|
1121
|
+
name: 'Tucatinib + Trastuzumab + Capecitabine',
|
|
1122
|
+
drugs: [
|
|
1123
|
+
{ name: 'Tucatinib', class: 'HER2 TKI', dose: '300mg', route: 'PO', schedule: 'BID' },
|
|
1124
|
+
{ name: 'Trastuzumab', class: 'Anti-HER2', dose: '6mg/kg', route: 'IV', schedule: 'Day 1 q3w' },
|
|
1125
|
+
{ name: 'Capecitabine', class: 'Antimetabolite', dose: '1000mg/m²', route: 'PO', schedule: 'BID D1-14 q21d' }
|
|
1126
|
+
],
|
|
1127
|
+
schedule: '21-day cycles',
|
|
1128
|
+
duration: 'Until progression',
|
|
1129
|
+
evidenceLevel: 'Category 1',
|
|
1130
|
+
preferenceLevel: 'Preferred',
|
|
1131
|
+
keyTrials: ['HER2CLIMB'],
|
|
1132
|
+
expectedOutcomes: {
|
|
1133
|
+
responseRate: '41%',
|
|
1134
|
+
pfs: '7.8 months',
|
|
1135
|
+
os: '21.9 months'
|
|
1136
|
+
},
|
|
1137
|
+
biomarkerRequirements: [],
|
|
1138
|
+
contraindications: ['DPD deficiency'],
|
|
1139
|
+
specialConsiderations: ['Active for brain metastases', 'Hand-foot syndrome management']
|
|
1140
|
+
}
|
|
1141
|
+
],
|
|
1142
|
+
selectionCriteria: {
|
|
1143
|
+
biomarkers: [],
|
|
1144
|
+
performanceStatus: 'ECOG 0-2',
|
|
1145
|
+
organFunction: ['Adequate'],
|
|
1146
|
+
priorTherapies: ['Prior T-DXd', 'Brain mets allowed'],
|
|
1147
|
+
patientPreferences: []
|
|
1148
|
+
},
|
|
1149
|
+
responseAssessment: {
|
|
1150
|
+
method: ['CT', 'Brain MRI'],
|
|
1151
|
+
timing: 'Every 6-8 weeks',
|
|
1152
|
+
criteria: 'RECIST 1.1'
|
|
1153
|
+
},
|
|
1154
|
+
switchingCriteria: {
|
|
1155
|
+
progressionDefinition: 'RECIST progression',
|
|
1156
|
+
toxicityCriteria: 'Grade 3+ toxicity',
|
|
1157
|
+
imagingInterval: 'Every 6-8 weeks',
|
|
1158
|
+
mandatorySwitch: ['Progression'],
|
|
1159
|
+
optionalSwitch: []
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
],
|
|
1163
|
+
specialPathways: [
|
|
1164
|
+
{
|
|
1165
|
+
name: 'Brain metastases pathway',
|
|
1166
|
+
eligibility: ['Active or stable brain metastases'],
|
|
1167
|
+
protocol: 'Tucatinib-based regimen preferred (CNS penetrant)',
|
|
1168
|
+
rationale: 'HER2CLIMB showed intracranial activity'
|
|
1169
|
+
}
|
|
1170
|
+
],
|
|
1171
|
+
maintenanceOptions: [
|
|
1172
|
+
{
|
|
1173
|
+
name: 'HP Maintenance',
|
|
1174
|
+
eligibility: ['Response or SD after taxane + HP'],
|
|
1175
|
+
regimen: {
|
|
1176
|
+
id: 'hp-maint',
|
|
1177
|
+
name: 'Trastuzumab + Pertuzumab',
|
|
1178
|
+
drugs: [
|
|
1179
|
+
{ name: 'Trastuzumab', class: 'Anti-HER2', dose: '6mg/kg', route: 'IV', schedule: 'Day 1 q3w' },
|
|
1180
|
+
{ name: 'Pertuzumab', class: 'Anti-HER2', dose: '420mg', route: 'IV', schedule: 'Day 1 q3w' }
|
|
1181
|
+
],
|
|
1182
|
+
schedule: '21-day cycles',
|
|
1183
|
+
duration: 'Until progression',
|
|
1184
|
+
evidenceLevel: 'Category 1',
|
|
1185
|
+
preferenceLevel: 'Preferred',
|
|
1186
|
+
keyTrials: ['CLEOPATRA'],
|
|
1187
|
+
expectedOutcomes: { responseRate: 'N/A', pfs: 'Ongoing', os: 'Ongoing' },
|
|
1188
|
+
contraindications: [],
|
|
1189
|
+
specialConsiderations: []
|
|
1190
|
+
},
|
|
1191
|
+
duration: 'Until progression',
|
|
1192
|
+
monitoringSchedule: 'ECHO every 3 months'
|
|
1193
|
+
}
|
|
1194
|
+
],
|
|
1195
|
+
rechallengeOptions: []
|
|
1196
|
+
}
|
|
1197
|
+
];
|
|
1198
|
+
|
|
1199
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
1200
|
+
// COLORECTAL CANCER TREATMENT SEQUENCES
|
|
1201
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
1202
|
+
|
|
1203
|
+
export const COLORECTAL_CANCER_TREATMENT_SEQUENCES: CancerTreatmentSequence[] = [
|
|
1204
|
+
{
|
|
1205
|
+
cancerType: 'Colorectal Cancer',
|
|
1206
|
+
molecularSubtype: 'MSS/pMMR (Microsatellite Stable)',
|
|
1207
|
+
stage: 'Stage IV / Metastatic',
|
|
1208
|
+
treatmentIntent: 'Life-Prolonging',
|
|
1209
|
+
lines: [
|
|
1210
|
+
{
|
|
1211
|
+
line: '1L',
|
|
1212
|
+
setting: 'Palliative',
|
|
1213
|
+
regimens: [
|
|
1214
|
+
{
|
|
1215
|
+
id: 'crc-1l-folfox-bev',
|
|
1216
|
+
name: 'FOLFOX + Bevacizumab',
|
|
1217
|
+
drugs: [
|
|
1218
|
+
{ name: 'Oxaliplatin', class: 'Platinum', dose: '85mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1219
|
+
{ name: 'Leucovorin', class: 'Folate', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1220
|
+
{ name: '5-FU bolus', class: 'Antimetabolite', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1221
|
+
{ name: '5-FU infusion', class: 'Antimetabolite', dose: '2400mg/m²', route: 'IV', schedule: '46h infusion' },
|
|
1222
|
+
{ name: 'Bevacizumab', class: 'Anti-VEGF', dose: '5mg/kg', route: 'IV', schedule: 'Day 1 q2w' }
|
|
1223
|
+
],
|
|
1224
|
+
schedule: '14-day cycles',
|
|
1225
|
+
duration: 'Until progression or max oxaliplatin (8-12 cycles)',
|
|
1226
|
+
evidenceLevel: 'Category 1',
|
|
1227
|
+
preferenceLevel: 'Preferred',
|
|
1228
|
+
keyTrials: ['NO16966', 'TREE-2'],
|
|
1229
|
+
expectedOutcomes: {
|
|
1230
|
+
responseRate: '50%',
|
|
1231
|
+
pfs: '9-11 months',
|
|
1232
|
+
os: '21-24 months'
|
|
1233
|
+
},
|
|
1234
|
+
biomarkerRequirements: [{
|
|
1235
|
+
marker: 'RAS status',
|
|
1236
|
+
requirement: 'Predictive',
|
|
1237
|
+
testMethod: ['NGS', 'PCR']
|
|
1238
|
+
}],
|
|
1239
|
+
contraindications: ['Severe neuropathy', 'Bleeding risk', 'Recent surgery'],
|
|
1240
|
+
specialConsiderations: ['Oxaliplatin neuropathy monitoring', 'Stop-and-go strategy']
|
|
1241
|
+
},
|
|
1242
|
+
{
|
|
1243
|
+
id: 'crc-1l-folfiri-bev',
|
|
1244
|
+
name: 'FOLFIRI + Bevacizumab',
|
|
1245
|
+
drugs: [
|
|
1246
|
+
{ name: 'Irinotecan', class: 'Topoisomerase I', dose: '180mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1247
|
+
{ name: 'Leucovorin', class: 'Folate', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1248
|
+
{ name: '5-FU bolus', class: 'Antimetabolite', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1249
|
+
{ name: '5-FU infusion', class: 'Antimetabolite', dose: '2400mg/m²', route: 'IV', schedule: '46h infusion' },
|
|
1250
|
+
{ name: 'Bevacizumab', class: 'Anti-VEGF', dose: '5mg/kg', route: 'IV', schedule: 'Day 1 q2w' }
|
|
1251
|
+
],
|
|
1252
|
+
schedule: '14-day cycles',
|
|
1253
|
+
duration: 'Until progression',
|
|
1254
|
+
evidenceLevel: 'Category 1',
|
|
1255
|
+
preferenceLevel: 'Preferred',
|
|
1256
|
+
keyTrials: ['BICC-C'],
|
|
1257
|
+
expectedOutcomes: {
|
|
1258
|
+
responseRate: '45%',
|
|
1259
|
+
pfs: '9-10 months',
|
|
1260
|
+
os: '23-25 months'
|
|
1261
|
+
},
|
|
1262
|
+
biomarkerRequirements: [],
|
|
1263
|
+
contraindications: ['UGT1A1*28 homozygous', 'Severe diarrhea'],
|
|
1264
|
+
specialConsiderations: ['Diarrhea management', 'Cholinergic syndrome']
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
id: 'crc-1l-folfox-cetux-ras-wt',
|
|
1268
|
+
name: 'FOLFOX + Cetuximab (RAS WT, Left-sided)',
|
|
1269
|
+
drugs: [
|
|
1270
|
+
{ name: 'Oxaliplatin', class: 'Platinum', dose: '85mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1271
|
+
{ name: 'Leucovorin', class: 'Folate', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1272
|
+
{ name: '5-FU', class: 'Antimetabolite', dose: '2400mg/m²', route: 'IV', schedule: '46h infusion' },
|
|
1273
|
+
{ name: 'Cetuximab', class: 'Anti-EGFR', dose: '500mg/m²', route: 'IV', schedule: 'Day 1 q2w' }
|
|
1274
|
+
],
|
|
1275
|
+
schedule: '14-day cycles',
|
|
1276
|
+
duration: 'Until progression',
|
|
1277
|
+
evidenceLevel: 'Category 1',
|
|
1278
|
+
preferenceLevel: 'Preferred',
|
|
1279
|
+
keyTrials: ['CRYSTAL', 'FIRE-3', 'PARADIGM'],
|
|
1280
|
+
expectedOutcomes: {
|
|
1281
|
+
responseRate: '65%',
|
|
1282
|
+
pfs: '10-12 months',
|
|
1283
|
+
os: '30+ months (left-sided)'
|
|
1284
|
+
},
|
|
1285
|
+
biomarkerRequirements: [
|
|
1286
|
+
{ marker: 'RAS wild-type', requirement: 'Required Positive', testMethod: ['NGS'] },
|
|
1287
|
+
{ marker: 'BRAF wild-type', requirement: 'Preferred Positive', testMethod: ['NGS'] }
|
|
1288
|
+
],
|
|
1289
|
+
contraindications: ['RAS mutant', 'BRAF V600E mutant (relative)'],
|
|
1290
|
+
specialConsiderations: ['Left-sided tumors only', 'Acneiform rash management', 'Hypomagnesemia']
|
|
1291
|
+
}
|
|
1292
|
+
],
|
|
1293
|
+
selectionCriteria: {
|
|
1294
|
+
biomarkers: [
|
|
1295
|
+
{ marker: 'RAS', requirement: 'Predictive', testMethod: ['NGS'] },
|
|
1296
|
+
{ marker: 'BRAF', requirement: 'Predictive', testMethod: ['NGS'] },
|
|
1297
|
+
{ marker: 'MMR/MSI', requirement: 'Required Negative', testMethod: ['IHC', 'PCR'] }
|
|
1298
|
+
],
|
|
1299
|
+
performanceStatus: 'ECOG 0-2',
|
|
1300
|
+
organFunction: ['Adequate hepatic/renal function'],
|
|
1301
|
+
priorTherapies: ['Treatment-naive'],
|
|
1302
|
+
patientPreferences: ['Tumor sidedness critical for anti-EGFR selection']
|
|
1303
|
+
},
|
|
1304
|
+
responseAssessment: {
|
|
1305
|
+
method: ['CT chest/abdomen/pelvis'],
|
|
1306
|
+
timing: 'Every 8 weeks',
|
|
1307
|
+
criteria: 'RECIST 1.1'
|
|
1308
|
+
},
|
|
1309
|
+
switchingCriteria: {
|
|
1310
|
+
progressionDefinition: 'RECIST progression',
|
|
1311
|
+
toxicityCriteria: 'Grade 3 neuropathy, Grade 4 diarrhea',
|
|
1312
|
+
imagingInterval: 'Every 8 weeks',
|
|
1313
|
+
mandatorySwitch: ['RECIST progression'],
|
|
1314
|
+
optionalSwitch: ['Maintenance after 4-6 months induction']
|
|
1315
|
+
}
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
line: '2L',
|
|
1319
|
+
setting: 'Palliative',
|
|
1320
|
+
regimens: [
|
|
1321
|
+
{
|
|
1322
|
+
id: 'crc-2l-folfiri-afl',
|
|
1323
|
+
name: 'FOLFIRI + Aflibercept',
|
|
1324
|
+
drugs: [
|
|
1325
|
+
{ name: 'Irinotecan', class: 'Topoisomerase I', dose: '180mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1326
|
+
{ name: 'Leucovorin', class: 'Folate', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1327
|
+
{ name: '5-FU', class: 'Antimetabolite', dose: '2400mg/m²', route: 'IV', schedule: '46h infusion' },
|
|
1328
|
+
{ name: 'Aflibercept', class: 'VEGF-trap', dose: '4mg/kg', route: 'IV', schedule: 'Day 1 q2w' }
|
|
1329
|
+
],
|
|
1330
|
+
schedule: '14-day cycles',
|
|
1331
|
+
duration: 'Until progression',
|
|
1332
|
+
evidenceLevel: 'Category 1',
|
|
1333
|
+
preferenceLevel: 'Preferred',
|
|
1334
|
+
keyTrials: ['VELOUR'],
|
|
1335
|
+
expectedOutcomes: {
|
|
1336
|
+
responseRate: '20%',
|
|
1337
|
+
pfs: '6.9 months',
|
|
1338
|
+
os: '13.5 months'
|
|
1339
|
+
},
|
|
1340
|
+
contraindications: ['Recent surgery', 'Bleeding risk'],
|
|
1341
|
+
specialConsiderations: ['Post-oxaliplatin progression']
|
|
1342
|
+
},
|
|
1343
|
+
{
|
|
1344
|
+
id: 'crc-2l-folfox',
|
|
1345
|
+
name: 'FOLFOX (if irinotecan in 1L)',
|
|
1346
|
+
drugs: [
|
|
1347
|
+
{ name: 'Oxaliplatin', class: 'Platinum', dose: '85mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1348
|
+
{ name: 'Leucovorin', class: 'Folate', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1349
|
+
{ name: '5-FU', class: 'Antimetabolite', dose: '2400mg/m²', route: 'IV', schedule: '46h infusion' }
|
|
1350
|
+
],
|
|
1351
|
+
schedule: '14-day cycles',
|
|
1352
|
+
duration: 'Until progression or neuropathy',
|
|
1353
|
+
evidenceLevel: 'Category 2A',
|
|
1354
|
+
preferenceLevel: 'Other Recommended',
|
|
1355
|
+
keyTrials: ['E3200'],
|
|
1356
|
+
expectedOutcomes: {
|
|
1357
|
+
responseRate: '10-15%',
|
|
1358
|
+
pfs: '4-5 months',
|
|
1359
|
+
os: '10-12 months'
|
|
1360
|
+
},
|
|
1361
|
+
contraindications: ['Prior oxaliplatin neuropathy'],
|
|
1362
|
+
specialConsiderations: ['Add bevacizumab if not used in 1L']
|
|
1363
|
+
}
|
|
1364
|
+
],
|
|
1365
|
+
selectionCriteria: {
|
|
1366
|
+
biomarkers: [],
|
|
1367
|
+
performanceStatus: 'ECOG 0-2',
|
|
1368
|
+
organFunction: ['Adequate'],
|
|
1369
|
+
priorTherapies: ['Prior 1L chemotherapy'],
|
|
1370
|
+
patientPreferences: []
|
|
1371
|
+
},
|
|
1372
|
+
responseAssessment: {
|
|
1373
|
+
method: ['CT'],
|
|
1374
|
+
timing: 'Every 8 weeks',
|
|
1375
|
+
criteria: 'RECIST 1.1'
|
|
1376
|
+
},
|
|
1377
|
+
switchingCriteria: {
|
|
1378
|
+
progressionDefinition: 'RECIST progression',
|
|
1379
|
+
toxicityCriteria: 'Grade 3+ toxicity',
|
|
1380
|
+
imagingInterval: 'Every 8 weeks',
|
|
1381
|
+
mandatorySwitch: ['Progression'],
|
|
1382
|
+
optionalSwitch: []
|
|
1383
|
+
}
|
|
1384
|
+
},
|
|
1385
|
+
{
|
|
1386
|
+
line: '3L',
|
|
1387
|
+
setting: 'Palliative',
|
|
1388
|
+
regimens: [
|
|
1389
|
+
{
|
|
1390
|
+
id: 'crc-3l-regorafenib',
|
|
1391
|
+
name: 'Regorafenib',
|
|
1392
|
+
drugs: [{
|
|
1393
|
+
name: 'Regorafenib',
|
|
1394
|
+
class: 'Multi-kinase inhibitor',
|
|
1395
|
+
dose: '160mg',
|
|
1396
|
+
route: 'PO',
|
|
1397
|
+
schedule: 'Daily x 21d, 7d off'
|
|
1398
|
+
}],
|
|
1399
|
+
schedule: '28-day cycles',
|
|
1400
|
+
duration: 'Until progression',
|
|
1401
|
+
evidenceLevel: 'Category 1',
|
|
1402
|
+
preferenceLevel: 'Other Recommended',
|
|
1403
|
+
keyTrials: ['CORRECT'],
|
|
1404
|
+
expectedOutcomes: {
|
|
1405
|
+
responseRate: '1%',
|
|
1406
|
+
pfs: '1.9 months',
|
|
1407
|
+
os: '6.4 months'
|
|
1408
|
+
},
|
|
1409
|
+
contraindications: ['Severe hepatic impairment'],
|
|
1410
|
+
specialConsiderations: ['Start at lower dose (80-120mg)', 'Hand-foot skin reaction']
|
|
1411
|
+
},
|
|
1412
|
+
{
|
|
1413
|
+
id: 'crc-3l-trifluridine-tipiracil',
|
|
1414
|
+
name: 'Trifluridine/Tipiracil (TAS-102)',
|
|
1415
|
+
drugs: [{
|
|
1416
|
+
name: 'Trifluridine/tipiracil',
|
|
1417
|
+
class: 'Nucleoside analog',
|
|
1418
|
+
dose: '35mg/m² BID',
|
|
1419
|
+
route: 'PO',
|
|
1420
|
+
schedule: 'Days 1-5 and 8-12, q28d'
|
|
1421
|
+
}],
|
|
1422
|
+
schedule: '28-day cycles',
|
|
1423
|
+
duration: 'Until progression',
|
|
1424
|
+
evidenceLevel: 'Category 1',
|
|
1425
|
+
preferenceLevel: 'Preferred',
|
|
1426
|
+
keyTrials: ['RECOURSE'],
|
|
1427
|
+
expectedOutcomes: {
|
|
1428
|
+
responseRate: '2%',
|
|
1429
|
+
pfs: '2.0 months',
|
|
1430
|
+
os: '7.1 months'
|
|
1431
|
+
},
|
|
1432
|
+
contraindications: ['Severe myelosuppression'],
|
|
1433
|
+
specialConsiderations: ['Better tolerated than regorafenib', 'Neutropenia monitoring']
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
id: 'crc-3l-fruquintinib',
|
|
1437
|
+
name: 'Fruquintinib',
|
|
1438
|
+
drugs: [{
|
|
1439
|
+
name: 'Fruquintinib',
|
|
1440
|
+
class: 'VEGFR inhibitor',
|
|
1441
|
+
dose: '5mg',
|
|
1442
|
+
route: 'PO',
|
|
1443
|
+
schedule: 'Daily x 21d, 7d off'
|
|
1444
|
+
}],
|
|
1445
|
+
schedule: '28-day cycles',
|
|
1446
|
+
duration: 'Until progression',
|
|
1447
|
+
evidenceLevel: 'Category 1',
|
|
1448
|
+
preferenceLevel: 'Preferred',
|
|
1449
|
+
keyTrials: ['FRESCO-2'],
|
|
1450
|
+
expectedOutcomes: {
|
|
1451
|
+
responseRate: '2%',
|
|
1452
|
+
pfs: '3.7 months',
|
|
1453
|
+
os: '7.4 months'
|
|
1454
|
+
},
|
|
1455
|
+
contraindications: ['Bleeding risk', 'Uncontrolled hypertension'],
|
|
1456
|
+
specialConsiderations: ['Newest approved agent', 'HTN and proteinuria monitoring']
|
|
1457
|
+
}
|
|
1458
|
+
],
|
|
1459
|
+
selectionCriteria: {
|
|
1460
|
+
biomarkers: [],
|
|
1461
|
+
performanceStatus: 'ECOG 0-1',
|
|
1462
|
+
organFunction: ['Adequate'],
|
|
1463
|
+
priorTherapies: ['Prior fluoropyrimidine, oxaliplatin, irinotecan, anti-VEGF'],
|
|
1464
|
+
patientPreferences: ['Consider tolerability']
|
|
1465
|
+
},
|
|
1466
|
+
responseAssessment: {
|
|
1467
|
+
method: ['CT'],
|
|
1468
|
+
timing: 'Every 8 weeks',
|
|
1469
|
+
criteria: 'RECIST 1.1'
|
|
1470
|
+
},
|
|
1471
|
+
switchingCriteria: {
|
|
1472
|
+
progressionDefinition: 'RECIST progression',
|
|
1473
|
+
toxicityCriteria: 'Grade 3+ toxicity',
|
|
1474
|
+
imagingInterval: 'Every 8 weeks',
|
|
1475
|
+
mandatorySwitch: ['Progression'],
|
|
1476
|
+
optionalSwitch: []
|
|
1477
|
+
}
|
|
1478
|
+
}
|
|
1479
|
+
],
|
|
1480
|
+
specialPathways: [
|
|
1481
|
+
{
|
|
1482
|
+
name: 'BRAF V600E pathway',
|
|
1483
|
+
eligibility: ['BRAF V600E mutation'],
|
|
1484
|
+
protocol: 'Encorafenib + Cetuximab (BEACON regimen)',
|
|
1485
|
+
rationale: 'BEACON trial showed improved OS'
|
|
1486
|
+
},
|
|
1487
|
+
{
|
|
1488
|
+
name: 'HER2-amplified pathway',
|
|
1489
|
+
eligibility: ['HER2 amplification (3-5% of CRC)'],
|
|
1490
|
+
protocol: 'Trastuzumab + Pertuzumab or Tucatinib + Trastuzumab',
|
|
1491
|
+
rationale: 'MOUNTAINEER, MyPathway trials'
|
|
1492
|
+
},
|
|
1493
|
+
{
|
|
1494
|
+
name: 'KRAS G12C pathway',
|
|
1495
|
+
eligibility: ['KRAS G12C mutation (3% of CRC)'],
|
|
1496
|
+
protocol: 'Sotorasib or Adagrasib + Cetuximab',
|
|
1497
|
+
rationale: 'CodeBreaK, KRYSTAL-1 trials'
|
|
1498
|
+
}
|
|
1499
|
+
],
|
|
1500
|
+
maintenanceOptions: [
|
|
1501
|
+
{
|
|
1502
|
+
name: '5-FU/Bev Maintenance',
|
|
1503
|
+
eligibility: ['Response or SD after FOLFOX/FOLFIRI + Bev'],
|
|
1504
|
+
regimen: {
|
|
1505
|
+
id: 'fuv-bev-maint',
|
|
1506
|
+
name: '5-FU/LV + Bevacizumab',
|
|
1507
|
+
drugs: [
|
|
1508
|
+
{ name: 'Leucovorin', class: 'Folate', dose: '400mg/m²', route: 'IV', schedule: 'Day 1' },
|
|
1509
|
+
{ name: '5-FU', class: 'Antimetabolite', dose: '2400mg/m²', route: 'IV', schedule: '46h' },
|
|
1510
|
+
{ name: 'Bevacizumab', class: 'Anti-VEGF', dose: '5mg/kg', route: 'IV', schedule: 'Day 1' }
|
|
1511
|
+
],
|
|
1512
|
+
schedule: '14-day cycles',
|
|
1513
|
+
duration: 'Until progression',
|
|
1514
|
+
evidenceLevel: 'Category 1',
|
|
1515
|
+
preferenceLevel: 'Preferred',
|
|
1516
|
+
keyTrials: ['CAIRO3', 'AIO 0207'],
|
|
1517
|
+
expectedOutcomes: { responseRate: 'N/A', pfs: 'Improved vs observation', os: 'Similar' },
|
|
1518
|
+
contraindications: [],
|
|
1519
|
+
specialConsiderations: ['Oxaliplatin reintroduction at progression']
|
|
1520
|
+
},
|
|
1521
|
+
duration: 'Until progression',
|
|
1522
|
+
monitoringSchedule: 'CT every 8-12 weeks'
|
|
1523
|
+
}
|
|
1524
|
+
],
|
|
1525
|
+
rechallengeOptions: [
|
|
1526
|
+
{
|
|
1527
|
+
originalTherapy: 'Oxaliplatin',
|
|
1528
|
+
eligibility: ['≥6 months since last oxaliplatin', 'Neuropathy ≤G1'],
|
|
1529
|
+
washoutPeriod: 'Minimum 6 months',
|
|
1530
|
+
expectedResponse: 'May restore sensitivity',
|
|
1531
|
+
monitoringIntensity: 'Neuropathy assessment each cycle'
|
|
1532
|
+
},
|
|
1533
|
+
{
|
|
1534
|
+
originalTherapy: 'Anti-EGFR',
|
|
1535
|
+
eligibility: ['Prior response to anti-EGFR', '≥4 months off therapy', 'Repeat RAS testing'],
|
|
1536
|
+
washoutPeriod: '4+ months',
|
|
1537
|
+
expectedResponse: '20-30% may respond',
|
|
1538
|
+
monitoringIntensity: 'ctDNA monitoring'
|
|
1539
|
+
}
|
|
1540
|
+
]
|
|
1541
|
+
},
|
|
1542
|
+
{
|
|
1543
|
+
cancerType: 'Colorectal Cancer',
|
|
1544
|
+
molecularSubtype: 'MSI-H/dMMR (Microsatellite Instable)',
|
|
1545
|
+
stage: 'Stage IV / Metastatic',
|
|
1546
|
+
treatmentIntent: 'Life-Prolonging',
|
|
1547
|
+
lines: [
|
|
1548
|
+
{
|
|
1549
|
+
line: '1L',
|
|
1550
|
+
setting: 'Palliative',
|
|
1551
|
+
regimens: [
|
|
1552
|
+
{
|
|
1553
|
+
id: 'crc-msi-1l-pembro',
|
|
1554
|
+
name: 'Pembrolizumab',
|
|
1555
|
+
drugs: [{
|
|
1556
|
+
name: 'Pembrolizumab',
|
|
1557
|
+
class: 'Anti-PD-1',
|
|
1558
|
+
dose: '200mg q3w or 400mg q6w',
|
|
1559
|
+
route: 'IV',
|
|
1560
|
+
schedule: 'Every 3 or 6 weeks'
|
|
1561
|
+
}],
|
|
1562
|
+
schedule: 'Q3W or Q6W',
|
|
1563
|
+
duration: '2 years or until progression',
|
|
1564
|
+
evidenceLevel: 'Category 1',
|
|
1565
|
+
preferenceLevel: 'Preferred',
|
|
1566
|
+
keyTrials: ['KEYNOTE-177'],
|
|
1567
|
+
expectedOutcomes: {
|
|
1568
|
+
responseRate: '45%',
|
|
1569
|
+
pfs: '16.5 months',
|
|
1570
|
+
os: 'Not reached'
|
|
1571
|
+
},
|
|
1572
|
+
biomarkerRequirements: [{
|
|
1573
|
+
marker: 'MSI-H/dMMR',
|
|
1574
|
+
requirement: 'Required Positive',
|
|
1575
|
+
testMethod: ['IHC (MLH1, MSH2, MSH6, PMS2)', 'PCR', 'NGS']
|
|
1576
|
+
}],
|
|
1577
|
+
contraindications: ['Active autoimmune disease'],
|
|
1578
|
+
specialConsiderations: ['Superior to chemotherapy in MSI-H', 'irAE monitoring']
|
|
1579
|
+
},
|
|
1580
|
+
{
|
|
1581
|
+
id: 'crc-msi-1l-nivo-ipi',
|
|
1582
|
+
name: 'Nivolumab + Ipilimumab',
|
|
1583
|
+
drugs: [
|
|
1584
|
+
{ name: 'Nivolumab', class: 'Anti-PD-1', dose: '3mg/kg', route: 'IV', schedule: 'Q3W x 4, then 480mg Q4W' },
|
|
1585
|
+
{ name: 'Ipilimumab', class: 'Anti-CTLA-4', dose: '1mg/kg', route: 'IV', schedule: 'Q3W x 4' }
|
|
1586
|
+
],
|
|
1587
|
+
schedule: 'Induction then maintenance',
|
|
1588
|
+
duration: 'Until progression',
|
|
1589
|
+
evidenceLevel: 'Category 2A',
|
|
1590
|
+
preferenceLevel: 'Other Recommended',
|
|
1591
|
+
keyTrials: ['CheckMate 142'],
|
|
1592
|
+
expectedOutcomes: {
|
|
1593
|
+
responseRate: '69%',
|
|
1594
|
+
pfs: 'Not reached',
|
|
1595
|
+
os: 'Not reached'
|
|
1596
|
+
},
|
|
1597
|
+
biomarkerRequirements: [{
|
|
1598
|
+
marker: 'MSI-H/dMMR',
|
|
1599
|
+
requirement: 'Required Positive',
|
|
1600
|
+
testMethod: ['IHC', 'PCR', 'NGS']
|
|
1601
|
+
}],
|
|
1602
|
+
contraindications: ['Active autoimmune disease'],
|
|
1603
|
+
specialConsiderations: ['Higher response rate', 'More irAEs than single agent']
|
|
1604
|
+
}
|
|
1605
|
+
],
|
|
1606
|
+
selectionCriteria: {
|
|
1607
|
+
biomarkers: [{
|
|
1608
|
+
marker: 'MSI-H/dMMR',
|
|
1609
|
+
requirement: 'Required Positive',
|
|
1610
|
+
testMethod: ['IHC', 'PCR', 'NGS']
|
|
1611
|
+
}],
|
|
1612
|
+
performanceStatus: 'ECOG 0-2',
|
|
1613
|
+
organFunction: ['Adequate'],
|
|
1614
|
+
priorTherapies: ['Treatment-naive preferred'],
|
|
1615
|
+
patientPreferences: ['Single agent if concerned about irAEs']
|
|
1616
|
+
},
|
|
1617
|
+
responseAssessment: {
|
|
1618
|
+
method: ['CT'],
|
|
1619
|
+
timing: 'Every 8-12 weeks',
|
|
1620
|
+
criteria: 'iRECIST'
|
|
1621
|
+
},
|
|
1622
|
+
switchingCriteria: {
|
|
1623
|
+
progressionDefinition: 'iRECIST confirmed progression',
|
|
1624
|
+
toxicityCriteria: 'Grade 3+ irAE',
|
|
1625
|
+
imagingInterval: 'Every 8-12 weeks',
|
|
1626
|
+
mandatorySwitch: ['Confirmed progression'],
|
|
1627
|
+
optionalSwitch: ['Pseudoprogression - continue if clinically stable']
|
|
1628
|
+
}
|
|
1629
|
+
}
|
|
1630
|
+
],
|
|
1631
|
+
specialPathways: [],
|
|
1632
|
+
maintenanceOptions: [],
|
|
1633
|
+
rechallengeOptions: []
|
|
1634
|
+
}
|
|
1635
|
+
];
|
|
1636
|
+
|
|
1637
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
1638
|
+
// TREATMENT SEQUENCING ENGINE
|
|
1639
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
1640
|
+
|
|
1641
|
+
export class TreatmentSequencingEngine {
|
|
1642
|
+
private sequences: Map<string, CancerTreatmentSequence[]> = new Map();
|
|
1643
|
+
|
|
1644
|
+
constructor() {
|
|
1645
|
+
this.initializeSequences();
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
private initializeSequences(): void {
|
|
1649
|
+
this.sequences.set('NSCLC', NSCLC_TREATMENT_SEQUENCES);
|
|
1650
|
+
this.sequences.set('Breast', BREAST_CANCER_TREATMENT_SEQUENCES);
|
|
1651
|
+
this.sequences.set('Colorectal', COLORECTAL_CANCER_TREATMENT_SEQUENCES);
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
getSequence(
|
|
1655
|
+
cancerType: string,
|
|
1656
|
+
molecularSubtype?: string,
|
|
1657
|
+
stage?: string
|
|
1658
|
+
): CancerTreatmentSequence | undefined {
|
|
1659
|
+
const sequences = this.sequences.get(cancerType);
|
|
1660
|
+
if (!sequences) return undefined;
|
|
1661
|
+
|
|
1662
|
+
return sequences.find(seq =>
|
|
1663
|
+
(!molecularSubtype || seq.molecularSubtype === molecularSubtype) &&
|
|
1664
|
+
(!stage || seq.stage === stage)
|
|
1665
|
+
);
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
getLineOfTherapy(
|
|
1669
|
+
cancerType: string,
|
|
1670
|
+
molecularSubtype: string | undefined,
|
|
1671
|
+
line: TreatmentLine['line']
|
|
1672
|
+
): TreatmentLine | undefined {
|
|
1673
|
+
const sequence = this.getSequence(cancerType, molecularSubtype);
|
|
1674
|
+
if (!sequence) return undefined;
|
|
1675
|
+
|
|
1676
|
+
return sequence.lines.find(l => l.line === line);
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
getNextLineRecommendation(
|
|
1680
|
+
cancerType: string,
|
|
1681
|
+
molecularSubtype: string | undefined,
|
|
1682
|
+
currentLine: TreatmentLine['line'],
|
|
1683
|
+
priorRegimens: string[],
|
|
1684
|
+
biomarkerProfile: Record<string, string>
|
|
1685
|
+
): TherapyRegimen[] {
|
|
1686
|
+
const lineOrder: TreatmentLine['line'][] = ['1L', '2L', '3L', '4L', '5L+'];
|
|
1687
|
+
const currentIdx = lineOrder.indexOf(currentLine);
|
|
1688
|
+
if (currentIdx === -1 || currentIdx >= lineOrder.length - 1) return [];
|
|
1689
|
+
|
|
1690
|
+
const nextLine = this.getLineOfTherapy(
|
|
1691
|
+
cancerType,
|
|
1692
|
+
molecularSubtype,
|
|
1693
|
+
lineOrder[currentIdx + 1]
|
|
1694
|
+
);
|
|
1695
|
+
if (!nextLine) return [];
|
|
1696
|
+
|
|
1697
|
+
// Filter regimens based on biomarker requirements
|
|
1698
|
+
return nextLine.regimens.filter(regimen => {
|
|
1699
|
+
// Check biomarker requirements
|
|
1700
|
+
if (regimen.biomarkerRequirements) {
|
|
1701
|
+
for (const req of regimen.biomarkerRequirements) {
|
|
1702
|
+
const patientValue = biomarkerProfile[req.marker];
|
|
1703
|
+
if (req.requirement === 'Required Positive' && patientValue !== 'positive') {
|
|
1704
|
+
return false;
|
|
1705
|
+
}
|
|
1706
|
+
if (req.requirement === 'Required Negative' && patientValue === 'positive') {
|
|
1707
|
+
return false;
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
}
|
|
1711
|
+
// Check if regimen was already used
|
|
1712
|
+
if (priorRegimens.includes(regimen.id)) {
|
|
1713
|
+
return false;
|
|
1714
|
+
}
|
|
1715
|
+
return true;
|
|
1716
|
+
});
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
assessResponseAndRecommendSwitch(
|
|
1720
|
+
currentRegimen: TherapyRegimen,
|
|
1721
|
+
responseStatus: 'CR' | 'PR' | 'SD' | 'PD',
|
|
1722
|
+
toxicityGrade: number,
|
|
1723
|
+
cancerType: string,
|
|
1724
|
+
molecularSubtype?: string
|
|
1725
|
+
): {
|
|
1726
|
+
recommendation: 'continue' | 'switch' | 'maintain';
|
|
1727
|
+
reasoning: string;
|
|
1728
|
+
suggestedActions: string[];
|
|
1729
|
+
} {
|
|
1730
|
+
if (responseStatus === 'PD') {
|
|
1731
|
+
return {
|
|
1732
|
+
recommendation: 'switch',
|
|
1733
|
+
reasoning: 'Disease progression documented - switch to next line of therapy',
|
|
1734
|
+
suggestedActions: [
|
|
1735
|
+
'Document progression per RECIST 1.1',
|
|
1736
|
+
'Obtain repeat biomarker testing if applicable',
|
|
1737
|
+
'Consider clinical trial enrollment',
|
|
1738
|
+
'Advance to next line of therapy'
|
|
1739
|
+
]
|
|
1740
|
+
};
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
if (toxicityGrade >= 3) {
|
|
1744
|
+
return {
|
|
1745
|
+
recommendation: 'switch',
|
|
1746
|
+
reasoning: `Grade ${toxicityGrade} toxicity - consider dose reduction or regimen change`,
|
|
1747
|
+
suggestedActions: [
|
|
1748
|
+
'Evaluate for dose reduction',
|
|
1749
|
+
'Consider alternative agent within class',
|
|
1750
|
+
'If intolerable, switch to next line'
|
|
1751
|
+
]
|
|
1752
|
+
};
|
|
1753
|
+
}
|
|
1754
|
+
|
|
1755
|
+
if (responseStatus === 'CR' || responseStatus === 'PR') {
|
|
1756
|
+
const sequence = this.getSequence(cancerType, molecularSubtype);
|
|
1757
|
+
if (sequence?.maintenanceOptions.length) {
|
|
1758
|
+
return {
|
|
1759
|
+
recommendation: 'maintain',
|
|
1760
|
+
reasoning: 'Good response achieved - consider maintenance therapy',
|
|
1761
|
+
suggestedActions: [
|
|
1762
|
+
'Continue current therapy to maximum response',
|
|
1763
|
+
'Transition to maintenance when appropriate',
|
|
1764
|
+
'Continue regular imaging surveillance'
|
|
1765
|
+
]
|
|
1766
|
+
};
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
return {
|
|
1771
|
+
recommendation: 'continue',
|
|
1772
|
+
reasoning: 'Stable disease or response - continue current therapy',
|
|
1773
|
+
suggestedActions: [
|
|
1774
|
+
'Continue current regimen',
|
|
1775
|
+
'Monitor for toxicity and response',
|
|
1776
|
+
'Regular imaging per protocol'
|
|
1777
|
+
]
|
|
1778
|
+
};
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
getSpecialPathway(
|
|
1782
|
+
cancerType: string,
|
|
1783
|
+
molecularSubtype: string | undefined,
|
|
1784
|
+
biomarkerProfile: Record<string, string>
|
|
1785
|
+
): SpecialPathway | undefined {
|
|
1786
|
+
const sequence = this.getSequence(cancerType, molecularSubtype);
|
|
1787
|
+
if (!sequence) return undefined;
|
|
1788
|
+
|
|
1789
|
+
// Check for applicable special pathways
|
|
1790
|
+
for (const pathway of sequence.specialPathways) {
|
|
1791
|
+
// Match pathway eligibility with biomarker profile
|
|
1792
|
+
const isEligible = pathway.eligibility.some(criterion => {
|
|
1793
|
+
// Simple matching - in production would be more sophisticated
|
|
1794
|
+
return Object.entries(biomarkerProfile).some(([marker, value]) =>
|
|
1795
|
+
criterion.toLowerCase().includes(marker.toLowerCase()) &&
|
|
1796
|
+
criterion.toLowerCase().includes(value.toLowerCase())
|
|
1797
|
+
);
|
|
1798
|
+
});
|
|
1799
|
+
if (isEligible) return pathway;
|
|
1800
|
+
}
|
|
1801
|
+
return undefined;
|
|
1802
|
+
}
|
|
1803
|
+
|
|
1804
|
+
getRechallengeOptions(
|
|
1805
|
+
cancerType: string,
|
|
1806
|
+
molecularSubtype: string | undefined,
|
|
1807
|
+
priorTherapy: string
|
|
1808
|
+
): RechallengeProtocol | undefined {
|
|
1809
|
+
const sequence = this.getSequence(cancerType, molecularSubtype);
|
|
1810
|
+
if (!sequence) return undefined;
|
|
1811
|
+
|
|
1812
|
+
return sequence.rechallengeOptions.find(opt =>
|
|
1813
|
+
opt.originalTherapy.toLowerCase() === priorTherapy.toLowerCase()
|
|
1814
|
+
);
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
generateTreatmentRoadmap(
|
|
1818
|
+
cancerType: string,
|
|
1819
|
+
molecularSubtype: string | undefined,
|
|
1820
|
+
stage: string,
|
|
1821
|
+
biomarkerProfile: Record<string, string>
|
|
1822
|
+
): {
|
|
1823
|
+
lines: Array<{
|
|
1824
|
+
line: string;
|
|
1825
|
+
options: TherapyRegimen[];
|
|
1826
|
+
decisionPoints: string[];
|
|
1827
|
+
}>;
|
|
1828
|
+
specialConsiderations: string[];
|
|
1829
|
+
clinicalTrialOpportunities: string[];
|
|
1830
|
+
} {
|
|
1831
|
+
const sequence = this.getSequence(cancerType, molecularSubtype, stage);
|
|
1832
|
+
if (!sequence) {
|
|
1833
|
+
return {
|
|
1834
|
+
lines: [],
|
|
1835
|
+
specialConsiderations: ['No standard sequence available - consider clinical trial'],
|
|
1836
|
+
clinicalTrialOpportunities: ['Search clinicaltrials.gov for applicable trials']
|
|
1837
|
+
};
|
|
1838
|
+
}
|
|
1839
|
+
|
|
1840
|
+
const lines = sequence.lines.map(line => ({
|
|
1841
|
+
line: line.line,
|
|
1842
|
+
options: line.regimens.filter(regimen => {
|
|
1843
|
+
if (!regimen.biomarkerRequirements) return true;
|
|
1844
|
+
return regimen.biomarkerRequirements.every(req => {
|
|
1845
|
+
const value = biomarkerProfile[req.marker];
|
|
1846
|
+
if (req.requirement === 'Required Positive') return value === 'positive';
|
|
1847
|
+
if (req.requirement === 'Required Negative') return value !== 'positive';
|
|
1848
|
+
return true;
|
|
1849
|
+
});
|
|
1850
|
+
}),
|
|
1851
|
+
decisionPoints: [
|
|
1852
|
+
`Response assessment: ${line.responseAssessment.timing}`,
|
|
1853
|
+
`Criteria: ${line.responseAssessment.criteria}`,
|
|
1854
|
+
...line.switchingCriteria.mandatorySwitch.map(s => `Switch if: ${s}`)
|
|
1855
|
+
]
|
|
1856
|
+
}));
|
|
1857
|
+
|
|
1858
|
+
const specialConsiderations: string[] = [];
|
|
1859
|
+
const specialPathway = this.getSpecialPathway(cancerType, molecularSubtype, biomarkerProfile);
|
|
1860
|
+
if (specialPathway) {
|
|
1861
|
+
specialConsiderations.push(`Special pathway available: ${specialPathway.name}`);
|
|
1862
|
+
specialConsiderations.push(`Protocol: ${specialPathway.protocol}`);
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
return {
|
|
1866
|
+
lines,
|
|
1867
|
+
specialConsiderations,
|
|
1868
|
+
clinicalTrialOpportunities: [
|
|
1869
|
+
'Consider trial enrollment at each line of therapy',
|
|
1870
|
+
'Basket trials for molecular subtypes',
|
|
1871
|
+
'Novel combinations in early lines'
|
|
1872
|
+
]
|
|
1873
|
+
};
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
|
|
1877
|
+
// Export singleton instance
|
|
1878
|
+
export const treatmentSequencingEngine = new TreatmentSequencingEngine();
|