File size: 7,675 Bytes
8ef276c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# division_hierarchy.py
"""
Mapping of specific divisions to parent departments
"""

# Parent Department IDs and Names
DEPARTMENTS = {
    "40000003": "Information Technology",
    "40000010": "Finance",
    "40000005": "Human Resources",
    "40000009": "Legal",
    "40000011": "Communication",
    "40000012": "Business Development",
    "40000004": "Strategic Planning",
    "40000245": "Project Studies",
    "40000246": "Market Studies",
    "40020002": "Services and Facilities",
    "40020003": "Purchasing and Contracts",
    "40000794": "Governance and Compliance",
    "40000638": "Credit Risk",
    "40000565": "Portfolio Management",
    "40000564": "Credit Relationship",
    "40020004": "Credit Control Division",
    "40000013": "Loans Support Division",
    "40000667": "Enterprise Risk Management",
    "40001089": "Audit Excellence Unit",
    "40000096": "Operations Audit Division",
    "40001088": "Credit Audit Division",
    "40000097": "IT Audit Division",
    "40000520": "Cyber Security Division",
    "40020001": "SIDF Academy",
    "40001188": "Corporate Excellence",
    "40000522": "CEO Advisory Office",
    "40000523": "Board Secretary",
    "40020005": "Chief of Staff Office",
    "40020000": "ILab",
    "40000488": "Secondment",
    "40001063": "Credit Analysis & Advisory Division",
    "40000089": "VP Office Credit",
}

# Mapping: Division Name -> (Department Name, Department ID)
DIVISION_TO_DEPARTMENT = {
    # FINANCE
    "General Accounting Division": ("Finance", "40000010"),
    "Accounts Payable Division": ("Finance", "40000010"),
    "Accounts Receivable Division": ("Finance", "40000010"),
    "Financial Reporting & Control Division": ("Finance", "40000010"),
    "Audit & Financial Analysis": ("Finance", "40000010"),

    # INFORMATION TECHNOLOGY
    "IT Governance & Quality Division": ("Information Technology", "40000003"),
    "Applications Development & Integrations": ("Information Technology", "40000003"),
    "IT Infrastructure & Operations Div.": ("Information Technology", "40000003"),
    "Applications Maintenance & Support Div.": ("Information Technology", "40000003"),
    "IT Security Implementation & Operations": ("Information Technology", "40000003"),
    "IT Manager's Office": ("Information Technology", "40000003"),
    "Enterprise Architecture Team": ("Information Technology", "40000003"),
    "Reporting & Data Analytics Unit": ("Information Technology", "40000003"),

    # HUMAN RESOURCES
    "Rewards & Hr Operations Division": ("Human Resources", "40000005"),
    "HR Business Partner": ("Human Resources", "40000005"),
    "Talent Development Division": ("Human Resources", "40000005"),
    "Od & Talent Acquisition Division": ("Human Resources", "40000005"),
    "Org.Culture & Initiatives Division": ("Human Resources", "40000005"),

    # LEGAL
    "Legal Agreements and Consultancy Division": ("Legal", "40000009"),
    "Contracts & Mortgages and Guarantees Division": ("Legal", "40000009"),
    "Cases Division": ("Legal", "40000009"),

    # COMMUNICATION
    "Public Relations & Media Division": ("Communication", "40000011"),
    "Internal Communication Unit": ("Communication", "40000011"),

    # BUSINESS DEVELOPMENT
    "Marketing Division": ("Business Development", "40000012"),
    "Partnerships Dev&Advisory Services Div": ("Business Development", "40000012"),

    # STRATEGIC PLANNING
    "Strategy Division": ("Strategic Planning", "40000004"),
    "Corporate Performance Division": ("Strategic Planning", "40000004"),
    "Knowledge Management Unit": ("Strategic Planning", "40000004"),

    # PROJECTS
    "Project Management Division": ("Project Studies", "40000245"),
    "Projects Consultancy Division": ("Project Studies", "40000245"),
    "Construction Consultancy Division": ("Project Studies", "40000245"),

    # MARKET RESEARCH
    "Market Research Div.": ("Market Studies", "40000246"),
    "Market Studies Division": ("Market Studies", "40000246"),
    "Business Intelligence Div.": ("Market Studies", "40000246"),

    # FACILITIES
    "Facilities Management Division": ("Services and Facilities", "40020002"),
    "Documents and Administrative Communications Center": ("Services and Facilities", "40020002"),
    "Security and Safety Division": ("Services and Facilities", "40020002"),
    "Industrial Safety & Loss Prevention Div": ("Services and Facilities", "40020002"),

    # PURCHASING
    "Procurements Contracts and Vendors Division": ("Purchasing and Contracts", "40020003"),
    "Purchasing Division": ("Purchasing and Contracts", "40020003"),

    # GOVERNANCE
    "Enterprise Governance Division": ("Governance and Compliance", "40000794"),
    "Compliance Regulatory Division": ("Governance and Compliance", "40000794"),
    "Compliance Operations Division": ("Governance and Compliance", "40000794"),
    "Operational Risk Management Division": ("Enterprise Risk Management", "40000667"),
    "Financial Risk Management Division": ("Enterprise Risk Management", "40000667"),
    "Cybersecurity Governance Unit": ("Cyber Security Division", "40000520"),
    "Cybersecurity Defense Unit": ("Cyber Security Division", "40000520"),

    # CREDIT
    "Credit Risk Division": ("Credit Risk", "40000638"),
    "Credit Relationships Division": ("Credit Relationship", "40000564"),
    "Credit Control Team - A": ("Credit Control Division", "40020004"),
    "Credit Control Team - B": ("Credit Control Division", "40020004"),
    "Collection Team": ("Credit Control Division", "40020004"),
    "Loan Follow-Up Team": ("Loans Support Division", "40000013"),
    "C&Lm Info Team": ("Credit Risk", "40000638"),

    # PORTFOLIO
    "Portfolio Manager'S Office": ("Portfolio Management", "40000565"),
    "Portfolio Division": ("Portfolio Management", "40000565"),
    "Special Assets Division": ("Portfolio Management", "40000565"),

    # EXCELLENCE
    "Programs Delivery Operations Division": ("Corporate Excellence", "40001188"),
    "Customer Excellence Division": ("Corporate Excellence", "40001188"),
    "Programs Design And Needs Assessment Division": ("Corporate Excellence", "40001188"),
    "Programs Evaluation & Quality Assurance Division": ("Corporate Excellence", "40001188"),
    "Product Dev For National Priorities Div": ("Corporate Excellence", "40001188"),
    "Product Dev For Customer Empowerment Div": ("Corporate Excellence", "40001188"),
    "Solutions & Design Division": ("Corporate Excellence", "40001188"),

    # AUDIT
    "Operations Audit Team": ("Operations Audit Division", "40000096"),

    # ACADEMY
    "Academy Strategic Partnerships Division": ("SIDF Academy", "40020001"),

    # EXECUTIVE
    "CEO Office": ("CEO Advisory Office", "40000522"),
}


def get_department(division_name: str) -> tuple:
    """
    Get the parent department for a division.

    Args:
        division_name: Name of the specific division

    Returns:
        Tuple of (department_name, department_id) or (None, None) if not found
    """
    return DIVISION_TO_DEPARTMENT.get(division_name, (None, None))


def get_department_name(division_name: str) -> str:
    """
    Get just the department name for a division.

    Args:
        division_name: Name of the specific division

    Returns:
        Department name or "Unknown" if not found
    """
    dept_name, _ = get_department(division_name)
    return dept_name or "Unknown"


def get_department_id(division_name: str) -> str:
    """
    Get just the department ID for a division.

    Args:
        division_name: Name of the specific division

    Returns:
        Department ID or None if not found
    """
    _, dept_id = get_department(division_name)
    return dept_id