heor-agent-mcp 1.3.2 → 1.4.1
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/dist/jca/countryRegistry.d.ts.map +1 -1
- package/dist/jca/countryRegistry.js +137 -0
- package/dist/jca/countryRegistry.js.map +1 -1
- package/dist/jca/types.d.ts +2 -2
- package/dist/jca/types.d.ts.map +1 -1
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/htaWorkflow.d.ts +299 -0
- package/dist/tools/htaWorkflow.d.ts.map +1 -0
- package/dist/tools/htaWorkflow.js +580 -0
- package/dist/tools/htaWorkflow.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countryRegistry.d.ts","sourceRoot":"","sources":["../../src/jca/countryRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAEV,cAAc,EAEd,kBAAkB,EAClB,YAAY,EAEZ,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,YAAY,EAAG,SAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"countryRegistry.d.ts","sourceRoot":"","sources":["../../src/jca/countryRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAEV,cAAc,EAEd,kBAAkB,EAClB,YAAY,EAEZ,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,YAAY,EAAG,SAAkB,CAAC;AAyT/C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,CAoBjE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,CA6EzE;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,CAErE;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,kBAAkB,GAC3B,eAAe,EAAE,CAEnB"}
|
|
@@ -20,6 +20,20 @@ function ibdOutcomePriority() {
|
|
|
20
20
|
function chronicOutcomePriority() {
|
|
21
21
|
return ["HRQoL", "remission", "AE", "other"];
|
|
22
22
|
}
|
|
23
|
+
function hfrefOutcomePriority() {
|
|
24
|
+
// EuroQol Annex II preference + DAPA-HF / EMPEROR-Reduced primary
|
|
25
|
+
// composite. CV death and HF hospitalization sit at the top of the
|
|
26
|
+
// patient-relevant outcomes hierarchy for HFrEF; HRQoL via KCCQ/EQ-5D
|
|
27
|
+
// is a key secondary.
|
|
28
|
+
return [
|
|
29
|
+
"CV_death",
|
|
30
|
+
"HF_hospitalization",
|
|
31
|
+
"all_cause_mortality",
|
|
32
|
+
"HRQoL",
|
|
33
|
+
"NYHA_progression",
|
|
34
|
+
"AE",
|
|
35
|
+
];
|
|
36
|
+
}
|
|
23
37
|
function outcomePriorityFor(category) {
|
|
24
38
|
if (category === "oncology_nsclc" || category === "oncology_other") {
|
|
25
39
|
return oncologyOutcomePriority();
|
|
@@ -27,6 +41,9 @@ function outcomePriorityFor(category) {
|
|
|
27
41
|
if (category === "ibd_uc" || category === "ibd_cd") {
|
|
28
42
|
return ibdOutcomePriority();
|
|
29
43
|
}
|
|
44
|
+
if (category === "cardiovascular_hfref") {
|
|
45
|
+
return hfrefOutcomePriority();
|
|
46
|
+
}
|
|
30
47
|
return chronicOutcomePriority();
|
|
31
48
|
}
|
|
32
49
|
function nsclcSecondLineComparators(country) {
|
|
@@ -105,6 +122,112 @@ function genericComparators(country, category) {
|
|
|
105
122
|
},
|
|
106
123
|
];
|
|
107
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Per-country comparator universe for HFrEF. Curated against the dapagliflozin
|
|
127
|
+
* + empagliflozin + sacubitril-valsartan reimbursement landscape (post-TA679,
|
|
128
|
+
* post-TA773, post-TA388). Closes the per-country-depth gap design log #15
|
|
129
|
+
* exposed when Claude.ai's HFrEF dossier had country-specific zVT detail
|
|
130
|
+
* (DE 3 zVT scenarios, FR ASMR vs SMR, NL ARNI-eligible vs ineligible) but
|
|
131
|
+
* HEORAgent's `jca_pico_scope` returned the generic "country-specific SoC"
|
|
132
|
+
* placeholder. See design log #18.
|
|
133
|
+
*
|
|
134
|
+
* Each country has multiple distinct comparator entries reflecting either
|
|
135
|
+
* the zVT structure that body uses (Germany's G-BA defines several zVT
|
|
136
|
+
* scenarios per indication and rates each separately) or the value
|
|
137
|
+
* framework's distinct comparator universes (HAS evaluates SMR against
|
|
138
|
+
* placebo-on-GDMT and ASMR against the in-class active comparator).
|
|
139
|
+
*/
|
|
140
|
+
function cardiovascularHfrefComparators(country) {
|
|
141
|
+
const instruments = instrumentsFor("cardiovascular_hfref");
|
|
142
|
+
// Common in-class active comparator across most jurisdictions
|
|
143
|
+
const empa = {
|
|
144
|
+
molecule: "empagliflozin",
|
|
145
|
+
rationale: `In-class SGLT2 inhibitor active comparator (NICE TA773 / EMPEROR-Reduced). ITC via DAPA-HF + EMPEROR-Reduced or Zannad 2020 IPD pooled meta-analysis (Lancet) is the standard route in ${country.toUpperCase()}.`,
|
|
146
|
+
outcome_instrument_preferences: instruments,
|
|
147
|
+
};
|
|
148
|
+
// Common comparator: optimised GDMT placebo (ACEi/ARB + beta-blocker + MRA)
|
|
149
|
+
const gdmtAceI = {
|
|
150
|
+
molecule: "ACEi/ARB-based GDMT (no SGLT2i)",
|
|
151
|
+
rationale: `Optimised standard care: ACE inhibitor or ARB + beta-blocker + MRA, without SGLT2 inhibitor. Represents the trial control arm of DAPA-HF (placebo + GDMT). Used as the SMR / cost-utility anchor.`,
|
|
152
|
+
outcome_instrument_preferences: instruments,
|
|
153
|
+
};
|
|
154
|
+
// ARNI-based GDMT (sacubitril-valsartan replacing ACEi/ARB per ESC 2021)
|
|
155
|
+
const gdmtArni = {
|
|
156
|
+
molecule: "ARNI-based GDMT (sacubitril-valsartan + beta-blocker + MRA, no SGLT2i)",
|
|
157
|
+
rationale: `ESC 2021 / NICE TA388-aligned optimised GDMT with ARNI replacing ACEi/ARB. Distinct ${country.toUpperCase()} sub-population: ARNI-eligible patients on optimised therapy without SGLT2i.`,
|
|
158
|
+
outcome_instrument_preferences: instruments,
|
|
159
|
+
};
|
|
160
|
+
if (country === "de") {
|
|
161
|
+
// G-BA / IQWiG: zVT typically defines 2-3 patient-relevant scenarios.
|
|
162
|
+
// For HFrEF + SGLT2i, the canonical zVT split is by background therapy
|
|
163
|
+
// (ACEi/ARB-based vs ARNI-based) and by in-class comparator (empa).
|
|
164
|
+
return [gdmtAceI, gdmtArni, empa];
|
|
165
|
+
}
|
|
166
|
+
if (country === "fr") {
|
|
167
|
+
// HAS: distinguishes SMR (medical service rendered, vs placebo+GDMT)
|
|
168
|
+
// and ASMR (added benefit, vs in-class active comparator).
|
|
169
|
+
return [
|
|
170
|
+
{
|
|
171
|
+
molecule: "ARNI-based GDMT (no SGLT2i) — for SMR",
|
|
172
|
+
rationale: `HAS SMR anchor: optimised standard care including sacubitril-valsartan where appropriate. Reflects DAPA-HF placebo arm + ESC-aligned GDMT.`,
|
|
173
|
+
outcome_instrument_preferences: instruments,
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
molecule: "empagliflozin — for ASMR",
|
|
177
|
+
rationale: `HAS ASMR anchor: in-class active comparator. The added benefit (vs Jardiance) drives ASMR rating. ITC via DAPA-HF + EMPEROR-Reduced.`,
|
|
178
|
+
outcome_instrument_preferences: instruments,
|
|
179
|
+
},
|
|
180
|
+
];
|
|
181
|
+
}
|
|
182
|
+
if (country === "it") {
|
|
183
|
+
// AIFA: innovativeness criteria consider unmet need + clinical benefit
|
|
184
|
+
// + quality of evidence. In-class active comparator features prominently
|
|
185
|
+
// for the "added therapeutic value" assessment.
|
|
186
|
+
return [gdmtAceI, empa];
|
|
187
|
+
}
|
|
188
|
+
if (country === "es") {
|
|
189
|
+
// AEMPS / RedETS IPT: stepwise positioning. Spanish IPT typically describes
|
|
190
|
+
// 1L ACEi/ARB + beta-blocker, 2L MRA, then SGLT2i add-on. Regional
|
|
191
|
+
// (autonomous community) decisions can add restrictions post-IPT.
|
|
192
|
+
return [
|
|
193
|
+
{
|
|
194
|
+
molecule: "ACEi/ARB + beta-blocker + MRA (no SGLT2i, no ARNI)",
|
|
195
|
+
rationale: `Spanish IPT 1L/2L positioning: standard triple therapy without SGLT2i. Reflects the population for which dapagliflozin add-on is being considered.`,
|
|
196
|
+
outcome_instrument_preferences: instruments,
|
|
197
|
+
},
|
|
198
|
+
empa,
|
|
199
|
+
{
|
|
200
|
+
molecule: "sacubitril-valsartan + beta-blocker + MRA",
|
|
201
|
+
rationale: `Sometimes raised by autonomous communities as an alternative anchor given sacubitril-valsartan's established place in Spanish HFrEF therapy.`,
|
|
202
|
+
outcome_instrument_preferences: instruments,
|
|
203
|
+
},
|
|
204
|
+
];
|
|
205
|
+
}
|
|
206
|
+
if (country === "nl") {
|
|
207
|
+
// ZIN: ARNI-eligible vs ARNI-ineligible/intolerant is a typical
|
|
208
|
+
// sub-population split because the cost-utility differs materially.
|
|
209
|
+
return [
|
|
210
|
+
{
|
|
211
|
+
molecule: "ARNI-based GDMT (no SGLT2i) — ARNI-eligible patients",
|
|
212
|
+
rationale: `ZIN sub-population: patients eligible for and tolerant of sacubitril-valsartan. Anchor uses ARNI in background.`,
|
|
213
|
+
outcome_instrument_preferences: instruments,
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
molecule: "ACEi/ARB-based GDMT (no SGLT2i) — ARNI-ineligible patients",
|
|
217
|
+
rationale: `ZIN sub-population: patients ineligible for or intolerant of sacubitril-valsartan. Anchor uses ACEi/ARB in background.`,
|
|
218
|
+
outcome_instrument_preferences: instruments,
|
|
219
|
+
},
|
|
220
|
+
empa,
|
|
221
|
+
];
|
|
222
|
+
}
|
|
223
|
+
if (country === "uk") {
|
|
224
|
+
// Post-Brexit context only — NICE TA679 already established empagliflozin
|
|
225
|
+
// as a relevant in-class comparator; SoC includes ARNI per NG106.
|
|
226
|
+
return [gdmtArni, empa];
|
|
227
|
+
}
|
|
228
|
+
// eu_other or unknown — degrade gracefully
|
|
229
|
+
return [gdmtAceI, empa];
|
|
230
|
+
}
|
|
108
231
|
function comparatorsFor(country, category, drug_class, line) {
|
|
109
232
|
if (category === "oncology_nsclc" && line === "second_line") {
|
|
110
233
|
return nsclcSecondLineComparators(country);
|
|
@@ -112,6 +235,9 @@ function comparatorsFor(country, category, drug_class, line) {
|
|
|
112
235
|
if (category === "ibd_uc") {
|
|
113
236
|
return ibdUcBiologicComparators(country);
|
|
114
237
|
}
|
|
238
|
+
if (category === "cardiovascular_hfref") {
|
|
239
|
+
return cardiovascularHfrefComparators(country);
|
|
240
|
+
}
|
|
115
241
|
// Drug-class-aware fallback for unknown indications
|
|
116
242
|
if (category === "oncology_other" || category === "oncology_nsclc") {
|
|
117
243
|
const instruments = instrumentsFor(category);
|
|
@@ -223,6 +349,17 @@ export function classifyIndication(indication) {
|
|
|
223
349
|
}
|
|
224
350
|
if (x.includes("obesity") || x.includes("overweight"))
|
|
225
351
|
return "obesity";
|
|
352
|
+
// HFrEF-specific (sub-class of cardiovascular). Detected when any of the
|
|
353
|
+
// common phrasings appear. Match HFrEF before generic cardiovascular so
|
|
354
|
+
// the more-specific category wins. Word boundaries prevent "hfref" from
|
|
355
|
+
// matching "preferred" etc. — but it's also rare enough as a token that
|
|
356
|
+
// a substring match is fine.
|
|
357
|
+
if (x.includes("hfref") ||
|
|
358
|
+
x.includes("heart failure with reduced ejection") ||
|
|
359
|
+
x.includes("reduced ejection fraction") ||
|
|
360
|
+
x.includes("heart failure reduced ejection")) {
|
|
361
|
+
return "cardiovascular_hfref";
|
|
362
|
+
}
|
|
226
363
|
if (x.includes("cardiovascular") ||
|
|
227
364
|
x.includes("heart failure") ||
|
|
228
365
|
x.includes("hypertension")) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countryRegistry.js","sourceRoot":"","sources":["../../src/jca/countryRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"countryRegistry.js","sourceRoot":"","sources":["../../src/jca/countryRegistry.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,YAAY,GAAG,SAAkB,CAAC;AAE/C,SAAS,cAAc,CAAC,QAA4B;IAClD,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACnE,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB;IAC3B,kEAAkE;IAClE,mEAAmE;IACnE,sEAAsE;IACtE,sBAAsB;IACtB,OAAO;QACL,UAAU;QACV,oBAAoB;QACpB,qBAAqB;QACrB,OAAO;QACP,kBAAkB;QAClB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA4B;IACtD,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACnE,OAAO,uBAAuB,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;QACxC,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAqB;IACvD,oEAAoE;IACpE,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,KAAK,GAAoB;QAC7B,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,wDAAwD,OAAO,CAAC,WAAW,EAAE,iCAAiC;QACzH,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IACF,MAAM,EAAE,GAAoB;QAC1B,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,kHAAkH,OAAO,CAAC,WAAW,EAAE,mBAAmB;QACrK,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IACF,MAAM,OAAO,GAAoB;QAC/B,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,4EAA4E,OAAO,CAAC,WAAW,EAAE,GAAG;QAC/G,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IACF,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAqB;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7C,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,GAAG,GAAoB;QAC3B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,iEAAiE,OAAO,CAAC,WAAW,EAAE,6BAA6B;QAC9H,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IACF,MAAM,GAAG,GAAoB;QAC3B,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,4FAA4F,OAAO,CAAC,WAAW,EAAE,GAAG;QAC/H,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IACF,MAAM,GAAG,GAAoB;QAC3B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,qDAAqD;QAChE,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IACF,MAAM,EAAE,GAAoB;QAC1B,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,kFAAkF;QAC7F,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IACF,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAqB,EACrB,QAA4B;IAE5B,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO;QACL;YACE,QAAQ,EAAE,qCAAqC;YAC/C,SAAS,EAAE,+CAA+C,OAAO,CAAC,WAAW,EAAE,0CAA0C;YACzH,8BAA8B,EAAE,WAAW;SAC5C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,8BAA8B,CACrC,OAAqB;IAErB,MAAM,WAAW,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAE3D,8DAA8D;IAC9D,MAAM,IAAI,GAAoB;QAC5B,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,0LAA0L,OAAO,CAAC,WAAW,EAAE,GAAG;QAC7N,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IAEF,4EAA4E;IAC5E,MAAM,QAAQ,GAAoB;QAChC,QAAQ,EAAE,iCAAiC;QAC3C,SAAS,EAAE,mMAAmM;QAC9M,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IAEF,yEAAyE;IACzE,MAAM,QAAQ,GAAoB;QAChC,QAAQ,EACN,wEAAwE;QAC1E,SAAS,EAAE,uFAAuF,OAAO,CAAC,WAAW,EAAE,8EAA8E;QACrM,8BAA8B,EAAE,WAAW;KAC5C,CAAC;IAEF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,qEAAqE;QACrE,2DAA2D;QAC3D,OAAO;YACL;gBACE,QAAQ,EAAE,uCAAuC;gBACjD,SAAS,EAAE,4IAA4I;gBACvJ,8BAA8B,EAAE,WAAW;aAC5C;YACD;gBACE,QAAQ,EAAE,0BAA0B;gBACpC,SAAS,EAAE,sIAAsI;gBACjJ,8BAA8B,EAAE,WAAW;aAC5C;SACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,uEAAuE;QACvE,yEAAyE;QACzE,gDAAgD;QAChD,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,4EAA4E;QAC5E,mEAAmE;QACnE,kEAAkE;QAClE,OAAO;YACL;gBACE,QAAQ,EAAE,oDAAoD;gBAC9D,SAAS,EAAE,oJAAoJ;gBAC/J,8BAA8B,EAAE,WAAW;aAC5C;YACD,IAAI;YACJ;gBACE,QAAQ,EAAE,2CAA2C;gBACrD,SAAS,EAAE,8IAA8I;gBACzJ,8BAA8B,EAAE,WAAW;aAC5C;SACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,gEAAgE;QAChE,oEAAoE;QACpE,OAAO;YACL;gBACE,QAAQ,EAAE,sDAAsD;gBAChE,SAAS,EAAE,iHAAiH;gBAC5H,8BAA8B,EAAE,WAAW;aAC5C;YACD;gBACE,QAAQ,EAAE,4DAA4D;gBACtE,SAAS,EAAE,wHAAwH;gBACnI,8BAA8B,EAAE,WAAW;aAC5C;YACD,IAAI;SACL,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,0EAA0E;QAC1E,kEAAkE;QAClE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CACrB,OAAqB,EACrB,QAA4B,EAC5B,UAAqB,EACrB,IAAmB;IAEnB,IAAI,QAAQ,KAAK,gBAAgB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC5D,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;QACxC,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,oDAAoD;IACpD,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO;YACL;gBACE,QAAQ,EAAE,+BAA+B;gBACzC,SAAS,EAAE,0CAA0C,OAAO,CAAC,WAAW,EAAE,4DAA4D;gBACtI,8BAA8B,EAAE,WAAW;aAC5C;SACF,CAAC;IACJ,CAAC;IACD,KAAK,UAAU,CAAC;IAChB,OAAO,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,QAA4B;IAChD,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,OAAO;YACL,sBAAsB;YACtB,gCAAgC;YAChC,oCAAoC;YACpC,2BAA2B;SAC5B,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO;YACL,uCAAuC;YACvC,oDAAoD;YACpD,6CAA6C;SAC9C,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO;YACL,2BAA2B;YAC3B,yBAAyB;YACzB,gCAAgC;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CAAC,YAA0B,EAAE,QAAgB;IAC3D,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC;QAC3E,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAyC;IACpE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;IACjC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;IACxB,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;IACzB,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC;IACnC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,yBAAyB,CAAC;IAC5C,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,kCAAkC,CAAC;IACrD,QAAQ,EAAE;QACR,YAAY,EAAE,UAAU;QACxB,QAAQ,EAAE,+CAA+C;QACzD,WAAW,EAAE,GAAG,EAAE,CAAC;YACjB;gBACE,QAAQ,EAAE,2BAA2B;gBACrC,SAAS,EACP,0MAA0M;gBAC5M,8BAA8B,EAAE,CAAC,UAAU,CAAC;aAC7C;SACF;QACD,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE;KAC/B;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACnC,IACE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACjC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EACzB,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IACE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EACtB,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,sEAAsE;IACtE,mEAAmE;IACnE,IACE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAChC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxB,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAC5B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,IACE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC7B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EACtC,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,6BAA6B;IAC7B,IACE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACjD,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACvC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAC5C,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IACE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5B,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC3B,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC1B,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IACE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IACE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EACtB,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,YAA0B;IACnD,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA4B;IAE5B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/jca/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type Jurisdiction = "de" | "fr" | "it" | "es" | "nl" | "uk" | "eu_other";
|
|
2
2
|
export type DrugClass = "monoclonal_antibody" | "small_molecule" | "atmp_cell" | "atmp_gene" | "atmp_tissue" | "biosimilar" | "vaccine" | "radiopharmaceutical" | "other";
|
|
3
3
|
export type LineOfTherapy = "first_line" | "second_line" | "third_line_plus" | "any";
|
|
4
|
-
export type OutcomePriority = "OS" | "PFS" | "HRQoL" | "AE" | "remission" | "other";
|
|
4
|
+
export type OutcomePriority = "OS" | "PFS" | "HRQoL" | "AE" | "remission" | "CV_death" | "HF_hospitalization" | "all_cause_mortality" | "NYHA_progression" | "other";
|
|
5
5
|
export interface ComparatorEntry {
|
|
6
6
|
molecule: string;
|
|
7
7
|
rationale: string;
|
|
@@ -16,7 +16,7 @@ export interface CountryProfile {
|
|
|
16
16
|
comparators: (indication_category: IndicationCategory, drug_class: DrugClass, line: LineOfTherapy) => ComparatorEntry[];
|
|
17
17
|
population_subgroups: (indication_category: IndicationCategory) => string[];
|
|
18
18
|
}
|
|
19
|
-
export type IndicationCategory = "oncology_nsclc" | "oncology_other" | "ibd_uc" | "ibd_cd" | "diabetes_t2" | "obesity" | "cardiovascular" | "rheumatology" | "neurology" | "rare_disease" | "infectious_disease" | "other";
|
|
19
|
+
export type IndicationCategory = "oncology_nsclc" | "oncology_other" | "ibd_uc" | "ibd_cd" | "diabetes_t2" | "obesity" | "cardiovascular" | "cardiovascular_hfref" | "rheumatology" | "neurology" | "rare_disease" | "infectious_disease" | "other";
|
|
20
20
|
export interface PicoMatrix {
|
|
21
21
|
drug: string;
|
|
22
22
|
indication: string;
|
package/dist/jca/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jca/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;AAEhF,MAAM,MAAM,SAAS,GACjB,qBAAqB,GACrB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,aAAa,GACb,YAAY,GACZ,SAAS,GACT,qBAAqB,GACrB,OAAO,CAAC;AAEZ,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,GACvB,IAAI,GACJ,KAAK,GACL,OAAO,GACP,IAAI,GACJ,WAAW,GACX,OAAO,CAAC;AAEZ,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B,EAAE,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;;qFAEiF;IACjF,WAAW,EAAE,CACX,mBAAmB,EAAE,kBAAkB,EACvC,UAAU,EAAE,SAAS,EACrB,IAAI,EAAE,aAAa,KAChB,eAAe,EAAE,CAAC;IACvB,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,KAAK,MAAM,EAAE,CAAC;CAC7E;AAED,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,SAAS,GACT,gBAAgB,GAChB,cAAc,GACd,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,OAAO,CAAC;AAEZ,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,YAAY,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,EAAE,KAAK,CAAC;QACtB,YAAY,EAAE,YAAY,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,eAAe,EAAE,CAAC;QAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,kBAAkB,EAAE,eAAe,EAAE,CAAC;KACvC,CAAC,CAAC;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jca/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC;AAEhF,MAAM,MAAM,SAAS,GACjB,qBAAqB,GACrB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,aAAa,GACb,YAAY,GACZ,SAAS,GACT,qBAAqB,GACrB,OAAO,CAAC;AAEZ,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,GACvB,IAAI,GACJ,KAAK,GACL,OAAO,GACP,IAAI,GACJ,WAAW,GACX,UAAU,GACV,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,OAAO,CAAC;AAEZ,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B,EAAE,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;;qFAEiF;IACjF,WAAW,EAAE,CACX,mBAAmB,EAAE,kBAAkB,EACvC,UAAU,EAAE,SAAS,EACrB,IAAI,EAAE,aAAa,KAChB,eAAe,EAAE,CAAC;IACvB,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,KAAK,MAAM,EAAE,CAAC;CAC7E;AAED,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,SAAS,GACT,gBAAgB,GAChB,sBAAsB,GACtB,cAAc,GACd,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,OAAO,CAAC;AAEZ,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,YAAY,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,EAAE,KAAK,CAAC;QACtB,YAAY,EAAE,YAAY,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,eAAe,EAAE,CAAC;QAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,kBAAkB,EAAE,eAAe,EAAE,CAAC;KACvC,CAAC,CAAC;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/server.js
CHANGED
|
@@ -27,6 +27,7 @@ import { handleUtilityValueSet, utilityValueSetToolSchema, } from "./tools/utili
|
|
|
27
27
|
import { handleItcFeasibility, itcFeasibilityToolSchema, } from "./tools/itcFeasibility.js";
|
|
28
28
|
import { handleExamples, examplesToolSchema } from "./tools/examples.js";
|
|
29
29
|
import { handleMaicWorkflow, maicWorkflowToolSchema, } from "./tools/maicWorkflow.js";
|
|
30
|
+
import { handleHtaWorkflow, htaWorkflowToolSchema, } from "./tools/htaWorkflow.js";
|
|
30
31
|
import { handlePvClassify, pvClassifyToolSchema } from "./tools/pvClassify.js";
|
|
31
32
|
import { handleJcaPicoScope, jcaPicoScopeToolSchema, } from "./tools/jcaPicoScope.js";
|
|
32
33
|
import { handlePvSignalWorkflow, pvSignalWorkflowToolSchema, } from "./tools/pvSignalWorkflow.js";
|
|
@@ -164,6 +165,7 @@ function createMcpServer(surfaceRef = { value: "direct_mcp" }, sessionIdRef = {
|
|
|
164
165
|
pvClassifyToolSchema,
|
|
165
166
|
jcaPicoScopeToolSchema,
|
|
166
167
|
pvSignalWorkflowToolSchema,
|
|
168
|
+
htaWorkflowToolSchema,
|
|
167
169
|
],
|
|
168
170
|
}));
|
|
169
171
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
@@ -238,6 +240,9 @@ function createMcpServer(surfaceRef = { value: "direct_mcp" }, sessionIdRef = {
|
|
|
238
240
|
case "pv.signal_workflow":
|
|
239
241
|
result = await handlePvSignalWorkflow(args);
|
|
240
242
|
break;
|
|
243
|
+
case "hta.workflow":
|
|
244
|
+
result = await handleHtaWorkflow(args);
|
|
245
|
+
break;
|
|
241
246
|
default:
|
|
242
247
|
trackToolCall(name, Date.now() - callStart, "error", sessionIdRef.value || undefined, {
|
|
243
248
|
surface: surfaceRef.value,
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC5D,CAAC,OAAiB,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,gIAAgI;QAClI,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,2BAA2B;gBACxC,QAAQ,EAAE,IAAI;aACf;YACD,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzE;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,iHAAiH;QACnH,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxE;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,uJAAuJ;QACzJ,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,yCAAyC;gBACtD,QAAQ,EAAE,IAAI;aACf;YACD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1D,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzE;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,0FAA0F;QAC5F,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClE;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,0BAA0B;gBACvC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,wGAAwG;QAC1G,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;SACnE;KACF;CACF,CAAC;AAEF,SAAS,eAAe,CACtB,aAAgC,EAAE,KAAK,EAAE,YAAY,EAAE,EACvD,eAAkC,EAAE,KAAK,EAAE,EAAE,EAAE;IAE/C,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,EAChD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;KACF,CACF,CAAC;IAEF,yEAAyE;IACzE,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAChE,SAAS,EAAE,EAAE;KACd,CAAC,CAAC,CAAC;IAEJ,uCAAuC;IACvC,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC,CAAC;IAEJ,iCAAiC;IACjC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;aAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,qDAAqD,OAAO,EAAE;qBAC5G;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE;YACL,0BAA0B;YAC1B,gCAAgC;YAChC,wBAAwB;YACxB,yBAAyB;YACzB,uBAAuB;YACvB,wBAAwB;YACxB,uBAAuB;YACvB,yBAAyB;YACzB,4BAA4B;YAC5B,2BAA2B;YAC3B,sCAAsC;YACtC,yBAAyB;YACzB,yBAAyB;YACzB,oBAAoB;YACpB,uBAAuB;YACvB,yBAAyB;YACzB,wBAAwB;YACxB,kBAAkB;YAClB,sBAAsB;YACtB,oBAAoB;YACpB,sBAAsB;YACtB,0BAA0B;YAC1B,qBAAqB;SACtB;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,IAAI,MAAM,CAAC;YACX,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,mBAAmB;oBACtB,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,2BAA2B;oBAC9B,MAAM,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,kBAAkB;oBACrB,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,gBAAgB;oBACnB,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,iBAAiB;oBACpB,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,gBAAgB;oBACnB,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,kBAAkB;oBACrB,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,mBAAmB;oBACtB,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,sBAAsB;oBACzB,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM;gBACR,KAAK,8BAA8B;oBACjC,MAAM,GAAG,MAAM,kCAAkC,CAAC,IAAI,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,mBAAmB;oBACtB,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,mBAAmB;oBACtB,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,uBAAuB;oBAC1B,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,sBAAsB;oBACzB,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,cAAc;oBACjB,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,eAAe;oBAClB,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,gBAAgB;oBACnB,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,oBAAoB;oBACvB,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,cAAc;oBACjB,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACvC,MAAM;gBACR;oBACE,aAAa,CACX,IAAI,EACJ,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,OAAO,EACP,YAAY,CAAC,KAAK,IAAI,SAAS,EAC/B;wBACE,OAAO,EAAE,UAAU,CAAC,KAAK;wBACzB,WAAW,EAAE,cAAc;wBAC3B,aAAa,EAAE,iBAAiB,IAAI,EAAE;qBACvC,CACF,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;wBAC1D,OAAO,EAAE,IAAI;qBACd,CAAC;YACN,CAAC;YAED,aAAa,CACX,IAAI,EACJ,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,IAAI,EACJ,YAAY,CAAC,KAAK,IAAI,SAAS,EAC/B,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,CAC9B,CAAC;YAEF,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAChC,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE9C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC9D,aAAa,CACX,IAAI,EACJ,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,OAAO,EACP,YAAY,CAAC,KAAK,IAAI,SAAS,EAC/B;gBACE,OAAO,EAAE,UAAU,CAAC,KAAK;gBACzB,WAAW;gBACX,aAAa;aACd,CACF,CAAC;YACF,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBACtD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+BAA+B;AAE/B,KAAK,UAAU,QAAQ;IACrB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACzD,CAAC;AAED,uDAAuD;AAEvD,iDAAiD;AAEjD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,CAAC,EACD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAC3D,CAAC;AACF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,MAAM,EACN,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpE,SAAS,CACZ,CAAC,CAAC,8BAA8B;AAEjC,MAAM,aAAa,GACjB,wEAAwE,CAAC;AAQ3E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,cAAc,EAAE,CAAC;YAChD,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpB,YAAY,CAAC,aAAa,EAAE,EAAE,EAAE;gBAC9B,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,MAAM,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACxE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,6BAA6B;AAEvD,KAAK,UAAU,OAAO,CAAC,IAAY;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1D,iEAAiE;IACjE,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC;SACzD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,2CAA2C;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAE7C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,6CAA6C;QAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC7C,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC/B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,4BAA4B,CAAC,CAAC;QAC5E,GAAG,CAAC,SAAS,CACX,8BAA8B,EAC9B,6CAA6C,CAC9C,CAAC;QACF,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,gBAAgB,CAAC,CAAC;QAEjE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,IACE,GAAG,CAAC,MAAM,KAAK,KAAK;YACpB,GAAG,CAAC,GAAG,KAAK,mCAAmC,EAC/C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CACnB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,kBAAkB,CACnB,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,eAAe;QACf,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,WAAW;aACrB,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAED,eAAe;QACf,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACvB,wCAAwC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;gBACnD,IAAI,UAAU,KAAK,UAAU,SAAS,EAAE,EAAE,CAAC;oBACzC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;oBACnD,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;YACzE,MAAM,SAAS,GACb,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC9C,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,6BAA6B;gBAC7B,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;gBACjD,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;oBAC9B,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnE,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC;oBACzB,IAAI,UAAU,GAAG,cAAc,EAAE,CAAC;wBAChC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;wBAC7D,GAAG,CAAC,OAAO,EAAE,CAAC;wBACd,OAAO;oBACT,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;gBAED,IAAI,IAAI,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;wBACb,KAAK,EAAE,8BAA8B;wBACrC,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACzD,CAAC,CACH,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,IAAI,SAAwC,CAAC;gBAE7C,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;oBACzC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBAChC,CAAC;qBAAM,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC;oBACvD,wBAAwB;oBACxB,kBAAkB,EAAE,CAAC;oBACrB,IAAI,QAAQ,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;wBAClC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,4CAA4C;yBACpD,CAAC,CACH,CAAC;wBACF,OAAO;oBACT,CAAC;oBAED,gEAAgE;oBAChE,8DAA8D;oBAC9D,mEAAmE;oBACnE,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAEhC,CAAC;oBACd,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;oBACtC,oEAAoE;oBACpE,qEAAqE;oBACrE,iEAAiE;oBACjE,gCAAgC;oBAChC,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;oBACzD,SAAS,GAAG,IAAI,6BAA6B,CAAC;wBAC5C,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;wBACtC,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE;4BAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;gCACf,SAAS;gCACT,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;gCACxB,OAAO;6BACR,CAAC,CAAC;4BACH,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;4BACxB,YAAY,CAAC,eAAe,EAAE,EAAE,EAAE;gCAChC,OAAO;gCACP,WAAW,EAAE,UAAU,IAAI,SAAS;6BACrC,CAAC,CAAC;wBACL,CAAC;qBACF,CAAC,CAAC;oBACH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;wBACvB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;4BAC/B,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gCAC9B,YAAY,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gCAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gCACpB,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC;oBACF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC;oBACjE,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBACtD,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBACzC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;oBACjD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;QACH,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,SAAS,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CACX,oCAAoC,IAAI,mCAAmC,CAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qBAAqB;AAErB,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAE1C,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,iBAAiB,EAAE,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,iBAAiB,EAAE,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hta_workflow — server-side orchestrator that runs the canonical
|
|
3
|
+
* HTA submission pipeline in a single MCP call. Built because generic
|
|
4
|
+
* LLMs (ChatGPT, Claude.ai, Copilot) require 4-5 separate prompts +
|
|
5
|
+
* manual context re-paste to chain literature_search → screen_abstracts
|
|
6
|
+
* → risk_of_bias → cost_effectiveness_model → hta_dossier → validate_links.
|
|
7
|
+
* This tool absorbs the orchestration burden so a single prompt produces
|
|
8
|
+
* the full dossier package.
|
|
9
|
+
*
|
|
10
|
+
* Pipeline (5 phases):
|
|
11
|
+
* Phase 1 (sequential): literature_search (runs=N for stability)
|
|
12
|
+
* Phase 2 (sequential): screen_abstracts on PICO criteria
|
|
13
|
+
* Phase 3 (sequential): risk_of_bias on screened set
|
|
14
|
+
* Phase 4 (sequential): cost_effectiveness_model with indication-derived defaults
|
|
15
|
+
* Phase 5 (sequential): hta_dossier consuming evidence + rob + model outputs
|
|
16
|
+
* Phase 6 (sequential): validate_links on every URL cited across the run
|
|
17
|
+
*
|
|
18
|
+
* Each phase is wrapped in safeRun so a single failure doesn't kill the
|
|
19
|
+
* whole pipeline — the report shows which phase ran, which fell back,
|
|
20
|
+
* and what to do next.
|
|
21
|
+
*
|
|
22
|
+
* See design log #17.
|
|
23
|
+
*/
|
|
24
|
+
import { z } from "zod";
|
|
25
|
+
import type { ToolResult } from "../providers/types.js";
|
|
26
|
+
declare const HtaWorkflowSchema: z.ZodObject<{
|
|
27
|
+
drug: z.ZodString;
|
|
28
|
+
indication: z.ZodString;
|
|
29
|
+
hta_body: z.ZodDefault<z.ZodEnum<["nice", "ema", "fda", "iqwig", "has", "jca", "gvd"]>>;
|
|
30
|
+
submission_type: z.ZodDefault<z.ZodEnum<["sta", "mta", "early_access", "initial", "renewal", "variation"]>>;
|
|
31
|
+
perspective: z.ZodDefault<z.ZodEnum<["nhs", "us_payer", "societal"]>>;
|
|
32
|
+
drug_class: z.ZodDefault<z.ZodEnum<["monoclonal_antibody", "small_molecule", "atmp_cell", "atmp_gene", "atmp_tissue", "biosimilar", "vaccine", "radiopharmaceutical", "other"]>>;
|
|
33
|
+
is_orphan: z.ZodDefault<z.ZodBoolean>;
|
|
34
|
+
pico: z.ZodOptional<z.ZodObject<{
|
|
35
|
+
population: z.ZodOptional<z.ZodString>;
|
|
36
|
+
intervention: z.ZodOptional<z.ZodString>;
|
|
37
|
+
comparator: z.ZodOptional<z.ZodString>;
|
|
38
|
+
outcomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
population?: string | undefined;
|
|
41
|
+
intervention?: string | undefined;
|
|
42
|
+
comparator?: string | undefined;
|
|
43
|
+
outcomes?: string[] | undefined;
|
|
44
|
+
}, {
|
|
45
|
+
population?: string | undefined;
|
|
46
|
+
intervention?: string | undefined;
|
|
47
|
+
comparator?: string | undefined;
|
|
48
|
+
outcomes?: string[] | undefined;
|
|
49
|
+
}>>;
|
|
50
|
+
ce_inputs: z.ZodOptional<z.ZodObject<{
|
|
51
|
+
drug_cost_annual: z.ZodOptional<z.ZodNumber>;
|
|
52
|
+
comparator_cost_annual: z.ZodOptional<z.ZodNumber>;
|
|
53
|
+
efficacy_delta: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
ae_cost: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
admin_cost: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
qaly_on_treatment: z.ZodOptional<z.ZodNumber>;
|
|
57
|
+
qaly_comparator: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
efficacy_delta?: number | undefined;
|
|
60
|
+
drug_cost_annual?: number | undefined;
|
|
61
|
+
comparator_cost_annual?: number | undefined;
|
|
62
|
+
qaly_on_treatment?: number | undefined;
|
|
63
|
+
qaly_comparator?: number | undefined;
|
|
64
|
+
admin_cost?: number | undefined;
|
|
65
|
+
ae_cost?: number | undefined;
|
|
66
|
+
}, {
|
|
67
|
+
efficacy_delta?: number | undefined;
|
|
68
|
+
drug_cost_annual?: number | undefined;
|
|
69
|
+
comparator_cost_annual?: number | undefined;
|
|
70
|
+
qaly_on_treatment?: number | undefined;
|
|
71
|
+
qaly_comparator?: number | undefined;
|
|
72
|
+
admin_cost?: number | undefined;
|
|
73
|
+
ae_cost?: number | undefined;
|
|
74
|
+
}>>;
|
|
75
|
+
sources: z.ZodDefault<z.ZodArray<z.ZodEnum<["pubmed", "clinicaltrials", "biorxiv", "cochrane", "nice_ta", "cadth_reviews", "icer_reports", "ispor", "wiley"]>, "many">>;
|
|
76
|
+
max_literature_results: z.ZodDefault<z.ZodNumber>;
|
|
77
|
+
literature_runs: z.ZodDefault<z.ZodNumber>;
|
|
78
|
+
jurisdictions: z.ZodDefault<z.ZodArray<z.ZodEnum<["de", "fr", "it", "es", "nl", "uk", "eu_other"]>, "many">>;
|
|
79
|
+
skip_ce_model: z.ZodDefault<z.ZodBoolean>;
|
|
80
|
+
}, "strict", z.ZodTypeAny, {
|
|
81
|
+
hta_body: "nice" | "ema" | "fda" | "iqwig" | "has" | "jca" | "gvd";
|
|
82
|
+
submission_type: "sta" | "mta" | "early_access" | "initial" | "renewal" | "variation";
|
|
83
|
+
drug: string;
|
|
84
|
+
indication: string;
|
|
85
|
+
sources: ("pubmed" | "clinicaltrials" | "biorxiv" | "cochrane" | "nice_ta" | "cadth_reviews" | "icer_reports" | "ispor" | "wiley")[];
|
|
86
|
+
perspective: "nhs" | "us_payer" | "societal";
|
|
87
|
+
drug_class: "other" | "monoclonal_antibody" | "small_molecule" | "atmp_cell" | "atmp_gene" | "atmp_tissue" | "biosimilar" | "vaccine" | "radiopharmaceutical";
|
|
88
|
+
is_orphan: boolean;
|
|
89
|
+
max_literature_results: number;
|
|
90
|
+
literature_runs: number;
|
|
91
|
+
jurisdictions: ("de" | "fr" | "it" | "es" | "nl" | "uk" | "eu_other")[];
|
|
92
|
+
skip_ce_model: boolean;
|
|
93
|
+
pico?: {
|
|
94
|
+
population?: string | undefined;
|
|
95
|
+
intervention?: string | undefined;
|
|
96
|
+
comparator?: string | undefined;
|
|
97
|
+
outcomes?: string[] | undefined;
|
|
98
|
+
} | undefined;
|
|
99
|
+
ce_inputs?: {
|
|
100
|
+
efficacy_delta?: number | undefined;
|
|
101
|
+
drug_cost_annual?: number | undefined;
|
|
102
|
+
comparator_cost_annual?: number | undefined;
|
|
103
|
+
qaly_on_treatment?: number | undefined;
|
|
104
|
+
qaly_comparator?: number | undefined;
|
|
105
|
+
admin_cost?: number | undefined;
|
|
106
|
+
ae_cost?: number | undefined;
|
|
107
|
+
} | undefined;
|
|
108
|
+
}, {
|
|
109
|
+
drug: string;
|
|
110
|
+
indication: string;
|
|
111
|
+
hta_body?: "nice" | "ema" | "fda" | "iqwig" | "has" | "jca" | "gvd" | undefined;
|
|
112
|
+
submission_type?: "sta" | "mta" | "early_access" | "initial" | "renewal" | "variation" | undefined;
|
|
113
|
+
sources?: ("pubmed" | "clinicaltrials" | "biorxiv" | "cochrane" | "nice_ta" | "cadth_reviews" | "icer_reports" | "ispor" | "wiley")[] | undefined;
|
|
114
|
+
perspective?: "nhs" | "us_payer" | "societal" | undefined;
|
|
115
|
+
pico?: {
|
|
116
|
+
population?: string | undefined;
|
|
117
|
+
intervention?: string | undefined;
|
|
118
|
+
comparator?: string | undefined;
|
|
119
|
+
outcomes?: string[] | undefined;
|
|
120
|
+
} | undefined;
|
|
121
|
+
drug_class?: "other" | "monoclonal_antibody" | "small_molecule" | "atmp_cell" | "atmp_gene" | "atmp_tissue" | "biosimilar" | "vaccine" | "radiopharmaceutical" | undefined;
|
|
122
|
+
is_orphan?: boolean | undefined;
|
|
123
|
+
ce_inputs?: {
|
|
124
|
+
efficacy_delta?: number | undefined;
|
|
125
|
+
drug_cost_annual?: number | undefined;
|
|
126
|
+
comparator_cost_annual?: number | undefined;
|
|
127
|
+
qaly_on_treatment?: number | undefined;
|
|
128
|
+
qaly_comparator?: number | undefined;
|
|
129
|
+
admin_cost?: number | undefined;
|
|
130
|
+
ae_cost?: number | undefined;
|
|
131
|
+
} | undefined;
|
|
132
|
+
max_literature_results?: number | undefined;
|
|
133
|
+
literature_runs?: number | undefined;
|
|
134
|
+
jurisdictions?: ("de" | "fr" | "it" | "es" | "nl" | "uk" | "eu_other")[] | undefined;
|
|
135
|
+
skip_ce_model?: boolean | undefined;
|
|
136
|
+
}>;
|
|
137
|
+
export type HtaWorkflowInput = z.infer<typeof HtaWorkflowSchema>;
|
|
138
|
+
type Handler = (args: unknown) => Promise<unknown>;
|
|
139
|
+
export interface HtaWorkflowDeps {
|
|
140
|
+
literatureSearch: Handler;
|
|
141
|
+
screenAbstracts: Handler;
|
|
142
|
+
riskOfBias: Handler;
|
|
143
|
+
costEffectivenessModel: Handler;
|
|
144
|
+
htaDossier: Handler;
|
|
145
|
+
validateLinks: Handler;
|
|
146
|
+
jcaPicoScope?: Handler;
|
|
147
|
+
}
|
|
148
|
+
export declare function runHtaWorkflow(rawInput: unknown, deps: HtaWorkflowDeps): Promise<ToolResult>;
|
|
149
|
+
/**
|
|
150
|
+
* Production handler — wraps runHtaWorkflow with the real tool handlers
|
|
151
|
+
* imported lazily to avoid circular dependencies.
|
|
152
|
+
*/
|
|
153
|
+
export declare function handleHtaWorkflow(rawInput: unknown): Promise<ToolResult>;
|
|
154
|
+
export declare const htaWorkflowToolSchema: {
|
|
155
|
+
readonly name: "hta.workflow";
|
|
156
|
+
readonly description: "End-to-end HTA submission orchestrator. One call runs literature_search (with PRISMA-style stability via runs=N) → screen_abstracts (PICO filter) → risk_of_bias (auto RoB 2/ROBINS-I/AMSTAR-2) → cost_effectiveness_model (Markov + 1k PSA, defaults from indication) → hta_dossier (auto-GRADE downgrade from RoB output) → validate_links (post-hoc URL audit). Returns a combined report with per-phase timings, the full dossier draft, and the URL validation table. Use as a single-shot drop-in replacement for the 4-5 separate prompts a generic LLM would need to chain these tools manually. Each phase wrapped in safe-run so single-step failures do not abort the pipeline.";
|
|
157
|
+
readonly annotations: {
|
|
158
|
+
readonly title: "HTA Submission Workflow Orchestrator";
|
|
159
|
+
readonly readOnlyHint: true;
|
|
160
|
+
readonly destructiveHint: false;
|
|
161
|
+
readonly idempotentHint: true;
|
|
162
|
+
readonly openWorldHint: false;
|
|
163
|
+
};
|
|
164
|
+
readonly inputSchema: {
|
|
165
|
+
readonly type: "object";
|
|
166
|
+
readonly properties: {
|
|
167
|
+
readonly drug: {
|
|
168
|
+
readonly type: "string";
|
|
169
|
+
readonly description: "Drug or intervention name.";
|
|
170
|
+
};
|
|
171
|
+
readonly indication: {
|
|
172
|
+
readonly type: "string";
|
|
173
|
+
readonly description: "Disease or condition (free text).";
|
|
174
|
+
};
|
|
175
|
+
readonly hta_body: {
|
|
176
|
+
readonly type: "string";
|
|
177
|
+
readonly enum: readonly ["nice", "ema", "fda", "iqwig", "has", "jca", "gvd"];
|
|
178
|
+
readonly default: "nice";
|
|
179
|
+
readonly description: "Target HTA body for the dossier draft.";
|
|
180
|
+
};
|
|
181
|
+
readonly submission_type: {
|
|
182
|
+
readonly type: "string";
|
|
183
|
+
readonly enum: readonly ["sta", "mta", "early_access", "initial", "renewal", "variation"];
|
|
184
|
+
readonly default: "sta";
|
|
185
|
+
};
|
|
186
|
+
readonly perspective: {
|
|
187
|
+
readonly type: "string";
|
|
188
|
+
readonly enum: readonly ["nhs", "us_payer", "societal"];
|
|
189
|
+
readonly default: "nhs";
|
|
190
|
+
readonly description: "Economic perspective for the cost-effectiveness model phase.";
|
|
191
|
+
};
|
|
192
|
+
readonly drug_class: {
|
|
193
|
+
readonly type: "string";
|
|
194
|
+
readonly enum: readonly ["monoclonal_antibody", "small_molecule", "atmp_cell", "atmp_gene", "atmp_tissue", "biosimilar", "vaccine", "radiopharmaceutical", "other"];
|
|
195
|
+
readonly default: "small_molecule";
|
|
196
|
+
};
|
|
197
|
+
readonly is_orphan: {
|
|
198
|
+
readonly type: "boolean";
|
|
199
|
+
readonly default: false;
|
|
200
|
+
readonly description: "Orphan-designated medicinal product. Affects JCA scope eligibility (orphans enter JCA scope 2028 vs 2030 for general medicinal products).";
|
|
201
|
+
};
|
|
202
|
+
readonly pico: {
|
|
203
|
+
readonly type: "object";
|
|
204
|
+
readonly properties: {
|
|
205
|
+
readonly population: {
|
|
206
|
+
readonly type: "string";
|
|
207
|
+
};
|
|
208
|
+
readonly intervention: {
|
|
209
|
+
readonly type: "string";
|
|
210
|
+
};
|
|
211
|
+
readonly comparator: {
|
|
212
|
+
readonly type: "string";
|
|
213
|
+
};
|
|
214
|
+
readonly outcomes: {
|
|
215
|
+
readonly type: "array";
|
|
216
|
+
readonly items: {
|
|
217
|
+
readonly type: "string";
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
readonly description: "Optional PICO criteria for the screening phase (defaults derived from drug + indication).";
|
|
222
|
+
};
|
|
223
|
+
readonly ce_inputs: {
|
|
224
|
+
readonly type: "object";
|
|
225
|
+
readonly description: "Optional cost-effectiveness model inputs. Sensible defaults applied when omitted (efficacy_delta=0.25; drug_cost_annual=1000; SoC=0).";
|
|
226
|
+
readonly properties: {
|
|
227
|
+
readonly drug_cost_annual: {
|
|
228
|
+
readonly type: "number";
|
|
229
|
+
readonly minimum: 0;
|
|
230
|
+
};
|
|
231
|
+
readonly comparator_cost_annual: {
|
|
232
|
+
readonly type: "number";
|
|
233
|
+
readonly minimum: 0;
|
|
234
|
+
};
|
|
235
|
+
readonly efficacy_delta: {
|
|
236
|
+
readonly type: "number";
|
|
237
|
+
readonly minimum: 0;
|
|
238
|
+
readonly maximum: 1;
|
|
239
|
+
};
|
|
240
|
+
readonly ae_cost: {
|
|
241
|
+
readonly type: "number";
|
|
242
|
+
readonly minimum: 0;
|
|
243
|
+
};
|
|
244
|
+
readonly admin_cost: {
|
|
245
|
+
readonly type: "number";
|
|
246
|
+
readonly minimum: 0;
|
|
247
|
+
};
|
|
248
|
+
readonly qaly_on_treatment: {
|
|
249
|
+
readonly type: "number";
|
|
250
|
+
readonly minimum: 0;
|
|
251
|
+
readonly maximum: 1;
|
|
252
|
+
};
|
|
253
|
+
readonly qaly_comparator: {
|
|
254
|
+
readonly type: "number";
|
|
255
|
+
readonly minimum: 0;
|
|
256
|
+
readonly maximum: 1;
|
|
257
|
+
};
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
readonly sources: {
|
|
261
|
+
readonly type: "array";
|
|
262
|
+
readonly items: {
|
|
263
|
+
readonly type: "string";
|
|
264
|
+
readonly enum: readonly ["pubmed", "clinicaltrials", "biorxiv", "cochrane", "nice_ta", "cadth_reviews", "icer_reports", "ispor", "wiley"];
|
|
265
|
+
};
|
|
266
|
+
readonly default: readonly ["pubmed", "clinicaltrials"];
|
|
267
|
+
};
|
|
268
|
+
readonly max_literature_results: {
|
|
269
|
+
readonly type: "number";
|
|
270
|
+
readonly minimum: 1;
|
|
271
|
+
readonly maximum: 100;
|
|
272
|
+
readonly default: 30;
|
|
273
|
+
};
|
|
274
|
+
readonly literature_runs: {
|
|
275
|
+
readonly type: "number";
|
|
276
|
+
readonly minimum: 1;
|
|
277
|
+
readonly maximum: 5;
|
|
278
|
+
readonly default: 3;
|
|
279
|
+
readonly description: "Number of dedup-stability passes for the literature_search phase. 3 is the project default for HTA-grade reproducibility.";
|
|
280
|
+
};
|
|
281
|
+
readonly jurisdictions: {
|
|
282
|
+
readonly type: "array";
|
|
283
|
+
readonly items: {
|
|
284
|
+
readonly type: "string";
|
|
285
|
+
readonly enum: readonly ["de", "fr", "it", "es", "nl", "uk", "eu_other"];
|
|
286
|
+
};
|
|
287
|
+
readonly default: readonly ["de", "fr", "it", "es", "nl"];
|
|
288
|
+
};
|
|
289
|
+
readonly skip_ce_model: {
|
|
290
|
+
readonly type: "boolean";
|
|
291
|
+
readonly default: false;
|
|
292
|
+
readonly description: "Skip the cost-effectiveness model phase (e.g., for clinical-only dossiers).";
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
readonly required: readonly ["drug", "indication"];
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
export {};
|
|
299
|
+
//# sourceMappingURL=htaWorkflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"htaWorkflow.d.ts","sourceRoot":"","sources":["../../src/tools/htaWorkflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAmCxD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CZ,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkFD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,UAAU,CAAC,CAkYrB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC,CAwBrB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6GxB,CAAC"}
|
|
@@ -0,0 +1,580 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hta_workflow — server-side orchestrator that runs the canonical
|
|
3
|
+
* HTA submission pipeline in a single MCP call. Built because generic
|
|
4
|
+
* LLMs (ChatGPT, Claude.ai, Copilot) require 4-5 separate prompts +
|
|
5
|
+
* manual context re-paste to chain literature_search → screen_abstracts
|
|
6
|
+
* → risk_of_bias → cost_effectiveness_model → hta_dossier → validate_links.
|
|
7
|
+
* This tool absorbs the orchestration burden so a single prompt produces
|
|
8
|
+
* the full dossier package.
|
|
9
|
+
*
|
|
10
|
+
* Pipeline (5 phases):
|
|
11
|
+
* Phase 1 (sequential): literature_search (runs=N for stability)
|
|
12
|
+
* Phase 2 (sequential): screen_abstracts on PICO criteria
|
|
13
|
+
* Phase 3 (sequential): risk_of_bias on screened set
|
|
14
|
+
* Phase 4 (sequential): cost_effectiveness_model with indication-derived defaults
|
|
15
|
+
* Phase 5 (sequential): hta_dossier consuming evidence + rob + model outputs
|
|
16
|
+
* Phase 6 (sequential): validate_links on every URL cited across the run
|
|
17
|
+
*
|
|
18
|
+
* Each phase is wrapped in safeRun so a single failure doesn't kill the
|
|
19
|
+
* whole pipeline — the report shows which phase ran, which fell back,
|
|
20
|
+
* and what to do next.
|
|
21
|
+
*
|
|
22
|
+
* See design log #17.
|
|
23
|
+
*/
|
|
24
|
+
import { z } from "zod";
|
|
25
|
+
import { addAssumption, addWarning, createAuditRecord, setMethodology, } from "../audit/builder.js";
|
|
26
|
+
import { auditToMarkdown } from "../formatters/markdown.js";
|
|
27
|
+
import { suggestForEnum } from "../util/didYouMean.js";
|
|
28
|
+
const HTA_BODIES = ["nice", "ema", "fda", "iqwig", "has", "jca", "gvd"];
|
|
29
|
+
const SUBMISSION_TYPES = [
|
|
30
|
+
"sta",
|
|
31
|
+
"mta",
|
|
32
|
+
"early_access",
|
|
33
|
+
"initial",
|
|
34
|
+
"renewal",
|
|
35
|
+
"variation",
|
|
36
|
+
];
|
|
37
|
+
const PERSPECTIVES = ["nhs", "us_payer", "societal"];
|
|
38
|
+
const DRUG_CLASSES = [
|
|
39
|
+
"monoclonal_antibody",
|
|
40
|
+
"small_molecule",
|
|
41
|
+
"atmp_cell",
|
|
42
|
+
"atmp_gene",
|
|
43
|
+
"atmp_tissue",
|
|
44
|
+
"biosimilar",
|
|
45
|
+
"vaccine",
|
|
46
|
+
"radiopharmaceutical",
|
|
47
|
+
"other",
|
|
48
|
+
];
|
|
49
|
+
const SOURCES = [
|
|
50
|
+
"pubmed",
|
|
51
|
+
"clinicaltrials",
|
|
52
|
+
"biorxiv",
|
|
53
|
+
"cochrane",
|
|
54
|
+
"nice_ta",
|
|
55
|
+
"cadth_reviews",
|
|
56
|
+
"icer_reports",
|
|
57
|
+
"ispor",
|
|
58
|
+
"wiley",
|
|
59
|
+
];
|
|
60
|
+
const HtaWorkflowSchema = z
|
|
61
|
+
.object({
|
|
62
|
+
drug: z.string().min(1, "drug is required"),
|
|
63
|
+
indication: z.string().min(1, "indication is required"),
|
|
64
|
+
hta_body: z.enum(HTA_BODIES).default("nice"),
|
|
65
|
+
submission_type: z.enum(SUBMISSION_TYPES).default("sta"),
|
|
66
|
+
perspective: z.enum(PERSPECTIVES).default("nhs"),
|
|
67
|
+
drug_class: z.enum(DRUG_CLASSES).default("small_molecule"),
|
|
68
|
+
is_orphan: z.boolean().default(false),
|
|
69
|
+
pico: z
|
|
70
|
+
.object({
|
|
71
|
+
population: z.string().optional(),
|
|
72
|
+
intervention: z.string().optional(),
|
|
73
|
+
comparator: z.string().optional(),
|
|
74
|
+
outcomes: z.array(z.string()).optional(),
|
|
75
|
+
})
|
|
76
|
+
.optional(),
|
|
77
|
+
ce_inputs: z
|
|
78
|
+
.object({
|
|
79
|
+
drug_cost_annual: z.number().min(0).optional(),
|
|
80
|
+
comparator_cost_annual: z.number().min(0).optional(),
|
|
81
|
+
efficacy_delta: z.number().min(0).max(1).optional(),
|
|
82
|
+
ae_cost: z.number().min(0).optional(),
|
|
83
|
+
admin_cost: z.number().min(0).optional(),
|
|
84
|
+
qaly_on_treatment: z.number().min(0).max(1).optional(),
|
|
85
|
+
qaly_comparator: z.number().min(0).max(1).optional(),
|
|
86
|
+
})
|
|
87
|
+
.optional(),
|
|
88
|
+
sources: z
|
|
89
|
+
.array(z.enum(SOURCES))
|
|
90
|
+
.min(1)
|
|
91
|
+
.default(["pubmed", "clinicaltrials"]),
|
|
92
|
+
max_literature_results: z.number().int().min(1).max(100).default(30),
|
|
93
|
+
literature_runs: z.number().int().min(1).max(5).default(3),
|
|
94
|
+
jurisdictions: z
|
|
95
|
+
.array(z.enum(["de", "fr", "it", "es", "nl", "uk", "eu_other"]))
|
|
96
|
+
.default(["de", "fr", "it", "es", "nl"]),
|
|
97
|
+
skip_ce_model: z
|
|
98
|
+
.boolean()
|
|
99
|
+
.default(false)
|
|
100
|
+
.describe("Skip the cost-effectiveness model phase (e.g., when the dossier is clinical-only)."),
|
|
101
|
+
})
|
|
102
|
+
.strict();
|
|
103
|
+
function isToolResult(x) {
|
|
104
|
+
return typeof x === "object" && x !== null && "content" in x;
|
|
105
|
+
}
|
|
106
|
+
function asText(x) {
|
|
107
|
+
if (!isToolResult(x))
|
|
108
|
+
return "";
|
|
109
|
+
return typeof x.content === "string"
|
|
110
|
+
? x.content
|
|
111
|
+
: JSON.stringify(x.content, null, 2);
|
|
112
|
+
}
|
|
113
|
+
async function safeRun(fn) {
|
|
114
|
+
try {
|
|
115
|
+
return { ok: true, value: await fn() };
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
return {
|
|
119
|
+
ok: false,
|
|
120
|
+
error: e instanceof Error ? e.message : String(e),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function isRecord(x) {
|
|
125
|
+
return typeof x === "object" && x !== null;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Extract literature records from a literature_search ToolResult that
|
|
129
|
+
* was called with output_format="json". The JSON-mode handler returns
|
|
130
|
+
* { content: <stringified JSON> } where the inner JSON has a `results`
|
|
131
|
+
* array. We robustly handle both shapes (object-content and string-content).
|
|
132
|
+
*/
|
|
133
|
+
function extractLiteratureResults(raw) {
|
|
134
|
+
if (!isRecord(raw))
|
|
135
|
+
return [];
|
|
136
|
+
const content = raw.content;
|
|
137
|
+
let parsed = content;
|
|
138
|
+
if (typeof content === "string") {
|
|
139
|
+
try {
|
|
140
|
+
parsed = JSON.parse(content);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (!isRecord(parsed))
|
|
147
|
+
return [];
|
|
148
|
+
const results = parsed.results;
|
|
149
|
+
if (!Array.isArray(results))
|
|
150
|
+
return [];
|
|
151
|
+
return results.filter((r) => isRecord(r));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Extract URLs from the workflow's output content for the final
|
|
155
|
+
* link-validation phase. We scan a combined Markdown blob for
|
|
156
|
+
* https://… URL patterns. Deduplicates and caps at 50 (the
|
|
157
|
+
* validate_links limit).
|
|
158
|
+
*/
|
|
159
|
+
const URL_REGEX = /https?:\/\/[^\s)\]"'>]+/g;
|
|
160
|
+
function extractUrls(text, cap = 50) {
|
|
161
|
+
const urls = new Set();
|
|
162
|
+
for (const m of text.matchAll(URL_REGEX)) {
|
|
163
|
+
// Strip trailing punctuation that's commonly attached in prose.
|
|
164
|
+
const u = m[0].replace(/[.,;:!?]+$/, "");
|
|
165
|
+
urls.add(u);
|
|
166
|
+
if (urls.size >= cap)
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
return Array.from(urls);
|
|
170
|
+
}
|
|
171
|
+
export async function runHtaWorkflow(rawInput, deps) {
|
|
172
|
+
const parsed = HtaWorkflowSchema.safeParse(rawInput);
|
|
173
|
+
if (!parsed.success) {
|
|
174
|
+
const messages = [];
|
|
175
|
+
for (const issue of parsed.error.issues) {
|
|
176
|
+
if (issue.code === "invalid_enum_value" &&
|
|
177
|
+
typeof issue.received === "string") {
|
|
178
|
+
const suggestions = suggestForEnum(issue.received, issue.options);
|
|
179
|
+
messages.push(`Invalid ${issue.path.join(".")}: "${issue.received}". Allowed: ${issue.options.join(", ")}.${suggestions.length
|
|
180
|
+
? ` Did you mean ${suggestions.map((s) => `"${s}"`).join(", ")}?`
|
|
181
|
+
: ""}`);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
messages.push(`${issue.path.join(".") || "input"}: ${issue.message}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
throw new Error(messages.join("\n"));
|
|
188
|
+
}
|
|
189
|
+
const input = parsed.data;
|
|
190
|
+
let audit = createAuditRecord("hta.workflow", input, "text");
|
|
191
|
+
audit = setMethodology(audit, "End-to-end HTA submission pipeline: literature_search (runs=N for stability) → screen_abstracts (PICO) → risk_of_bias (RoB 2 / ROBINS-I / AMSTAR-2 auto-instrument) → cost_effectiveness_model (Markov/PartSA + PSA) → hta_dossier (auto-GRADE from RoB output) → validate_links (post-hoc URL audit). Each phase wrapped in safe-run so single-step failures do not abort the pipeline.");
|
|
192
|
+
const t0 = Date.now();
|
|
193
|
+
const phaseTimings = {};
|
|
194
|
+
// ── Phase 1: literature_search ─────────────────────────────────────
|
|
195
|
+
const tLit = Date.now();
|
|
196
|
+
const litQuery = `${input.drug} ${input.indication}`;
|
|
197
|
+
const litRes = await safeRun(() => deps.literatureSearch({
|
|
198
|
+
query: litQuery,
|
|
199
|
+
sources: input.sources,
|
|
200
|
+
max_results: input.max_literature_results,
|
|
201
|
+
runs: input.literature_runs,
|
|
202
|
+
output_format: "json",
|
|
203
|
+
}));
|
|
204
|
+
phaseTimings.literature_search = Date.now() - tLit;
|
|
205
|
+
let literatureRecords = [];
|
|
206
|
+
if (litRes.ok) {
|
|
207
|
+
literatureRecords = extractLiteratureResults(litRes.value);
|
|
208
|
+
audit = addAssumption(audit, `Phase 1 (literature_search) returned ${literatureRecords.length} records across ${input.sources.join(", ")} (${phaseTimings.literature_search}ms).`);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
audit = addWarning(audit, `Phase 1 (literature_search) failed: ${litRes.error}. Downstream phases will fall back to evidence_summary=null.`);
|
|
212
|
+
}
|
|
213
|
+
// ── Phase 2: screen_abstracts ─────────────────────────────────────
|
|
214
|
+
const tScreen = Date.now();
|
|
215
|
+
let screenedRecords = literatureRecords;
|
|
216
|
+
if (literatureRecords.length > 0) {
|
|
217
|
+
const screenRes = await safeRun(() => deps.screenAbstracts({
|
|
218
|
+
results: literatureRecords,
|
|
219
|
+
criteria: {
|
|
220
|
+
population: input.pico?.population ?? `adults with ${input.indication}`,
|
|
221
|
+
intervention: input.pico?.intervention ?? input.drug,
|
|
222
|
+
comparator: input.pico?.comparator,
|
|
223
|
+
outcomes: input.pico?.outcomes,
|
|
224
|
+
},
|
|
225
|
+
output_format: "json",
|
|
226
|
+
}));
|
|
227
|
+
if (screenRes.ok) {
|
|
228
|
+
const screened = extractLiteratureResults(screenRes.value);
|
|
229
|
+
if (screened.length > 0) {
|
|
230
|
+
screenedRecords = screened;
|
|
231
|
+
audit = addAssumption(audit, `Phase 2 (screen_abstracts) included ${screened.length} of ${literatureRecords.length} records via PICO filter.`);
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
// Fallback: if screener returns 0, keep the unfiltered set with a warning.
|
|
235
|
+
audit = addWarning(audit, `Phase 2 (screen_abstracts) returned 0 included records; falling back to unfiltered ${literatureRecords.length} records for downstream phases.`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
audit = addWarning(audit, `Phase 2 (screen_abstracts) failed: ${screenRes.error}. Using unfiltered literature for downstream phases.`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
phaseTimings.screen_abstracts = Date.now() - tScreen;
|
|
243
|
+
// ── Phase 3: risk_of_bias ─────────────────────────────────────────
|
|
244
|
+
const tRob = Date.now();
|
|
245
|
+
let robResults = undefined;
|
|
246
|
+
let robSummaryText = "";
|
|
247
|
+
if (screenedRecords.length > 0) {
|
|
248
|
+
const robRes = await safeRun(() => deps.riskOfBias({
|
|
249
|
+
studies: screenedRecords.slice(0, 10), // Cap at top-10 for tractable RoB
|
|
250
|
+
instrument: "auto",
|
|
251
|
+
output_format: "json",
|
|
252
|
+
}));
|
|
253
|
+
if (robRes.ok) {
|
|
254
|
+
const robContent = robRes.value.content;
|
|
255
|
+
if (typeof robContent === "string") {
|
|
256
|
+
try {
|
|
257
|
+
robResults = JSON.parse(robContent);
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
robResults = robContent;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
robResults = robContent;
|
|
265
|
+
}
|
|
266
|
+
// Best-effort summary line
|
|
267
|
+
if (isRecord(robResults) &&
|
|
268
|
+
isRecord(robResults.summary)) {
|
|
269
|
+
const s = robResults.summary;
|
|
270
|
+
robSummaryText = `RoB summary: ${s.n_assessed ?? "?"} assessed; instruments: RoB 2 ×${s.rob2_count ?? 0}, ROBINS-I ×${s.robins_i_count ?? 0}, AMSTAR-2 ×${s.amstar2_count ?? 0}; overall judgement: ${s.rob_judgment ?? "n/a"}.`;
|
|
271
|
+
}
|
|
272
|
+
audit = addAssumption(audit, `Phase 3 (risk_of_bias) assessed ${screenedRecords.slice(0, 10).length} top-included studies.`);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
audit = addWarning(audit, `Phase 3 (risk_of_bias) failed: ${robRes.error}. hta_dossier GRADE will use heuristic estimates instead of structured RoB judgements.`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
phaseTimings.risk_of_bias = Date.now() - tRob;
|
|
279
|
+
// ── Phase 4: cost_effectiveness_model ─────────────────────────────
|
|
280
|
+
const tCe = Date.now();
|
|
281
|
+
let ceResults = undefined;
|
|
282
|
+
let ceSummaryText = "";
|
|
283
|
+
if (!input.skip_ce_model) {
|
|
284
|
+
const ce = input.ce_inputs ?? {};
|
|
285
|
+
const ceRes = await safeRun(() => deps.costEffectivenessModel({
|
|
286
|
+
intervention: input.drug,
|
|
287
|
+
comparator: "standard of care",
|
|
288
|
+
indication: input.indication,
|
|
289
|
+
time_horizon: "lifetime",
|
|
290
|
+
perspective: input.perspective,
|
|
291
|
+
clinical_inputs: {
|
|
292
|
+
efficacy_delta: ce.efficacy_delta ?? 0.25,
|
|
293
|
+
},
|
|
294
|
+
cost_inputs: {
|
|
295
|
+
drug_cost_annual: ce.drug_cost_annual ?? 1000,
|
|
296
|
+
comparator_cost_annual: ce.comparator_cost_annual ?? 0,
|
|
297
|
+
ae_cost: ce.ae_cost ?? 0,
|
|
298
|
+
admin_cost: ce.admin_cost ?? 0,
|
|
299
|
+
},
|
|
300
|
+
utility_inputs: ce.qaly_on_treatment !== undefined ||
|
|
301
|
+
ce.qaly_comparator !== undefined
|
|
302
|
+
? {
|
|
303
|
+
qaly_on_treatment: ce.qaly_on_treatment,
|
|
304
|
+
qaly_comparator: ce.qaly_comparator,
|
|
305
|
+
}
|
|
306
|
+
: undefined,
|
|
307
|
+
psa_iterations: 1000,
|
|
308
|
+
run_psa: true,
|
|
309
|
+
output_format: "json",
|
|
310
|
+
}));
|
|
311
|
+
if (ceRes.ok) {
|
|
312
|
+
const ceContent = ceRes.value.content;
|
|
313
|
+
if (typeof ceContent === "string") {
|
|
314
|
+
try {
|
|
315
|
+
ceResults = JSON.parse(ceContent);
|
|
316
|
+
}
|
|
317
|
+
catch {
|
|
318
|
+
ceResults = ceContent;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
ceResults = ceContent;
|
|
323
|
+
}
|
|
324
|
+
if (isRecord(ceResults) &&
|
|
325
|
+
isRecord(ceResults.base_case)) {
|
|
326
|
+
const bc = ceResults
|
|
327
|
+
.base_case;
|
|
328
|
+
const icer = bc.icer;
|
|
329
|
+
if (typeof icer === "number") {
|
|
330
|
+
ceSummaryText = `Deterministic ICER: ${input.perspective === "nhs" ? "£" : "$"}${Math.round(icer).toLocaleString()} per QALY.`;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
audit = addAssumption(audit, `Phase 4 (cost_effectiveness_model) ran 1000-iteration PSA. ${ceSummaryText}`);
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
audit = addWarning(audit, `Phase 4 (cost_effectiveness_model) failed: ${ceRes.error}. hta_dossier Economic Evidence Summary will be flagged as gap.`);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
audit = addAssumption(audit, `Phase 4 (cost_effectiveness_model) skipped (skip_ce_model=true).`);
|
|
341
|
+
}
|
|
342
|
+
phaseTimings.cost_effectiveness_model = Date.now() - tCe;
|
|
343
|
+
// ── Phase 5: hta_dossier ──────────────────────────────────────────
|
|
344
|
+
const tDossier = Date.now();
|
|
345
|
+
const dossierRes = await safeRun(() => deps.htaDossier({
|
|
346
|
+
hta_body: input.hta_body,
|
|
347
|
+
submission_type: input.submission_type,
|
|
348
|
+
drug_name: input.drug,
|
|
349
|
+
indication: input.indication,
|
|
350
|
+
evidence_summary: screenedRecords.length > 0 ? screenedRecords : undefined,
|
|
351
|
+
rob_results: robResults,
|
|
352
|
+
model_results: ceResults,
|
|
353
|
+
}));
|
|
354
|
+
let dossierContent = "";
|
|
355
|
+
if (dossierRes.ok) {
|
|
356
|
+
dossierContent = asText(dossierRes.value);
|
|
357
|
+
audit = addAssumption(audit, `Phase 5 (hta_dossier) produced ${input.hta_body.toUpperCase()} ${input.submission_type.toUpperCase()} draft with ${screenedRecords.length} cited studies.`);
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
audit = addWarning(audit, `Phase 5 (hta_dossier) failed: ${dossierRes.error}.`);
|
|
361
|
+
}
|
|
362
|
+
phaseTimings.hta_dossier = Date.now() - tDossier;
|
|
363
|
+
// ── Phase 6: validate_links ──────────────────────────────────────
|
|
364
|
+
// Scan the dossier output + screened records for URLs, validate up to 50.
|
|
365
|
+
const tValidate = Date.now();
|
|
366
|
+
const urlsFromDossier = extractUrls(dossierContent);
|
|
367
|
+
const urlsFromRecords = screenedRecords.map((r) => r.url).filter(Boolean);
|
|
368
|
+
const allUrls = Array.from(new Set([...urlsFromRecords, ...urlsFromDossier])).slice(0, 50);
|
|
369
|
+
let validationContent = "";
|
|
370
|
+
let validationCounts = { working: 0, browser_only: 0, broken: 0 };
|
|
371
|
+
if (allUrls.length > 0) {
|
|
372
|
+
const valRes = await safeRun(() => deps.validateLinks({ urls: allUrls }));
|
|
373
|
+
if (valRes.ok) {
|
|
374
|
+
validationContent = asText(valRes.value);
|
|
375
|
+
// Best-effort summary extraction
|
|
376
|
+
const valObj = valRes.value.content;
|
|
377
|
+
const valData = typeof valObj === "string"
|
|
378
|
+
? (() => {
|
|
379
|
+
try {
|
|
380
|
+
return JSON.parse(valObj);
|
|
381
|
+
}
|
|
382
|
+
catch {
|
|
383
|
+
return null;
|
|
384
|
+
}
|
|
385
|
+
})()
|
|
386
|
+
: valObj;
|
|
387
|
+
if (isRecord(valData) &&
|
|
388
|
+
isRecord(valData.summary)) {
|
|
389
|
+
const s = valData.summary;
|
|
390
|
+
validationCounts = {
|
|
391
|
+
working: Number(s.working ?? 0),
|
|
392
|
+
browser_only: Number(s.browser_only ?? 0),
|
|
393
|
+
broken: Number(s.broken ?? 0),
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
audit = addAssumption(audit, `Phase 6 (validate_links) checked ${allUrls.length} URLs: ${validationCounts.working} working, ${validationCounts.browser_only} browser-only, ${validationCounts.broken} broken.`);
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
audit = addWarning(audit, `Phase 6 (validate_links) failed: ${valRes.error}.`);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
phaseTimings.validate_links = Date.now() - tValidate;
|
|
403
|
+
const totalMs = Date.now() - t0;
|
|
404
|
+
audit = addAssumption(audit, `Total pipeline time: ${totalMs}ms.`);
|
|
405
|
+
// ── Render combined report ───────────────────────────────────────
|
|
406
|
+
const lines = [];
|
|
407
|
+
lines.push(`# HTA Submission Workflow — ${input.drug} (${input.indication})`);
|
|
408
|
+
lines.push("");
|
|
409
|
+
lines.push(`**Pipeline:** literature_search → screen_abstracts → risk_of_bias → cost_effectiveness_model → hta_dossier → validate_links`);
|
|
410
|
+
lines.push(`**Target:** ${input.hta_body.toUpperCase()} ${input.submission_type.toUpperCase()} · perspective: ${input.perspective}`);
|
|
411
|
+
lines.push(`**Total time:** ${totalMs}ms · 6 phases`);
|
|
412
|
+
lines.push("");
|
|
413
|
+
lines.push(`## Pipeline summary`);
|
|
414
|
+
lines.push("| Phase | Tool | Time (ms) | Outcome |");
|
|
415
|
+
lines.push("|-------|------|----------:|---------|");
|
|
416
|
+
lines.push(`| 1 | literature_search | ${phaseTimings.literature_search ?? 0} | ${literatureRecords.length} records via ${input.sources.join(", ")} |`);
|
|
417
|
+
lines.push(`| 2 | screen_abstracts | ${phaseTimings.screen_abstracts ?? 0} | ${screenedRecords.length} included |`);
|
|
418
|
+
lines.push(`| 3 | risk_of_bias | ${phaseTimings.risk_of_bias ?? 0} | ${robSummaryText || (robResults ? "assessed" : "skipped")} |`);
|
|
419
|
+
if (input.skip_ce_model) {
|
|
420
|
+
lines.push(`| 4 | cost_effectiveness_model | — | skipped |`);
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
lines.push(`| 4 | cost_effectiveness_model | ${phaseTimings.cost_effectiveness_model ?? 0} | ${ceSummaryText || (ceResults ? "ran" : "failed")} |`);
|
|
424
|
+
}
|
|
425
|
+
lines.push(`| 5 | hta_dossier | ${phaseTimings.hta_dossier ?? 0} | ${input.hta_body.toUpperCase()} ${input.submission_type.toUpperCase()} draft |`);
|
|
426
|
+
lines.push(`| 6 | validate_links | ${phaseTimings.validate_links ?? 0} | ${validationCounts.working}/${allUrls.length} working, ${validationCounts.broken} broken |`);
|
|
427
|
+
lines.push("");
|
|
428
|
+
// The dossier is the primary user-facing artifact.
|
|
429
|
+
lines.push(`## ${input.hta_body.toUpperCase()} dossier draft`);
|
|
430
|
+
lines.push("");
|
|
431
|
+
lines.push(dossierContent || "_(dossier phase failed — see warnings below)_");
|
|
432
|
+
lines.push("");
|
|
433
|
+
if (validationContent) {
|
|
434
|
+
lines.push(`## URL validation report`);
|
|
435
|
+
lines.push("");
|
|
436
|
+
lines.push(validationContent);
|
|
437
|
+
lines.push("");
|
|
438
|
+
}
|
|
439
|
+
lines.push(`## Audit`);
|
|
440
|
+
lines.push("");
|
|
441
|
+
lines.push(auditToMarkdown(audit));
|
|
442
|
+
return {
|
|
443
|
+
content: lines.join("\n"),
|
|
444
|
+
audit,
|
|
445
|
+
workflow_summary: {
|
|
446
|
+
total_ms: totalMs,
|
|
447
|
+
phase_timings_ms: phaseTimings,
|
|
448
|
+
n_records_searched: literatureRecords.length,
|
|
449
|
+
n_records_screened: screenedRecords.length,
|
|
450
|
+
n_urls_validated: allUrls.length,
|
|
451
|
+
url_validation_counts: validationCounts,
|
|
452
|
+
},
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Production handler — wraps runHtaWorkflow with the real tool handlers
|
|
457
|
+
* imported lazily to avoid circular dependencies.
|
|
458
|
+
*/
|
|
459
|
+
export async function handleHtaWorkflow(rawInput) {
|
|
460
|
+
const [{ handleLiteratureSearch }, { handleScreenAbstracts }, { handleRiskOfBias }, { handleCostEffectivenessModel }, { handleHtaDossierPrep }, { handleValidateLinks },] = await Promise.all([
|
|
461
|
+
import("./literatureSearch.js"),
|
|
462
|
+
import("./screenAbstracts.js"),
|
|
463
|
+
import("./riskOfBias.js"),
|
|
464
|
+
import("./costEffectivenessModel.js"),
|
|
465
|
+
import("./htaDossierPrep.js"),
|
|
466
|
+
import("./validateLinks.js"),
|
|
467
|
+
]);
|
|
468
|
+
return runHtaWorkflow(rawInput, {
|
|
469
|
+
literatureSearch: handleLiteratureSearch,
|
|
470
|
+
screenAbstracts: handleScreenAbstracts,
|
|
471
|
+
riskOfBias: handleRiskOfBias,
|
|
472
|
+
costEffectivenessModel: handleCostEffectivenessModel,
|
|
473
|
+
htaDossier: handleHtaDossierPrep,
|
|
474
|
+
validateLinks: handleValidateLinks,
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
export const htaWorkflowToolSchema = {
|
|
478
|
+
name: "hta.workflow",
|
|
479
|
+
description: "End-to-end HTA submission orchestrator. One call runs literature_search (with PRISMA-style stability via runs=N) → screen_abstracts (PICO filter) → risk_of_bias (auto RoB 2/ROBINS-I/AMSTAR-2) → cost_effectiveness_model (Markov + 1k PSA, defaults from indication) → hta_dossier (auto-GRADE downgrade from RoB output) → validate_links (post-hoc URL audit). Returns a combined report with per-phase timings, the full dossier draft, and the URL validation table. Use as a single-shot drop-in replacement for the 4-5 separate prompts a generic LLM would need to chain these tools manually. Each phase wrapped in safe-run so single-step failures do not abort the pipeline.",
|
|
480
|
+
annotations: {
|
|
481
|
+
title: "HTA Submission Workflow Orchestrator",
|
|
482
|
+
readOnlyHint: true,
|
|
483
|
+
destructiveHint: false,
|
|
484
|
+
idempotentHint: true,
|
|
485
|
+
openWorldHint: false,
|
|
486
|
+
},
|
|
487
|
+
inputSchema: {
|
|
488
|
+
type: "object",
|
|
489
|
+
properties: {
|
|
490
|
+
drug: { type: "string", description: "Drug or intervention name." },
|
|
491
|
+
indication: {
|
|
492
|
+
type: "string",
|
|
493
|
+
description: "Disease or condition (free text).",
|
|
494
|
+
},
|
|
495
|
+
hta_body: {
|
|
496
|
+
type: "string",
|
|
497
|
+
enum: HTA_BODIES,
|
|
498
|
+
default: "nice",
|
|
499
|
+
description: "Target HTA body for the dossier draft.",
|
|
500
|
+
},
|
|
501
|
+
submission_type: {
|
|
502
|
+
type: "string",
|
|
503
|
+
enum: SUBMISSION_TYPES,
|
|
504
|
+
default: "sta",
|
|
505
|
+
},
|
|
506
|
+
perspective: {
|
|
507
|
+
type: "string",
|
|
508
|
+
enum: PERSPECTIVES,
|
|
509
|
+
default: "nhs",
|
|
510
|
+
description: "Economic perspective for the cost-effectiveness model phase.",
|
|
511
|
+
},
|
|
512
|
+
drug_class: {
|
|
513
|
+
type: "string",
|
|
514
|
+
enum: DRUG_CLASSES,
|
|
515
|
+
default: "small_molecule",
|
|
516
|
+
},
|
|
517
|
+
is_orphan: {
|
|
518
|
+
type: "boolean",
|
|
519
|
+
default: false,
|
|
520
|
+
description: "Orphan-designated medicinal product. Affects JCA scope eligibility (orphans enter JCA scope 2028 vs 2030 for general medicinal products).",
|
|
521
|
+
},
|
|
522
|
+
pico: {
|
|
523
|
+
type: "object",
|
|
524
|
+
properties: {
|
|
525
|
+
population: { type: "string" },
|
|
526
|
+
intervention: { type: "string" },
|
|
527
|
+
comparator: { type: "string" },
|
|
528
|
+
outcomes: { type: "array", items: { type: "string" } },
|
|
529
|
+
},
|
|
530
|
+
description: "Optional PICO criteria for the screening phase (defaults derived from drug + indication).",
|
|
531
|
+
},
|
|
532
|
+
ce_inputs: {
|
|
533
|
+
type: "object",
|
|
534
|
+
description: "Optional cost-effectiveness model inputs. Sensible defaults applied when omitted (efficacy_delta=0.25; drug_cost_annual=1000; SoC=0).",
|
|
535
|
+
properties: {
|
|
536
|
+
drug_cost_annual: { type: "number", minimum: 0 },
|
|
537
|
+
comparator_cost_annual: { type: "number", minimum: 0 },
|
|
538
|
+
efficacy_delta: { type: "number", minimum: 0, maximum: 1 },
|
|
539
|
+
ae_cost: { type: "number", minimum: 0 },
|
|
540
|
+
admin_cost: { type: "number", minimum: 0 },
|
|
541
|
+
qaly_on_treatment: { type: "number", minimum: 0, maximum: 1 },
|
|
542
|
+
qaly_comparator: { type: "number", minimum: 0, maximum: 1 },
|
|
543
|
+
},
|
|
544
|
+
},
|
|
545
|
+
sources: {
|
|
546
|
+
type: "array",
|
|
547
|
+
items: { type: "string", enum: SOURCES },
|
|
548
|
+
default: ["pubmed", "clinicaltrials"],
|
|
549
|
+
},
|
|
550
|
+
max_literature_results: {
|
|
551
|
+
type: "number",
|
|
552
|
+
minimum: 1,
|
|
553
|
+
maximum: 100,
|
|
554
|
+
default: 30,
|
|
555
|
+
},
|
|
556
|
+
literature_runs: {
|
|
557
|
+
type: "number",
|
|
558
|
+
minimum: 1,
|
|
559
|
+
maximum: 5,
|
|
560
|
+
default: 3,
|
|
561
|
+
description: "Number of dedup-stability passes for the literature_search phase. 3 is the project default for HTA-grade reproducibility.",
|
|
562
|
+
},
|
|
563
|
+
jurisdictions: {
|
|
564
|
+
type: "array",
|
|
565
|
+
items: {
|
|
566
|
+
type: "string",
|
|
567
|
+
enum: ["de", "fr", "it", "es", "nl", "uk", "eu_other"],
|
|
568
|
+
},
|
|
569
|
+
default: ["de", "fr", "it", "es", "nl"],
|
|
570
|
+
},
|
|
571
|
+
skip_ce_model: {
|
|
572
|
+
type: "boolean",
|
|
573
|
+
default: false,
|
|
574
|
+
description: "Skip the cost-effectiveness model phase (e.g., for clinical-only dossiers).",
|
|
575
|
+
},
|
|
576
|
+
},
|
|
577
|
+
required: ["drug", "indication"],
|
|
578
|
+
},
|
|
579
|
+
};
|
|
580
|
+
//# sourceMappingURL=htaWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"htaWorkflow.js","sourceRoot":"","sources":["../../src/tools/htaWorkflow.ts"],"names":[],"mappings":"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"}
|