heor-agent-mcp 1.4.2 → 1.5.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/irb/coverLetters.d.ts +19 -0
- package/dist/irb/coverLetters.d.ts.map +1 -0
- package/dist/irb/coverLetters.js +69 -0
- package/dist/irb/coverLetters.js.map +1 -0
- package/dist/irb/decisionTree.d.ts +3 -0
- package/dist/irb/decisionTree.d.ts.map +1 -0
- package/dist/irb/decisionTree.js +569 -0
- package/dist/irb/decisionTree.js.map +1 -0
- package/dist/irb/rulesets.d.ts +61 -0
- package/dist/irb/rulesets.d.ts.map +1 -0
- package/dist/irb/rulesets.js +192 -0
- package/dist/irb/rulesets.js.map +1 -0
- package/dist/irb/types.d.ts +106 -0
- package/dist/irb/types.d.ts.map +1 -0
- package/dist/irb/types.js +12 -0
- package/dist/irb/types.js.map +1 -0
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/irbReview.d.ts +126 -0
- package/dist/tools/irbReview.d.ts.map +1 -0
- package/dist/tools/irbReview.js +333 -0
- package/dist/tools/irbReview.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cover-letter template for irb_review.
|
|
3
|
+
*
|
|
4
|
+
* Returns a single paragraph string (~200 words) ready to paste into an IRB /
|
|
5
|
+
* EC submission portal. Includes drug, indication, review tier, COI status,
|
|
6
|
+
* data-handling approach, and SAE framework. Customer pastes and edits in
|
|
7
|
+
* place — we don't try to produce a finished submission, only the structural
|
|
8
|
+
* scaffold so the human knows what sections must be present.
|
|
9
|
+
*/
|
|
10
|
+
import type { CoiFramework, IrbReviewInput, ReviewTierEu, ReviewTierUs, SaeFramework } from "./types.js";
|
|
11
|
+
export declare function buildCoverLetter(args: {
|
|
12
|
+
input: IrbReviewInput;
|
|
13
|
+
reviewTierUs: ReviewTierUs | null;
|
|
14
|
+
reviewTierEu: ReviewTierEu | null;
|
|
15
|
+
saeFramework: SaeFramework;
|
|
16
|
+
coiFramework: CoiFramework;
|
|
17
|
+
coiRequired: boolean;
|
|
18
|
+
}): string;
|
|
19
|
+
//# sourceMappingURL=coverLetters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverLetters.d.ts","sourceRoot":"","sources":["../../src/irb/coverLetters.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAkCpB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAwCT"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cover-letter template for irb_review.
|
|
3
|
+
*
|
|
4
|
+
* Returns a single paragraph string (~200 words) ready to paste into an IRB /
|
|
5
|
+
* EC submission portal. Includes drug, indication, review tier, COI status,
|
|
6
|
+
* data-handling approach, and SAE framework. Customer pastes and edits in
|
|
7
|
+
* place — we don't try to produce a finished submission, only the structural
|
|
8
|
+
* scaffold so the human knows what sections must be present.
|
|
9
|
+
*/
|
|
10
|
+
const TIER_LABEL_US = {
|
|
11
|
+
exempt: "Exempt determination under 45 CFR 46.104",
|
|
12
|
+
expedited: "Expedited review under 45 CFR 46.110",
|
|
13
|
+
full_board: "Full Board review under 45 CFR 46.108",
|
|
14
|
+
not_applicable: "(US IRB tier not applicable)",
|
|
15
|
+
};
|
|
16
|
+
const TIER_LABEL_EU = {
|
|
17
|
+
national_only: "National-level Ethics Committee review",
|
|
18
|
+
ctr_multi_state: "Coordinated Multi-State EC Review under EU Regulation 536/2014 (CTR)",
|
|
19
|
+
non_interventional_only: "EC review under national non-interventional study framework (CTR 536/2014 not applicable)",
|
|
20
|
+
};
|
|
21
|
+
const SAE_LABEL = {
|
|
22
|
+
ctr_536_2014: "EU CTR 536/2014 Annex III SUSAR / SAE timelines",
|
|
23
|
+
fda_ind_safety: "FDA IND Safety Reporting (21 CFR 312.32)",
|
|
24
|
+
post_marketing_psur: "Periodic Safety Update Reports (PSUR) and EudraVigilance ICSRs",
|
|
25
|
+
none: "No SAE-reporting framework (study design not subject to expedited safety reporting)",
|
|
26
|
+
};
|
|
27
|
+
const COI_LABEL = {
|
|
28
|
+
phs_42_cfr_50: "PHS 42 CFR 50 Subpart F (Promoting Objectivity in Research) — applies to all PHS-funded research (NIH, AHRQ, CDC) AND industry-funded US studies",
|
|
29
|
+
eu_ctr_annex_i_point_66: "EU CTR 536/2014 Annex I, Section M, Point 66 (investigator suitability — declaration of economic interests and institutional affiliations affecting impartiality)",
|
|
30
|
+
both: "PHS 42 CFR 50 Subpart F (US) and EU CTR 536/2014 Annex I §M Point 66 (EU)",
|
|
31
|
+
none: "No conflict-of-interest framework triggered (non-PHS, non-industry funding outside EU)",
|
|
32
|
+
};
|
|
33
|
+
export function buildCoverLetter(args) {
|
|
34
|
+
const { input, reviewTierUs, reviewTierEu, saeFramework, coiFramework } = args;
|
|
35
|
+
const tierUs = reviewTierUs ? TIER_LABEL_US[reviewTierUs] : null;
|
|
36
|
+
const tierEu = reviewTierEu ? TIER_LABEL_EU[reviewTierEu] : null;
|
|
37
|
+
const tiers = [tierUs, tierEu].filter(Boolean).join(" + ");
|
|
38
|
+
const saeText = SAE_LABEL[saeFramework];
|
|
39
|
+
const coiText = COI_LABEL[coiFramework];
|
|
40
|
+
const populationCaveats = [];
|
|
41
|
+
if (input.population_includes_pediatric)
|
|
42
|
+
populationCaveats.push("paediatric subjects (45 CFR 46 Subpart D)");
|
|
43
|
+
if (input.population_includes_pregnant)
|
|
44
|
+
populationCaveats.push("pregnant subjects (45 CFR 46 Subpart B)");
|
|
45
|
+
if (input.population_includes_prisoners)
|
|
46
|
+
populationCaveats.push("incarcerated subjects (45 CFR 46 Subpart C)");
|
|
47
|
+
if (input.population_includes_decisionally_impaired)
|
|
48
|
+
populationCaveats.push("subjects with diminished decision-making capacity");
|
|
49
|
+
const populationLine = populationCaveats.length > 0
|
|
50
|
+
? `The study population includes ${populationCaveats.join(", ")}, and the protocol incorporates the additional safeguards required for these vulnerable groups. `
|
|
51
|
+
: "";
|
|
52
|
+
return [
|
|
53
|
+
`Dear Members of the Institutional Review Board / Ethics Committee,`,
|
|
54
|
+
``,
|
|
55
|
+
`We are submitting the attached protocol and supporting materials for your review of a planned study of ${input.intervention} in ${input.indication}. The study is designed as a ${input.study_design.replace(/_/g, " ")}, and the requested review pathway is: ${tiers || "(jurisdiction-specific tiers not established)"}.`,
|
|
56
|
+
``,
|
|
57
|
+
`Risk classification: ${input.risk_level}. The data-handling approach is "${input.data_handling}" — the Data Management Plan section of this submission details the de-identification and cross-border transfer obligations as applicable. ${populationLine}Safety monitoring will follow ${saeText}, with the SAE / SUSAR reporting timelines tabulated in the protocol.`,
|
|
58
|
+
``,
|
|
59
|
+
`Conflict-of-interest disclosures: this study is funded by ${input.funding_source}. The applicable framework is ${coiText}, and individual investigator disclosures are filed with this submission. ${input.multi_site ? "This is a multi-site study, and coordination across sites follows the lead site's framework with local-site ethics oversight where required. " : ""}`,
|
|
60
|
+
``,
|
|
61
|
+
`We confirm that the protocol, ICF, and supporting documents have undergone scientific review and are ready for ethics review. We are available to address any questions or to revise the submission per Committee feedback. Thank you for your consideration.`,
|
|
62
|
+
``,
|
|
63
|
+
`Sincerely,`,
|
|
64
|
+
`[Principal Investigator]`,
|
|
65
|
+
`[Institution]`,
|
|
66
|
+
`[Date]`,
|
|
67
|
+
].join("\n");
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=coverLetters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverLetters.js","sourceRoot":"","sources":["../../src/irb/coverLetters.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,aAAa,GAAiC;IAClD,MAAM,EAAE,0CAA0C;IAClD,SAAS,EAAE,sCAAsC;IACjD,UAAU,EAAE,uCAAuC;IACnD,cAAc,EAAE,8BAA8B;CAC/C,CAAC;AAEF,MAAM,aAAa,GAAiC;IAClD,aAAa,EAAE,wCAAwC;IACvD,eAAe,EACb,sEAAsE;IACxE,uBAAuB,EACrB,2FAA2F;CAC9F,CAAC;AAEF,MAAM,SAAS,GAAiC;IAC9C,YAAY,EAAE,iDAAiD;IAC/D,cAAc,EAAE,0CAA0C;IAC1D,mBAAmB,EACjB,gEAAgE;IAClE,IAAI,EAAE,qFAAqF;CAC5F,CAAC;AAEF,MAAM,SAAS,GAAiC;IAC9C,aAAa,EACX,kJAAkJ;IACpJ,uBAAuB,EACrB,mKAAmK;IACrK,IAAI,EAAE,2EAA2E;IACjF,IAAI,EAAE,wFAAwF;CAC/F,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAOhC;IACC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,GACrE,IAAI,CAAC;IAEP,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAExC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,KAAK,CAAC,6BAA6B;QACrC,iBAAiB,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,4BAA4B;QACpC,iBAAiB,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,6BAA6B;QACrC,iBAAiB,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,yCAAyC;QACjD,iBAAiB,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAC9E,MAAM,cAAc,GAClB,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,iCAAiC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,kGAAkG;QACjK,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,oEAAoE;QACpE,EAAE;QACF,0GAA0G,KAAK,CAAC,YAAY,OAAO,KAAK,CAAC,UAAU,gCAAgC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,0CAA0C,KAAK,IAAI,+CAA+C,GAAG;QAC7T,EAAE;QACF,wBAAwB,KAAK,CAAC,UAAU,oCAAoC,KAAK,CAAC,aAAa,8IAA8I,cAAc,iCAAiC,OAAO,uEAAuE;QAC1W,EAAE;QACF,6DAA6D,KAAK,CAAC,cAAc,iCAAiC,OAAO,6EAA6E,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,+IAA+I,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/W,EAAE;QACF,+PAA+P;QAC/P,EAAE;QACF,YAAY;QACZ,0BAA0B;QAC1B,eAAe;QACf,QAAQ;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisionTree.d.ts","sourceRoot":"","sources":["../../src/irb/decisionTree.ts"],"names":[],"mappings":"AA4BA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,cAAc,EAKpB,MAAM,YAAY,CAAC;AAklBpB,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,CA0E9D"}
|