adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
221 lines • 6.32 kB
TypeScript
/**
* Compliance Validation Service
*
* Comprehensive service for validating documents against compliance considerations
* and enterprise governance policies to ensure regulatory requirements are met.
*/
import { ProjectData, ComplianceStatus, DeviationSeverity, RiskLevel, Impact, Priority, ComplianceIssue, ComplianceRecommendation } from '../types/standardsCompliance.js';
export interface DocumentComplianceValidation {
documentId: string;
documentType: string;
content: string;
complianceScore: number;
complianceStatus: ComplianceStatus;
validationDate: Date;
issues: ComplianceIssue[];
recommendations: ComplianceRecommendation[];
governancePolicyCompliance: GovernancePolicyValidation;
regulatoryCompliance: RegulatoryComplianceValidation;
enterpriseStandardsCompliance: EnterpriseStandardsValidation;
}
export interface GovernancePolicyValidation {
overallCompliance: boolean;
policyChecks: PolicyCheck[];
missingPolicies: string[];
policyViolations: PolicyViolation[];
}
export interface PolicyCheck {
policyId: string;
policyName: string;
compliant: boolean;
severity: DeviationSeverity;
description: string;
evidence: string[];
}
export interface PolicyViolation {
violationId: string;
policyId: string;
severity: DeviationSeverity;
description: string;
impact: Impact;
remediation: string;
}
export interface RegulatoryComplianceValidation {
overallCompliance: boolean;
applicableRegulations: ApplicableRegulation[];
complianceGaps: ComplianceGap[];
riskAssessment: RegulatoryRiskAssessment;
}
export interface ApplicableRegulation {
regulationId: string;
name: string;
jurisdiction: string;
compliant: boolean;
requirements: RegulationRequirement[];
}
export interface RegulationRequirement {
requirementId: string;
description: string;
compliant: boolean;
evidence: string[];
gaps: string[];
}
export interface ComplianceGap {
gapId: string;
regulationId: string;
description: string;
severity: DeviationSeverity;
impact: Impact;
remediation: string;
timeline: string;
}
export interface RegulatoryRiskAssessment {
overallRisk: RiskLevel;
riskFactors: RiskFactor[];
mitigationStrategies: MitigationStrategy[];
}
export interface RiskFactor {
factorId: string;
description: string;
probability: number;
impact: Impact;
riskLevel: RiskLevel;
}
export interface MitigationStrategy {
strategyId: string;
description: string;
effectiveness: number;
implementationCost: number;
timeline: string;
}
export interface EnterpriseStandardsValidation {
overallCompliance: boolean;
standardsChecks: StandardCheck[];
deviations: StandardDeviation[];
improvementAreas: ImprovementArea[];
}
export interface StandardCheck {
standardId: string;
standardName: string;
category: string;
compliant: boolean;
score: number;
requirements: StandardRequirement[];
}
export interface StandardRequirement {
requirementId: string;
description: string;
compliant: boolean;
evidence: string[];
}
export interface StandardDeviation {
deviationId: string;
standardId: string;
description: string;
severity: DeviationSeverity;
justification: string;
approved: boolean;
}
export interface ImprovementArea {
areaId: string;
description: string;
priority: Priority;
recommendations: string[];
estimatedEffort: string;
}
export interface ComplianceValidationConfig {
enabledStandards: string[];
governancePolicies: GovernancePolicy[];
regulatoryFrameworks: RegulatoryFramework[];
enterpriseStandards: EnterpriseStandard[];
validationRules: ValidationRule[];
riskThresholds: RiskThreshold[];
}
export interface GovernancePolicy {
policyId: string;
name: string;
category: string;
mandatory: boolean;
requirements: string[];
validationCriteria: string[];
}
export interface RegulatoryFramework {
frameworkId: string;
name: string;
jurisdiction: string;
applicableIndustries: string[];
requirements: RegulationRequirement[];
}
export interface EnterpriseStandard {
standardId: string;
name: string;
category: string;
version: string;
requirements: StandardRequirement[];
}
export interface ValidationRule {
ruleId: string;
name: string;
category: string;
severity: DeviationSeverity;
condition: string;
action: string;
}
export interface RiskThreshold {
category: string;
low: number;
medium: number;
high: number;
critical: number;
}
/**
* Comprehensive Compliance Validation Service
*/
export declare class ComplianceValidationService {
private standardsEngine;
private pmbokValidator;
private iso15408Validator;
private config;
constructor(config: ComplianceValidationConfig);
/**
* Validate document compliance against all configured standards and policies
*/
validateDocumentCompliance(documentId: string, documentType: string, content: string, projectData?: ProjectData): Promise<DocumentComplianceValidation>;
/**
* Validate governance policies compliance
*/
private validateGovernancePolicies;
/**
* Validate regulatory compliance
*/
private validateRegulatoryCompliance;
/**
* Validate enterprise standards compliance
*/
private validateEnterpriseStandards;
/**
* Calculate overall compliance score
*/
private calculateOverallComplianceScore;
/**
* Determine compliance status based on score
*/
private determineComplianceStatus;
/**
* Generate compliance findings (issues and recommendations)
*/
private generateComplianceFindings;
private isPolicyApplicable;
private validatePolicy;
private getApplicableRegulatoryFrameworks;
private validateRegulation;
private assessRegulatoryRisk;
private isStandardApplicable;
private validateEnterpriseStandard;
private contentContainsRequirement;
/**
* Get default compliance validation configuration
*/
static getDefaultConfig(): ComplianceValidationConfig;
}
//# sourceMappingURL=ComplianceValidationService.d.ts.map