{
  "record_type": "access_playbook",
  "manifest_version": "1.0.0",
  "semantic_id": "dk_cvr_access_playbook_v1",
  "dataset": "CentraleVirksomhedsregister",
  "dataset_alias": "CVR",
  "model_shape": {
    "normalization_level": "high",
    "interpretation": "CVR should be treated as a joinable entity graph with virksomhed as anchor"
  },
  "anchor_entity": {
    "name": "virksomhed",
    "primary_key": "CVREnhedsId"
  },
  "entity_groups": [
    {
      "group": "core_identity",
      "entities": ["virksomhed", "produktionsenhed"],
      "purpose": "business identity and establishments"
    },
    {
      "group": "governance_and_control",
      "entities": ["ledelse", "ledelserelation", "ejerforhold", "reelejerrelation", "kapitalforhold"],
      "purpose": "management and ownership structure"
    },
    {
      "group": "financial",
      "entities": ["regnskab", "revision", "revisorrelation"],
      "purpose": "accounts and audit context"
    },
    {
      "group": "addressing",
      "entities": ["cvradresse"],
      "purpose": "textual address that can be linked to DAR for geocoding"
    }
  ],
  "acquisition_decision_table": [
    {
      "mode": "graphql",
      "use_when": [
        "strict filters known upfront",
        "need selective fields only",
        "municipality or industry slice required"
      ],
      "notes": "prefer targeted extraction to reduce local join volume"
    },
    {
      "mode": "filedownload",
      "use_when": [
        "broad snapshot extraction",
        "no strict hard filters",
        "offline join pipeline available"
      ],
      "notes": "download entities separately and reconstruct analysis model via joins"
    }
  ],
  "join_plan": [
    {
      "step": 1,
      "action": "build_base",
      "entity": "virksomhed",
      "required_fields": ["CVREnhedsId", "registreringFra"],
      "output": "base_company_table"
    },
    {
      "step": 2,
      "action": "attach_relations",
      "entities": ["produktionsenhed", "ledelserelation", "ejerforhold", "regnskab"],
      "join_keys": ["CVREnhedsId"],
      "output": "enriched_company_table"
    },
    {
      "step": 3,
      "action": "geocode",
      "source_fields": ["CVRAdresse_vejnavn", "CVRAdresse_husnummerFra", "CVRAdresse_postnummer"],
      "target_dataset": "DAR",
      "output": "spatial_company_table"
    }
  ],
  "quality_gates": [
    "document whether active-status filter is applied",
    "record branch code system (DB25 default, DB07 mapping if needed)",
    "report address join match rate to DAR",
    "track duplicates introduced by one-to-many relation joins"
  ],
  "inherits_from": [
    "/assets/source-manifests/datafordeler/grunddata.common.temporal-superclass.v1.json",
    "/assets/source-manifests/datafordeler/grunddata.common.access-pattern.v1.json"
  ],
  "linked_manifests": [
    "/assets/source-manifests/datafordeler/cvr.source.manifest.v1.json",
    "/assets/source-manifests/datafordeler/cvr.codebook-resolution.policy.v1.json",
    "/assets/source-manifests/datafordeler/dar.source.manifest.v1.json",
    "/assets/source-manifests/datafordeler/datafordeler.platform.manifest.v1.json"
  ]
}
