automapper-validation 0.1.63

AHB condition expression parsing, evaluation, and EDIFACT validation
Documentation
{
  "generated_at": "2026-04-22T18:06:18Z",
  "ahb_file": "UTILTS_AHB_1_1_20260401.xml",
  "format_version": "FV2610",
  "conditions": {
    "15": {
      "confidence": "medium",
      "reasoning": "Navigates SG5 groups to find IDE+24, then counts SG8 child instances where SEQ+Z37 and RFF+Z19 coexist with a matching Zeitraum-ID. 'Derselben Zeitraum-ID' is interpreted as: the identifier in SEQ elements[1][0] must equal the reference value in RFF C506 elements[0][1]. True if exactly one such paired SG8 is found. Element positions for the Zeitraum-ID in SEQ and RFF assume standard BDEW UTILTS structure (RFF+Z19:id → elements[0][1], SEQ+Z37+id → elements[1][0]) — no segment structure reference was provided to confirm.",
      "description_hash": "8066ca53",
      "is_external": false
    },
    "511": {
      "confidence": "high",
      "reasoning": "Condition text begins with 'Hinweis:' — it is a documentation annotation describing a uniqueness requirement, not an evaluable boolean predicate. Per convention, Hinweis conditions always return True unconditionally.",
      "description_hash": "0251f633",
      "is_external": false
    },
    "63": {
      "confidence": "high",
      "reasoning": "Whether the NAD+MR message recipient holds the NB (Netzbetreiber) market participant role cannot be determined from the EDIFACT message content alone. The NAD+MR segment identifies the party by its BDEW/ILN code, but role assignment requires a market participant role registry lookup that lives outside the message.",
      "description_hash": "28c43e5e",
      "is_external": true
    },
    "2005": {
      "confidence": "low",
      "reasoning": "The condition requires (1) exact element indices for DE9012 (Zeitraum-ID carrier) and DE9013 (status code A99) within the UTILTS FV2610 STS segment — no segment structure reference was provided to resolve these positions; (2) knowledge of which target segment type must be counted; and (3) a cross-SG5 cardinality check correlating that count against the number of qualifying Zeitraum-IDs. Without the segment structure reference the DE9012/DE9013 component positions are ambiguous, making a reliable implementation impossible.",
      "description_hash": "53f7b2fc",
      "is_external": false
    }
  }
}