How saravananshanmugham/actioniq works
Purpose and Entry Points
This repository is a Python-based OCA case-analysis and report-generation system. It ingests customer/source spreadsheet data, applies controls and rules, prepares analysis datasets, and produces executive, HTML/table/chart, and PowerPoint outputs.
Likely top-level execution entry points are:
• OCAReport_Index.py — report orchestration/index workflow.
• ActionIQ.py — ActionIQ-facing or alternate execution workflow.
• OCA_Package/OCARuleEngine.py — primary rule-engine implementation.
Input, Controls, and Historical State
The workflow is spreadsheet-driven. Operational inputs are stored under Source_Files, while control workbooks define application-, customer-, and rating-specific behavior:
• Source_Files/Microsoft Data Log OCA 7.31.2026.xlsx
• Controls/ApplicationControls.xlsx
• Controls/CustomerSpecificControls.xlsx
• Controls/RatingControl.xlsx
Prior generated workbooks in Previous_Data_Files provide historical context and/or comparison state, including Previous_Data_Files/OCA_History.xlsx. Custom action-plan content is supplied separately through Custom_Action_Plan/OCA_Custom_Action_Plan.xlsx.
Preparation and Rule Evaluation
Data preparation is isolated from report rendering in:
• OCA_Package/OCAPrepsteps/Datapreparation.py
• OCA_Package/OCAFunctions/OCA_Functions.py
Prepared data is then evaluated by the rule layer:
• OCA_Package/OCARuleEngine.py
• OCA_Package/OCARuleEngine_V1.py
The parallel rule-engine versions indicate a compatibility, migration, or versioned business-rule boundary. Rule outputs likely determine ratings, findings, and recommended actions using the control workbooks rather than hard-coded report-only logic.
Analysis Presentation Components
Analysis results are transformed into report-ready tables and visualizations:
• OCA_Package/OCACaseTables/CaseAnalysisTable.py
• OCA_Package/OCACharts/Charts.py
• OCA_Package/HTMLTemplates/HTML_Functions.py
These components form the presentation boundary: upstream preparation/rules should provide structured findings, while table, chart, and HTML modules render those findings for their respective report formats. Shared styling is represented by Mandatory_Share/ocareport.css.
Report Assembly and Output Channels
The repository supports at least two formal report channels:
• Executive report generation: OCA_Package/OCAExecutiveReport/CreateExecutiveReport.py
• PowerPoint generation: OCA_Package/OCAPPTReport/OCA_PPT_Report.py
Generated PowerPoint artifacts are persisted in PPT_Report_Folder, for example PPT_Report_Folder/162194_Microsoft_Corporation_04062026_101053.pptx. Historical Excel outputs are retained in Previous_Data_Files, establishing filesystem-based output persistence rather than a database or remote service boundary.
Control Flow and Operational Boundaries
The principal flow is: source workbook + controls + optional custom action plan/history → data preparation → rule evaluation → case-analysis tables/charts/HTML → executive and PPT report generation → files written to output/history folders.
There is no evidence in the repository tree of a web runtime, API server, database, container platform, cloud infrastructure, or external SaaS dependency. The material runtime is Python with local filesystem and Excel/PowerPoint document processing. The notebook Case_Analysis_Report__Final_Draft_UAT.ipynb appears to support UAT or exploratory validation, not the primary production entry path.
Main entry points: OCARuleEngine.py Rule engine · Datapreparation.py Data preparation · CreateExecutiveReport.py Executive report · CaseAnalysisTable.py Case analysis tables
Components 20
Inputs & controls
- Source data workbook
Source_Files/Microsoft Data Log OCA 7.31.2026.xlsx - Control workbooks · Application, customer, and rating behavior.
Controls/ApplicationControls.xlsx - Customer controls
Controls/CustomerSpecificControls.xlsx - Rating controls
Controls/RatingControl.xlsx - Historical state · Prior output used for context or comparison.
Previous_Data_Files/OCA_History.xlsx - Custom action plan
Custom_Action_Plan/OCA_Custom_Action_Plan.xlsx
Analysis pipeline
- Report orchestration · Primary report workflow.
OCAReport_Index.py - ActionIQ workflow · Alternate execution workflow.
ActionIQ.py - Data preparation
OCA_Package/OCAPrepsteps/Datapreparation.py - Shared OCA functions
OCA_Package/OCAFunctions/OCA_Functions.py - Rule engine · Evaluates findings, ratings, and recommended actions.
OCA_Package/OCARuleEngine.py - Rule engine V1 · Versioned or compatibility rule path.
OCA_Package/OCARuleEngine_V1.py
Report rendering
- Case analysis tables
OCA_Package/OCACaseTables/CaseAnalysisTable.py - Charts
OCA_Package/OCACharts/Charts.py - HTML rendering
OCA_Package/HTMLTemplates/HTML_Functions.py - Report stylesheet
Mandatory_Share/ocareport.css - Executive report
OCA_Package/OCAExecutiveReport/CreateExecutiveReport.py - PowerPoint report
OCA_Package/OCAPPTReport/OCA_PPT_Report.py
Persisted outputs
- PowerPoint artifacts
PPT_Report_Folder/162194_Microsoft_Corporation_04062026_101053.pptx - Historical Excel outputs
Previous_Data_Files
Connections 23
- Report orchestration → Data preparation: orchestrates
- ActionIQ workflow → Data preparation: runs
- Source data workbook → Data preparation: ingests
- Historical state → Data preparation: context
- Data preparation → Shared OCA functions: uses
- Shared OCA functions → Rule engine: supports
- Data preparation → Rule engine: prepared data
- Control workbooks → Rule engine: application rules
- Customer controls → Rule engine: customer rules
- Rating controls → Rule engine: rating rules
- Custom action plan → Rule engine: action content
- Rule engine V1 → Rule engine: versioned alternative
- Rule engine → Case analysis tables: findings
- Rule engine → Charts: metrics
- Rule engine → HTML rendering: structured findings
- Report stylesheet → HTML rendering: styles
- Case analysis tables → Executive report: tables
- Charts → Executive report: visuals
- HTML rendering → Executive report: HTML content
- Case analysis tables → PowerPoint report: tables
- Charts → PowerPoint report: visuals
- PowerPoint report → PowerPoint artifacts: writes
- Executive report → Historical Excel outputs: retains history