Spaces:
Running
Running
Upload 3 files
Browse files- documents.json +839 -0
- index.html +199 -19
- script.js +566 -0
documents.json
ADDED
|
@@ -0,0 +1,839 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"Doc_ID_Type": "DIS-PLAN-RES", "Document_Name": "Research Plan/Proposal", "Phase": "Discovery", "Sub_Phase_Discipline": "Target ID / Hit ID / Lead Opt",
|
| 4 |
+
"Purpose_Key_Content": "Outlines objectives, rationale, methods, resources, and timelines for a specific research project or program.",
|
| 5 |
+
"Key_Metadata": "Project ID, Target ID, Therapeutic Area, PI Name, Budget Code",
|
| 6 |
+
"Input_Documents_Data_Sources": "Literature Review, Previous Internal Data, Strategic Goals",
|
| 7 |
+
"Output_Informs_Documents": "Project Initiation, Resource Allocation, Specific Experiments",
|
| 8 |
+
"Authoring_Department(s)": "Research Scientist, PI, Therapeutic Area Lead", "Review_Approval_Dept(s)": "Research Mgmt, Finance (budget)",
|
| 9 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal Strategy/Governance"
|
| 10 |
+
},
|
| 11 |
+
{
|
| 12 |
+
"Doc_ID_Type": "DIS-NOTE-ELN", "Document_Name": "Electronic Lab Notebook (ELN) Entry", "Phase": "Discovery, Preclinical", "Sub_Phase_Discipline": "All Research/Lab Disciplines",
|
| 13 |
+
"Purpose_Key_Content": "Contemporaneous record of experimental procedures, observations, raw data, and initial analysis.",
|
| 14 |
+
"Key_Metadata": "Experiment ID, Date, Scientist Name, Project ID, Compound/Batch ID",
|
| 15 |
+
"Input_Documents_Data_Sources": "Protocols, SOPs, Previous ELN Entries, Reagent Info",
|
| 16 |
+
"Output_Informs_Documents": "Raw Data Source for Reports, Patent Support, Troubleshooting",
|
| 17 |
+
"Authoring_Department(s)": "Bench Scientist, Researcher", "Review_Approval_Dept(s)": "Peer Reviewer, Lab Head (as needed)",
|
| 18 |
+
"Complexity_Authoring": "Low-Medium", "Regulatory_Significance": "Internal Quality, Patent Support, GLP (if applicable)"
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"Doc_ID_Type": "DIS-REP-LIT", "Document_Name": "Literature Review Report", "Phase": "Discovery, Preclinical, Clinical", "Sub_Phase_Discipline": "All Disciplines",
|
| 22 |
+
"Purpose_Key_Content": "Systematic summary and analysis of published scientific literature on a specific topic (e.g., target, pathway, indication, competitor).",
|
| 23 |
+
"Key_Metadata": "Topic/Keywords, Date Range Searched, Databases Used",
|
| 24 |
+
"Input_Documents_Data_Sources": "Search Strategy, Scientific Databases",
|
| 25 |
+
"Output_Informs_Documents": "Research Plans, Target Validation, Protocol Design, IB Sections",
|
| 26 |
+
"Authoring_Department(s)": "Scientist, Medical Writer, Information Specialist", "Review_Approval_Dept(s)": "Therapeutic Area Lead, Discipline Lead",
|
| 27 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal Strategy, Regulatory Submissions (background)"
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"Doc_ID_Type": "DIS-REP-TVAL", "Document_Name": "Target Validation Report", "Phase": "Discovery", "Sub_Phase_Discipline": "Target ID/Validation",
|
| 31 |
+
"Purpose_Key_Content": "Summarizes evidence validating a biological target for drug intervention. Includes genetic, pathway, literature, and experimental data.",
|
| 32 |
+
"Key_Metadata": "Target ID, Pathway Info, Key Assays Used, Validation Tier",
|
| 33 |
+
"Input_Documents_Data_Sources": "Literature Reviews, Internal Experimental Data (e.g., siRNA/CRISPR results), Bioinformatics Analysis Reports",
|
| 34 |
+
"Output_Informs_Documents": "Go/No-Go Decision for Target, Assay Development Plans, Research Proposals",
|
| 35 |
+
"Authoring_Department(s)": "Biology, Bioinformatics, Research Lead", "Review_Approval_Dept(s)": "Research Mgmt, Therapeutic Area Head",
|
| 36 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal R&D Strategy"
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"Doc_ID_Type": "DIS-REP-BIOINF", "Document_Name": "Bioinformatics Analysis Report", "Phase": "Discovery, Preclinical, Clinical", "Sub_Phase_Discipline": "Bioinformatics / Computational Biology",
|
| 40 |
+
"Purpose_Key_Content": "Documents the methods, results, and interpretation of computational analyses (e.g., genomic, proteomic, pathway analysis).",
|
| 41 |
+
"Key_Metadata": "Analysis Type, Data Source (e.g., GEO ID), Software/Versions Used, Key Findings",
|
| 42 |
+
"Input_Documents_Data_Sources": "Raw Sequence Data, Microarray Data, Public Databases, ELN Data",
|
| 43 |
+
"Output_Informs_Documents": "Target Validation, Biomarker ID, Experimental Design, Publications",
|
| 44 |
+
"Authoring_Department(s)": "Bioinformatician, Computational Biologist", "Review_Approval_Dept(s)": "Biology Lead, Statistician (if complex)",
|
| 45 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "Internal R&D, Potential Biomarker Qualification"
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"Doc_ID_Type": "DIS-PROT-ASSAY", "Document_Name": "Assay Development Protocol", "Phase": "Discovery", "Sub_Phase_Discipline": "Hit ID / Lead Opt",
|
| 49 |
+
"Purpose_Key_Content": "Details the plan to develop and validate a specific biological or biochemical assay for screening or characterization.",
|
| 50 |
+
"Key_Metadata": "Assay Type, Target ID, Detection Method, Key Reagents, Platform",
|
| 51 |
+
"Input_Documents_Data_Sources": "Target Validation Report, Literature on similar assays",
|
| 52 |
+
"Output_Informs_Documents": "Assay Development Report, Assay Validation Report",
|
| 53 |
+
"Authoring_Department(s)": "Assay Development Scientist, Biology", "Review_Approval_Dept(s)": "Research Lead",
|
| 54 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal R&D Quality"
|
| 55 |
+
},
|
| 56 |
+
{
|
| 57 |
+
"Doc_ID_Type": "DIS-REP-ASSAYDEV", "Document_Name": "Assay Development Report", "Phase": "Discovery", "Sub_Phase_Discipline": "Hit ID / Lead Opt",
|
| 58 |
+
"Purpose_Key_Content": "Documents the process and results of developing a new assay, including optimization experiments.",
|
| 59 |
+
"Key_Metadata": "Assay ID, Optimization Parameters, Final Conditions, Reagent Sources",
|
| 60 |
+
"Input_Documents_Data_Sources": "Assay Development Protocol, ELN Entries",
|
| 61 |
+
"Output_Informs_Documents": "Assay Validation Protocol/Report, Assay SOP",
|
| 62 |
+
"Authoring_Department(s)": "Assay Development Scientist, Biology", "Review_Approval_Dept(s)": "Research Lead",
|
| 63 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal R&D Quality"
|
| 64 |
+
},
|
| 65 |
+
{
|
| 66 |
+
"Doc_ID_Type": "DIS-PROT-ASSAYVAL", "Document_Name": "Assay Validation Protocol", "Phase": "Discovery", "Sub_Phase_Discipline": "Hit ID / Lead Opt",
|
| 67 |
+
"Purpose_Key_Content": "Defines the plan and acceptance criteria for validating the performance characteristics of an assay.",
|
| 68 |
+
"Key_Metadata": "Assay ID, Validation Parameters (e.g., Accuracy, Precision, Specificity, Robustness), Acceptance Criteria",
|
| 69 |
+
"Input_Documents_Data_Sources": "Assay Development Report",
|
| 70 |
+
"Output_Informs_Documents": "Assay Validation Report",
|
| 71 |
+
"Authoring_Department(s)": "Assay Development Scientist, QA (if needed)", "Review_Approval_Dept(s)": "Research Lead, QA (if needed)",
|
| 72 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal R&D Quality / HTS Readiness"
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"Doc_ID_Type": "DIS-REP-ASSAYVAL", "Document_Name": "Assay Validation Report", "Phase": "Discovery", "Sub_Phase_Discipline": "Hit ID / Lead Opt",
|
| 76 |
+
"Purpose_Key_Content": "Documents the performance characteristics (e.g., Z', S/B, reproducibility, specificity) of a developed assay against pre-defined criteria.",
|
| 77 |
+
"Key_Metadata": "Assay ID, Validation Parameters Results, Pass/Fail Status, SOP Link",
|
| 78 |
+
"Input_Documents_Data_Sources": "Assay Validation Protocol, Raw Validation Data (ELN)",
|
| 79 |
+
"Output_Informs_Documents": "Screening Campaigns (HTS), Compound Profiling, Assay SOP",
|
| 80 |
+
"Authoring_Department(s)": "Assay Development Scientist, Biology", "Review_Approval_Dept(s)": "Research Lead, QA (if applicable)",
|
| 81 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal R&D Quality / HTS"
|
| 82 |
+
},
|
| 83 |
+
{
|
| 84 |
+
"Doc_ID_Type": "DIS-SOP-ASSAY", "Document_Name": "Assay Standard Operating Procedure (SOP)", "Phase": "Discovery, Preclinical", "Sub_Phase_Discipline": "Assay Development / Screening",
|
| 85 |
+
"Purpose_Key_Content": "Detailed step-by-step instructions for performing a validated assay consistently.",
|
| 86 |
+
"Key_Metadata": "SOP Number, Version, Effective Date, Assay ID",
|
| 87 |
+
"Input_Documents_Data_Sources": "Assay Validation Report",
|
| 88 |
+
"Output_Informs_Documents": "Assay Execution, Training Records",
|
| 89 |
+
"Authoring_Department(s)": "Assay Development Scientist, Technical Writer", "Review_Approval_Dept(s)": "QA, Research Lead",
|
| 90 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal Quality / GLP (if applicable)"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"Doc_ID_Type": "DIS-REP-HTS", "Document_Name": "High-Throughput Screening (HTS) Report", "Phase": "Discovery", "Sub_Phase_Discipline": "Hit ID",
|
| 94 |
+
"Purpose_Key_Content": "Summarizes results of a large-scale screening campaign to identify initial 'hits'. Includes campaign summary, hit list, QC metrics.",
|
| 95 |
+
"Key_Metadata": "Campaign ID, Library Screened, Target ID, Hit Criteria, Plate IDs, % Inhibition/Activity Cutoff",
|
| 96 |
+
"Input_Documents_Data_Sources": "Validated Assay Report/SOP, Compound Library Info, Raw Screening Data (LIMS)",
|
| 97 |
+
"Output_Informs_Documents": "Hit Confirmation Plans, Hit-to-Lead Team Initiation, Compound Triage Reports",
|
| 98 |
+
"Authoring_Department(s)": "HTS Group, Automation, Informatics", "Review_Approval_Dept(s)": "Research Lead, Chemistry Lead",
|
| 99 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal R&D Strategy"
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"Doc_ID_Type": "DIS-REP-HITCONF", "Document_Name": "Hit Confirmation/Triage Report", "Phase": "Discovery", "Sub_Phase_Discipline": "Hit ID / Hit-to-Lead",
|
| 103 |
+
"Purpose_Key_Content": "Documents follow-up experiments to confirm activity and selectivity of initial HTS hits, often including dose-response curves.",
|
| 104 |
+
"Key_Metadata": "Hit IDs, Confirmation Assay Results (IC50/EC50), Selectivity Data",
|
| 105 |
+
"Input_Documents_Data_Sources": "HTS Report, Compound Structures, Follow-up Assay Data (ELN)",
|
| 106 |
+
"Output_Informs_Documents": "Selection of Hits for Hit-to-Lead Chemistry",
|
| 107 |
+
"Authoring_Department(s)": "Biology, HTS Group, Medicinal Chemistry", "Review_Approval_Dept(s)": "Research Lead",
|
| 108 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal R&D Strategy"
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"Doc_ID_Type": "DIS-REP-SAR", "Document_Name": "Structure-Activity Relationship (SAR) Report", "Phase": "Discovery", "Sub_Phase_Discipline": "Hit-to-Lead / Lead Opt",
|
| 112 |
+
"Purpose_Key_Content": "Summarizes the relationship between chemical structure modifications and biological activity/properties for a series of compounds.",
|
| 113 |
+
"Key_Metadata": "Chemotype/Series ID, Key Structures, Biological Data (Potency, Selectivity), Physicochemical Properties (Solubility, Permeability)",
|
| 114 |
+
"Input_Documents_Data_Sources": "Compound Synthesis Records (ELN), Biological Assay Data, ADME Screening Data",
|
| 115 |
+
"Output_Informs_Documents": "Lead Candidate Selection Strategy, Next Synthesis Targets, Patent Drafts",
|
| 116 |
+
"Authoring_Department(s)": "Medicinal Chemistry, Biology, DMPK", "Review_Approval_Dept(s)": "Research Lead, Chemistry Lead",
|
| 117 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "Internal R&D Strategy, Patent Filings"
|
| 118 |
+
},
|
| 119 |
+
{
|
| 120 |
+
"Doc_ID_Type": "DIS-REP-LO", "Document_Name": "Lead Optimization Report", "Phase": "Discovery", "Sub_Phase_Discipline": "Lead Optimization",
|
| 121 |
+
"Purpose_Key_Content": "Comprehensive report detailing the optimization of a chemical series towards a preclinical candidate profile (potency, selectivity, PK, safety).",
|
| 122 |
+
"Key_Metadata": "Lead Series ID, Key Compounds Data (incl. In Vivo Efficacy, PK/PD, Prelim Safety), Rationale for Candidate Selection",
|
| 123 |
+
"Input_Documents_Data_Sources": "SAR Reports, In Vitro ADME/DMPK Reports, In Vivo PK Reports, Early Safety/Tox Screens, In Vivo Efficacy Reports",
|
| 124 |
+
"Output_Informs_Documents": "Preclinical Candidate Nomination Form/Report, Patent Filings",
|
| 125 |
+
"Authoring_Department(s)": "Medicinal Chemistry, Biology, DMPK, Early Safety", "Review_Approval_Dept(s)": "Research Mgmt, Patent Attorney, Preclinical Dev Team",
|
| 126 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal R&D Governance"
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"Doc_ID_Type": "DIS-REP-CANDSEL", "Document_Name": "Candidate Selection Report/Nomination Form", "Phase": "Discovery", "Sub_Phase_Discipline": "Lead Optimization",
|
| 130 |
+
"Purpose_Key_Content": "Formal document justifying the selection of a specific compound as a preclinical development candidate based on accumulated data.",
|
| 131 |
+
"Key_Metadata": "Candidate Compound ID, Backup Candidate(s), Target Profile Scorecard, Key Data Summary (Efficacy, PK, Safety, CMC tractability), Dev Plan Outline",
|
| 132 |
+
"Input_Documents_Data_Sources": "Lead Optimization Report, Key Study Reports (In Vivo Efficacy, PK, Tox), CMC Assessment",
|
| 133 |
+
"Output_Informs_Documents": "Preclinical Development Plan Initiation, Formal Handover to Development Teams",
|
| 134 |
+
"Authoring_Department(s)": "Research Leadership, Project Team Lead", "Review_Approval_Dept(s)": "Senior R&D Management, Development Leadership",
|
| 135 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal R&D Governance Milestone"
|
| 136 |
+
},
|
| 137 |
+
{
|
| 138 |
+
"Doc_ID_Type": "PAT-DRAFT", "Document_Name": "Patent Draft", "Phase": "Discovery, Preclinical", "Sub_Phase_Discipline": "Legal / IP",
|
| 139 |
+
"Purpose_Key_Content": "Draft application describing novel inventions (e.g., new chemical entities, formulations, methods of use) for filing with patent offices.",
|
| 140 |
+
"Key_Metadata": "Invention Title, Inventors, Claims, Specification, Drawings",
|
| 141 |
+
"Input_Documents_Data_Sources": "ELN Entries, SAR Reports, Candidate Selection Data, Prior Art Search",
|
| 142 |
+
"Output_Informs_Documents": "Patent Filing with Patent Office (e.g., USPTO, EPO)",
|
| 143 |
+
"Authoring_Department(s)": "Patent Attorney/Agent, Inventors (Scientists)", "Review_Approval_Dept(s)": "Internal IP Committee, Senior Management",
|
| 144 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Intellectual Property Protection"
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"Doc_ID_Type": "PAT-FILED", "Document_Name": "Filed Patent Application", "Phase": "Discovery, Preclinical, Clinical", "Sub_Phase_Discipline": "Legal / IP",
|
| 148 |
+
"Purpose_Key_Content": "The patent application as filed with a national or regional patent office.",
|
| 149 |
+
"Key_Metadata": "Application Number, Filing Date, Title, Inventors",
|
| 150 |
+
"Input_Documents_Data_Sources": "Patent Draft",
|
| 151 |
+
"Output_Informs_Documents": "Patent Prosecution (Office Actions, Responses), Freedom-to-Operate Assessments",
|
| 152 |
+
"Authoring_Department(s)": "Patent Attorney/Agent", "Review_Approval_Dept(s)": "N/A (External Filing)",
|
| 153 |
+
"Complexity_Authoring": "N/A (Legal Process)", "Regulatory_Significance": "Intellectual Property Asset"
|
| 154 |
+
},
|
| 155 |
+
{
|
| 156 |
+
"Doc_ID_Type": "PRE-PLAN-DEV", "Document_Name": "Preclinical Development Plan", "Phase": "Preclinical", "Sub_Phase_Discipline": "Project Management / Cross-functional",
|
| 157 |
+
"Purpose_Key_Content": "High-level plan outlining the required non-clinical studies (Pharmacology, DMPK, Safety/Tox, CMC) to support clinical trials (IND/CTA).",
|
| 158 |
+
"Key_Metadata": "Candidate Compound ID, Target Indication, Target Clinical Phase Entry, Timelines, Resources",
|
| 159 |
+
"Input_Documents_Data_Sources": "Candidate Selection Report, Regulatory Strategy Outline",
|
| 160 |
+
"Output_Informs_Documents": "Study Protocol Development, Budgeting, Resource Allocation",
|
| 161 |
+
"Authoring_Department(s)": "Project Manager, Preclinical Lead (Tox, PK, Pharm), CMC Lead", "Review_Approval_Dept(s)": "Senior R&D Management",
|
| 162 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal Strategy/Governance"
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"Doc_ID_Type": "PRE-PROT-PHARM", "Document_Name": "Preclinical Pharmacology Study Protocol", "Phase": "Preclinical", "Sub_Phase_Discipline": "Pharmacology",
|
| 166 |
+
"Purpose_Key_Content": "Defines objectives, methods, animal models, and procedures for an in vivo efficacy or mechanism of action (MOA) study.",
|
| 167 |
+
"Key_Metadata": "Study ID, Compound ID, Animal Model, Dosing Regimen, Endpoints",
|
| 168 |
+
"Input_Documents_Data_Sources": "Candidate Selection Data, Literature, Preclinical Dev Plan",
|
| 169 |
+
"Output_Informs_Documents": "Pharmacology Study Conduct, Raw Data, Pharmacology Study Report",
|
| 170 |
+
"Authoring_Department(s)": "Pharmacology Scientist", "Review_Approval_Dept(s)": "IACUC/Ethics Committee, Research Lead",
|
| 171 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "Internal R&D, IND/CTA Enabling (Efficacy Rationale)"
|
| 172 |
+
},
|
| 173 |
+
{
|
| 174 |
+
"Doc_ID_Type": "PRE-REP-PHARM", "Document_Name": "Preclinical Pharmacology Study Report", "Phase": "Preclinical", "Sub_Phase_Discipline": "Pharmacology",
|
| 175 |
+
"Purpose_Key_Content": "Presents results, analysis, and interpretation of an in vivo efficacy or MOA study.",
|
| 176 |
+
"Key_Metadata": "Study ID, Key Findings (Efficacy, PD markers), Statistical Analysis",
|
| 177 |
+
"Input_Documents_Data_Sources": "Pharmacology Study Protocol, Raw Study Data (ELN, LIMS)",
|
| 178 |
+
"Output_Informs_Documents": "Candidate Advancement Decisions, IB, IND/CTA (Module 2.6, 4)",
|
| 179 |
+
"Authoring_Department(s)": "Pharmacology Scientist, Statistician", "Review_Approval_Dept(s)": "Research/Preclinical Lead",
|
| 180 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "Internal R&D, Submission Supporting (IND/CTA)"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"Doc_ID_Type": "PRE-PROT-PK", "Document_Name": "Preclinical Pharmacokinetics (PK) / ADME Study Protocol", "Phase": "Preclinical", "Sub_Phase_Discipline": "DMPK (Drug Metabolism & Pharmacokinetics)",
|
| 184 |
+
"Purpose_Key_Content": "Defines objectives and methods for assessing absorption, distribution, metabolism, excretion, and PK parameters in non-clinical species.",
|
| 185 |
+
"Key_Metadata": "Study ID, Species, Route of Administration, Dose Levels, Sampling Schedule, Bioanalytical Method ID",
|
| 186 |
+
"Input_Documents_Data_Sources": "Candidate Information, Preclinical Dev Plan",
|
| 187 |
+
"Output_Informs_Documents": "PK/ADME Study Conduct, Raw Data (Concentrations), PK/ADME Study Report",
|
| 188 |
+
"Authoring_Department(s)": "DMPK Scientist", "Review_Approval_Dept(s)": "IACUC/Ethics Committee (if in vivo), Preclinical Lead",
|
| 189 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "GLP (often for definitive studies), IND/CTA Enabling"
|
| 190 |
+
},
|
| 191 |
+
{
|
| 192 |
+
"Doc_ID_Type": "PRE-REP-PK", "Document_Name": "Preclinical Pharmacokinetics (PK) / ADME Study Report", "Phase": "Preclinical", "Sub_Phase_Discipline": "DMPK",
|
| 193 |
+
"Purpose_Key_Content": "Presents results (e.g., concentration-time profiles, PK parameters like AUC, Cmax, T1/2), analysis, and interpretation of PK/ADME studies.",
|
| 194 |
+
"Key_Metadata": "Study ID, Key PK Parameters, Metabolite ID results (if applicable), Bioanalytical Report Ref.",
|
| 195 |
+
"Input_Documents_Data_Sources": "PK/ADME Study Protocol, Raw Concentration Data, Bioanalytical Report",
|
| 196 |
+
"Output_Informs_Documents": "Human Dose Prediction, IB, IND/CTA (Module 2.6, 4), Toxicology Dose Selection",
|
| 197 |
+
"Authoring_Department(s)": "DMPK Scientist, Bioanalytical Scientist, Statistician (for modeling)", "Review_Approval_Dept(s)": "Preclinical Lead, QA (if GLP)",
|
| 198 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GLP (often), Submission Critical (IND/CTA, NDA/BLA)"
|
| 199 |
+
},
|
| 200 |
+
{
|
| 201 |
+
"Doc_ID_Type": "PRE-PROT-TOX", "Document_Name": "Preclinical Toxicology Study Protocol", "Phase": "Preclinical", "Sub_Phase_Discipline": "Toxicology (Safety Assessment)",
|
| 202 |
+
"Purpose_Key_Content": "Defines the objectives, design, methodology, and procedures for a specific non-clinical safety study (e.g., single-dose, repeat-dose, genotox, safety pharm).",
|
| 203 |
+
"Key_Metadata": "Study ID, Species, Strain, Dose Levels, Duration, Test Article ID, GLP Status, Endpoints (Clinical Obs, Clin Path, Histopath)",
|
| 204 |
+
"Input_Documents_Data_Sources": "Candidate Selection Report, Preclinical Dev Plan, Formulation Report, PK Data (for dose selection)",
|
| 205 |
+
"Output_Informs_Documents": "Toxicology Study Conduct, Raw Data Collection, Toxicology Study Report",
|
| 206 |
+
"Authoring_Department(s)": "Toxicologist, Study Director", "Review_Approval_Dept(s)": "IACUC/Ethics Committee, QA (GLP), Preclinical Lead",
|
| 207 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GLP, IND/CTA Enabling"
|
| 208 |
+
},
|
| 209 |
+
{
|
| 210 |
+
"Doc_ID_Type": "PRE-REP-TOX", "Document_Name": "Preclinical Toxicology Study Report", "Phase": "Preclinical", "Sub_Phase_Discipline": "Toxicology (Safety Assessment)",
|
| 211 |
+
"Purpose_Key_Content": "Presents the results, analysis, and interpretation of a non-clinical safety study. Includes findings, NOAEL, clinical signs, pathology.",
|
| 212 |
+
"Key_Metadata": "Study ID, GLP Compliance Statement, Key Findings (incl. NOAEL), Test Article ID, Pathology Report Ref.",
|
| 213 |
+
"Input_Documents_Data_Sources": "Toxicology Study Protocol, Raw Study Data (incl. Pathology, Clinical Pathology), Statistical Analysis Report (if applicable), Bioanalytical Report (if applicable)",
|
| 214 |
+
"Output_Informs_Documents": "Investigator's Brochure (IB), IND/CTA Application (CTD Module 2.4, 2.6, 4), Risk Assessment, Clinical Protocol Hazard Section",
|
| 215 |
+
"Authoring_Department(s)": "Toxicologist, Pathologist, Statistician, Study Director", "Review_Approval_Dept(s)": "QA (GLP), Preclinical Lead, Regulatory Affairs",
|
| 216 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GLP, Submission Critical (IND/CTA, NDA/BLA)"
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"Doc_ID_Type": "PRE-PROT-BIOA", "Document_Name": "Bioanalytical Method Validation Protocol", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "Bioanalysis / DMPK / CMC",
|
| 220 |
+
"Purpose_Key_Content": "Plan outlining procedures and acceptance criteria for validating an analytical method to quantify drug/metabolite in biological matrices (e.g., plasma, urine) or drug substance/product.",
|
| 221 |
+
"Key_Metadata": "Method ID, Analyte, Matrix, Validation Parameters (Accuracy, Precision, Selectivity, Stability, LLOQ), Instrument Type",
|
| 222 |
+
"Input_Documents_Data_Sources": "Assay Development Info, Regulatory Guidances (FDA/EMA)",
|
| 223 |
+
"Output_Informs_Documents": "Bioanalytical Method Validation Report, Method SOP",
|
| 224 |
+
"Authoring_Department(s)": "Bioanalytical Scientist, Analytical Chemist", "Review_Approval_Dept(s)": "QA, Method Development Lead",
|
| 225 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "GLP/GCP/GMP Compliance, Submission Supporting"
|
| 226 |
+
},
|
| 227 |
+
{
|
| 228 |
+
"Doc_ID_Type": "PRE-REP-BIOA", "Document_Name": "Bioanalytical Method Validation Report", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "Bioanalysis / DMPK / CMC",
|
| 229 |
+
"Purpose_Key_Content": "Documents the successful validation of a bioanalytical method according to the protocol and regulatory guidelines.",
|
| 230 |
+
"Key_Metadata": "Method ID, Validation Summary (Pass/Fail for each parameter), SOP Reference",
|
| 231 |
+
"Input_Documents_Data_Sources": "Bioanalytical Method Validation Protocol, Raw Validation Data",
|
| 232 |
+
"Output_Informs_Documents": "Sample Analysis (PK/Tox/Clinical studies), Method SOP, Regulatory Submissions (CTD Modules 2, 4, 5)",
|
| 233 |
+
"Authoring_Department(s)": "Bioanalytical Scientist, Analytical Chemist", "Review_Approval_Dept(s)": "QA, Method Development Lead",
|
| 234 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "GLP/GCP/GMP Compliance, Submission Critical"
|
| 235 |
+
},
|
| 236 |
+
{
|
| 237 |
+
"Doc_ID_Type": "PRE-REP-CMC-PROCDEV", "Document_Name": "CMC Process Development Report (API/DS)", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "CMC (Chemistry, Manufacturing, Controls)",
|
| 238 |
+
"Purpose_Key_Content": "Describes the development of the manufacturing process for the drug substance (API). Route selection, optimization, impurity control, KPPs.",
|
| 239 |
+
"Key_Metadata": "API Name, Process Stage (e.g., Route Scouting, Optimization), Key Process Parameters (KPPs), Critical Quality Attributes (CQAs), Impurity Profile",
|
| 240 |
+
"Input_Documents_Data_Sources": "Lead Optimization Reports, Early Formulation Data, Analytical Methods",
|
| 241 |
+
"Output_Informs_Documents": "API Specifications, Manufacturing Batch Records (Dev), Tech Transfer Documents, CTD Module 3",
|
| 242 |
+
"Authoring_Department(s)": "Process Chemistry, Chemical Engineering", "Review_Approval_Dept(s)": "Analytical Development, QA, CMC Lead",
|
| 243 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP (later stages), Submission Critical (IND/CTA, NDA/BLA)"
|
| 244 |
+
},
|
| 245 |
+
{
|
| 246 |
+
"Doc_ID_Type": "PRE-REP-CMC-FORMDEV", "Document_Name": "CMC Formulation Development Report (DP)", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "CMC (Formulation Development)",
|
| 247 |
+
"Purpose_Key_Content": "Documents the development and selection of the drug product formulation (e.g., tablet, capsule, injectable), including excipient compatibility, process development.",
|
| 248 |
+
"Key_Metadata": "Product Name, Formulation Composition, Dosage Form, Manufacturing Process Outline, Stability Assessment",
|
| 249 |
+
"Input_Documents_Data_Sources": "API Characterization Data, Preclinical PK/Tox Needs (e.g., vehicle), Target Product Profile (TPP)",
|
| 250 |
+
"Output_Informs_Documents": "Drug Product Specification, Manufacturing Batch Records (Dev), Stability Protocols, CTD Module 3",
|
| 251 |
+
"Authoring_Department(s)": "Formulation Scientist, Process Engineer", "Review_Approval_Dept(s)": "Analytical Development, QA, CMC Lead, Clinical Supply Lead",
|
| 252 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP (later stages), Submission Critical (IND/CTA, NDA/BLA)"
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"Doc_ID_Type": "PRE-SPEC-API", "Document_Name": "Drug Substance (API) Specification", "Phase": "Preclinical, Clinical, Post-Approval", "Sub_Phase_Discipline": "CMC / QA",
|
| 256 |
+
"Purpose_Key_Content": "Defines the list of tests, analytical procedures, and acceptance criteria required for release of the API. Based on ICH Q6A.",
|
| 257 |
+
"Key_Metadata": "API Name, Specification Number, Version, Effective Date, Tests (e.g., Appearance, ID, Assay, Impurities, Residual Solvents), Methods, Acceptance Criteria",
|
| 258 |
+
"Input_Documents_Data_Sources": "API Process Development Reports, Analytical Method Validation Reports, Stability Data, Reference Standard Cert.",
|
| 259 |
+
"Output_Informs_Documents": "API Batch Release Testing, Certificate of Analysis (CoA), Stability Program, CTD Module 3",
|
| 260 |
+
"Authoring_Department(s)": "Analytical Development, CMC Lead", "Review_Approval_Dept(s)": "QA, Regulatory Affairs",
|
| 261 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP, Submission Critical"
|
| 262 |
+
},
|
| 263 |
+
{
|
| 264 |
+
"Doc_ID_Type": "PRE-SPEC-DP", "Document_Name": "Drug Product Specification", "Phase": "Preclinical, Clinical, Post-Approval", "Sub_Phase_Discipline": "CMC / QA",
|
| 265 |
+
"Purpose_Key_Content": "Defines the list of tests, analytical procedures, and acceptance criteria required for release of the Drug Product. Based on ICH Q6A/B.",
|
| 266 |
+
"Key_Metadata": "Product Name, Dosage Form, Strength, Specification Number, Version, Effective Date, Tests (e.g., Appearance, ID, Assay, Content Uniformity, Dissolution, Impurities), Methods, Acceptance Criteria",
|
| 267 |
+
"Input_Documents_Data_Sources": "DP Formulation/Process Development Reports, Analytical Method Validation Reports, Stability Data, API Spec, Reference Standard Cert.",
|
| 268 |
+
"Output_Informs_Documents": "DP Batch Release Testing, Certificate of Analysis (CoA), Stability Program, CTD Module 3",
|
| 269 |
+
"Authoring_Department(s)": "Analytical Development, Formulation Dev, CMC Lead", "Review_Approval_Dept(s)": "QA, Regulatory Affairs",
|
| 270 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP, Submission Critical"
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"Doc_ID_Type": "PRE-PROT-CMC-STAB", "Document_Name": "CMC Stability Protocol", "Phase": "Preclinical, Clinical, Post-Approval", "Sub_Phase_Discipline": "CMC / QA",
|
| 274 |
+
"Purpose_Key_Content": "Plan outlining the stability studies to be performed on API or DP, including batches, storage conditions (ICH), testing schedule, and tests to be performed.",
|
| 275 |
+
"Key_Metadata": "API/Product Name, Protocol Number, Batches Included, Storage Conditions, Pull Schedule, Specification Ref.",
|
| 276 |
+
"Input_Documents_Data_Sources": "API/DP Specifications, Formulation Report, Regulatory Guidances (ICH Q1)",
|
| 277 |
+
"Output_Informs_Documents": "Stability Study Execution, Stability Report",
|
| 278 |
+
"Authoring_Department(s)": "Stability Coordinator, Analytical Dev / Formulation Dev", "Review_Approval_Dept(s)": "QA, CMC Lead",
|
| 279 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GMP, Submission Critical"
|
| 280 |
+
},
|
| 281 |
+
{
|
| 282 |
+
"Doc_ID_Type": "PRE-REP-CMC-STAB", "Document_Name": "CMC Stability Report", "Phase": "Preclinical, Clinical, Post-Approval", "Sub_Phase_Discipline": "CMC",
|
| 283 |
+
"Purpose_Key_Content": "Summarizes stability data for API or DP under defined storage conditions. Supports shelf-life/retest date determination. Includes data tables, trends, justification for shelf life.",
|
| 284 |
+
"Key_Metadata": "API/Product Name, Batch Numbers, Storage Conditions, Stability Timepoints, Specification Link, Proposed Shelf Life/Retest Date",
|
| 285 |
+
"Input_Documents_Data_Sources": "Stability Protocols, Raw Stability Data (Analytical Results), Specifications",
|
| 286 |
+
"Output_Informs_Documents": "Shelf-Life Assignment, Regulatory Submissions (IND/CTD M3, NDA/MAA), Product Labeling, Certificate of Analysis",
|
| 287 |
+
"Authoring_Department(s)": "Analytical Development, Stability Coordinator, Statistician (trending)", "Review_Approval_Dept(s)": "QA, CMC Lead, Regulatory Affairs",
|
| 288 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP, Submission Critical"
|
| 289 |
+
},
|
| 290 |
+
{
|
| 291 |
+
"Doc_ID_Type": "PRE-RECORD-BATCH-DEV", "Document_Name": "Development Batch Record", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "CMC (Manufacturing)",
|
| 292 |
+
"Purpose_Key_Content": "Record documenting the manufacturing steps performed for a specific development or non-GMP batch of API or DP.",
|
| 293 |
+
"Key_Metadata": "Product Name, Batch Number, Date, Process Steps, In-Process Controls (IPCs), Raw Material Lots, Operator Signatures",
|
| 294 |
+
"Input_Documents_Data_Sources": "Process Development Report, Master Batch Record (if available)",
|
| 295 |
+
"Output_Informs_Documents": "CMC Development Reports, Tech Transfer, Characterization of Batch",
|
| 296 |
+
"Authoring_Department(s)": "Process Chemist/Engineer, Formulation Scientist, Manufacturing Operator", "Review_Approval_Dept(s)": "CMC Lead",
|
| 297 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Non-GMP (but good practice)"
|
| 298 |
+
},
|
| 299 |
+
{
|
| 300 |
+
"Doc_ID_Type": "PRE-RECORD-BATCH-GMP", "Document_Name": "GMP Master Batch Record (MBR)", "Phase": "Clinical, Post-Approval", "Sub_Phase_Discipline": "CMC (Manufacturing) / QA",
|
| 301 |
+
"Purpose_Key_Content": "Approved template instruction set for manufacturing a specific API or DP under GMP conditions.",
|
| 302 |
+
"Key_Metadata": "Product Name, MBR Number, Version, Effective Date, Detailed Process Steps, IPCs, Material Specs",
|
| 303 |
+
"Input_Documents_Data_Sources": "Process Development/Validation Reports, Specifications",
|
| 304 |
+
"Output_Informs_Documents": "GMP Batch Production Record (Executed)",
|
| 305 |
+
"Authoring_Department(s)": "Process Development, Manufacturing Science/Tech Transfer", "Review_Approval_Dept(s)": "Manufacturing, QA",
|
| 306 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP Critical"
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"Doc_ID_Type": "PRE-RECORD-BATCH-GMP-EXE", "Document_Name": "Executed GMP Batch Production Record (BPR)", "Phase": "Clinical, Post-Approval", "Sub_Phase_Discipline": "CMC (Manufacturing) / QA",
|
| 310 |
+
"Purpose_Key_Content": "Completed record documenting the actual manufacturing steps, materials used, conditions, and results for a specific GMP batch. Includes deviations, investigations.",
|
| 311 |
+
"Key_Metadata": "Product Name, Batch Number, MBR Ref, Start/End Dates, Actual Results, Operator/Verifier Signatures, Deviation Refs",
|
| 312 |
+
"Input_Documents_Data_Sources": "GMP Master Batch Record (MBR), Raw Material CoAs, Logbooks",
|
| 313 |
+
"Output_Informs_Documents": "Batch Release Decision by QA, Certificate of Analysis (CoA), Regulatory Submissions (supportive data), Annual Product Review (APR/PQR)",
|
| 314 |
+
"Authoring_Department(s)": "Manufacturing Operators/Supervisors", "Review_Approval_Dept(s)": "Manufacturing Lead, QA Review/Approval",
|
| 315 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP Critical, Batch Release Prerequisite"
|
| 316 |
+
},
|
| 317 |
+
{
|
| 318 |
+
"Doc_ID_Type": "PRE-CoA", "Document_Name": "Certificate of Analysis (CoA)", "Phase": "Preclinical, Clinical, Post-Approval", "Sub_Phase_Discipline": "QA / QC",
|
| 319 |
+
"Purpose_Key_Content": "Document certifying that a specific batch of API, DP, or critical material meets its pre-defined specifications.",
|
| 320 |
+
"Key_Metadata": "Product/Material Name, Batch/Lot Number, Date of Manufacture, Expiry/Retest Date, Specification Ref, Test Results, QC/QA Approval Signature",
|
| 321 |
+
"Input_Documents_Data_Sources": "Executed Batch Record (for DP/API), QC Testing Results (LIMS)",
|
| 322 |
+
"Output_Informs_Documents": "Batch Release, Clinical Supply Shipment, Use in Further Manufacturing/Studies",
|
| 323 |
+
"Authoring_Department(s)": "QC Analyst/Manager", "Review_Approval_Dept(s)": "QA Manager/Director",
|
| 324 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GMP/GLP/GCP Critical, Required for Release/Use"
|
| 325 |
+
},
|
| 326 |
+
{
|
| 327 |
+
"Doc_ID_Type": "PRE-REP-TECHTRAN", "Document_Name": "Technology Transfer Report", "Phase": "Preclinical, Clinical, Post-Approval", "Sub_Phase_Discipline": "CMC (Manufacturing Science / Tech Transfer)",
|
| 328 |
+
"Purpose_Key_Content": "Documents the transfer of manufacturing process knowledge and analytical methods from a sending unit (e.g., R&D) to a receiving unit (e.g., GMP plant, CMO).",
|
| 329 |
+
"Key_Metadata": "Product Name, Process/Method Transferred, Sending/Receiving Sites, Key Transfer Activities, Success Criteria, Gap Analysis",
|
| 330 |
+
"Input_Documents_Data_Sources": "Process Development Reports, Analytical Method Validation Reports, MBR Drafts, Specifications",
|
| 331 |
+
"Output_Informs_Documents": "GMP Manufacturing at Receiving Site, Process Validation Activities",
|
| 332 |
+
"Authoring_Department(s)": "Tech Transfer Lead, Sending/Receiving Unit SMEs (Mfg, QC, Eng)", "Review_Approval_Dept(s)": "QA, Site Heads",
|
| 333 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP, Critical for successful manufacturing scale-up/transfer"
|
| 334 |
+
},
|
| 335 |
+
{
|
| 336 |
+
"Doc_ID_Type": "IB", "Document_Name": "Investigator's Brochure", "Phase": "Preclinical, Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Development / Regulatory Affairs",
|
| 337 |
+
"Purpose_Key_Content": "Compilation of non-clinical and clinical data relevant to the study of the investigational product in humans. Provided to investigators. Updated periodically.",
|
| 338 |
+
"Key_Metadata": "Product Name, Version Number, Effective Date, Edition Number",
|
| 339 |
+
"Input_Documents_Data_Sources": "All relevant Preclinical Reports (Tox, Pharm, ADME, CMC), Prior Clinical Study Reports (if any), Safety Updates (e.g., SUSARs, DSURs), Literature",
|
| 340 |
+
"Output_Informs_Documents": "Clinical Study Conduct (Investigator Reference), EC/IRB Submissions, Regulatory Submissions (IND/CTA updates), Basis for ICF Risk Section",
|
| 341 |
+
"Authoring_Department(s)": "Medical Writer, Preclinical Lead, Clinical Lead, CMC Lead, Safety Physician", "Review_Approval_Dept(s)": "Regulatory Affairs, QA, Senior Management",
|
| 342 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical (IND/CTA)"
|
| 343 |
+
},
|
| 344 |
+
{
|
| 345 |
+
"Doc_ID_Type": "REG-PLAN-STRAT", "Document_Name": "Regulatory Strategy Plan", "Phase": "Discovery, Preclinical, Clinical", "Sub_Phase_Discipline": "Regulatory Affairs",
|
| 346 |
+
"Purpose_Key_Content": "High-level document outlining the planned regulatory pathway(s) for product development and approval in target regions (e.g., US, EU, Japan). Includes HTA interactions, special designations.",
|
| 347 |
+
"Key_Metadata": "Product Name, Target Indication(s), Target Regions, Key Regulatory Milestones (e.g., Pre-IND, IND, EOP2, Pre-NDA), Planned Designations (Orphan, BTD)",
|
| 348 |
+
"Input_Documents_Data_Sources": "Target Product Profile (TPP), Preclinical Dev Plan, Clinical Dev Plan (CDP), Competitor Intelligence",
|
| 349 |
+
"Output_Informs_Documents": "IND/CTA Planning, Meeting Requests, Agency Interactions, Clinical Protocol Design",
|
| 350 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead", "Review_Approval_Dept(s)": "Senior R&D Management, Commercial Lead",
|
| 351 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal Strategy/Governance"
|
| 352 |
+
},
|
| 353 |
+
{
|
| 354 |
+
"Doc_ID_Type": "REG-MEET-REQ", "Document_Name": "Regulatory Agency Meeting Request (e.g., Type B/C, Scientific Advice)", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "Regulatory Affairs",
|
| 355 |
+
"Purpose_Key_Content": "Formal request submitted to a health authority (e.g., FDA, EMA) to obtain guidance on specific development questions.",
|
| 356 |
+
"Key_Metadata": "Product Name, Meeting Type, Proposed Dates, List of Questions, Attendee List",
|
| 357 |
+
"Input_Documents_Data_Sources": "Regulatory Strategy, Specific Development Questions/Data",
|
| 358 |
+
"Output_Informs_Documents": "Meeting Briefing Book, Agency Meeting Granted/Denied",
|
| 359 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead", "Review_Approval_Dept(s)": "Cross-functional Team (Clin, Nonclin, CMC, Stats)",
|
| 360 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Regulatory Interaction"
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"Doc_ID_Type": "REG-MEET-BRIEF", "Document_Name": "Regulatory Agency Meeting Briefing Book/Package", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "Regulatory Affairs / Cross-functional",
|
| 364 |
+
"Purpose_Key_Content": "Comprehensive package of information provided to the agency in advance of a scheduled meeting. Includes background, data summaries, specific questions.",
|
| 365 |
+
"Key_Metadata": "Product Name, Meeting Date, Application Number (if any), Detailed Background, Data Summaries (Nonclinical, CMC, Clinical), Specific Questions for Agency",
|
| 366 |
+
"Input_Documents_Data_Sources": "Meeting Request, Key Study Reports/Summaries, Proposed Development Plans (e.g., Phase 3 design)",
|
| 367 |
+
"Output_Informs_Documents": "Agency Meeting Conduct, Agency Meeting Minutes",
|
| 368 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, Medical Writer, SMEs (Clin, Nonclin, CMC, Stats)", "Review_Approval_Dept(s)": "Senior R&D Management",
|
| 369 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Regulatory Interaction Critical"
|
| 370 |
+
},
|
| 371 |
+
{
|
| 372 |
+
"Doc_ID_Type": "REG-MEET-MIN", "Document_Name": "Regulatory Agency Meeting Minutes (Sponsor & Agency Versions)", "Phase": "Preclinical, Clinical", "Sub_Phase_Discipline": "Regulatory Affairs",
|
| 373 |
+
"Purpose_Key_Content": "Official record of discussions, agreements, and advice received during a meeting with a health authority.",
|
| 374 |
+
"Key_Metadata": "Product Name, Meeting Date, Application Number (if any), Attendees, Key Discussion Points, Agreements, Action Items",
|
| 375 |
+
"Input_Documents_Data_Sources": "Agency Meeting Conduct, Briefing Book",
|
| 376 |
+
"Output_Informs_Documents": "Updates to Regulatory Strategy, Clinical Protocol Amendments, IND/CTA Amendments, Development Plan Adjustments",
|
| 377 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead (+/- Agency)", "Review_Approval_Dept(s)": "Internal Team Review, Senior Management",
|
| 378 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Regulatory Interaction Record, Future Submission Reference"
|
| 379 |
+
},
|
| 380 |
+
{
|
| 381 |
+
"Doc_ID_Type": "REG-SUB-IND", "Document_Name": "Investigational New Drug (IND) Application (US)", "Phase": "Preclinical (End), Clinical Phase 1", "Sub_Phase_Discipline": "Regulatory Affairs / Cross-functional",
|
| 382 |
+
"Purpose_Key_Content": "Submission to FDA to request authorization to administer an investigational drug to humans. Includes preclinical data, CMC info, clinical protocol. (eCTD Format: Modules 1-5 Preclinical/CMC/Protocol Focus)",
|
| 383 |
+
"Key_Metadata": "Product Name, IND Number (assigned by FDA), Submission Type (Original, Amendment), Sequence Number",
|
| 384 |
+
"Input_Documents_Data_Sources": "IB, Preclinical Reports (Tox, PK, Pharm), CMC Reports (Mfg, Specs, Stability), Phase 1 Protocol, FDA Forms (1571, 1572)",
|
| 385 |
+
"Output_Informs_Documents": "Authorization to start Clinical Trials in US, IND Maintenance (Amendments, Annual Reports)",
|
| 386 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, SMEs (Nonclin, CMC, Clin Ops, Medical)", "Review_Approval_Dept(s)": "Senior Management, QA",
|
| 387 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Submission Critical (FDA)"
|
| 388 |
+
},
|
| 389 |
+
{
|
| 390 |
+
"Doc_ID_Type": "REG-SUB-CTA", "Document_Name": "Clinical Trial Application (CTA) (EU/Other Regions)", "Phase": "Preclinical (End), Clinical Phase 1", "Sub_Phase_Discipline": "Regulatory Affairs / Cross-functional",
|
| 391 |
+
"Purpose_Key_Content": "Submission to National Competent Authorities (NCAs) and Ethics Committees (ECs) in Europe (via CTIS) or other regions to request authorization for a clinical trial. Content varies but similar basis to IND.",
|
| 392 |
+
"Key_Metadata": "Product Name, EudraCT/CTIS Number, Submission Type, Countries",
|
| 393 |
+
"Input_Documents_Data_Sources": "IB, Preclinical Data Summary, CMC Data Summary (IMPD), Clinical Protocol, ICF, Local Forms",
|
| 394 |
+
"Output_Informs_Documents": "Authorization to start Clinical Trials in specific countries, CTA Maintenance (Amendments)",
|
| 395 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, SMEs (Nonclin, CMC, Clin Ops, Medical), Local Affiliates", "Review_Approval_Dept(s)": "Senior Management, QA",
|
| 396 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Submission Critical (NCA/EC)"
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"Doc_ID_Type": "REG-SUB-IMPD", "Document_Name": "Investigational Medicinal Product Dossier (IMPD)", "Phase": "Preclinical (End), Clinical", "Sub_Phase_Discipline": "CMC / Regulatory Affairs",
|
| 400 |
+
"Purpose_Key_Content": "Document providing detailed CMC information for the investigational product, required for CTAs in Europe and other regions. Can be full or simplified.",
|
| 401 |
+
"Key_Metadata": "Product Name, Version, Sections (Quality/CMC data)",
|
| 402 |
+
"Input_Documents_Data_Sources": "CMC Development Reports, Specifications, Stability Reports, Batch Records Info",
|
| 403 |
+
"Output_Informs_Documents": "CTA Submission (Part of), Updates via Amendments",
|
| 404 |
+
"Authoring_Department(s)": "CMC SMEs, Regulatory CMC Writer", "Review_Approval_Dept(s)": "QA, Regulatory Affairs",
|
| 405 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Submission Critical (CTA)"
|
| 406 |
+
},
|
| 407 |
+
{
|
| 408 |
+
"Doc_ID_Type": "CLI-PLAN-CDP", "Document_Name": "Clinical Development Plan (CDP)", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Development / Medical Affairs",
|
| 409 |
+
"Purpose_Key_Content": "Overall strategy document outlining the sequence of clinical trials (Phase 1-3) and related activities needed to demonstrate safety and efficacy for regulatory approval in target indication(s).",
|
| 410 |
+
"Key_Metadata": "Product Name, Target Indication(s), Target Product Profile (TPP), Planned Studies (Phase 1, 2, 3), Timelines, High-level Budget/Resources",
|
| 411 |
+
"Input_Documents_Data_Sources": "Target Product Profile, Preclinical Data Summary, Regulatory Strategy",
|
| 412 |
+
"Output_Informs_Documents": "Clinical Study Protocol Development, Resource Planning, Budgeting",
|
| 413 |
+
"Authoring_Department(s)": "Clinical Lead, Medical Director, Statistician, Regulatory Affairs, Clin Ops Lead", "Review_Approval_Dept(s)": "Senior R&D Management, Commercial Lead",
|
| 414 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal Strategy/Governance"
|
| 415 |
+
},
|
| 416 |
+
{
|
| 417 |
+
"Doc_ID_Type": "CLI-PLAN-TPP", "Document_Name": "Target Product Profile (TPP)", "Phase": "Discovery (late), Preclinical, Clinical", "Sub_Phase_Discipline": "Clinical Development / Commercial / Medical Affairs",
|
| 418 |
+
"Purpose_Key_Content": "Document outlining the desired characteristics of the drug product upon approval. Includes target indication, efficacy, safety, dosing, formulation attributes. Guides development decisions.",
|
| 419 |
+
"Key_Metadata": "Product Concept Name, Target Indication, Key Efficacy/Safety Attributes (Minimal vs Ideal), Dosing/Administration, Competitive Context",
|
| 420 |
+
"Input_Documents_Data_Sources": "Market Research, Medical Need Assessment, Early Scientific Data, Regulatory Landscape",
|
| 421 |
+
"Output_Informs_Documents": "Clinical Development Plan, Clinical Protocol Design (Endpoints), CMC Formulation Goals",
|
| 422 |
+
"Authoring_Department(s)": "Commercial Lead, Medical Affairs Lead, Clinical Lead, Regulatory Lead", "Review_Approval_Dept(s)": "Senior Management",
|
| 423 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal Strategy/Governance"
|
| 424 |
+
},
|
| 425 |
+
{
|
| 426 |
+
"Doc_ID_Type": "CLI-PROT-P1", "Document_Name": "Clinical Study Protocol (Phase 1)", "Phase": "Clinical Phase 1", "Sub_Phase_Discipline": "Clinical Operations / Medical",
|
| 427 |
+
"Purpose_Key_Content": "Details the plan for a Phase 1 trial (e.g., SAD/MAD, PK, Food Effect, BA/BE). Objectives, design, patient population/healthy volunteers, procedures, endpoints, basic stats.",
|
| 428 |
+
"Key_Metadata": "Protocol ID, Version, Study Title, Phase, Indication (if specific), Planned Enrollment, Schema",
|
| 429 |
+
"Input_Documents_Data_Sources": "IB, Preclinical Data Summary, Statistical Input, Regulatory Feedback/IND/CTA",
|
| 430 |
+
"Output_Informs_Documents": "IRB/EC Submission, CTA/IND Submission, ICF Development, CRF Design, SAP Outline, Clinical Study Conduct",
|
| 431 |
+
"Authoring_Department(s)": "Medical Monitor/Clinical Scientist, Statistician, Clin Ops Lead", "Review_Approval_Dept(s)": "Legal, Regulatory Affairs, Safety, Senior Management",
|
| 432 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical"
|
| 433 |
+
},
|
| 434 |
+
{
|
| 435 |
+
"Doc_ID_Type": "CLI-PROT-P2", "Document_Name": "Clinical Study Protocol (Phase 2)", "Phase": "Clinical Phase 2", "Sub_Phase_Discipline": "Clinical Operations / Medical",
|
| 436 |
+
"Purpose_Key_Content": "Details the plan for a Phase 2 trial (e.g., Dose-finding, Proof-of-Concept). Objectives (often efficacy focus), design (e.g., randomized, controlled), patient population, endpoints (primary/secondary), procedures, detailed stats section.",
|
| 437 |
+
"Key_Metadata": "Protocol ID, Version, Study Title, Phase, Indication, Planned Enrollment, Randomization Scheme, Blinding",
|
| 438 |
+
"Input_Documents_Data_Sources": "IB, Phase 1 Data Report(s), Preclinical Efficacy Rationale, TPP, Statistical Input, Regulatory Feedback (e.g., EOP1)",
|
| 439 |
+
"Output_Informs_Documents": "IRB/EC Submission, CTA/IND Submission/Amendment, ICF Development, CRF Design, SAP, Clinical Study Conduct",
|
| 440 |
+
"Authoring_Department(s)": "Medical Monitor/Clinical Scientist, Statistician, Clin Ops Lead", "Review_Approval_Dept(s)": "Legal, Regulatory Affairs, Safety, Senior Management",
|
| 441 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical"
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"Doc_ID_Type": "CLI-PROT-P3", "Document_Name": "Clinical Study Protocol (Phase 3)", "Phase": "Clinical Phase 3", "Sub_Phase_Discipline": "Clinical Operations / Medical",
|
| 445 |
+
"Purpose_Key_Content": "Details the plan for a Phase 3 pivotal trial (Confirmatory efficacy & safety). Large scale, often randomized, controlled, multi-center. Objectives, rigorous design, specific patient population, primary/key secondary endpoints, detailed statistical analysis plan summary.",
|
| 446 |
+
"Key_Metadata": "Protocol ID, Version, Study Title, Phase, Indication, Planned Enrollment, Statistical Power Calculation, Blinding, DMC Charter Ref",
|
| 447 |
+
"Input_Documents_Data_Sources": "IB, Phase 2 Data Report(s), TPP, Statistical Input, Regulatory Feedback (e.g., EOP2 Agreement, SPA)",
|
| 448 |
+
"Output_Informs_Documents": "IRB/EC Submission, CTA/IND Submission/Amendment, ICF Development, CRF Design, SAP, Clinical Study Conduct",
|
| 449 |
+
"Authoring_Department(s)": "Medical Monitor/Clinical Scientist, Statistician, Clin Ops Lead", "Review_Approval_Dept(s)": "Legal, Regulatory Affairs, Safety, Senior Management",
|
| 450 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical (NDA/BLA/MAA Basis)"
|
| 451 |
+
},
|
| 452 |
+
{
|
| 453 |
+
"Doc_ID_Type": "ICF", "Document_Name": "Informed Consent Form", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Operations / Legal / Ethics",
|
| 454 |
+
"Purpose_Key_Content": "Document for potential trial participants outlining study purpose, procedures, risks, benefits, confidentiality, voluntariness, rights. Must be approved by EC/IRB.",
|
| 455 |
+
"Key_Metadata": "Protocol ID, Version, Site/Country Specific variations, Language, EC/IRB Approval Stamp/Date",
|
| 456 |
+
"Input_Documents_Data_Sources": "Clinical Study Protocol, IB (Safety Section), Local Regulatory/EC Templates & Requirements",
|
| 457 |
+
"Output_Informs_Documents": "Participant Enrollment Process, IRB/EC Approval Documentation",
|
| 458 |
+
"Authoring_Department(s)": "Clinical Operations, Medical Writer, Legal", "Review_Approval_Dept(s)": "IRB/EC, Sponsor Ethics Review (if applicable)",
|
| 459 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP, Regulatory/Ethics Approval Critical"
|
| 460 |
+
},
|
| 461 |
+
{
|
| 462 |
+
"Doc_ID_Type": "CRF", "Document_Name": "Case Report Form (Paper or eCRF Specification)", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Data Management / Clinical Operations",
|
| 463 |
+
"Purpose_Key_Content": "Tool used to collect data from each participant in a clinical trial as required by the protocol. Paper form or specifications for electronic version (eCRF).",
|
| 464 |
+
"Key_Metadata": "Protocol ID, CRF Version, Module/Visit Structure, Variable Definitions, Data Entry Fields, Edit Checks (for eCRF)",
|
| 465 |
+
"Input_Documents_Data_Sources": "Clinical Study Protocol, Schedule of Assessments",
|
| 466 |
+
"Output_Informs_Documents": "Data Collection at Sites, Database Build (for eCRF), Data Management Plan (DMP), Statistical Analysis (Data Source)",
|
| 467 |
+
"Authoring_Department(s)": "Data Manager, Clinical Scientist (content input), CRF Designer/Programmer (eCRF)", "Review_Approval_Dept(s)": "Clinical Lead, Statistician, Clin Ops",
|
| 468 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "GCP, Data Integrity Critical"
|
| 469 |
+
},
|
| 470 |
+
{
|
| 471 |
+
"Doc_ID_Type": "CLI-PLAN-DMP", "Document_Name": "Data Management Plan (DMP)", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Data Management",
|
| 472 |
+
"Purpose_Key_Content": "Describes all data management activities for a clinical trial: database design, data collection methods, edit checks, query process, data coding (MedDRA, WHODrug), SAE reconciliation, database lock procedures.",
|
| 473 |
+
"Key_Metadata": "Protocol ID, DMP Version, Database Platform, Coding Dictionaries/Versions, Data Review Plan, Lock Procedures",
|
| 474 |
+
"Input_Documents_Data_Sources": "Clinical Study Protocol, CRF Specifications, SAP (variable list)",
|
| 475 |
+
"Output_Informs_Documents": "Database Build/UAT, Data Cleaning Activities, Database Lock Readiness",
|
| 476 |
+
"Authoring_Department(s)": "Lead Data Manager", "Review_Approval_Dept(s)": "Clinical Lead, Statistician, Clin Ops, Safety/PV",
|
| 477 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Data Integrity Critical"
|
| 478 |
+
},
|
| 479 |
+
{
|
| 480 |
+
"Doc_ID_Type": "CLI-PLAN-SAP", "Document_Name": "Statistical Analysis Plan (SAP)", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Biostatistics",
|
| 481 |
+
"Purpose_Key_Content": "Detailed plan outlining how the clinical trial data will be analyzed. Defines analysis populations (ITT, PP), endpoints derivation, statistical methods, sensitivity analyses, handling of missing data, table/listing/figure (TLF) shells.",
|
| 482 |
+
"Key_Metadata": "Protocol ID, SAP Version, Analysis Timepoints (e.g., Interim, Final), Statistical Software",
|
| 483 |
+
"Input_Documents_Data_Sources": "Clinical Study Protocol, CRF (variable definitions), DMP (data structure)",
|
| 484 |
+
"Output_Informs_Documents": "Statistical Programming (SAS/R code), TLF Generation, Clinical Study Report (CSR), Data Monitoring Committee (DMC) Analysis",
|
| 485 |
+
"Authoring_Department(s)": "Biostatistician", "Review_Approval_Dept(s)": "Clinical Lead, Medical Monitor, Data Management, Regulatory Affairs (if complex)",
|
| 486 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical (CSR Basis), DMC Charter Input"
|
| 487 |
+
},
|
| 488 |
+
{
|
| 489 |
+
"Doc_ID_Type": "CLI-PLAN-SMP", "Document_Name": "Safety Management Plan / Safety Monitoring Plan", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Pharmacovigilance / Safety / Clinical",
|
| 490 |
+
"Purpose_Key_Content": "Describes how safety data (AEs, SAEs, AESIs) will be collected, managed, reviewed, reported (e.g., SUSARs), and reconciled during a clinical trial.",
|
| 491 |
+
"Key_Metadata": "Protocol ID, SMP Version, Definitions (AE, SAE), Reporting Timelines, Reconciliation Process, AESI List",
|
| 492 |
+
"Input_Documents_Data_Sources": "Clinical Study Protocol, IB, Company SOPs for PV",
|
| 493 |
+
"Output_Informs_Documents": "Safety Data Collection & Processing, SUSAR Reporting, DSUR/Annual Report Input, CSR Safety Section",
|
| 494 |
+
"Authoring_Department(s)": "Safety Physician/Scientist, Clinical Lead", "Review_Approval_Dept(s)": "Regulatory Affairs, QA",
|
| 495 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP/GVP, Regulatory Compliance Critical"
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"Doc_ID_Type": "CLI-PLAN-MON", "Document_Name": "Clinical Monitoring Plan", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Operations",
|
| 499 |
+
"Purpose_Key_Content": "Outlines the strategy, methods, frequency, and intensity of monitoring activities to oversee trial conduct at clinical sites, ensuring GCP compliance and data quality (e.g., SDV, central monitoring).",
|
| 500 |
+
"Key_Metadata": "Protocol ID, Monitoring Plan Version, Monitoring Types (On-site, Remote, Central), SDV % Strategy, Key Risk Indicators (KRIs)",
|
| 501 |
+
"Input_Documents_Data_Sources": "Clinical Study Protocol, Risk Assessment (RBM), Company Monitoring SOPs",
|
| 502 |
+
"Output_Informs_Documents": "Site Monitoring Visits, Monitoring Visit Reports, Issue Escalation",
|
| 503 |
+
"Authoring_Department(s)": "Clinical Research Associate (CRA) Lead / Clinical Trial Manager (CTM)", "Review_Approval_Dept(s)": "Clin Ops Management, QA (GCP Compliance)",
|
| 504 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "GCP, Trial Oversight Critical"
|
| 505 |
+
},
|
| 506 |
+
{
|
| 507 |
+
"Doc_ID_Type": "CLI-REP-MONVISIT", "Document_Name": "Monitoring Visit Report", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Operations",
|
| 508 |
+
"Purpose_Key_Content": "Report completed by a CRA after a monitoring visit (selection, initiation, interim, close-out) detailing findings, issues, action items, and site compliance.",
|
| 509 |
+
"Key_Metadata": "Protocol ID, Site ID, Visit Date, Visit Type, Summary of Findings, Action Items/Follow-up",
|
| 510 |
+
"Input_Documents_Data_Sources": "Monitoring Plan, Site Data/Documents Reviewed, Previous Reports",
|
| 511 |
+
"Output_Informs_Documents": "Site Management, Issue Resolution/Tracking, TMF Filing, Sponsor Oversight Documentation",
|
| 512 |
+
"Authoring_Department(s)": "Clinical Research Associate (CRA)", "Review_Approval_Dept(s)": "CRA Lead / CTM Review/Approval",
|
| 513 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP, Trial Oversight Documentation"
|
| 514 |
+
},
|
| 515 |
+
{
|
| 516 |
+
"Doc_ID_Type": "CLI-REP-SITEFEAS", "Document_Name": "Site Feasibility / Selection Report", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Operations",
|
| 517 |
+
"Purpose_Key_Content": "Report summarizing the assessment and selection of clinical trial sites, based on feasibility questionnaires, site capabilities, investigator experience, patient population access.",
|
| 518 |
+
"Key_Metadata": "Protocol ID, Site ID, Investigator Name, Key Feasibility Metrics, Selection Rationale",
|
| 519 |
+
"Input_Documents_Data_Sources": "Protocol Synopsis, Site Feasibility Questionnaire Results, Site Qualification Visit Reports",
|
| 520 |
+
"Output_Informs_Documents": "Site Initiation, Contract/Budget Negotiation",
|
| 521 |
+
"Authoring_Department(s)": "Clinical Trial Manager (CTM), CRA", "Review_Approval_Dept(s)": "Clin Ops Management",
|
| 522 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP, Trial Execution Planning"
|
| 523 |
+
},
|
| 524 |
+
{
|
| 525 |
+
"Doc_ID_Type": "CLI-CHARTER-DMC", "Document_Name": "Data Monitoring Committee (DMC/DSMB) Charter", "Phase": "Clinical (Phase 2/3, sometimes P1)", "Sub_Phase_Discipline": "Biostatistics / Clinical / Safety",
|
| 526 |
+
"Purpose_Key_Content": "Defines the roles, responsibilities, composition, procedures, data access, and meeting schedule for the independent committee reviewing accumulating trial data for safety and/or efficacy.",
|
| 527 |
+
"Key_Metadata": "Protocol ID, DMC Charter Version, Committee Member List, Meeting Frequency, Stopping Rules/Guidelines",
|
| 528 |
+
"Input_Documents_Data_Sources": "Clinical Study Protocol, SAP (for analysis plan), Safety Monitoring Plan",
|
| 529 |
+
"Output_Informs_Documents": "DMC Meetings, DMC Recommendations, Interim Analysis Conduct",
|
| 530 |
+
"Authoring_Department(s)": "Biostatistician, Clinical Lead, Safety Lead", "Review_Approval_Dept(s)": "Sponsor Senior Management, Legal (Indemnification)",
|
| 531 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Independent Oversight Critical"
|
| 532 |
+
},
|
| 533 |
+
{
|
| 534 |
+
"Doc_ID_Type": "CLI-REP-DMC", "Document_Name": "Data Monitoring Committee (DMC/DSMB) Meeting Minutes/Recommendations", "Phase": "Clinical (Phase 2/3, sometimes P1)", "Sub_Phase_Discipline": "Biostatistics / Clinical / Safety",
|
| 535 |
+
"Purpose_Key_Content": "Record of DMC meetings, including data reviewed (often blinded), deliberations, and formal recommendations to the sponsor (e.g., continue, modify, stop trial).",
|
| 536 |
+
"Key_Metadata": "Protocol ID, DMC Meeting Date, Data Cutoff Date, Summary of Data Reviewed, DMC Recommendation",
|
| 537 |
+
"Input_Documents_Data_Sources": "DMC Charter, Interim Analysis Reports (Statistician Output)",
|
| 538 |
+
"Output_Informs_Documents": "Sponsor Decision on Trial Continuation/Modification, Regulatory Reporting (if applicable), CSR Section",
|
| 539 |
+
"Authoring_Department(s)": "DMC Chair (Minutes Draft), Sponsor Statistician/Clin Lead (Facilitation)", "Review_Approval_Dept(s)": "Sponsor Senior Management (Action on Recommendations)",
|
| 540 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Trial Integrity & Participant Safety Critical"
|
| 541 |
+
},
|
| 542 |
+
{
|
| 543 |
+
"Doc_ID_Type": "CLI-REP-INTERIM", "Document_Name": "Interim Analysis Report", "Phase": "Clinical (Phase 2/3 often)", "Sub_Phase_Discipline": "Biostatistics",
|
| 544 |
+
"Purpose_Key_Content": "Report presenting the results of a pre-planned statistical analysis performed on accumulating trial data before formal trial completion. Used for DMC review or internal decisions.",
|
| 545 |
+
"Key_Metadata": "Protocol ID, Analysis Timepoint, Data Cutoff Date, Statistical Methods Used, Key Efficacy/Safety Results",
|
| 546 |
+
"Input_Documents_Data_Sources": "SAP (Interim Section), Cleaned Interim Dataset",
|
| 547 |
+
"Output_Informs_Documents": "DMC Review, Potential Early Stopping Decision, Adaptive Design Modifications",
|
| 548 |
+
"Authoring_Department(s)": "Biostatistician", "Review_Approval_Dept(s)": "Internal Review Team (Stat Lead, Clin Lead)",
|
| 549 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Pre-specified in SAP, Potential Impact on Trial"
|
| 550 |
+
},
|
| 551 |
+
{
|
| 552 |
+
"Doc_ID_Type": "CLI-REP-CSR", "Document_Name": "Clinical Study Report (CSR)", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Development / Medical Writing",
|
| 553 |
+
"Purpose_Key_Content": "ICH E3 compliant comprehensive report detailing the conduct, results (efficacy & safety), and interpretation of a completed clinical trial. Includes appendices with protocol, SAP, sample CRF, etc.",
|
| 554 |
+
"Key_Metadata": "Protocol ID, Study Title, ICH E3 Structure Compliance Statement, Phase, Synopsis",
|
| 555 |
+
"Input_Documents_Data_Sources": "CSP, SAP, Final Clinical Database (Locked), Tables/Listings/Figures (TLFs), IB, Safety Reports, DMC Reports, Literature",
|
| 556 |
+
"Output_Informs_Documents": "Regulatory Submissions (CTD Module 5), Publications/Presentations, Future Clinical Development Plans, IB Updates, Safety Labeling Updates",
|
| 557 |
+
"Authoring_Department(s)": "Medical Writer, Clinical Lead, Biostatistician, Safety Physician, Clin Ops Lead, Data Manager", "Review_Approval_Dept(s)": "QA (GCP Compliance), Regulatory Affairs, Senior Management",
|
| 558 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical (NDA/BLA/MAA)"
|
| 559 |
+
},
|
| 560 |
+
{
|
| 561 |
+
"Doc_ID_Type": "eTMF-INDEX", "Document_Name": "Electronic Trial Master File (eTMF) Index/Structure", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Operations / TMF Management",
|
| 562 |
+
"Purpose_Key_Content": "Defines the standardized structure, naming conventions, and metadata requirements for organizing and filing essential trial documents in the eTMF system (often based on DIA TMF Reference Model).",
|
| 563 |
+
"Key_Metadata": "TMF Structure Version, Section/Artifact List, Naming Conventions, Required Metadata Fields",
|
| 564 |
+
"Input_Documents_Data_Sources": "DIA TMF Reference Model, Company SOPs",
|
| 565 |
+
"Output_Informs_Documents": "TMF Filing/QC Activities, Inspection Readiness",
|
| 566 |
+
"Authoring_Department(s)": "TMF Manager/Specialist, Clin Ops Lead", "Review_Approval_Dept(s)": "QA (GCP Compliance)",
|
| 567 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP, Inspection Readiness Critical"
|
| 568 |
+
},
|
| 569 |
+
{
|
| 570 |
+
"Doc_ID_Type": "REG-SUB-NDA", "Document_Name": "New Drug Application (NDA) / Biologics License Application (BLA) (US)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Regulatory Affairs / Cross-functional",
|
| 571 |
+
"Purpose_Key_Content": "Comprehensive submission to FDA requesting approval to market a new drug or biologic. Includes all nonclinical, CMC, clinical data, labeling. (eCTD Format: Modules 1-5)",
|
| 572 |
+
"Key_Metadata": "Product Name, NDA/BLA Number (assigned), Submission Type (e.g., 505(b)(1)), Sequence Number",
|
| 573 |
+
"Input_Documents_Data_Sources": "All CSRs, Nonclinical Reports, CMC Data Package (M3), Proposed Labeling, Integrated Summaries (ISS/ISE - M5, M2), FDA Forms",
|
| 574 |
+
"Output_Informs_Documents": "FDA Review Cycle (PDUFA clock), Facility Inspections, Labeling Negotiations, Approval/Rejection",
|
| 575 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, SMEs (All disciplines), Medical Writers", "Review_Approval_Dept(s)": "Senior Management, Legal, Commercial",
|
| 576 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Submission Critical (FDA Market Approval)"
|
| 577 |
+
},
|
| 578 |
+
{
|
| 579 |
+
"Doc_ID_Type": "REG-SUB-MAA", "Document_Name": "Marketing Authorisation Application (MAA) (EU)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Regulatory Affairs / Cross-functional",
|
| 580 |
+
"Purpose_Key_Content": "Comprehensive submission to EMA (or national agency via MRP/DCP) requesting approval to market a new medicinal product in Europe. Similar scope to NDA/BLA. (eCTD Format: Modules 1-5)",
|
| 581 |
+
"Key_Metadata": "Product Name, Procedure Type (Centralised, MRP, DCP), Application Number (assigned), Sequence Number",
|
| 582 |
+
"Input_Documents_Data_Sources": "All CSRs, Nonclinical Reports, CMC Data Package (M3), Proposed SmPC/PIL/Labeling, Risk Management Plan (RMP), Pediatric Investigation Plan (PIP) Compliance",
|
| 583 |
+
"Output_Informs_Documents": "EMA/CHMP Review Cycle, Rapporteur/Co-Rapporteur Assessment, Clock Stops, Inspections, Approval/Rejection",
|
| 584 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, SMEs (All disciplines), Medical Writers, PV Lead (RMP), Pediatric Coordinator (PIP)", "Review_Approval_Dept(s)": "Senior Management, Legal, Commercial",
|
| 585 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Submission Critical (EMA/EU Market Approval)"
|
| 586 |
+
},
|
| 587 |
+
{
|
| 588 |
+
"Doc_ID_Type": "REG-CTD-M1", "Document_Name": "CTD Module 1 (Administrative Information)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Regulatory Affairs",
|
| 589 |
+
"Purpose_Key_Content": "Region-specific administrative information (forms, cover letters, certifications, labeling - varies by region US/EU/JP etc.).",
|
| 590 |
+
"Key_Metadata": "Product Name, Application Type/Number, Region Specific Forms (e.g., 356h, EU Application Form), Proposed Labeling/SmPC/PIL",
|
| 591 |
+
"Input_Documents_Data_Sources": "Regulatory Strategy, Submission Plan, Final Proposed Labeling",
|
| 592 |
+
"Output_Informs_Documents": "Regulatory Agency Processing, Review Initiation",
|
| 593 |
+
"Authoring_Department(s)": "Regulatory Affairs Operations/Publisher, RA Lead", "Review_Approval_Dept(s)": "RA Management",
|
| 594 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Submission Critical (Administrative)"
|
| 595 |
+
},
|
| 596 |
+
{
|
| 597 |
+
"Doc_ID_Type": "REG-CTD-M2", "Document_Name": "CTD Module 2 (Summaries)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Medical Writing / SMEs / Regulatory Affairs",
|
| 598 |
+
"Purpose_Key_Content": "Summaries of Quality (M2.3), Nonclinical (M2.4 Overview, M2.6 Summaries), and Clinical (M2.5 Overview, M2.7 Summaries) data presented in Modules 3, 4, and 5.",
|
| 599 |
+
"Key_Metadata": "Product Name, Application Type/Number, Specific Summary Doc (e.g., 2.7.3 Summary of Clinical Efficacy)",
|
| 600 |
+
"Input_Documents_Data_Sources": "CSRs, Nonclinical Reports, CMC Reports, Integrated Summaries (ISS/ISE)",
|
| 601 |
+
"Output_Informs_Documents": "Key Review Document for Agencies, Basis for Assessment Reports",
|
| 602 |
+
"Authoring_Department(s)": "Medical Writers, SMEs (Clin, Nonclin, CMC, PK, Stats), RA Lead", "Review_Approval_Dept(s)": "Senior SMEs, RA Management",
|
| 603 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Submission Critical (Core Agency Review Content)"
|
| 604 |
+
},
|
| 605 |
+
{
|
| 606 |
+
"Doc_ID_Type": "REG-CTD-M3", "Document_Name": "CTD Module 3 (Quality / CMC)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "CMC / Regulatory Affairs",
|
| 607 |
+
"Purpose_Key_Content": "Contains all detailed CMC information for Drug Substance and Drug Product (Manufacturing, Characterization, Controls, Stability, Container Closure, etc.).",
|
| 608 |
+
"Key_Metadata": "Product Name, Application Type/Number, Section Reference (e.g., 3.2.P.2 Pharmaceutical Development)",
|
| 609 |
+
"Input_Documents_Data_Sources": "CMC Development Reports, Validation Reports, Batch Records, Stability Reports, Specifications, CoAs",
|
| 610 |
+
"Output_Informs_Documents": "Regulatory Agency Quality Review, Basis for Approval of Mfg/Controls, Inspections",
|
| 611 |
+
"Authoring_Department(s)": "CMC SMEs (Chem, Analyt, Form, Mfg, QA), Regulatory CMC Writer", "Review_Approval_Dept(s)": "QA, CMC Leadership, RA Lead",
|
| 612 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GMP, Submission Critical (Quality Approval Basis)"
|
| 613 |
+
},
|
| 614 |
+
{
|
| 615 |
+
"Doc_ID_Type": "REG-CTD-M4", "Document_Name": "CTD Module 4 (Nonclinical Study Reports)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Nonclinical / Regulatory Affairs",
|
| 616 |
+
"Purpose_Key_Content": "Contains all nonclinical study reports (Pharmacology, PK, Toxicology).",
|
| 617 |
+
"Key_Metadata": "Product Name, Application Type/Number, Study Report Identifier",
|
| 618 |
+
"Input_Documents_Data_Sources": "Final GLP/Non-GLP Nonclinical Study Reports",
|
| 619 |
+
"Output_Informs_Documents": "Regulatory Agency Nonclinical Review",
|
| 620 |
+
"Authoring_Department(s)": "Nonclinical SMEs (Tox, PK, Pharm), Medical Writer (if formatting), RA Publisher", "Review_Approval_Dept(s)": "Nonclinical Leadership, RA Lead",
|
| 621 |
+
"Complexity_Authoring": "Medium (compilation), High (content)", "Regulatory_Significance": "GLP (where applicable), Submission Critical (Safety Basis)"
|
| 622 |
+
},
|
| 623 |
+
{
|
| 624 |
+
"Doc_ID_Type": "REG-CTD-M5", "Document_Name": "CTD Module 5 (Clinical Study Reports)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Clinical / Biostatistics / Medical Writing / Regulatory Affairs",
|
| 625 |
+
"Purpose_Key_Content": "Contains all clinical study reports (PK, PD, Efficacy/Safety Phases 1-3), ISS/ISE, literature references.",
|
| 626 |
+
"Key_Metadata": "Product Name, Application Type/Number, CSR Identifier, ISS/ISE Documents",
|
| 627 |
+
"Input_Documents_Data_Sources": "Final CSRs, Statistical Analysis Outputs for ISS/ISE, Literature Reprints",
|
| 628 |
+
"Output_Informs_Documents": "Regulatory Agency Clinical/Statistical Review, Basis for Efficacy/Safety Approval",
|
| 629 |
+
"Authoring_Department(s)": "Medical Writers, Statisticians (ISS/ISE), Clinical Leads, RA Publisher", "Review_Approval_Dept(s)": "Clinical/Stats Leadership, RA Lead",
|
| 630 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical (Efficacy/Safety Approval Basis)"
|
| 631 |
+
},
|
| 632 |
+
{
|
| 633 |
+
"Doc_ID_Type": "REG-ISS", "Document_Name": "Integrated Summary of Safety (ISS)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Clinical Safety / Biostatistics / Medical Writing",
|
| 634 |
+
"Purpose_Key_Content": "Integrates safety data across multiple clinical trials to provide an overall assessment of the product's safety profile. (Part of CTD M5 & summarized in M2)",
|
| 635 |
+
"Key_Metadata": "Product Name, Application Number, Data Cutoff Date, Pooling Strategy",
|
| 636 |
+
"Input_Documents_Data_Sources": "Multiple CSRs, Final Clinical Databases, Safety Management Plan",
|
| 637 |
+
"Output_Informs_Documents": "Regulatory Agency Safety Review, Product Labeling (Safety Sections)",
|
| 638 |
+
"Authoring_Department(s)": "Safety Physician, Statistician, Medical Writer", "Review_Approval_Dept(s)": "Clinical Lead, PV Head, RA Lead",
|
| 639 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical (Labeling/Approval)"
|
| 640 |
+
},
|
| 641 |
+
{
|
| 642 |
+
"Doc_ID_Type": "REG-ISE", "Document_Name": "Integrated Summary of Efficacy (ISE)", "Phase": "Regulatory Submission", "Sub_Phase_Discipline": "Clinical Development / Biostatistics / Medical Writing",
|
| 643 |
+
"Purpose_Key_Content": "Integrates efficacy data across multiple clinical trials (usually pivotal Phase 3) to provide robust evidence of effectiveness. (Part of CTD M5 & summarized in M2)",
|
| 644 |
+
"Key_Metadata": "Product Name, Application Number, Data Cutoff Date, Pooling Strategy, Key Endpoints Analysis",
|
| 645 |
+
"Input_Documents_Data_Sources": "Multiple CSRs (esp. Pivotal Trials), Final Clinical Databases, SAPs",
|
| 646 |
+
"Output_Informs_Documents": "Regulatory Agency Efficacy Review, Product Labeling (Efficacy Sections, Indication)",
|
| 647 |
+
"Authoring_Department(s)": "Clinical Lead, Statistician, Medical Writer", "Review_Approval_Dept(s)": "Stats Head, RA Lead",
|
| 648 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP, Submission Critical (Labeling/Approval)"
|
| 649 |
+
},
|
| 650 |
+
{
|
| 651 |
+
"Doc_ID_Type": "REG-LABEL-US", "Document_Name": "Prescribing Information (PI) / US Package Insert", "Phase": "Regulatory Submission, Post-Approval", "Sub_Phase_Discipline": "Regulatory Affairs / Medical / Clinical / Safety / Commercial",
|
| 652 |
+
"Purpose_Key_Content": "FDA-approved labeling document providing information for safe and effective use of the drug. Includes Indications, Dosage, Contraindications, Warnings, AEs, Clinical Studies sections.",
|
| 653 |
+
"Key_Metadata": "Product Name, NDA/BLA Number, Version/Date, Sections (per PLR format)",
|
| 654 |
+
"Input_Documents_Data_Sources": "ISS, ISE, Key CSRs, Final Approved Data",
|
| 655 |
+
"Output_Informs_Documents": "Marketed Product Use, FDA Website, Promotional Material Review",
|
| 656 |
+
"Authoring_Department(s)": "Regulatory Labeling Lead, Medical Writer, SMEs (Clin, Safety, PK), Commercial Input", "Review_Approval_Dept(s)": "Negotiation with FDA, Internal Review Committee",
|
| 657 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "FDA Approved, Legally Binding Document"
|
| 658 |
+
},
|
| 659 |
+
{
|
| 660 |
+
"Doc_ID_Type": "REG-LABEL-EU", "Document_Name": "Summary of Product Characteristics (SmPC) / Package Leaflet (PIL) / Outer Labeling (EU)", "Phase": "Regulatory Submission, Post-Approval", "Sub_Phase_Discipline": "Regulatory Affairs / Medical / Clinical / Safety / Commercial",
|
| 661 |
+
"Purpose_Key_Content": "EMA/NCA-approved documents. SmPC is for HCPs, PIL is for patients. Provides key info on use, risks, benefits. Structure defined by QRD templates.",
|
| 662 |
+
"Key_Metadata": "Product Name, MA Number, Version/Date, Sections (per QRD template)",
|
| 663 |
+
"Input_Documents_Data_Sources": "ISS, ISE, Key CSRs, RMP, Final Approved Data, Usability Testing (PIL)",
|
| 664 |
+
"Output_Informs_Documents": "Marketed Product Use, EMA/NCA Website, Promotional Material Review",
|
| 665 |
+
"Authoring_Department(s)": "Regulatory Labeling Lead, Medical Writer, SMEs (Clin, Safety, PK), PV (RMP link), Commercial Input", "Review_Approval_Dept(s)": "Negotiation with EMA/NCA (CHMP Opinions), Internal Review Committee",
|
| 666 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "EMA/NCA Approved, Legally Binding Document"
|
| 667 |
+
},
|
| 668 |
+
{
|
| 669 |
+
"Doc_ID_Type": "REG-RTQ", "Document_Name": "Response to Regulatory Questions (RTQ) / Information Request (IR)", "Phase": "Regulatory Submission Review Phase", "Sub_Phase_Discipline": "Regulatory Affairs + SMEs",
|
| 670 |
+
"Purpose_Key_Content": "Formal response document addressing questions raised by a health authority during review of a submission (e.g., IND, NDA, MAA).",
|
| 671 |
+
"Key_Metadata": "Application Number, Question Reference, Submission Sequence, Date",
|
| 672 |
+
"Input_Documents_Data_Sources": "Regulatory Question Letter/Email, Internal Data/Reports/Re-analysis, SME Input",
|
| 673 |
+
"Output_Informs_Documents": "Regulatory Agency Review of Response, Potential Clock Stop/Restart, Potential for Approval/Rejection/Label Changes",
|
| 674 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, Relevant SMEs (Clin, Nonclin, CMC, Stats, Safety)", "Review_Approval_Dept(s)": "Senior Management, Legal (if needed)",
|
| 675 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Submission Critical (Direct Agency Interaction)"
|
| 676 |
+
},
|
| 677 |
+
{
|
| 678 |
+
"Doc_ID_Type": "REG-AMD", "Document_Name": "Amendment / Variation", "Phase": "Pre/Post-Approval", "Sub_Phase_Discipline": "Regulatory Affairs + SMEs",
|
| 679 |
+
"Purpose_Key_Content": "Submission to update an existing application (e.g., IND Amendment for new protocol; NDA/MAA Variation for CMC change or safety update).",
|
| 680 |
+
"Key_Metadata": "Application Number, Amendment/Variation Type (e.g., Protocol, CMC Change - Type IA/IB/II), Submission Sequence",
|
| 681 |
+
"Input_Documents_Data_Sources": "New Protocol, New CMC Data, New Safety Data (DSUR), Updated IB",
|
| 682 |
+
"Output_Informs_Documents": "Regulatory Agency Review/Approval/Acknowledgement (depending on type), Implementation of Change",
|
| 683 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, Relevant SMEs", "Review_Approval_Dept(s)": "QA (for CMC changes), Safety Committee (for safety changes)",
|
| 684 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "Regulatory Compliance Critical"
|
| 685 |
+
},
|
| 686 |
+
{
|
| 687 |
+
"Doc_ID_Type": "REG-AR", "Document_Name": "IND Annual Report / DSUR (Development Safety Update Report)", "Phase": "Clinical (Annual)", "Sub_Phase_Discipline": "Regulatory Affairs / Safety / Clinical",
|
| 688 |
+
"Purpose_Key_Content": "Periodic report submitted to regulatory agencies summarizing trial progress and cumulative safety information for an investigational product. DSUR is ICH standard.",
|
| 689 |
+
"Key_Metadata": "IND Number / Product Name, Reporting Period, Summary of Clinical Activity, Cumulative Safety Data Analysis",
|
| 690 |
+
"Input_Documents_Data_Sources": "Ongoing CSRs/Interim Data, Global Safety Database, IB",
|
| 691 |
+
"Output_Informs_Documents": "Continued Authorization for IND/CTAs, Agency Safety Review",
|
| 692 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, Safety Physician/Scientist, Clinical Lead, Medical Writer", "Review_Approval_Dept(s)": "PV Head, Senior Management",
|
| 693 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP/GVP, Regulatory Requirement"
|
| 694 |
+
},
|
| 695 |
+
{
|
| 696 |
+
"Doc_ID_Type": "REG-PIP", "Document_Name": "Pediatric Investigation Plan (PIP) (EU) / Pediatric Study Plan (PSP) (US)", "Phase": "Clinical (Early Phase 2/End of Phase 2)", "Sub_Phase_Discipline": "Regulatory Affairs / Clinical / Pediatric Experts",
|
| 697 |
+
"Purpose_Key_Content": "Plan submitted to EMA (PIP) or FDA (PSP) outlining how the drug will be studied in pediatric populations. Agreement required for MAA/NDA submission (unless waived/deferred).",
|
| 698 |
+
"Key_Metadata": "Product Name, Indication, Proposed Pediatric Studies (PK, Safety, Efficacy), Timelines, Waiver/Deferral Request (if applicable)",
|
| 699 |
+
"Input_Documents_Data_Sources": "Adult Clinical Data, Preclinical Data, Pediatric Disease Knowledge, Modeling/Simulation Data",
|
| 700 |
+
"Output_Informs_Documents": "Agreement with EMA (PDCO) / FDA, Pediatric Study Conduct, MAA/NDA Filing Prerequisite",
|
| 701 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, Clinical Lead, Pediatrician/Expert, PK Modeler", "Review_Approval_Dept(s)": "Senior Management",
|
| 702 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Regulatory Requirement (EU/US)"
|
| 703 |
+
},
|
| 704 |
+
{
|
| 705 |
+
"Doc_ID_Type": "REG-ODD", "Document_Name": "Orphan Drug Designation Application", "Phase": "Preclinical / Clinical", "Sub_Phase_Discipline": "Regulatory Affairs",
|
| 706 |
+
"Purpose_Key_Content": "Application submitted to FDA or EMA requesting special status for a drug intended to treat a rare disease/condition, providing development incentives.",
|
| 707 |
+
"Key_Metadata": "Product Name, Rare Disease/Condition, Rationale (Prevalence, Medical Need, Scientific Justification)",
|
| 708 |
+
"Input_Documents_Data_Sources": "Preclinical Data (Proof of Concept), Clinical Data (if available), Epidemiology Data, Literature",
|
| 709 |
+
"Output_Informs_Documents": "ODD Granted/Denied, Development Incentives (Market Exclusivity, Fee Waivers)",
|
| 710 |
+
"Authoring_Department(s)": "Regulatory Affairs Lead, Medical/Clinical Lead", "Review_Approval_Dept(s)": "Senior Management",
|
| 711 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "Regulatory Strategy/Incentive"
|
| 712 |
+
},
|
| 713 |
+
{
|
| 714 |
+
"Doc_ID_Type": "REG-RMP", "Document_Name": "Risk Management Plan (RMP) (EU/Other Regions)", "Phase": "Regulatory Submission, Post-Approval", "Sub_Phase_Discipline": "Pharmacovigilance / Safety / Regulatory Affairs",
|
| 715 |
+
"Purpose_Key_Content": "Document describing the known/potential risks of a drug, plans for characterizing risks further (pharmacovigilance activities), and measures to minimize risks (Risk Minimization Measures - RMM). Required for MAA.",
|
| 716 |
+
"Key_Metadata": "Product Name, Version, Safety Specification (Risks), PV Plan, RMMs",
|
| 717 |
+
"Input_Documents_Data_Sources": "ISS, CSRs, Preclinical Data, Epidemiological Data",
|
| 718 |
+
"Output_Informs_Documents": "EMA/NCA Review/Approval, Post-Marketing PV Activities, Implementation of RMMs, Periodic Updates (with PSUR)",
|
| 719 |
+
"Authoring_Department(s)": "PV Lead/Safety Physician, Regulatory Affairs, Medical Writer, Clinical Lead", "Review_Approval_Dept(s)": "Senior Management, QA",
|
| 720 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GVP, Submission Critical (MAA), Post-Marketing Requirement"
|
| 721 |
+
},
|
| 722 |
+
{
|
| 723 |
+
"Doc_ID_Type": "PMS-PSUR", "Document_Name": "Periodic Safety Update Report (PSUR/PBRER)", "Phase": "Post-Marketing", "Sub_Phase_Discipline": "Pharmacovigilance / Safety",
|
| 724 |
+
"Purpose_Key_Content": "Periodic report summarizing global interval and cumulative safety data for an approved product. Assesses benefit-risk balance. ICH E2C(R2) defines PBRER format.",
|
| 725 |
+
"Key_Metadata": "Product Name, Reporting Period (Interval), Data Lock Point, Reference Safety Info (e.g., Label), Global Sales Data",
|
| 726 |
+
"Input_Documents_Data_Sources": "Global Safety Database, Clinical Study Data (ongoing/completed), Literature, Spontaneous Reports, RMP",
|
| 727 |
+
"Output_Informs_Documents": "Regulatory Agency Review, Signal Detection, Label Updates, RMP Updates, Benefit-Risk Assessment",
|
| 728 |
+
"Authoring_Department(s)": "Pharmacovigilance / Safety Physician, Medical Writer, Epidemiologist (if needed)", "Review_Approval_Dept(s)": "Regulatory Affairs, QA, Qualified Person PV (EU), Senior Management",
|
| 729 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GVP, Regulatory Requirement"
|
| 730 |
+
},
|
| 731 |
+
{
|
| 732 |
+
"Doc_ID_Type": "PMS-PV-SIGNAL", "Document_Name": "Signal Detection/Evaluation Report", "Phase": "Post-Marketing", "Sub_Phase_Discipline": "Pharmacovigilance / Safety",
|
| 733 |
+
"Purpose_Key_Content": "Internal report documenting the process of detecting, validating, prioritizing, and assessing potential new safety signals from various data sources.",
|
| 734 |
+
"Key_Metadata": "Potential Signal Topic, Data Sources Reviewed, Assessment Findings, Recommended Actions (e.g., Further analysis, Label change, Study)",
|
| 735 |
+
"Input_Documents_Data_Sources": "Safety Databases, Literature, Clinical Data, Health Authority Websites",
|
| 736 |
+
"Output_Informs_Documents": "Input to PSURs, RMP Updates, Potential Label Changes, Regulatory Notifications (if urgent)",
|
| 737 |
+
"Authoring_Department(s)": "PV Scientist/Physician, Epidemiologist", "Review_Approval_Dept(s)": "PV Management, Safety Committee",
|
| 738 |
+
"Complexity_Authoring": "Medium-High", "Regulatory_Significance": "GVP, Internal Process/Regulatory Expectation"
|
| 739 |
+
},
|
| 740 |
+
{
|
| 741 |
+
"Doc_ID_Type": "PMS-AUDIT-GXP", "Document_Name": "GCP/GLP/GMP Audit Report", "Phase": "All Phases", "Sub_Phase_Discipline": "Quality Assurance (QA)",
|
| 742 |
+
"Purpose_Key_Content": "Report documenting findings from an audit conducted by QA (or external auditor) to assess compliance of a study, site, vendor, or internal process against GxP regulations and SOPs.",
|
| 743 |
+
"Key_Metadata": "Audit Scope, Audit Date, Auditee, Auditors, Findings (Observations classified by severity), Recommendations, CAPA references",
|
| 744 |
+
"Input_Documents_Data_Sources": "Audit Plan, Applicable Regulations/SOPs, Documents/Processes Reviewed",
|
| 745 |
+
"Output_Informs_Documents": "Corrective and Preventive Action (CAPA) Plan, Compliance Improvement, Vendor Qualification Documentation",
|
| 746 |
+
"Authoring_Department(s)": "Lead Auditor", "Review_Approval_Dept(s)": "QA Management, Auditee Management (for response)",
|
| 747 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP/GLP/GMP Compliance Oversight"
|
| 748 |
+
},
|
| 749 |
+
{
|
| 750 |
+
"Doc_ID_Type": "PMS-CAPA", "Document_Name": "Corrective and Preventive Action (CAPA) Plan/Record", "Phase": "All Phases", "Sub_Phase_Discipline": "QA / Operational Depts",
|
| 751 |
+
"Purpose_Key_Content": "Record documenting actions taken to address deviations or audit findings, including root cause analysis, corrective actions, preventive actions, effectiveness checks.",
|
| 752 |
+
"Key_Metadata": "Deviation/Audit Finding Ref, Root Cause Analysis, CAPA Details, Owner, Due Date, Effectiveness Check Results",
|
| 753 |
+
"Input_Documents_Data_Sources": "Deviation Report, Audit Report",
|
| 754 |
+
"Output_Informs_Documents": "Resolution of Non-compliance, Process Improvement, Closure of Audit Finding",
|
| 755 |
+
"Authoring_Department(s)": "Owner of CAPA (Operational Dept)", "Review_Approval_Dept(s)": "QA Approval/Oversight",
|
| 756 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Quality Management System (QMS) Core Process"
|
| 757 |
+
},
|
| 758 |
+
{
|
| 759 |
+
"Doc_ID_Type": "QMS-SOP", "Document_Name": "Standard Operating Procedure (SOP)", "Phase": "All Phases", "Sub_Phase_Discipline": "QA / Functional Depts",
|
| 760 |
+
"Purpose_Key_Content": "Document providing detailed, written instructions for performing specific routine operations or activities to ensure consistency and compliance.",
|
| 761 |
+
"Key_Metadata": "SOP Title, SOP Number, Version, Effective Date, Author/Owner Dept, Step-by-Step Procedures",
|
| 762 |
+
"Input_Documents_Data_Sources": "Process Knowledge, Regulatory Requirements, Best Practices",
|
| 763 |
+
"Output_Informs_Documents": "Standardized Process Execution, Training Material, Audit Reference",
|
| 764 |
+
"Authoring_Department(s)": "SME from Functional Dept, Technical Writer", "Review_Approval_Dept(s)": "Functional Dept Head, QA Approval",
|
| 765 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP/GLP/GMP & QMS Requirement"
|
| 766 |
+
},
|
| 767 |
+
{
|
| 768 |
+
"Doc_ID_Type": "QMS-TRAINREC", "Document_Name": "Training Record", "Phase": "All Phases", "Sub_Phase_Discipline": "All Personnel / HR / QA",
|
| 769 |
+
"Purpose_Key_Content": "Documentation confirming that personnel have been trained on specific SOPs, regulations, protocols, or job functions.",
|
| 770 |
+
"Key_Metadata": "Employee Name, Training Topic (SOP#, Protocol#), Date Trained, Trainer Signature/Method, Assessment (if applicable)",
|
| 771 |
+
"Input_Documents_Data_Sources": "SOPs, Protocols, Training Materials",
|
| 772 |
+
"Output_Informs_Documents": "Evidence of Qualified Personnel, Inspection Readiness",
|
| 773 |
+
"Authoring_Department(s)": "Employee, Trainer, Supervisor, LMS Admin", "Review_Approval_Dept(s)": "N/A (Record)",
|
| 774 |
+
"Complexity_Authoring": "Low", "Regulatory_Significance": "GCP/GLP/GMP Requirement"
|
| 775 |
+
},
|
| 776 |
+
{
|
| 777 |
+
"Doc_ID_Type": "PM-PLAN", "Document_Name": "Project Management Plan / Integrated Development Plan", "Phase": "All Phases", "Sub_Phase_Discipline": "Project Management",
|
| 778 |
+
"Purpose_Key_Content": "Overarching plan integrating timelines, resources, budget, risks, and milestones across all functional areas for the entire development program.",
|
| 779 |
+
"Key_Metadata": "Product Name, Project Goals, Key Milestones (Gantt Chart), Budget Summary, Resource Allocation, Risk Register, Communication Plan",
|
| 780 |
+
"Input_Documents_Data_Sources": "Functional Plans (Clin Dev, Nonclin, CMC, Reg), TPP",
|
| 781 |
+
"Output_Informs_Documents": "Project Tracking, Budget Management, Resource Allocation, Risk Mitigation, Governance Updates",
|
| 782 |
+
"Authoring_Department(s)": "Project Manager", "Review_Approval_Dept(s)": "Project Team, Senior Management/Governance Committee",
|
| 783 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal Governance/Operations"
|
| 784 |
+
},
|
| 785 |
+
{
|
| 786 |
+
"Doc_ID_Type": "PM-RISKREG", "Document_Name": "Risk Register", "Phase": "All Phases", "Sub_Phase_Discipline": "Project Management / Cross-functional",
|
| 787 |
+
"Purpose_Key_Content": "Living document identifying potential risks to the project (timeline, budget, technical, regulatory), their likelihood and impact, and planned mitigation/contingency actions.",
|
| 788 |
+
"Key_Metadata": "Risk ID, Risk Description, Category, Likelihood, Impact, Mitigation Plan, Owner, Status",
|
| 789 |
+
"Input_Documents_Data_Sources": "Project Team Input, Functional Plans, Past Experience",
|
| 790 |
+
"Output_Informs_Documents": "Proactive Risk Management, Input to Project Plans, Governance Reporting",
|
| 791 |
+
"Authoring_Department(s)": "Project Manager, Project Team Members", "Review_Approval_Dept(s)": "Project Team Review",
|
| 792 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "Internal Governance/Best Practice"
|
| 793 |
+
},
|
| 794 |
+
{
|
| 795 |
+
"Doc_ID_Type": "CLI-MAN-IMPHANDLE", "Document_Name": "IMP Handling Manual", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Supply / Site Staff",
|
| 796 |
+
"Purpose_Key_Content": "Provides instructions for site staff on receiving, storing, dispensing, returning, and accounting for the Investigational Medicinal Product.",
|
| 797 |
+
"Key_Metadata": "Protocol ID, Product Name, Storage Conditions, Dispensing Instructions, Accountability Procedures",
|
| 798 |
+
"Input_Documents_Data_Sources": "CLI-PROT, CMC-LABEL-IMP, PRE-REP-CMC-STAB",
|
| 799 |
+
"Output_Informs_Documents": "Site Training, IMP Handling at Site, CLI-LOG-IMPACC",
|
| 800 |
+
"Authoring_Department(s)": "Clinical Supply Lead, Clinical Operations", "Review_Approval_Dept(s)": "QA",
|
| 801 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP/GMP (Drug Accountability, Storage)"
|
| 802 |
+
},
|
| 803 |
+
{
|
| 804 |
+
"Doc_ID_Type": "CMC-LABEL-IMP", "Document_Name": "IMP Label Specification/Approval", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "CMC / Regulatory Affairs / Clinical Supply",
|
| 805 |
+
"Purpose_Key_Content": "Defines the content and layout of labels applied to the Investigational Medicinal Product, ensuring compliance with regulations (e.g., Annex 13 in EU).",
|
| 806 |
+
"Key_Metadata": "Product Name, Protocol ID, Batch Number Placement, Storage Conditions, Expiry Date Format, Warning Statements, Regulatory Compliance Checklist",
|
| 807 |
+
"Input_Documents_Data_Sources": "CLI-PROT, Regulatory Guidelines (e.g., Annex 13), PRE-SPEC-DP",
|
| 808 |
+
"Output_Informs_Documents": "IMP Packaging and Labeling Operations, Release of IMP for Clinical Use",
|
| 809 |
+
"Authoring_Department(s)": "Clinical Supply/Packaging, Regulatory Affairs", "Review_Approval_Dept(s)": "QA, CMC Lead",
|
| 810 |
+
"Complexity_Authoring": "Medium", "Regulatory_Significance": "GCP/GMP, Regulatory Compliance Critical"
|
| 811 |
+
},
|
| 812 |
+
{
|
| 813 |
+
"Doc_ID_Type": "CLI-LOG-IMPACC", "Document_Name": "IMP Accountability Log", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Site Staff / Clinical Supply / Monitoring",
|
| 814 |
+
"Purpose_Key_Content": "Log maintained at the clinical site (or centrally) to track receipt, dispensing, return, and destruction of Investigational Medicinal Product for each participant.",
|
| 815 |
+
"Key_Metadata": "Protocol ID, Site ID, Participant ID, Date, Amount Dispensed/Returned, Batch/Lot Number, Pharmacist/Staff Signature",
|
| 816 |
+
"Input_Documents_Data_Sources": "Dispensing Records, Return Records, CLI-MAN-IMPHANDLE",
|
| 817 |
+
"Output_Informs_Documents": "Monitoring Visit Reports (CLI-REP-MONVISIT), Drug Reconciliation, LOG-IMPDESTRUCT",
|
| 818 |
+
"Authoring_Department(s)": "Site Pharmacist/Coordinator", "Review_Approval_Dept(s)": "Monitor (CRA)",
|
| 819 |
+
"Complexity_Authoring": "Low (per entry)", "Regulatory_Significance": "GCP (Essential Document)"
|
| 820 |
+
},
|
| 821 |
+
{
|
| 822 |
+
"Doc_ID_Type": "CLI-FIN-BUDGET", "Document_Name": "Clinical Trial Budget", "Phase": "Clinical (All Phases)", "Sub_Phase_Discipline": "Clinical Operations / Finance",
|
| 823 |
+
"Purpose_Key_Content": "Detailed breakdown of planned costs associated with conducting a clinical trial, including site payments, vendor costs, internal resources, and contingency.",
|
| 824 |
+
"Key_Metadata": "Protocol ID, Budget Version, Cost Categories (e.g., Site Fees, Monitoring, Data Management, IMP), Total Cost Estimate",
|
| 825 |
+
"Input_Documents_Data_Sources": "CLI-PROT, Site Contracts Drafts, Vendor Proposals, PM-PLAN Resource Allocation",
|
| 826 |
+
"Output_Informs_Documents": "Contract Negotiations (CLI-AGREE-CT), Financial Accruals, Project Budget Tracking",
|
| 827 |
+
"Authoring_Department(s)": "Clinical Outsourcing/Contracts, Clinical Trial Manager, Finance", "Review_Approval_Dept(s)": "Clin Ops Management, Finance Management",
|
| 828 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "Internal Governance / Financial Control"
|
| 829 |
+
},
|
| 830 |
+
{
|
| 831 |
+
"Doc_ID_Type": "VEND-AGREE-CRO", "Document_Name": "CRO Master Service Agreement / Work Order", "Phase": "All Phases (as applicable)", "Sub_Phase_Discipline": "Legal / Outsourcing / Functional Dept",
|
| 832 |
+
"Purpose_Key_Content": "Legal contract outlining the terms, conditions, scope of work, responsibilities, and payment terms between the sponsor and a Contract Research Organization (CRO) or other key vendor.",
|
| 833 |
+
"Key_Metadata": "Vendor Name, Agreement Date, Scope of Work ID, Service Level Agreements (SLAs), Payment Milestones",
|
| 834 |
+
"Input_Documents_Data_Sources": "Vendor Qualification Report (QA-REP-VENDORQUAL), Request for Proposal (RFP) Responses, Budget Approvals",
|
| 835 |
+
"Output_Informs_Documents": "Vendor Performance Management, Invoice Processing, Sponsor Oversight Activities",
|
| 836 |
+
"Authoring_Department(s)": "Sponsor Legal/Contracts Dept, Outsourcing Manager", "Review_Approval_Dept(s)": "Functional Area Head (using vendor), Finance",
|
| 837 |
+
"Complexity_Authoring": "High", "Regulatory_Significance": "GCP/GLP/GMP (Vendor Oversight Documentation)"
|
| 838 |
+
}
|
| 839 |
+
]
|
index.html
CHANGED
|
@@ -1,19 +1,199 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>DocMap Agent - R&D Accelerator</title> <script src="https://cdn.tailwindcss.com"></script>
|
| 7 |
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lucide-static@latest/font/Lucide.css">
|
| 8 |
+
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
| 9 |
+
<style>
|
| 10 |
+
/* Custom Styles (Includes styles from PharmaDoc Navigator v2 + Home Page styles) */
|
| 11 |
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
|
| 12 |
+
body {
|
| 13 |
+
font-family: 'Inter', sans-serif;
|
| 14 |
+
background-color: #f9fafb; /* gray-50 */
|
| 15 |
+
}
|
| 16 |
+
.doc-link, .flow-link { cursor: pointer; color: #2563eb; text-decoration: underline; font-weight: 500; }
|
| 17 |
+
.doc-link:hover, .flow-link:hover { color: #1d4ed8; }
|
| 18 |
+
.custom-scroll::-webkit-scrollbar { width: 6px; height: 6px; }
|
| 19 |
+
.custom-scroll::-webkit-scrollbar-track { background: #e5e7eb; border-radius: 3px; }
|
| 20 |
+
.custom-scroll::-webkit-scrollbar-thumb { background: #9ca3af; border-radius: 3px; }
|
| 21 |
+
.custom-scroll::-webkit-scrollbar-thumb:hover { background: #6b7280; }
|
| 22 |
+
.lucide { vertical-align: -0.125em; display: inline-block; margin-right: 0.35rem; }
|
| 23 |
+
.main-tab { transition: all 0.2s ease-in-out; border-bottom-width: 3px; border-color: transparent; }
|
| 24 |
+
.main-tab.active { border-color: #2563eb; color: #1e40af; font-weight: 600; }
|
| 25 |
+
#documentGraphContainerInModal, #flowsContainer { min-height: 200px; }
|
| 26 |
+
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; background-color: rgba(0,0,0,0.5); align-items: center; justify-content: center; }
|
| 27 |
+
.modal-content { background-color: #fefefe; padding: 0; border: 1px solid #888; width: 90%; max-width: 1000px; border-radius: 8px; position: relative; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; }
|
| 28 |
+
.modal-header { padding: 1rem 1.5rem; border-bottom: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; }
|
| 29 |
+
.modal-title { font-size: 1.25rem; font-weight: 600; color: #374151; }
|
| 30 |
+
.modal-close { color: #9ca3af; background: none; border: none; font-size: 1.75rem; font-weight: bold; cursor: pointer; padding: 0; line-height: 1; }
|
| 31 |
+
.modal-close:hover, .modal-close:focus { color: #1f2937; text-decoration: none; }
|
| 32 |
+
.modal-body { padding: 1.5rem; overflow-y: auto; flex-grow: 1; }
|
| 33 |
+
.modal-footer { padding: 1rem 1.5rem; border-top: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; }
|
| 34 |
+
.nav-button { background-color: #e5e7eb; color: #374151; padding: 0.5rem 1rem; border: none; border-radius: 0.375rem; font-weight: 500; cursor: pointer; transition: background-color 0.2s; }
|
| 35 |
+
.nav-button:hover:not(:disabled) { background-color: #d1d5db; }
|
| 36 |
+
.nav-button:disabled { opacity: 0.5; cursor: not-allowed; }
|
| 37 |
+
.mermaid text, .mermaid tspan { user-select: text !important; -webkit-user-select: text !important; -moz-user-select: text !important; -ms-user-select: text !important; }
|
| 38 |
+
.mermaid .node { cursor: pointer; }
|
| 39 |
+
.hidden-container { display: none !important; }
|
| 40 |
+
/* Dashboard Card Specific Styles */
|
| 41 |
+
.dashboard-card { transition: all 0.3s ease; }
|
| 42 |
+
.dashboard-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); } /* Tailwind shadow-lg */
|
| 43 |
+
</style>
|
| 44 |
+
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🗺️</text></svg>"> </head>
|
| 45 |
+
<body class="flex flex-col h-screen">
|
| 46 |
+
|
| 47 |
+
<header class="bg-gradient-to-r from-blue-600 to-indigo-700 text-white shadow-md p-4 flex items-center justify-between flex-shrink-0">
|
| 48 |
+
<div class="flex items-center space-x-3">
|
| 49 |
+
<span id="logo-placeholder" class="inline-block bg-white rounded-full p-1 leading-none">
|
| 50 |
+
<i class="lucide lucide-map text-blue-700 text-2xl"></i> </span>
|
| 51 |
+
<h1 class="text-2xl font-bold">DocMap Agent</h1>
|
| 52 |
+
</div>
|
| 53 |
+
<div class="flex items-center space-x-4">
|
| 54 |
+
<button id="homeButton" class="text-white hover:text-blue-200 flex items-center text-sm">
|
| 55 |
+
<i class="lucide lucide-home"></i> Home
|
| 56 |
+
</button>
|
| 57 |
+
<div class="relative hidden md:block"> <input type="text" id="headerSearchInput" placeholder="Search all docs..." class="bg-blue-500 placeholder-blue-200 text-white rounded-full py-1.5 px-4 pl-10 text-sm focus:outline-none focus:ring-2 focus:ring-white">
|
| 58 |
+
<i class="lucide lucide-search absolute left-3 top-1/2 transform -translate-y-1/2 text-blue-200"></i>
|
| 59 |
+
</div>
|
| 60 |
+
<button class="text-white hover:text-blue-200"><i class="lucide lucide-settings text-xl"></i></button>
|
| 61 |
+
</div>
|
| 62 |
+
</header>
|
| 63 |
+
|
| 64 |
+
<div class="bg-gray-100 border-b border-gray-200 px-4 py-2 text-sm flex-shrink-0">
|
| 65 |
+
<nav id="breadcrumbNav" aria-label="Breadcrumb">
|
| 66 |
+
<span class="text-gray-500">Home</span>
|
| 67 |
+
</nav>
|
| 68 |
+
</div>
|
| 69 |
+
|
| 70 |
+
<main id="mainContentArea" class="flex-1 overflow-y-auto p-4 md:p-6">
|
| 71 |
+
|
| 72 |
+
<section id="home" class="space-y-6">
|
| 73 |
+
<div class="bg-white rounded-lg shadow p-6 text-center">
|
| 74 |
+
<h2 class="text-2xl font-semibold text-gray-800 mb-2">Welcome to DocMap Agent</h2>
|
| 75 |
+
<p class="text-gray-600">A comprehensive R&D document authoring accelerator</p>
|
| 76 |
+
</div>
|
| 77 |
+
|
| 78 |
+
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6">
|
| 79 |
+
<div data-target-view="documentViewWrapper" data-initial-tab="All" class="dashboard-card bg-white rounded-lg shadow p-6 text-center cursor-pointer flex flex-col items-center">
|
| 80 |
+
<i class="lucide lucide-book-open text-4xl text-blue-500 mb-4"></i>
|
| 81 |
+
<h3 class="text-lg font-semibold text-gray-700 mb-2">Document Catalog</h3>
|
| 82 |
+
<p class="text-sm text-gray-500 mb-4 flex-grow">Browse and search all document types across R&D phases.</p>
|
| 83 |
+
<button class="bg-blue-500 hover:bg-blue-600 text-white font-medium py-2 px-4 rounded-md text-sm w-full">Explore</button>
|
| 84 |
+
</div>
|
| 85 |
+
<div data-target-view="flowsViewWrapper" data-initial-tab="Flows" class="dashboard-card bg-white rounded-lg shadow p-6 text-center cursor-pointer flex flex-col items-center">
|
| 86 |
+
<i class="lucide lucide-git-fork text-4xl text-purple-500 mb-4"></i>
|
| 87 |
+
<h3 class="text-lg font-semibold text-gray-700 mb-2">Process Visualization</h3>
|
| 88 |
+
<p class="text-sm text-gray-500 mb-4 flex-grow">Visualize document workflows and dependencies.</p>
|
| 89 |
+
<button class="bg-purple-500 hover:bg-purple-600 text-white font-medium py-2 px-4 rounded-md text-sm w-full">Explore</button>
|
| 90 |
+
</div>
|
| 91 |
+
<div class="dashboard-card bg-white rounded-lg shadow p-6 text-center flex flex-col items-center opacity-70 cursor-not-allowed">
|
| 92 |
+
<i class="lucide lucide-clipboard-check text-4xl text-yellow-500 mb-4"></i>
|
| 93 |
+
<h3 class="text-lg font-semibold text-gray-700 mb-2">Assessment Tools</h3>
|
| 94 |
+
<p class="text-sm text-gray-500 mb-4 flex-grow">Evaluate document ecosystem and identify gaps (Coming Soon).</p>
|
| 95 |
+
<button disabled class="bg-yellow-400 text-white font-medium py-2 px-4 rounded-md text-sm w-full cursor-not-allowed">Explore</button>
|
| 96 |
+
</div>
|
| 97 |
+
<div class="dashboard-card bg-white rounded-lg shadow p-6 text-center flex flex-col items-center opacity-70 cursor-not-allowed">
|
| 98 |
+
<i class="lucide lucide-file-text text-4xl text-green-500 mb-4"></i>
|
| 99 |
+
<h3 class="text-lg font-semibold text-gray-700 mb-2">Document Blueprints</h3>
|
| 100 |
+
<p class="text-sm text-gray-500 mb-4 flex-grow">Access templates and prompt libraries (Coming Soon).</p>
|
| 101 |
+
<button disabled class="bg-green-400 text-white font-medium py-2 px-4 rounded-md text-sm w-full cursor-not-allowed">Explore</button>
|
| 102 |
+
</div>
|
| 103 |
+
</div>
|
| 104 |
+
|
| 105 |
+
<div class="bg-white rounded-lg shadow p-4 mt-6">
|
| 106 |
+
<h3 class="font-semibold text-gray-700 mb-3">Recent Activity</h3>
|
| 107 |
+
<ul class="text-sm text-gray-600 space-y-1">
|
| 108 |
+
<li><span class="text-gray-400 mr-2">[Date]</span>Comprehensive document database loaded.</li>
|
| 109 |
+
<li><span class="text-gray-400 mr-2">[Date]</span>Flow visualization examples configured.</li>
|
| 110 |
+
</ul>
|
| 111 |
+
</div>
|
| 112 |
+
</section>
|
| 113 |
+
|
| 114 |
+
<section id="documentViewWrapper" class="hidden-container flex flex-col flex-1 gap-4 overflow-hidden">
|
| 115 |
+
<div class="bg-white rounded-lg shadow p-3 flex-shrink-0">
|
| 116 |
+
<div id="mainTabsDocView" class="flex space-x-4 border-b border-gray-200 overflow-x-auto custom-scroll pb-1">
|
| 117 |
+
<span class="text-gray-500">Loading phases...</span>
|
| 118 |
+
</div>
|
| 119 |
+
</div>
|
| 120 |
+
<div class="relative flex-shrink-0 bg-white rounded-lg shadow p-4">
|
| 121 |
+
<input type="text" id="searchInputDocView" placeholder="Search documents in selected phase (or all)..." class="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm">
|
| 122 |
+
<i class="lucide lucide-search absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 ml-4"></i>
|
| 123 |
+
</div>
|
| 124 |
+
<div id="documentListDocView" class="bg-white rounded-lg shadow flex-1 overflow-y-auto custom-scroll p-4">
|
| 125 |
+
<p class="text-gray-500 text-center py-4">Select a phase tab above.</p>
|
| 126 |
+
</div>
|
| 127 |
+
</section>
|
| 128 |
+
|
| 129 |
+
<section id="flowsViewWrapper" class="hidden-container flex-1 bg-white rounded-lg shadow p-4 overflow-hidden flex flex-col gap-4">
|
| 130 |
+
<h2 class="text-xl font-semibold text-gray-700 mb-2 flex items-center flex-shrink-0">
|
| 131 |
+
<i class="lucide lucide-git-fork mr-2 text-purple-600"></i> Process Flows
|
| 132 |
+
</h2>
|
| 133 |
+
<div class="flex flex-1 gap-4 overflow-hidden">
|
| 134 |
+
<div class="w-full md:w-1/4 border-r pr-4 border-gray-200 overflow-y-auto custom-scroll">
|
| 135 |
+
<h3 class="font-semibold mb-2 text-gray-600">Available Flows:</h3>
|
| 136 |
+
<ul id="flowsList" class="space-y-1 text-sm">
|
| 137 |
+
<li>Loading flows...</li>
|
| 138 |
+
</ul>
|
| 139 |
+
<button id="showExampleFlowBtnFlowView" class="mt-4 bg-gray-100 text-gray-700 hover:bg-gray-200 font-medium py-1.5 px-3 rounded-md shadow-sm text-xs flex items-center w-full text-left">
|
| 140 |
+
<i class="lucide lucide-presentation"></i> Show Example P1 Flow
|
| 141 |
+
</button>
|
| 142 |
+
</div>
|
| 143 |
+
<div id="flowsContainer" class="w-full md:w-3/4 overflow-auto custom-scroll bg-gray-50 rounded">
|
| 144 |
+
<p id="flowPlaceholder" class="text-gray-500 text-center py-10 px-4">Select a flow from the list to view the process graph.</p>
|
| 145 |
+
<div id="mermaidFlowGraph" class="mermaid w-full h-full p-4">
|
| 146 |
+
</div>
|
| 147 |
+
</div>
|
| 148 |
+
</div>
|
| 149 |
+
</section>
|
| 150 |
+
|
| 151 |
+
</main>
|
| 152 |
+
|
| 153 |
+
<div id="exampleFlowModal" class="modal">
|
| 154 |
+
<div class="modal-content">
|
| 155 |
+
<div class="modal-header">
|
| 156 |
+
<h2 class="modal-title">Example Flow: Phase 1 SAD Study Documents</h2>
|
| 157 |
+
<button class="modal-close" id="closeExampleModalBtn">×</button>
|
| 158 |
+
</div>
|
| 159 |
+
<div class="modal-body custom-scroll">
|
| 160 |
+
<div id="exampleMermaidGraph" class="mermaid text-sm">
|
| 161 |
+
</div>
|
| 162 |
+
</div>
|
| 163 |
+
</div>
|
| 164 |
+
</div>
|
| 165 |
+
|
| 166 |
+
<div id="detailsModal" class="modal">
|
| 167 |
+
<div class="modal-content">
|
| 168 |
+
<div class="modal-header">
|
| 169 |
+
<h2 id="detailsModalTitle" class="modal-title">Document Details</h2>
|
| 170 |
+
<button class="modal-close" id="closeDetailsModalBtn">×</button>
|
| 171 |
+
</div>
|
| 172 |
+
<div class="modal-body custom-scroll">
|
| 173 |
+
<div id="detailsModalContent" class="flex flex-col md:flex-row gap-6">
|
| 174 |
+
<div id="documentDetailsInModal" class="w-full md:w-1/2">
|
| 175 |
+
<div id="detailsContentInModal" class="text-gray-600 text-sm">
|
| 176 |
+
</div>
|
| 177 |
+
</div>
|
| 178 |
+
<div id="documentGraphContainerInModal" class="w-full md:w-1/2 border-t md:border-t-0 md:border-l pt-4 md:pt-0 md:pl-6 border-gray-200">
|
| 179 |
+
<h3 class="text-lg font-semibold text-gray-700 mb-4 flex items-center">
|
| 180 |
+
<i class="lucide lucide-git-merge mr-2 text-green-600"></i> Document Connections
|
| 181 |
+
</h3>
|
| 182 |
+
<div id="graphContentInModal" class="text-gray-600 text-sm mb-4">
|
| 183 |
+
</div>
|
| 184 |
+
<div id="mermaidGraphInModal" class="mermaid w-full">
|
| 185 |
+
</div>
|
| 186 |
+
</div>
|
| 187 |
+
</div>
|
| 188 |
+
</div>
|
| 189 |
+
<div class="modal-footer">
|
| 190 |
+
<button id="prevDocBtn" class="nav-button" disabled><i class="lucide lucide-arrow-left"></i> Previous</button>
|
| 191 |
+
<button id="nextDocBtn" class="nav-button" disabled>Next <i class="lucide lucide-arrow-right"></i></button>
|
| 192 |
+
</div>
|
| 193 |
+
</div>
|
| 194 |
+
</div>
|
| 195 |
+
|
| 196 |
+
<script src="script.js"></script>
|
| 197 |
+
|
| 198 |
+
</body>
|
| 199 |
+
</html>
|
script.js
ADDED
|
@@ -0,0 +1,566 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// DocMap Agent - Enhanced Script with Home Page
|
| 2 |
+
|
| 3 |
+
// Initialize Mermaid
|
| 4 |
+
mermaid.initialize({ startOnLoad: false, theme: 'base', securityLevel: 'loose', /* Allow clicks */ themeVariables: {
|
| 5 |
+
primaryColor: '#eff6ff', // blue-50
|
| 6 |
+
primaryTextColor: '#1e3a8a', // blue-900
|
| 7 |
+
primaryBorderColor: '#60a5fa', // blue-400
|
| 8 |
+
lineColor: '#6b7280', // gray-500
|
| 9 |
+
secondaryColor: '#f1f5f9', // slate-100
|
| 10 |
+
tertiaryColor: '#e0f2fe' // sky-100
|
| 11 |
+
}});
|
| 12 |
+
|
| 13 |
+
// --- Global Variables ---
|
| 14 |
+
let documentsData = [];
|
| 15 |
+
const flowDefinitions = { // Keep example flows from v2
|
| 16 |
+
"p1_sad": `graph TD; subgraph Preclinical & Setup; IB(IB v1):::input --> CLI-PROT-P1(Phase 1 Protocol):::core; PRE-REP-TOX(Tox Report):::input --> IB; PRE-REP-PK(PK Report):::input --> IB; PRE-REP-CMC-STAB(Stability Report):::input --> IB; CLI-PROT-P1 --> REG-SUB-IND(IND / CTA):::output; CLI-PROT-P1 --> ICF(Informed Consent Form):::output; CLI-PROT-P1 --> CRF(eCRF Spec):::output; CLI-PROT-P1 --> CLI-PLAN-SAP(Stat Analysis Plan):::output; CLI-PROT-P1 --> CLI-PLAN-DMP(Data Mgt Plan):::output; CLI-PROT-P1 --> CLI-MAN-IMPHANDLE(IMP Handling Manual):::output; CLI-PROT-P1 --> CMC-LABEL-IMP(IMP Label Spec):::output; end; subgraph Execution & Reporting; ICF --> SiteOps[Site Operations / Enrollment]; CRF --> SiteOps; CLI-MAN-IMPHANDLE --> SiteOps; CMC-LABEL-IMP --> SiteOps; CLI-PLAN-DMP --> SiteOps; SiteOps --> ClinicalData[(Clinical Database)]; CLI-PLAN-SAP --> Analysis[Statistical Analysis]; ClinicalData --> Analysis; Analysis --> CLI-REP-CSR(Phase 1 CSR):::core; ClinicalData --> CLI-REP-CSR; IB --> CLI-REP-CSR; end; subgraph Updates & Follow-on; CLI-REP-CSR --> IB_v2(IB Update v2):::output; CLI-REP-CSR --> REG-AR(IND Annual Report / DSUR):::output; CLI-REP-CSR --> CLI-PLAN-CDP(Clinical Dev Plan Update):::output; end; classDef input fill:#f3e8ff,stroke:#a855f7,color:#581c87; classDef core fill:#e0f2fe,stroke:#38bdf8,color:#075985; classDef output fill:#f0fdf4,stroke:#4ade80,color:#15803d; click IB call displayDetailsAndGraphFromGraph("IB") "View Details"; click PRE-REP-TOX call displayDetailsAndGraphFromGraph("PRE-REP-TOX") "View Details"; click PRE-REP-PK call displayDetailsAndGraphFromGraph("PRE-REP-PK") "View Details"; click PRE-REP-CMC-STAB call displayDetailsAndGraphFromGraph("PRE-REP-CMC-STAB") "View Details"; click CLI-PROT-P1 call displayDetailsAndGraphFromGraph("CLI-PROT-P1") "View Details"; click REG-SUB-IND call displayDetailsAndGraphFromGraph("REG-SUB-IND") "View Details"; click ICF call displayDetailsAndGraphFromGraph("ICF") "View Details"; click CRF call displayDetailsAndGraphFromGraph("CRF") "View Details"; click CLI-PLAN-SAP call displayDetailsAndGraphFromGraph("CLI-PLAN-SAP") "View Details"; click CLI-PLAN-DMP call displayDetailsAndGraphFromGraph("CLI-PLAN-DMP") "View Details"; click CLI-MAN-IMPHANDLE call displayDetailsAndGraphFromGraph("CLI-MAN-IMPHANDLE") "View Details"; click CMC-LABEL-IMP call displayDetailsAndGraphFromGraph("CMC-LABEL-IMP") "View Details"; click CLI-REP-CSR call displayDetailsAndGraphFromGraph("CLI-REP-CSR") "View Details"; click IB_v2 call displayDetailsAndGraphFromGraph("IB") "View Details (Latest IB)"; click REG-AR call displayDetailsAndGraphFromGraph("REG-AR") "View Details"; click CLI-PLAN-CDP call displayDetailsAndGraphFromGraph("CLI-PLAN-CDP") "View Details";`,
|
| 17 |
+
"nda_submission": `graph TD; subgraph Inputs; CSRs(All Phase 1-3 CSRs):::input --> REG-ISS(ISS):::core; CSRs --> REG-ISE(ISE):::core; NonClinReps(All Nonclinical Reports):::input --> REG-CTD-M2(CTD Module 2 Summaries):::core; CMCDataPkg(Full CMC Data Package):::input --> REG-CTD-M3(CTD Module 3 Quality):::core; ProposedLabel(Proposed Label / SmPC):::input --> REG-CTD-M1(CTD Module 1 Admin & Label):::core; end; subgraph CTD_Assembly; REG-ISS --> REG-CTD-M5(CTD Module 5 Clinical):::output; REG-ISE --> REG-CTD-M5; CSRs --> REG-CTD-M5; NonClinReps --> REG-CTD-M4(CTD Module 4 Nonclinical):::output; REG-CTD-M1 --> FullSubmission[eCTD Submission Package]; REG-CTD-M2 --> FullSubmission; REG-CTD-M3 --> FullSubmission; REG-CTD-M4 --> FullSubmission; REG-CTD-M5 --> FullSubmission; end; subgraph Submission_Output; FullSubmission --> REG-SUB-NDA(NDA / MAA Submission):::final; REG-SUB-NDA --> AgencyReview{Agency Review}; AgencyReview --> REG-RTQ(Responses to Questions):::input; REG-RTQ --> AgencyReview; AgencyReview --> ApprovalDecision[Approval / Rejection]; end; classDef input fill:#fef9c3,stroke:#eab308,color:#854d0e; classDef core fill:#e0f2fe,stroke:#38bdf8,color:#075985; classDef output fill:#f0fdf4,stroke:#4ade80,color:#15803d; classDef final fill:#fee2e2,stroke:#f87171,color:#991b1b; click CSRs call displayDetailsAndGraphFromGraph("CLI-REP-CSR") "View CSR Details (Example)"; click NonClinReps call displayDetailsAndGraphFromGraph("PRE-REP-TOX") "View Tox Report (Example)"; click CMCDataPkg call displayDetailsAndGraphFromGraph("PRE-REP-CMC-PROCDEV") "View CMC Report (Example)"; click ProposedLabel call displayDetailsAndGraphFromGraph("REG-LABEL-US") "View Label Details (Example)"; click REG-ISS call displayDetailsAndGraphFromGraph("REG-ISS") "View Details"; click REG-ISE call displayDetailsAndGraphFromGraph("REG-ISE") "View Details"; click REG-CTD-M1 call displayDetailsAndGraphFromGraph("REG-CTD-M1") "View Details"; click REG-CTD-M2 call displayDetailsAndGraphFromGraph("REG-CTD-M2") "View Details"; click REG-CTD-M3 call displayDetailsAndGraphFromGraph("REG-CTD-M3") "View Details"; click REG-CTD-M4 call displayDetailsAndGraphFromGraph("REG-CTD-M4") "View Details"; click REG-CTD-M5 call displayDetailsAndGraphFromGraph("REG-CTD-M5") "View Details"; click REG-SUB-NDA call displayDetailsAndGraphFromGraph("REG-SUB-NDA") "View Details"; click REG-RTQ call displayDetailsAndGraphFromGraph("REG-RTQ") "View Details";`
|
| 18 |
+
};
|
| 19 |
+
|
| 20 |
+
// --- DOM Elements Cache ---
|
| 21 |
+
const mainContentArea = document.getElementById('mainContentArea');
|
| 22 |
+
const homeSection = document.getElementById('home');
|
| 23 |
+
const documentViewWrapper = document.getElementById('documentViewWrapper');
|
| 24 |
+
const flowsViewWrapper = document.getElementById('flowsViewWrapper');
|
| 25 |
+
|
| 26 |
+
const searchInputDocView = document.getElementById('searchInputDocView');
|
| 27 |
+
const mainTabsDocViewContainer = document.getElementById('mainTabsDocView');
|
| 28 |
+
const documentListDocViewContainer = document.getElementById('documentListDocView');
|
| 29 |
+
|
| 30 |
+
const flowsListContainer = document.getElementById('flowsList');
|
| 31 |
+
const mermaidFlowGraphContainer = document.getElementById('mermaidFlowGraph');
|
| 32 |
+
const flowPlaceholder = document.getElementById('flowPlaceholder');
|
| 33 |
+
const showExampleFlowBtnFlowView = document.getElementById('showExampleFlowBtnFlowView');
|
| 34 |
+
|
| 35 |
+
const homeButton = document.getElementById('homeButton'); // Added Home Button
|
| 36 |
+
const breadcrumbNav = document.getElementById('breadcrumbNav'); // Breadcrumb container
|
| 37 |
+
|
| 38 |
+
// Modals are same as before
|
| 39 |
+
const showExampleFlowBtnHeader = document.getElementById('showExampleFlowBtn'); // Button in header
|
| 40 |
+
const exampleFlowModal = document.getElementById('exampleFlowModal');
|
| 41 |
+
const exampleMermaidGraphContainer = document.getElementById('exampleMermaidGraph');
|
| 42 |
+
const closeExampleModalBtn = document.getElementById('closeExampleModalBtn');
|
| 43 |
+
const detailsModal = document.getElementById('detailsModal');
|
| 44 |
+
const detailsModalTitle = document.getElementById('detailsModalTitle');
|
| 45 |
+
const detailsContentInModal = document.getElementById('detailsContentInModal');
|
| 46 |
+
const graphContentInModal = document.getElementById('graphContentInModal');
|
| 47 |
+
const mermaidGraphContainerInModal = document.getElementById('mermaidGraphInModal');
|
| 48 |
+
const closeDetailsModalBtn = document.getElementById('closeDetailsModalBtn');
|
| 49 |
+
const prevDocBtn = document.getElementById('prevDocBtn');
|
| 50 |
+
const nextDocBtn = document.getElementById('nextDocBtn');
|
| 51 |
+
|
| 52 |
+
// --- State Variables ---
|
| 53 |
+
let currentVisibleView = 'home'; // Tracks which main section is visible ('home', 'documentViewWrapper', 'flowsViewWrapper')
|
| 54 |
+
let currentDocViewTab = 'All'; // Track the active tab within the document view ('All', 'Discovery', ...)
|
| 55 |
+
let currentSelectedDocId = null;
|
| 56 |
+
let currentSelectedFlowId = null;
|
| 57 |
+
let currentDocListIndices = { prev: null, next: null };
|
| 58 |
+
|
| 59 |
+
// --- Utility Functions (Adapted) ---
|
| 60 |
+
function getDocNameById(docId) {
|
| 61 |
+
const doc = documentsData.find(d => d.Doc_ID_Type === docId);
|
| 62 |
+
return doc ? (doc.Document_Name.split('(')[0].trim() || doc.Document_Name) : docId;
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
function extractDocIDs(text) {
|
| 66 |
+
if (!text || documentsData.length === 0) return [];
|
| 67 |
+
const knownIDs = new Set(documentsData.map(doc => doc.Doc_ID_Type));
|
| 68 |
+
const potentialIDs = text.match(/[A-Z0-9]+(?:-[A-Z0-9]+)*\b/g) || []; // Use word boundary \b
|
| 69 |
+
return potentialIDs.filter(id => knownIDs.has(id));
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
function getComplexityIcon(complexity) {
|
| 73 |
+
switch (complexity?.toLowerCase()) { /* Same as before */
|
| 74 |
+
case 'low': return '<i class="lucide lucide-bar-chart text-green-500" title="Low Complexity"></i>';
|
| 75 |
+
case 'low-medium': return '<i class="lucide lucide-bar-chart-2 text-lime-500" title="Low-Medium Complexity"></i>';
|
| 76 |
+
case 'medium': return '<i class="lucide lucide-bar-chart-3 text-yellow-500" title="Medium Complexity"></i>';
|
| 77 |
+
case 'medium-high': return '<i class="lucide lucide-bar-chart-4 text-orange-500" title="Medium-High Complexity"></i>';
|
| 78 |
+
case 'high': return '<i class="lucide lucide-bar-chart-big text-red-500" title="High Complexity"></i>';
|
| 79 |
+
default: return '';
|
| 80 |
+
}
|
| 81 |
+
}
|
| 82 |
+
|
| 83 |
+
function getRegulatoryIcon(significance) { /* Same as before */
|
| 84 |
+
if (!significance) return '';
|
| 85 |
+
const lowerSig = significance.toLowerCase();
|
| 86 |
+
if (lowerSig.includes('submission critical')) return '<i class="lucide lucide-shield-check text-red-600" title="Submission Critical"></i>';
|
| 87 |
+
if (lowerSig.includes('gcp')) return '<i class="lucide lucide-clipboard-check text-blue-600" title="GCP Relevant"></i>';
|
| 88 |
+
if (lowerSig.includes('glp')) return '<i class="lucide lucide-flask-conical text-purple-600" title="GLP Relevant"></i>';
|
| 89 |
+
if (lowerSig.includes('gmp')) return '<i class="lucide lucide-factory text-indigo-600" title="GMP Relevant"></i>';
|
| 90 |
+
if (lowerSig.includes('gvp')) return '<i class="lucide lucide-activity text-teal-600" title="GVP Relevant"></i>';
|
| 91 |
+
if (lowerSig.includes('regulatory requirement')) return '<i class="lucide lucide-shield-alert text-orange-600" title="Regulatory Requirement"></i>';
|
| 92 |
+
if (lowerSig.includes('internal')) return '<i class="lucide lucide-home text-gray-500" title="Internal Governance/Strategy"></i>';
|
| 93 |
+
return '<i class="lucide lucide-shield text-gray-400" title="Regulatory Significance"></i>';
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
function getMainTabIcon(tabName) { /* Same as before */
|
| 97 |
+
if (!tabName) return '<i class="lucide lucide-file-question"></i>';
|
| 98 |
+
const lowerTab = tabName.toLowerCase();
|
| 99 |
+
if (lowerTab.includes('discovery')) return '<i class="lucide lucide-search"></i>';
|
| 100 |
+
if (lowerTab.includes('preclinical')) return '<i class="lucide lucide-flask-conical"></i>';
|
| 101 |
+
if (lowerTab === 'clinical development') return '<i class="lucide lucide-users"></i>';
|
| 102 |
+
if (lowerTab === 'regulatory submission') return '<i class="lucide lucide-file-check-2"></i>';
|
| 103 |
+
if (lowerTab === 'post-marketing & quality') return '<i class="lucide lucide-recycle"></i>';
|
| 104 |
+
if (lowerTab.includes('flows')) return '<i class="lucide lucide-git-fork"></i>';
|
| 105 |
+
if (lowerTab.includes('all')) return '<i class="lucide lucide-layers"></i>';
|
| 106 |
+
return '<i class="lucide lucide-folder-open"></i>';
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
function linkDocumentIDsForDetails(text) { /* Same as before */
|
| 110 |
+
if (!text || documentsData.length === 0) return 'N/A';
|
| 111 |
+
const knownIDs = new Set(documentsData.map(doc => doc.Doc_ID_Type));
|
| 112 |
+
let linkedText = text.replace(/(\b[A-Z0-9]+(?:-[A-Z0-9]+)*\b)/g, (match) => {
|
| 113 |
+
if (knownIDs.has(match)) {
|
| 114 |
+
return `<span class="doc-link" data-doc-id="${match}">${match}</span>`;
|
| 115 |
+
}
|
| 116 |
+
return match;
|
| 117 |
+
});
|
| 118 |
+
return linkedText;
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
|
| 122 |
+
// --- Core Rendering & View Switching ---
|
| 123 |
+
|
| 124 |
+
// NEW: Function to switch between major views (Home, Documents, Flows)
|
| 125 |
+
function switchToView(viewId, initialTab = null) {
|
| 126 |
+
console.log(`Switching view to: ${viewId}, Initial Tab: ${initialTab}`);
|
| 127 |
+
currentVisibleView = viewId;
|
| 128 |
+
|
| 129 |
+
// Hide all main sections
|
| 130 |
+
homeSection.classList.add('hidden-container');
|
| 131 |
+
documentViewWrapper.classList.add('hidden-container');
|
| 132 |
+
flowsViewWrapper.classList.add('hidden-container');
|
| 133 |
+
|
| 134 |
+
// Show the target section
|
| 135 |
+
const targetSection = document.getElementById(viewId);
|
| 136 |
+
if (targetSection) {
|
| 137 |
+
targetSection.classList.remove('hidden-container');
|
| 138 |
+
|
| 139 |
+
// Handle specific view initializations
|
| 140 |
+
if (viewId === 'documentViewWrapper') {
|
| 141 |
+
currentDocViewTab = initialTab || 'All'; // Set the tab for document view
|
| 142 |
+
renderDocumentViewTabs(); // Render the tabs within this view
|
| 143 |
+
renderDocumentList(); // Render the list based on the tab
|
| 144 |
+
} else if (viewId === 'flowsViewWrapper') {
|
| 145 |
+
renderFlowsList();
|
| 146 |
+
// Optionally display a default flow or keep placeholder
|
| 147 |
+
mermaidFlowGraphContainer.innerHTML = '';
|
| 148 |
+
flowPlaceholder.style.display = 'block';
|
| 149 |
+
currentSelectedFlowId = null;
|
| 150 |
+
} else { // Home view
|
| 151 |
+
currentDocViewTab = 'All'; // Reset doc view tab when going home
|
| 152 |
+
}
|
| 153 |
+
} else {
|
| 154 |
+
console.error(`Target view section not found: ${viewId}. Defaulting to home.`);
|
| 155 |
+
homeSection.classList.remove('hidden-container');
|
| 156 |
+
currentVisibleView = 'home';
|
| 157 |
+
}
|
| 158 |
+
updateBreadcrumb(); // Update breadcrumb based on the current view
|
| 159 |
+
clearSelection(); // Clear specific doc selection when switching main views
|
| 160 |
+
}
|
| 161 |
+
|
| 162 |
+
// NEW: Function to update breadcrumbs
|
| 163 |
+
function updateBreadcrumb() {
|
| 164 |
+
breadcrumbNav.innerHTML = ''; // Clear existing
|
| 165 |
+
const homeLink = `<a href="#" data-view-target="home" class="text-blue-600 hover:underline">Home</a>`;
|
| 166 |
+
|
| 167 |
+
if (currentVisibleView === 'home') {
|
| 168 |
+
breadcrumbNav.innerHTML = `<span class="text-gray-500">Home</span>`;
|
| 169 |
+
} else if (currentVisibleView === 'documentViewWrapper') {
|
| 170 |
+
breadcrumbNav.innerHTML = `${homeLink} <span class="mx-2 text-gray-400">/</span> <span class="text-gray-500">Document Catalog (${currentDocViewTab})</span>`;
|
| 171 |
+
} else if (currentVisibleView === 'flowsViewWrapper') {
|
| 172 |
+
breadcrumbNav.innerHTML = `${homeLink} <span class="mx-2 text-gray-400">/</span> <span class="text-gray-500">Process Flows</span>`;
|
| 173 |
+
}
|
| 174 |
+
}
|
| 175 |
+
|
| 176 |
+
|
| 177 |
+
// UPDATED: Function to render tabs ONLY within the Document View section
|
| 178 |
+
function renderDocumentViewTabs() {
|
| 179 |
+
const phaseMap = { /* Same phaseMap as in renderDocumentList */
|
| 180 |
+
'Discovery': 'Discovery', 'Preclinical': 'Preclinical',
|
| 181 |
+
'Clinical Phase 1': 'Clinical Development', 'Clinical Phase 2': 'Clinical Development', 'Clinical Phase 3': 'Clinical Development', 'Clinical (All Phases)': 'Clinical Development',
|
| 182 |
+
'Regulatory Submission': 'Regulatory Submission', 'Regulatory Submission Review Phase': 'Regulatory Submission',
|
| 183 |
+
'Post-Marketing': 'Post-Marketing & Quality', 'All Phases': 'Post-Marketing & Quality',
|
| 184 |
+
'Discovery, Preclinical': 'Discovery', 'Preclinical, Clinical': 'Preclinical',
|
| 185 |
+
'Preclinical (End), Clinical Phase 1': 'Preclinical', 'Discovery (late), Preclinical, Clinical': 'Discovery',
|
| 186 |
+
'Pre/Post-Approval':'Regulatory Submission', 'Clinical (Annual)': 'Clinical Development',
|
| 187 |
+
'Preclinical / Clinical':'Preclinical', 'Clinical (Early Phase 2/End of Phase 2)': 'Clinical Development'
|
| 188 |
+
};
|
| 189 |
+
const uniquePhases = [...new Set(documentsData.map(doc => phaseMap[doc.Phase] || 'Other'))];
|
| 190 |
+
const tabOrder = ['All', 'Discovery', 'Preclinical', 'Clinical Development', 'Regulatory Submission', 'Post-Marketing & Quality', 'Other']; // No 'Flows' here
|
| 191 |
+
const sortedTabs = tabOrder.filter(tab => uniquePhases.includes(tab) || tab === 'All');
|
| 192 |
+
uniquePhases.forEach(phase => { if (!sortedTabs.includes(phase)) sortedTabs.push(phase); });
|
| 193 |
+
|
| 194 |
+
let tabsHtml = '';
|
| 195 |
+
sortedTabs.forEach(tabName => {
|
| 196 |
+
const isActive = tabName === currentDocViewTab; // Use currentDocViewTab state
|
| 197 |
+
tabsHtml += `
|
| 198 |
+
<button
|
| 199 |
+
data-tab-name="${tabName}"
|
| 200 |
+
class="main-tab doc-view-tab px-4 py-2 text-sm font-medium text-gray-500 hover:text-gray-700 focus:outline-none whitespace-nowrap ${isActive ? 'active' : ''}"
|
| 201 |
+
>
|
| 202 |
+
${getMainTabIcon(tabName)} ${tabName}
|
| 203 |
+
</button>
|
| 204 |
+
`;
|
| 205 |
+
});
|
| 206 |
+
mainTabsDocViewContainer.innerHTML = tabsHtml;
|
| 207 |
+
|
| 208 |
+
// Add event listeners to THESE tabs
|
| 209 |
+
mainTabsDocViewContainer.querySelectorAll('.doc-view-tab').forEach(tab => {
|
| 210 |
+
tab.addEventListener('click', () => {
|
| 211 |
+
currentDocViewTab = tab.dataset.tabName; // Update the doc view tab state
|
| 212 |
+
renderDocumentViewTabs(); // Re-render tabs for active style
|
| 213 |
+
renderDocumentList(); // Re-render list for the new tab
|
| 214 |
+
updateBreadcrumb(); // Update breadcrumb text
|
| 215 |
+
clearSelection(); // Clear specific doc selection
|
| 216 |
+
});
|
| 217 |
+
});
|
| 218 |
+
}
|
| 219 |
+
|
| 220 |
+
|
| 221 |
+
// UPDATED: Function to render the document list based on the ACTIVE DOC VIEW TAB and search
|
| 222 |
+
function renderDocumentList() {
|
| 223 |
+
// This function should only render if documentViewWrapper is the current view
|
| 224 |
+
if (currentVisibleView !== 'documentViewWrapper') return;
|
| 225 |
+
|
| 226 |
+
const phaseMap = { /* Same phaseMap */
|
| 227 |
+
'Discovery': 'Discovery', 'Preclinical': 'Preclinical',
|
| 228 |
+
'Clinical Phase 1': 'Clinical Development', 'Clinical Phase 2': 'Clinical Development', 'Clinical Phase 3': 'Clinical Development', 'Clinical (All Phases)': 'Clinical Development',
|
| 229 |
+
'Regulatory Submission': 'Regulatory Submission', 'Regulatory Submission Review Phase': 'Regulatory Submission',
|
| 230 |
+
'Post-Marketing': 'Post-Marketing & Quality', 'All Phases': 'Post-Marketing & Quality',
|
| 231 |
+
'Discovery, Preclinical': 'Discovery', 'Preclinical, Clinical': 'Preclinical',
|
| 232 |
+
'Preclinical (End), Clinical Phase 1': 'Preclinical', 'Discovery (late), Preclinical, Clinical': 'Discovery',
|
| 233 |
+
'Pre/Post-Approval':'Regulatory Submission', 'Clinical (Annual)': 'Clinical Development',
|
| 234 |
+
'Preclinical / Clinical':'Preclinical', 'Clinical (Early Phase 2/End of Phase 2)': 'Clinical Development'
|
| 235 |
+
};
|
| 236 |
+
|
| 237 |
+
const searchTerm = searchInputDocView.value.toLowerCase(); // Use the correct search input
|
| 238 |
+
let filteredDocs = documentsData;
|
| 239 |
+
|
| 240 |
+
// Apply phase filter based on currentDocViewTab
|
| 241 |
+
if (currentDocViewTab !== 'All') {
|
| 242 |
+
filteredDocs = filteredDocs.filter(doc => {
|
| 243 |
+
const primaryPhase = phaseMap[doc.Phase] || 'Other';
|
| 244 |
+
return primaryPhase === currentDocViewTab;
|
| 245 |
+
});
|
| 246 |
+
}
|
| 247 |
+
|
| 248 |
+
// Apply search filter
|
| 249 |
+
if (searchTerm) {
|
| 250 |
+
filteredDocs = filteredDocs.filter(doc =>
|
| 251 |
+
doc.Document_Name.toLowerCase().includes(searchTerm) ||
|
| 252 |
+
doc.Doc_ID_Type.toLowerCase().includes(searchTerm) ||
|
| 253 |
+
(doc.Sub_Phase_Discipline && doc.Sub_Phase_Discipline.toLowerCase().includes(searchTerm)) ||
|
| 254 |
+
(doc.Purpose_Key_Content && doc.Purpose_Key_Content.toLowerCase().includes(searchTerm)) ||
|
| 255 |
+
(doc["Authoring_Department(s)"] && doc["Authoring_Department(s)"].toLowerCase().includes(searchTerm)) ||
|
| 256 |
+
(doc.Key_Metadata && doc.Key_Metadata.toLowerCase().includes(searchTerm))
|
| 257 |
+
);
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
+
// Render logic (same as before, but uses documentListDocViewContainer)
|
| 261 |
+
let listHtml = '';
|
| 262 |
+
if (filteredDocs.length === 0) {
|
| 263 |
+
listHtml = `<p class="text-gray-500 text-center py-4">No documents found ${searchTerm ? 'matching search in' : 'for'} ${currentDocViewTab === 'All' ? 'any phase' : currentDocViewTab}.</p>`;
|
| 264 |
+
} else {
|
| 265 |
+
const sortedDocs = filteredDocs.sort((a, b) => a.Document_Name.localeCompare(b.Document_Name));
|
| 266 |
+
listHtml = '<ul class="divide-y divide-gray-200">';
|
| 267 |
+
sortedDocs.forEach(doc => {
|
| 268 |
+
const isSelected = doc.Doc_ID_Type === currentSelectedDocId;
|
| 269 |
+
listHtml += `
|
| 270 |
+
<li data-doc-id="${doc.Doc_ID_Type}" class="doc-list-item px-3 py-2 hover:bg-blue-50 cursor-pointer text-sm flex justify-between items-center ${isSelected ? 'bg-blue-100 font-semibold' : ''}">
|
| 271 |
+
<span class="flex items-center min-w-0">
|
| 272 |
+
<i class="lucide lucide-file-text text-gray-400 mr-2 flex-shrink-0"></i>
|
| 273 |
+
<span class="truncate" title="${doc.Document_Name} (${doc.Doc_ID_Type})">${doc.Document_Name} <span class="text-xs text-gray-500 ml-1">(${doc.Doc_ID_Type})</span></span>
|
| 274 |
+
</span>
|
| 275 |
+
<span class="flex items-center space-x-1 flex-shrink-0 ml-2">
|
| 276 |
+
${getComplexityIcon(doc.Complexity_Authoring)}
|
| 277 |
+
${getRegulatoryIcon(doc.Regulatory_Significance)}
|
| 278 |
+
</span>
|
| 279 |
+
</li>`;
|
| 280 |
+
});
|
| 281 |
+
listHtml += '</ul>';
|
| 282 |
+
}
|
| 283 |
+
|
| 284 |
+
if(documentListDocViewContainer) {
|
| 285 |
+
documentListDocViewContainer.innerHTML = listHtml;
|
| 286 |
+
} else {
|
| 287 |
+
console.error("documentListDocViewContainer element not found!");
|
| 288 |
+
return;
|
| 289 |
+
}
|
| 290 |
+
|
| 291 |
+
// Add event listeners for items in THIS list
|
| 292 |
+
document.querySelectorAll('#documentListDocView li.doc-list-item').forEach(item => {
|
| 293 |
+
item.addEventListener('click', () => {
|
| 294 |
+
currentSelectedDocId = item.dataset.docId;
|
| 295 |
+
displayDetailsInModal(currentSelectedDocId);
|
| 296 |
+
renderDocumentList(); // Re-render list for selection highlight
|
| 297 |
+
});
|
| 298 |
+
});
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
// UPDATED: findNextPrevDocs uses the correct container based on current view
|
| 302 |
+
function findNextPrevDocs(currentId) {
|
| 303 |
+
const listItems = documentListDocViewContainer.querySelectorAll('li[data-doc-id]'); // Always use DocView list
|
| 304 |
+
const docIds = Array.from(listItems).map(li => li.dataset.docId);
|
| 305 |
+
const currentIndex = docIds.indexOf(currentId);
|
| 306 |
+
|
| 307 |
+
if (currentIndex === -1 || docIds.length <= 1) {
|
| 308 |
+
return { prev: null, next: null };
|
| 309 |
+
}
|
| 310 |
+
const prevIndex = currentIndex > 0 ? currentIndex - 1 : docIds.length - 1;
|
| 311 |
+
const nextIndex = currentIndex < docIds.length - 1 ? currentIndex + 1 : 0;
|
| 312 |
+
|
| 313 |
+
return {
|
| 314 |
+
prev: docIds[prevIndex],
|
| 315 |
+
next: docIds[nextIndex]
|
| 316 |
+
};
|
| 317 |
+
}
|
| 318 |
+
|
| 319 |
+
|
| 320 |
+
// displayDetailsInModal remains largely the same, uses comprehensive data keys
|
| 321 |
+
async function displayDetailsInModal(docId) {
|
| 322 |
+
const doc = documentsData.find(d => d.Doc_ID_Type === docId);
|
| 323 |
+
if (!doc) return;
|
| 324 |
+
|
| 325 |
+
currentSelectedDocId = docId;
|
| 326 |
+
detailsModalTitle.textContent = `${doc.Document_Name} (${doc.Doc_ID_Type})`;
|
| 327 |
+
|
| 328 |
+
detailsContentInModal.innerHTML = `
|
| 329 |
+
<div class="space-y-3 text-gray-700">
|
| 330 |
+
<div><strong>Phase:</strong> ${doc.Phase || 'N/A'}</div>
|
| 331 |
+
<div><strong>Discipline:</strong> ${doc.Sub_Phase_Discipline || 'N/A'}</div>
|
| 332 |
+
<div><strong class="block mb-1 text-gray-800">Purpose / Key Content:</strong><div class="bg-gray-100 p-2 rounded text-xs max-h-24 overflow-y-auto custom-scroll">${doc.Purpose_Key_Content || 'N/A'}</div></div>
|
| 333 |
+
<div><strong class="block mb-1 text-gray-800">Key Metadata:</strong><div class="bg-gray-100 p-2 rounded text-xs">${doc.Key_Metadata || 'N/A'}</div></div>
|
| 334 |
+
<div><strong class="block mb-1 text-gray-800">Input Docs/Data:</strong><div class="bg-gray-100 p-2 rounded text-xs">${linkDocumentIDsForDetails(doc.Input_Documents_Data_Sources)}</div></div>
|
| 335 |
+
<div><strong class="block mb-1 text-gray-800">Output/Informs Docs:</strong><div class="bg-gray-100 p-2 rounded text-xs">${linkDocumentIDsForDetails(doc.Output_Informs_Documents)}</div></div>
|
| 336 |
+
<div><strong>Authoring Dept(s):</strong> ${doc['Authoring_Department(s)'] || 'N/A'}</div>
|
| 337 |
+
<div><strong>Review/Approval Dept(s):</strong> ${doc['Review_Approval_Dept(s)'] || 'N/A'}</div>
|
| 338 |
+
<div class="flex items-center"><strong>Complexity:</strong> <span class="ml-2">${getComplexityIcon(doc.Complexity_Authoring)} ${doc.Complexity_Authoring || 'N/A'}</span></div>
|
| 339 |
+
<div class="flex items-center"><strong>Reg. Significance:</strong> <span class="ml-2">${getRegulatoryIcon(doc.Regulatory_Significance)} ${doc.Regulatory_Significance || 'N/A'}</span></div>
|
| 340 |
+
</div>
|
| 341 |
+
`;
|
| 342 |
+
|
| 343 |
+
// Add event listeners to links within the modal body
|
| 344 |
+
detailsContentInModal.querySelectorAll('.doc-link').forEach(link => {
|
| 345 |
+
link.addEventListener('click', (e) => {
|
| 346 |
+
displayDetailsInModal(e.target.dataset.docId);
|
| 347 |
+
// Optionally update the main list highlight if visible
|
| 348 |
+
if (currentVisibleView === 'documentViewWrapper') {
|
| 349 |
+
renderDocumentList();
|
| 350 |
+
}
|
| 351 |
+
});
|
| 352 |
+
});
|
| 353 |
+
|
| 354 |
+
// Generate and Display Connection Graph (Mermaid)
|
| 355 |
+
graphContentInModal.innerHTML = '';
|
| 356 |
+
mermaidGraphContainerInModal.innerHTML = ''; // Clear previous graph
|
| 357 |
+
const inputIDs = extractDocIDs(doc.Input_Documents_Data_Sources);
|
| 358 |
+
const outputIDs = extractDocIDs(doc.Output_Informs_Documents);
|
| 359 |
+
|
| 360 |
+
let mermaidDefinition = 'graph TD;\n';
|
| 361 |
+
const centerNodeName = getDocNameById(doc.Doc_ID_Type);
|
| 362 |
+
mermaidDefinition += ` ${doc.Doc_ID_Type}("${centerNodeName}\\n(${doc.Doc_ID_Type})");\n`;
|
| 363 |
+
mermaidDefinition += ` style ${doc.Doc_ID_Type} fill:#e0f2fe,stroke:#38bdf8,stroke-width:2px,color:#075985;\n`;
|
| 364 |
+
mermaidDefinition += ` click ${doc.Doc_ID_Type} call displayDetailsAndGraphFromModal("${doc.Doc_ID_Type}") "View Details";\n`; // Keep using modal callback
|
| 365 |
+
|
| 366 |
+
inputIDs.forEach(inputId => {
|
| 367 |
+
const inputNodeName = getDocNameById(inputId);
|
| 368 |
+
mermaidDefinition += ` ${inputId}("${inputNodeName}\\n(${inputId})") --> ${doc.Doc_ID_Type};\n`;
|
| 369 |
+
mermaidDefinition += ` style ${inputId} fill:#f1f5f9,stroke:#94a3b8,color:#334155;\n`;
|
| 370 |
+
mermaidDefinition += ` click ${inputId} call displayDetailsAndGraphFromModal("${inputId}") "View Details";\n`;
|
| 371 |
+
});
|
| 372 |
+
|
| 373 |
+
outputIDs.forEach(outputId => {
|
| 374 |
+
const outputNodeName = getDocNameById(outputId);
|
| 375 |
+
mermaidDefinition += ` ${doc.Doc_ID_Type} --> ${outputId}("${outputNodeName}\\n(${outputId})");\n`;
|
| 376 |
+
mermaidDefinition += ` style ${outputId} fill:#f1f5f9,stroke:#94a3b8,color:#334155;\n`;
|
| 377 |
+
mermaidDefinition += ` click ${outputId} call displayDetailsAndGraphFromModal("${outputId}") "View Details";\n`;
|
| 378 |
+
});
|
| 379 |
+
|
| 380 |
+
if (inputIDs.length === 0 && outputIDs.length === 0) {
|
| 381 |
+
graphContentInModal.innerHTML = '<p class="text-sm text-gray-500">No direct document connections found in the data.</p>';
|
| 382 |
+
} else {
|
| 383 |
+
try {
|
| 384 |
+
const graphId = `mermaid-modal-graph-${docId}-${Date.now()}`;
|
| 385 |
+
const { svg } = await mermaid.render(graphId, mermaidDefinition);
|
| 386 |
+
mermaidGraphContainerInModal.innerHTML = svg;
|
| 387 |
+
} catch (error) {
|
| 388 |
+
console.error("Mermaid rendering error in modal:", error);
|
| 389 |
+
graphContentInModal.innerHTML = `<p class="text-red-500 text-sm">Error rendering connection graph.</p>`;
|
| 390 |
+
mermaidGraphContainerInModal.innerHTML = `<pre class="text-xs bg-gray-100 p-2 rounded mt-2 overflow-auto">${mermaidDefinition}</pre>`;
|
| 391 |
+
}
|
| 392 |
+
}
|
| 393 |
+
|
| 394 |
+
// Setup Next/Prev Buttons
|
| 395 |
+
currentDocListIndices = findNextPrevDocs(docId);
|
| 396 |
+
prevDocBtn.disabled = !currentDocListIndices.prev;
|
| 397 |
+
nextDocBtn.disabled = !currentDocListIndices.next;
|
| 398 |
+
|
| 399 |
+
// Show Modal
|
| 400 |
+
detailsModal.style.display = 'flex';
|
| 401 |
+
// Only re-render list if doc view is active
|
| 402 |
+
if (currentVisibleView === 'documentViewWrapper') {
|
| 403 |
+
renderDocumentList();
|
| 404 |
+
}
|
| 405 |
+
}
|
| 406 |
+
|
| 407 |
+
|
| 408 |
+
// Callbacks from Mermaid graphs
|
| 409 |
+
window.displayDetailsAndGraphFromGraph = async (docId) => {
|
| 410 |
+
console.log("Graph node clicked (main flow or example):", docId);
|
| 411 |
+
await displayDetailsInModal(docId); // Always show in modal
|
| 412 |
+
setTimeout(() => {
|
| 413 |
+
// If the doc list view is active, scroll the item into view
|
| 414 |
+
if (currentVisibleView === 'documentViewWrapper') {
|
| 415 |
+
const listItem = document.querySelector(`#documentListDocView li[data-doc-id="${docId}"]`);
|
| 416 |
+
listItem?.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
| 417 |
+
}
|
| 418 |
+
}, 100);
|
| 419 |
+
};
|
| 420 |
+
|
| 421 |
+
window.displayDetailsAndGraphFromModal = async (docId) => {
|
| 422 |
+
console.log("Modal graph node clicked:", docId);
|
| 423 |
+
await displayDetailsInModal(docId); // Update current modal
|
| 424 |
+
setTimeout(() => {
|
| 425 |
+
if (currentVisibleView === 'documentViewWrapper') {
|
| 426 |
+
const listItem = document.querySelector(`#documentListDocView li[data-doc-id="${docId}"]`);
|
| 427 |
+
listItem?.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
| 428 |
+
}
|
| 429 |
+
}, 100);
|
| 430 |
+
};
|
| 431 |
+
|
| 432 |
+
function clearSelection() {
|
| 433 |
+
currentSelectedDocId = null;
|
| 434 |
+
if (currentVisibleView === 'documentViewWrapper') {
|
| 435 |
+
renderDocumentList(); // Update list highlight
|
| 436 |
+
}
|
| 437 |
+
}
|
| 438 |
+
|
| 439 |
+
// Flows View Functions (renderFlowsList, displayFlowGraph) remain the same as PharmaDoc v2 version provided previously
|
| 440 |
+
function renderFlowsList() { /* Same as before */
|
| 441 |
+
let flowsHtml = '';
|
| 442 |
+
const flowDisplayTitles = {"p1_sad": "Phase 1 SAD Study", "nda_submission": "Simplified NDA/MAA Submission"};
|
| 443 |
+
Object.keys(flowDefinitions).forEach(id => {
|
| 444 |
+
const title = flowDisplayTitles[id] || `Flow ${id}`;
|
| 445 |
+
const isSelected = id === currentSelectedFlowId;
|
| 446 |
+
flowsHtml += `<li><span class="flow-link ${isSelected ? 'font-bold text-blue-700' : ''}" data-flow-id="${id}">${title}</span></li>`;
|
| 447 |
+
});
|
| 448 |
+
flowsListContainer.innerHTML = flowsHtml;
|
| 449 |
+
flowsListContainer.querySelectorAll('.flow-link').forEach(link => {
|
| 450 |
+
link.addEventListener('click', (e) => {
|
| 451 |
+
const flowId = e.target.dataset.flowId;
|
| 452 |
+
currentSelectedFlowId = flowId;
|
| 453 |
+
displayFlowGraph(flowId);
|
| 454 |
+
renderFlowsList();
|
| 455 |
+
});
|
| 456 |
+
});
|
| 457 |
+
}
|
| 458 |
+
|
| 459 |
+
async function displayFlowGraph(flowId) { /* Same as before */
|
| 460 |
+
const definition = flowDefinitions[flowId];
|
| 461 |
+
if (!definition) {
|
| 462 |
+
mermaidFlowGraphContainer.innerHTML = '<p class="text-red-500">Flow definition not found.</p>';
|
| 463 |
+
flowPlaceholder.style.display = 'none'; return;
|
| 464 |
+
}
|
| 465 |
+
flowPlaceholder.style.display = 'none';
|
| 466 |
+
mermaidFlowGraphContainer.innerHTML = '<p class="text-center text-gray-500 py-5">Rendering flow graph...</p>';
|
| 467 |
+
try {
|
| 468 |
+
if (flowsViewWrapper.classList.contains('hidden-container')) return;
|
| 469 |
+
const clickableDefinition = definition.replace(/click ([A-Z0-9_\-]+) call displayDetailsAndGraphFromGraph/g,'click $1 call displayDetailsAndGraphFromGraph');
|
| 470 |
+
const graphId = `mermaid-flow-${flowId}-${Date.now()}`;
|
| 471 |
+
const { svg } = await mermaid.render(graphId, clickableDefinition);
|
| 472 |
+
mermaidFlowGraphContainer.innerHTML = svg;
|
| 473 |
+
} catch (error) {
|
| 474 |
+
console.error(`Mermaid rendering error for flow ${flowId}:`, error);
|
| 475 |
+
mermaidFlowGraphContainer.innerHTML = `<p class="text-red-500">Error rendering flow graph.</p><pre class="text-xs bg-gray-100 p-2 rounded mt-2 overflow-auto">${definition}</pre>`;
|
| 476 |
+
}
|
| 477 |
+
}
|
| 478 |
+
|
| 479 |
+
// Example Flow Modal Functions (showExampleFlow) remain same as PharmaDoc v2 version
|
| 480 |
+
async function showExampleFlow() { /* Same as before */
|
| 481 |
+
const exampleDefinition = flowDefinitions['p1_sad'];
|
| 482 |
+
try {
|
| 483 |
+
const clickableDefinition = exampleDefinition.replace(/click ([A-Z0-9_\-]+) call displayDetailsAndGraphFromGraph/g, 'click $1 call displayDetailsAndGraphFromModal');
|
| 484 |
+
const graphId = `example-mermaid-graph-render-${Date.now()}`;
|
| 485 |
+
const { svg } = await mermaid.render(graphId, clickableDefinition);
|
| 486 |
+
exampleMermaidGraphContainer.innerHTML = svg;
|
| 487 |
+
exampleFlowModal.style.display = "flex";
|
| 488 |
+
} catch (error) {
|
| 489 |
+
console.error("Mermaid rendering error for example:", error);
|
| 490 |
+
exampleMermaidGraphContainer.innerHTML = `<p class="text-red-500">Error rendering example flow graph.</p>`;
|
| 491 |
+
exampleFlowModal.style.display = "flex";
|
| 492 |
+
}
|
| 493 |
+
}
|
| 494 |
+
|
| 495 |
+
// --- Event Listeners ---
|
| 496 |
+
|
| 497 |
+
// Search input specific to document view
|
| 498 |
+
searchInputDocView?.addEventListener('input', renderDocumentList);
|
| 499 |
+
|
| 500 |
+
// Home button listener
|
| 501 |
+
homeButton?.addEventListener('click', () => switchToView('home'));
|
| 502 |
+
|
| 503 |
+
// Breadcrumb listener (delegated)
|
| 504 |
+
breadcrumbNav?.addEventListener('click', (e) => {
|
| 505 |
+
if (e.target.tagName === 'A' && e.target.dataset.viewTarget) {
|
| 506 |
+
e.preventDefault();
|
| 507 |
+
switchToView(e.target.dataset.viewTarget);
|
| 508 |
+
}
|
| 509 |
+
});
|
| 510 |
+
|
| 511 |
+
// Dashboard card listeners (delegated to main content area)
|
| 512 |
+
mainContentArea?.addEventListener('click', (e) => {
|
| 513 |
+
const card = e.target.closest('.dashboard-card[data-target-view]');
|
| 514 |
+
if (card) {
|
| 515 |
+
const targetView = card.dataset.targetView;
|
| 516 |
+
const initialTab = card.dataset.initialTab; // Get initial tab if specified
|
| 517 |
+
if (targetView) {
|
| 518 |
+
switchToView(targetView, initialTab);
|
| 519 |
+
}
|
| 520 |
+
}
|
| 521 |
+
});
|
| 522 |
+
|
| 523 |
+
|
| 524 |
+
// Example Flow Buttons (Header and Flow View)
|
| 525 |
+
showExampleFlowBtnHeader?.addEventListener('click', showExampleFlow);
|
| 526 |
+
showExampleFlowBtnFlowView?.addEventListener('click', showExampleFlow);
|
| 527 |
+
|
| 528 |
+
// Modal Close Listeners
|
| 529 |
+
closeExampleModalBtn?.addEventListener('click', () => exampleFlowModal.style.display = "none");
|
| 530 |
+
window.addEventListener('click', (event) => { if (event.target == exampleFlowModal) exampleFlowModal.style.display = "none"; });
|
| 531 |
+
closeDetailsModalBtn?.addEventListener('click', () => { detailsModal.style.display = "none"; clearSelection(); });
|
| 532 |
+
window.addEventListener('click', (event) => { if (event.target == detailsModal) { detailsModal.style.display = "none"; clearSelection(); } });
|
| 533 |
+
|
| 534 |
+
// Modal Next/Prev Button Listeners
|
| 535 |
+
prevDocBtn?.addEventListener('click', () => { if (currentDocListIndices.prev) displayDetailsInModal(currentDocListIndices.prev); });
|
| 536 |
+
nextDocBtn?.addEventListener('click', () => { if (currentDocListIndices.next) displayDetailsInModal(currentDocListIndices.next); });
|
| 537 |
+
|
| 538 |
+
|
| 539 |
+
// --- Initialization ---
|
| 540 |
+
document.addEventListener('DOMContentLoaded', async () => {
|
| 541 |
+
console.log("DOM Loaded. Fetching data...");
|
| 542 |
+
mainContentArea.innerHTML += '<div id="loadingSpinner" class="text-center p-10"><i class="lucide lucide-loader-2 animate-spin text-4xl text-blue-500"></i><p>Loading Data...</p></div>'; // Add loading spinner
|
| 543 |
+
|
| 544 |
+
try {
|
| 545 |
+
const response = await fetch('documents.json');
|
| 546 |
+
if (!response.ok) {
|
| 547 |
+
throw new Error(`HTTP error! status: ${response.status}`);
|
| 548 |
+
}
|
| 549 |
+
documentsData = await response.json();
|
| 550 |
+
console.log(`Successfully loaded ${documentsData.length} documents from documents.json`);
|
| 551 |
+
|
| 552 |
+
// Remove spinner and initialize UI
|
| 553 |
+
document.getElementById('loadingSpinner')?.remove();
|
| 554 |
+
switchToView('home'); // Start on the 'Home' view
|
| 555 |
+
|
| 556 |
+
} catch (error) {
|
| 557 |
+
console.error("Failed to load documents.json:", error);
|
| 558 |
+
document.getElementById('loadingSpinner')?.remove();
|
| 559 |
+
// Display error message more prominently
|
| 560 |
+
mainContentArea.innerHTML = `<div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative m-4" role="alert">
|
| 561 |
+
<strong class="font-bold">Error!</strong>
|
| 562 |
+
<span class="block sm:inline">Could not load document database (documents.json). Please ensure the file exists in the same folder and is valid JSON.</span>
|
| 563 |
+
<p class="text-xs mt-1">(${error.message})</p>
|
| 564 |
+
</div>`;
|
| 565 |
+
}
|
| 566 |
+
});
|