File size: 2,352 Bytes
359d26a
8602110
61f70f8
 
 
8602110
 
61f70f8
359d26a
61f70f8
359d26a
61f70f8
 
 
 
 
 
 
 
 
 
 
 
 
359d26a
61f70f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8602110
 
61f70f8
 
 
8602110
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# genesis/regulation.py
"""
Regulatory Intelligence Module for GENESIS-AI
Fetches or simulates biosafety, biosecurity, and biotechnology regulatory requirements
across major jurisdictions (US, EU, WHO guidelines, etc.).
"""

import logging

logging.basicConfig(level=logging.INFO)

def fetch_regulatory_info(topic: str, region: str = "global"):
    """
    Fetch biotechnology regulatory guidelines for a given topic.
    This is a placeholder using static logic β€” can be expanded with real APIs.
    
    Args:
        topic (str): The biotech topic (e.g., "CRISPR gene editing", "oncolytic viruses").
        region (str): Region or jurisdiction (e.g., "US", "EU", "WHO", "global").
    
    Returns:
        dict: Regulatory guidelines summary.
    """
    logging.info(f"[Regulation] Fetching regulatory info for topic '{topic}' in region '{region}'")

    base_guidelines = {
        "global": [
            "Follow WHO Laboratory Biosafety Manual (4th edition).",
            "Adhere to Cartagena Protocol on Biosafety for GMO handling.",
            "Implement dual-use research of concern (DURC) assessment."
        ],
        "US": [
            "Comply with NIH Guidelines for Research Involving Recombinant or Synthetic Nucleic Acid Molecules.",
            "Follow CDC/NIH Biosafety in Microbiological and Biomedical Laboratories (BMBL).",
            "Check FDA regulations for clinical trials (21 CFR)."
        ],
        "EU": [
            "Follow EU Directive 2009/41/EC on contained use of genetically modified micro-organisms.",
            "Adhere to EMA clinical trial regulations.",
            "Comply with GDPR for genetic data handling."
        ],
        "WHO": [
            "Adhere to WHO guidance on responsible life sciences research.",
            "Follow WHO pandemic preparedness frameworks."
        ]
    }

    # Select guidelines based on region
    guidelines = base_guidelines.get(region, base_guidelines["global"])

    # Example logic for special topics
    if "crispr" in topic.lower():
        guidelines.append("Ensure genome editing oversight by institutional ethics boards.")
    if "oncolytic" in topic.lower():
        guidelines.append("Comply with additional viral vector safety assessments.")

    return {
        "topic": topic,
        "region": region,
        "guidelines": guidelines
    }