Coverage Status
Coverage Status captures the current state of metamodel documentation for an organizational unit. It provides a point-in-time snapshot of how thoroughly domains have been modeled, enabling progress tracking and gap identification.
Schema Version: 2.1
Schema Location: /schemas/extensions/coverage-status.schema.json
Specification: JSON Schema Draft-07
Overview
What is Coverage Status?
Coverage Status records:
- Current coverage percentage — Overall and per-domain
- Completeness metrics — What's documented vs. what's expected
- Quality indicators — How well domains are documented
- Gap analysis — What's missing or incomplete
- Trend data — How coverage has changed over time
Coverage Calculation
Coverage % = (Documented Items /Required Items) × 100
Where:
- Documented Items = Attributes and elements with valid values
- Required Items = Attributes and elements marked required in template
Status Attributes
Core Attributes
| Attribute | Type | Required | Description |
|---|---|---|---|
statusID | string (UUID) | Yes | Unique identifier |
organizationUnit | reference | Yes | Unit being assessed |
templateReference | reference | Yes | Template used for assessment |
assessmentDate | date | Yes | When assessment was performed |
assessor | string | No | Who performed assessment |
Coverage Metrics
| Attribute | Type | Required | Description |
|---|---|---|---|
overallCoverage | number | Yes | Overall percentage (0-100) |
domainCoverage | array | Yes | Per-domain coverage details |
qualityScore | number | No | Documentation quality (0-100) |
completenessScore | number | No | Attribute completeness (0-100) |
Gap Analysis
| Attribute | Type | Required | Description |
|---|---|---|---|
gaps | array | No | Identified coverage gaps |
risks | array | No | Risks from coverage gaps |
recommendations | array | No | Suggested improvements |
Domain Coverage Detail
Each domain in the status includes detailed metrics:
{
"domainID": "capabilities",
"domainName": "Capabilities",
"coveragePercentage": 72,
"requirement": "required",
"targetCoverage": 90,
"variance": -18,
"status": "below-target",
"attributeMetrics": {
"total": 15,
"documented": 11,
"percentage": 73
},
"elementMetrics": {
"capabilityFunction": {"total": 45, "documented": 38, "percentage": 84},
"capabilityComponent": {"total": 120, "documented": 65, "percentage": 54}
},
"qualityIndicators": {
"descriptionQuality": "adequate",
"relationshipCompleteness": "partial",
"ownershipClarity": "good"
},
"lastUpdated": "2025-02-10"
}
Coverage Status Values
| Status | Criteria | Color Code |
|---|---|---|
exceeds-target | Coverage > target | Green |
meets-target | Coverage = target (±5%) | Green |
approaching-target | Coverage within 10% of target | Amber |
below-target | Coverage > 10% below target | Red |
not-started | Coverage = 0% | Grey |
Quality Indicators
| Indicator | Values | Description |
|---|---|---|
descriptionQuality | poor /adequate /good /excellent | How well entities are described |
relationshipCompleteness | none /partial /substantial /complete | Cross-domain links documented |
ownershipClarity | unclear /partial /clear | Accountability assignment |
temporalAccuracy | outdated /current /verified | Data freshness |
JSON Schema Definition
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://orthogramic.com/schemas/extensions/coverage-status.schema.json",
"title": "Coverage Status",
"description": "Current coverage state for an organizational unit",
"type": "object",
"required": ["statusID", "organizationUnit", "templateReference", "assessmentDate", "overallCoverage", "domainCoverage"],
"properties": {
"statusID": {
"type": "string",
"format": "uuid"
},
"organizationUnit": {
"type": "object",
"properties": {
"unitID": {"type": "string"},
"unitName": {"type": "string"}
},
"required": ["unitID"]
},
"templateReference": {
"type": "object",
"properties": {
"templateID": {"type": "string", "format": "uuid"},
"templateName": {"type": "string"}
},
"required": ["templateID"]
},
"assessmentDate": {
"type": "string",
"format": "date"
},
"assessor": {
"type": "string"
},
"overallCoverage": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"domainCoverage": {
"type": "array",
"items": {
"$ref": "#/$defs/domainCoverageDetail"
}
},
"qualityScore": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"completenessScore": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"gaps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"domainID": {"type": "string"},
"gapType": {"type": "string", "enum": ["missing-domain", "incomplete-attributes", "missing-elements", "stale-data", "quality-issue"]},
"description": {"type": "string"},
"severity": {"type": "string", "enum": ["critical", "high", "medium", "low"]},
"remediation": {"type": "string"}
}
}
},
"risks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"riskDescription": {"type": "string"},
"likelihood": {"type": "string", "enum": ["high", "medium", "low"]},
"impact": {"type": "string", "enum": ["high", "medium", "low"]},
"mitigationAction": {"type": "string"}
}
}
},
"recommendations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recommendation": {"type": "string"},
"priority": {"type": "string", "enum": ["high", "medium", "low"]},
"effort": {"type": "string", "enum": ["small", "medium", "large"]},
"expectedImpact": {"type": "string"}
}
}
},
"metadata": {
"type": "object",
"additionalProperties": true
}
},
"$defs": {
"domainCoverageDetail": {
"type": "object",
"required": ["domainID", "coveragePercentage"],
"properties": {
"domainID": {"type": "string"},
"domainName": {"type": "string"},
"coveragePercentage": {"type": "number", "minimum": 0, "maximum": 100},
"requirement": {"type": "string", "enum": ["required", "recommended", "optional", "excluded"]},
"targetCoverage": {"type": "number"},
"variance": {"type": "number"},
"status": {"type": "string", "enum": ["exceeds-target", "meets-target", "approaching-target", "below-target", "not-started"]},
"attributeMetrics": {
"type": "object",
"properties": {
"total": {"type": "integer"},
"documented": {"type": "integer"},
"percentage": {"type": "number"}
}
},
"elementMetrics": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"total": {"type": "integer"},
"documented": {"type": "integer"},
"percentage": {"type": "number"}
}
}
},
"qualityIndicators": {
"type": "object",
"properties": {
"descriptionQuality": {"type": "string"},
"relationshipCompleteness": {"type": "string"},
"ownershipClarity": {"type": "string"}
}
},
"lastUpdated": {"type": "string", "format": "date"}
}
}
}
}
Example
Retail Banking Coverage Status
{
"statusID": "status-001",
"organizationUnit": {
"unitID": "div-retail-banking",
"unitName": "Retail Banking Division"
},
"templateReference": {
"templateID": "tpl-002",
"templateName": "Financial Services Enterprise Coverage"
},
"assessmentDate": "2025-02-15",
"assessor": "Enterprise Architecture Team",
"overallCoverage": 58,
"qualityScore": 72,
"completenessScore": 65,
"domainCoverage": [
{
"domainID": "organization",
"domainName": "Organization",
"coveragePercentage": 85,
"requirement": "required",
"targetCoverage": 95,
"variance": -10,
"status": "approaching-target",
"attributeMetrics": {"total": 12, "documented": 10, "percentage": 83},
"qualityIndicators": {
"descriptionQuality": "good",
"relationshipCompleteness": "substantial",
"ownershipClarity": "clear"
},
"lastUpdated": "2025-02-01"
},
{
"domainID": "capabilities",
"domainName": "Capabilities",
"coveragePercentage": 72,
"requirement": "required",
"targetCoverage": 90,
"variance": -18,
"status": "below-target",
"attributeMetrics": {"total": 15, "documented": 11, "percentage": 73},
"elementMetrics": {
"capabilityFunction": {"total": 45, "documented": 38, "percentage": 84},
"capabilityComponent": {"total": 120, "documented": 65, "percentage": 54}
},
"qualityIndicators": {
"descriptionQuality": "adequate",
"relationshipCompleteness": "partial",
"ownershipClarity": "partial"
},
"lastUpdated": "2025-02-10"
},
{
"domainID": "risk-management",
"domainName": "Risk Management",
"coveragePercentage": 45,
"requirement": "required",
"targetCoverage": 95,
"variance": -50,
"status": "below-target",
"qualityIndicators": {
"descriptionQuality": "poor",
"relationshipCompleteness": "partial",
"ownershipClarity": "unclear"
},
"lastUpdated": "2025-01-20"
}
],
"gaps": [
{
"domainID": "risk-management",
"gapType": "incomplete-attributes",
"description": "Risk appetite and tolerance not documented for 60% of capabilities",
"severity": "critical",
"remediation": "Conduct risk assessment workshops with business owners"
},
{
"domainID": "capabilities",
"gapType": "missing-elements",
"description": "Capability components at L3 only 54% complete",
"severity": "high",
"remediation": "Engage domain SMEs to document detailed components"
}
],
"risks": [
{
"riskDescription": "Incomplete risk coverage may result in regulatory finding",
"likelihood": "medium",
"impact": "high",
"mitigationAction": "Prioritize risk domain completion before next audit"
}
],
"recommendations": [
{
"recommendation": "Focus next sprint on Risk Management domain",
"priority": "high",
"effort": "medium",
"expectedImpact": "Address critical coverage gap"
},
{
"recommendation": "Schedule capability component workshops",
"priority": "medium",
"effort": "medium",
"expectedImpact": "Improve L3 capability detail"
}
]
}
Coverage Dashboard Visualization
Usage Guidelines
Performing Assessments
- Use consistent methodology — Apply same criteria across assessments
- Document evidence — Record how coverage was calculated
- Assess quality, not just quantity — Completeness alone isn't enough
- Identify root causes — Why are gaps occurring?
- Prioritize remediation — Focus on highest-impact gaps
Assessment Frequency
| Scenario | Recommended Frequency |
|---|---|
| Active BA program | Monthly |
| Mature organization | Quarterly |
| Project milestone | At each gate |
| Annual review | Yearly comprehensive |
For Data Engineers
Coverage Status metrics map directly to OpenMetadata completeness scores. Consider creating automated assessments that calculate coverage based on data catalog population, enabling real-time tracking of business architecture documentation alongside data asset documentation.
Related Documentation
- Coverage Template — Define coverage requirements
- Organization Goal — Set coverage objectives
- Coverage Expectation — Define periodic targets