Feature Specifications
Complete functional specification for every reporting and intelligence module in PIE.
Reporting & Analytics
PIE provides real-time operational intelligence through its Operational Dashboard, entity-specific explorer views, and AI-powered enrichment pipeline. Every data point flows through a structured pipeline from ingestion → normalization → enrichment → review.
1. Operational Dashboard
Overview
The central command view showing real-time counts and actionable intelligence across the entire asset graph.
Reporting Widgets
| Widget | Data Source | Update Frequency |
|---|---|---|
| Jurisdictions count | jurisdictions table | Real-time |
| Properties count | properties table | Real-time |
| Systems count | systems table | Real-time |
| Assets count | assets table | Real-time |
| Raw / Normalized Permits | raw_permits, normalized_permits | Real-time |
| Inspections count | inspections table | Real-time |
| Contractors count | contractors table | Real-time |
| Evidence Records | evidence_records table | Real-time |
| Findings count | findings table | Real-time |
| Open Obligations | obligations WHERE status='open' | Real-time |
| Insurance Signals | insurance_signals table | Real-time |
| Lifecycle Events | lifecycle_events table | Real-time |
| Pending Review | Entities with review_status='pending' or 'needs_review' | Real-time |
Actionable Panels
- Open Findings Panel — Shows count and prompt to navigate to Findings & Gaps view
- Open Obligations Panel — Shows count and prompt to navigate to Obligations view
- Recent Lifecycle Events — Chronological timeline of the 10 most recent lifecycle events with type badges, confidence scores, and review status
2. Permit Intelligence Pipeline
Permit Inbox
All permits flow into the Permit Inbox for review, normalization, and enrichment.
| Field | Type | Description |
|---|---|---|
| permit_number | Text | Jurisdiction-assigned permit identifier |
| normalized_address | Text | Standardized property address |
| permit_type | Enum | Mechanical, Electrical, Plumbing, Fire, Building, Demolition |
| permit_subtype | Text | Specific subtype (HVAC, Generator, Sprinkler, Elevator, etc.) |
| work_description | Text | Full description of permitted work — primary AI enrichment input |
| status | Enum | Filed → Plan Check → Approved → Issued → Final → Expired |
| valuation | Decimal | Declared project valuation in USD |
| contractor_name | Text | Licensed contractor performing the work |
| filed_date / issued_date | Date | Key lifecycle dates |
Search & Filter
- Full-text search across permit number, address, description, contractor
- Filter by permit type, status, date range
- Sort by filed date, valuation, status
3. AI Enrichment Engine
Enrichment Process
The AI Enrichment Engine uses Google Gemini 2.0 Flash to analyze permit work descriptions and produce structured intelligence.
Output Fields
| Output | Type | Description |
|---|---|---|
| summary | Text | AI-generated summary of the permitted work |
| systems_impacted | Array | Building systems affected (HVAC, electrical, controls, plumbing) |
| asset_classes | Array | Equipment types identified (chiller, VFD, piping, etc.) |
| lifecycle_event | Enum | replace, install, repair, upgrade, remove, inspect |
| criticality | Enum | low, medium, high, critical |
| compliance_domains | Array | Applicable compliance areas |
| insurance_relevance_score | 0-10 | Underwriting impact score |
| operational_relevance_score | 0-10 | Operational impact score |
| probable_existing_assets | Array | Assets likely already present at the property |
| probable_new_assets | Array | Assets being installed by this permit |
| reasoning | Text | AI explanation of its analysis and scoring rationale |
| model | Text | Gemini model version used |
| confidence | 0-100% | AI confidence in the enrichment |
4. Evidence & Findings Management
Evidence Explorer
Track all evidence records linked to properties and assets.
- Evidence Types: commissioning reports, test reports, certificates, photos, invoices, drawings, specifications, warranties
- Strength Scoring: strong / moderate / weak / pending
- Three-Axis Relevance: compliance, insurance, operational — each rated critical/high/medium/low/none
- Verification: AI confidence score + human verified checkbox
Findings & Gaps
Track deficiencies, code violations, observations, and evidence gaps.
- Finding Types: deficiency, code violation, observation, recommendation, evidence gap
- Severity Levels: low → medium → high → critical
- Domain Tracking: mechanical, electrical, fire, plumbing, structural, environmental
- Follow-up Workflow: due dates, obligation creation, status tracking
5. Insurance Signal Intelligence
Signal Types
↑ Positive Signals
- Equipment upgrades
- Capacity increases
- Major renovations
- Modernization projects
↓ Negative Signals
- Failed inspections
- Compliance gaps
- Deferred maintenance
- Emergency repairs
→ Needs Review
- AI-inferred relationships
- Low-confidence signals
- Ambiguous permit descriptions
- Multi-system impacts
Signal Data Model
- underwriting_direction: positive | negative | neutral | needs_review
- severity: low | medium | high | critical
- domain: mechanical | electrical | fire | plumbing | structural
- confidence: decimal 0-1 (AI confidence in the signal)
- human_verified: boolean — has a human analyst confirmed this signal?
- review_status: pending | needs_review | approved | rejected
6. Obligations & Market Targeting
Obligations Tracker
Track required follow-up actions generated from inspections, findings, and AI analysis.
- Types: correction, follow-up, testing, certification, reporting, remediation
- Priority: low → medium → high → critical
- Status Flow: open → in_progress → completed / overdue / waived
- Due Date Tracking: with overdue escalation
Market Targeting
Score properties for outreach priority based on permit activity, systems complexity, criticality, and insurance value.
- Permit Density Score (1-10)
- Systems Complexity Score (1-10)
- Criticality Score (1-10)
- Insurance Value Score (1-10)
- Operational Value Score (1-10)
- Data Center / Mission Critical Score (1-10)
- Outreach Priority Score (1-10)