{
  "schema_version": 1,
  "backend": "rules",
  "generated_at": "2026-09-18 01:34:34 UTC",
  "provenance": {
    "data": ["pharmaversesdtm CDISC pilot", "pharmaverseadam CDISC pilot", "R Consortium pilot1 public define.xml and adsl.xpt"],
    "engine_md5": {
      "admiralagent/R/artifacts.R": "6218e50aaeaa971194f507782ca66ce8",
      "admiralagent/R/checks.R": "dab30ecf5e2170a750205ca5c2915d0e",
      "admiralagent/R/classify_llm.R": "4965cae3b2f63a4272a26516ce89309b",
      "admiralagent/R/classify_rules.R": "9cd727822d575e6ce05462ed8e9088d7",
      "admiralagent/R/codegen.R": "9c33c8d46a67017a63394fc74547ba6e",
      "admiralagent/R/dataset_json.R": "106ae7f521ab4b346c88108fd3fe7f6c",
      "admiralagent/R/define.R": "60a47fbd4cda7bf727d6d9d8720be781",
      "admiralagent/R/dependency.R": "7e72a1c0f4bd82c2774599454ea41fd6",
      "admiralagent/R/evals.R": "f2b231d4d2b6371b0381356dfb2ab747",
      "admiralagent/R/execute.R": "2d3585750f9533a9d0935fcd5c5e243f",
      "admiralagent/R/ir.R": "ea91df7600da052b7a48b857e91ebec9",
      "admiralagent/R/layers.R": "99950f2743b8a9eb7e962aea6d622653",
      "admiralagent/R/mcp.R": "31d7c6585c90a00204370ae898c0a44a",
      "admiralagent/R/metacore_lite.R": "0932f0b77c0d84921fe8fed441c12a14",
      "admiralagent/R/safety.R": "908cf07c362d696b4f6266cba2bd02e5",
      "admiralagent/R/spec.R": "6312bf1c318f73730dbf58f85d333178",
      "admiralagent/R/utils.R": "3abda293ed2bdb0854139e090bdb3b80",
      "admiralagent/demo/gen/accuracy_matrix.csv": "f1c0487adf42608f5ec8386dd730a47e",
      "admiralagent/demo/gen/define_real_matrix.csv": "7ccd01e28185460290e1dc6546fe3388"
    },
    "real_matrix_recomputed_equal": true,
    "packages": [
      {
        "name": "admiral",
        "version": "1.5.0.9011"
      },
      {
        "name": "pharmaversesdtm",
        "version": "1.5.0.9003"
      },
      {
        "name": "pharmaverseadam",
        "version": "1.3.0.9004"
      }
    ]
  },
  "layers": ["assign", "merge_var", "lookup_join", "impute_dtc", "dtm_to_dt", "duration", "date_shift", "compute_param", "summary_record", "extreme_flag", "codelist_var", "obs_number", "categorize", "compute_var"],
  "oracle": {
    "source": "pharmaverseadam::adsl",
    "metric": "date-only (as.Date), not datetime precision",
    "n": 306,
    "compared_nonmissing": 254,
    "full_match_pct": 83,
    "nonmissing_match_pct": 100,
    "na_agree_pct": 100
  },
  "cases": {
    "ideal": {
      "variable": "TRTSDTM",
      "spec_origin": "Date of first study treatment, imputed from DM RFSTDTC",
      "rationale": "rule: impute DM RFSTDTC directly (pilot ADSL convention)",
      "confidence": 1,
      "needs_human": false,
      "ir": {
        "dataset": "ADSL",
        "variable": "TRTSDTM",
        "steps": [
          {
            "layer": "impute_dtc",
            "args": {
              "target": "TRTSDTM",
              "dtc": "RFSTDTC",
              "output_class": "dtm",
              "highest_imputation": "M",
              "date_imputation": "first"
            }
          }
        ],
        "spec_origin": "Date of first study treatment, imputed from DM RFSTDTC",
        "confidence": 1,
        "needs_human": false,
        "rationale": "rule: impute DM RFSTDTC directly (pilot ADSL convention)"
      },
      "sentences": [
        {
          "id": "s1",
          "text": "Date of first study treatment, imputed from DM RFSTDTC"
        }
      ],
      "lines": [
        {
          "number": 1,
          "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
          "step": 0,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 2,
          "text": "# ---- TRTSDTM | step 1/1: impute_dtc ----",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 3,
          "text": "# Spec origin: \"Date of first study treatment, imputed from DM RFSTDTC\"",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 4,
          "text": "# Agent rationale: rule: impute DM RFSTDTC directly (pilot ADSL convention)",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 5,
          "text": "# Confidence: 1.00",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 6,
          "text": "# CHECK: *DTF/*TMF flags created by imputation; NA where nothing was imputed",
          "step": 1,
          "is_check": true,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 7,
          "text": "# CHECK: target variable must not be all-missing after the derivation",
          "step": 1,
          "is_check": true,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 8,
          "text": "ADSL <- ADSL |>",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 9,
          "text": "  admiral::derive_vars_dtm(",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 10,
          "text": "    new_vars_prefix = \"TRTS\",",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 11,
          "text": "    dtc = RFSTDTC,",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 12,
          "text": "    highest_imputation = \"M\",",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 13,
          "text": "    date_imputation = \"first\",",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 14,
          "text": "    flag_imputation = \"auto\"",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        },
        {
          "number": 15,
          "text": "  )",
          "step": 1,
          "is_check": false,
          "sentence_ids": [
            "s1"
          ]
        }
      ],
      "anchors": [
        {
          "code_line": 6,
          "step": 1,
          "sentence_ids": [
            "s1"
          ],
          "check": "*DTF/*TMF flags created by imputation; NA where nothing was imputed"
        },
        {
          "code_line": 7,
          "step": 1,
          "sentence_ids": [
            "s1"
          ],
          "check": "target variable must not be all-missing after the derivation"
        }
      ],
      "validation": [
        {
          "variable": "TRTSDTM",
          "check": "imputation_flag",
          "status": "PASS",
          "details": ""
        },
        {
          "variable": "TRTSDTM",
          "check": "not_all_na",
          "status": "PASS",
          "details": ""
        }
      ],
      "execution": [
        {
          "variable": "TRTSDTM",
          "status": "EXECUTED",
          "note": ""
        }
      ]
    },
    "gate": {
      "before": {
        "variable": "BMIBL",
        "spec_origin": "Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT",
        "rationale": "rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL",
        "confidence": 1,
        "needs_human": false,
        "ir": {
          "dataset": "ADSL",
          "variable": "BMIBL",
          "steps": [
            {
              "layer": "compute_param",
              "args": {
                "on": "vs",
                "paramcd": "BMI",
                "param": "Body Mass Index (kg/m2)",
                "avalu": "kg/m2",
                "parameters": ["WEIGHT", "HEIGHT"],
                "formula": "AVAL.WEIGHT / (AVAL.HEIGHT / 100)^2",
                "by_vars": ["STUDYID", "USUBJID"],
                "filter": "VISIT == 'BASELINE'"
              }
            },
            {
              "layer": "merge_var",
              "args": {
                "target": "BMIBL",
                "source": "AVAL",
                "dataset_add": "vs",
                "by_vars": ["STUDYID", "USUBJID"],
                "mode": "first",
                "filter": "PARAMCD == 'BMI'"
              }
            }
          ],
          "spec_origin": "Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT",
          "confidence": 1,
          "needs_human": false,
          "rationale": "rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL"
        },
        "sentences": [
          {
            "id": "s1",
            "text": "Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT"
          }
        ],
        "lines": [
          {
            "number": 1,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 2,
            "text": "# ---- BMIBL | step 1/2: compute_param ----",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 3,
            "text": "# Spec origin: \"Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT\"",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 4,
            "text": "# Agent rationale: rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 5,
            "text": "# Confidence: 1.00",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 6,
            "text": "# CHECK: target variable must not be all-missing after the derivation",
            "step": 1,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 7,
            "text": "vs <- vs |>",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 8,
            "text": "  admiral::derive_param_computed(",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 9,
            "text": "    by_vars = exprs(STUDYID, USUBJID),",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 10,
            "text": "    parameters = c(\"WEIGHT\", \"HEIGHT\"),",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 11,
            "text": "    set_values_to = exprs(AVAL = AVAL.WEIGHT / (AVAL.HEIGHT / 100)^2, PARAMCD = \"BMI\", PARAM = \"Body Mass Index (kg/m2)\", AVALU = \"kg/m2\"),",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 12,
            "text": "    filter = VISIT == 'BASELINE'",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 13,
            "text": "  )",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 14,
            "text": "",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 15,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 16,
            "text": "# ---- BMIBL | step 2/2: merge_var ----",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 17,
            "text": "# Spec origin: \"Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT\"",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 18,
            "text": "# Agent rationale: rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 19,
            "text": "# Confidence: 1.00",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 20,
            "text": "# CHECK: merge must not duplicate rows (one record per subject in ADSL)",
            "step": 2,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 21,
            "text": "# CHECK: target variable must not be all-missing after the derivation",
            "step": 2,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 22,
            "text": "# CHECK: no `order` specified; confirm exactly one record per by_vars after the filter (otherwise selection is nondeterministic)",
            "step": 2,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 23,
            "text": "ADSL <- ADSL |>",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 24,
            "text": "  admiral::derive_vars_merged(",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 25,
            "text": "    dataset_add = vs,",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 26,
            "text": "    by_vars = exprs(STUDYID, USUBJID),",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 27,
            "text": "    mode = \"first\",",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 28,
            "text": "    new_vars = exprs(BMIBL = AVAL),",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 29,
            "text": "    filter_add = PARAMCD == 'BMI'",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 30,
            "text": "  )",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          }
        ],
        "anchors": [
          {
            "code_line": 6,
            "step": 1,
            "sentence_ids": [
              "s1"
            ],
            "check": "target variable must not be all-missing after the derivation"
          },
          {
            "code_line": 20,
            "step": 2,
            "sentence_ids": [
              "s1"
            ],
            "check": "merge must not duplicate rows (one record per subject in ADSL)"
          },
          {
            "code_line": 21,
            "step": 2,
            "sentence_ids": [
              "s1"
            ],
            "check": "target variable must not be all-missing after the derivation"
          },
          {
            "code_line": 22,
            "step": 2,
            "sentence_ids": [
              "s1"
            ],
            "check": "no `order` specified; confirm exactly one record per by_vars after the filter (otherwise selection is nondeterministic)"
          }
        ],
        "validation": [
          {
            "variable": "BMIBL",
            "check": "not_all_na",
            "status": "FAIL",
            "details": "all values missing"
          },
          {
            "variable": "BMIBL",
            "check": "key_uniqueness",
            "status": "PASS",
            "details": ""
          }
        ],
        "execution": [
          {
            "variable": "BMIBL",
            "status": "EXECUTED",
            "note": ""
          }
        ]
      },
      "after": {
        "variable": "BMIBL",
        "spec_origin": "Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT",
        "rationale": "rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL",
        "confidence": 1,
        "needs_human": false,
        "ir": {
          "dataset": "ADSL",
          "variable": "BMIBL",
          "steps": [
            {
              "layer": "compute_param",
              "args": {
                "on": "vs",
                "paramcd": "BMI",
                "param": "Body Mass Index (kg/m2)",
                "avalu": "kg/m2",
                "parameters": ["WEIGHT", "HEIGHT"],
                "formula": "AVAL.WEIGHT / (AVAL.HEIGHT / 100)^2",
                "by_vars": ["STUDYID", "USUBJID"],
                "filter": "VISIT == 'SCREENING 1'"
              }
            },
            {
              "layer": "merge_var",
              "args": {
                "target": "BMIBL",
                "source": "AVAL",
                "dataset_add": "vs",
                "by_vars": ["STUDYID", "USUBJID"],
                "mode": "first",
                "filter": "PARAMCD == 'BMI'"
              }
            }
          ],
          "spec_origin": "Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT",
          "confidence": 1,
          "needs_human": false,
          "rationale": "rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL"
        },
        "sentences": [
          {
            "id": "s1",
            "text": "Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT"
          }
        ],
        "lines": [
          {
            "number": 1,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 2,
            "text": "# ---- BMIBL | step 1/2: compute_param ----",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 3,
            "text": "# Spec origin: \"Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT\"",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 4,
            "text": "# Agent rationale: rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 5,
            "text": "# Confidence: 1.00",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 6,
            "text": "# CHECK: target variable must not be all-missing after the derivation",
            "step": 1,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 7,
            "text": "vs <- vs |>",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 8,
            "text": "  admiral::derive_param_computed(",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 9,
            "text": "    by_vars = exprs(STUDYID, USUBJID),",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 10,
            "text": "    parameters = c(\"WEIGHT\", \"HEIGHT\"),",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 11,
            "text": "    set_values_to = exprs(AVAL = AVAL.WEIGHT / (AVAL.HEIGHT / 100)^2, PARAMCD = \"BMI\", PARAM = \"Body Mass Index (kg/m2)\", AVALU = \"kg/m2\"),",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 12,
            "text": "    filter = VISIT == 'SCREENING 1'",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 13,
            "text": "  )",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 14,
            "text": "",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 15,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 16,
            "text": "# ---- BMIBL | step 2/2: merge_var ----",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 17,
            "text": "# Spec origin: \"Body mass index at baseline = WEIGHT / (HEIGHT/100)^2 in kg/m2 from VS PARAMCD HEIGHT and WEIGHT\"",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 18,
            "text": "# Agent rationale: rule: BMI formula from WEIGHT/HEIGHT parameters, then merged to ADSL",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 19,
            "text": "# Confidence: 1.00",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 20,
            "text": "# CHECK: merge must not duplicate rows (one record per subject in ADSL)",
            "step": 2,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 21,
            "text": "# CHECK: target variable must not be all-missing after the derivation",
            "step": 2,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 22,
            "text": "# CHECK: no `order` specified; confirm exactly one record per by_vars after the filter (otherwise selection is nondeterministic)",
            "step": 2,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 23,
            "text": "ADSL <- ADSL |>",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 24,
            "text": "  admiral::derive_vars_merged(",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 25,
            "text": "    dataset_add = vs,",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 26,
            "text": "    by_vars = exprs(STUDYID, USUBJID),",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 27,
            "text": "    mode = \"first\",",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 28,
            "text": "    new_vars = exprs(BMIBL = AVAL),",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 29,
            "text": "    filter_add = PARAMCD == 'BMI'",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 30,
            "text": "  )",
            "step": 2,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          }
        ],
        "anchors": [
          {
            "code_line": 6,
            "step": 1,
            "sentence_ids": [
              "s1"
            ],
            "check": "target variable must not be all-missing after the derivation"
          },
          {
            "code_line": 20,
            "step": 2,
            "sentence_ids": [
              "s1"
            ],
            "check": "merge must not duplicate rows (one record per subject in ADSL)"
          },
          {
            "code_line": 21,
            "step": 2,
            "sentence_ids": [
              "s1"
            ],
            "check": "target variable must not be all-missing after the derivation"
          },
          {
            "code_line": 22,
            "step": 2,
            "sentence_ids": [
              "s1"
            ],
            "check": "no `order` specified; confirm exactly one record per by_vars after the filter (otherwise selection is nondeterministic)"
          }
        ],
        "validation": [
          {
            "variable": "BMIBL",
            "check": "not_all_na",
            "status": "PASS",
            "details": ""
          },
          {
            "variable": "BMIBL",
            "check": "key_uniqueness",
            "status": "PASS",
            "details": ""
          }
        ],
        "execution": [
          {
            "variable": "BMIBL",
            "status": "EXECUTED",
            "note": ""
          }
        ]
      },
      "changed_path": "steps[1].args.filter",
      "caveat": "SCREENING 1 is a reviewer assumption for this demonstration; PASS is not a clinical baseline endorsement."
    },
    "real": [
      {
        "variable": "TRT01P",
        "spec_origin": "DM.ARM",
        "rationale": "rule: predecessor copy from DM.ARM",
        "confidence": 1,
        "needs_human": false,
        "ir": {
          "dataset": "ADSL",
          "variable": "TRT01P",
          "steps": [
            {
              "layer": "assign",
              "args": {
                "target": "TRT01P",
                "from": "ARM"
              }
            }
          ],
          "spec_origin": "DM.ARM",
          "confidence": 1,
          "needs_human": false,
          "rationale": "rule: predecessor copy from DM.ARM"
        },
        "sentences": [
          {
            "id": "s1",
            "text": "DM.ARM"
          }
        ],
        "lines": [
          {
            "number": 1,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 2,
            "text": "# ---- TRT01P | step 1/1: assign ----",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 3,
            "text": "# Spec origin: \"DM.ARM\"",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 4,
            "text": "# Agent rationale: rule: predecessor copy from DM.ARM",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 5,
            "text": "# Confidence: 1.00",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 6,
            "text": "# CHECK: target variable must not be all-missing after the derivation",
            "step": 1,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 7,
            "text": "ADSL <- ADSL |>",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 8,
            "text": "  dplyr::mutate(TRT01P = ARM)",
            "step": 1,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          }
        ],
        "anchors": [
          {
            "code_line": 6,
            "step": 1,
            "sentence_ids": [
              "s1"
            ],
            "check": "target variable must not be all-missing after the derivation"
          }
        ],
        "validation": [
          {
            "variable": "TRT01P",
            "check": "not_all_na",
            "status": "PASS",
            "details": ""
          }
        ],
        "execution": [
          {
            "variable": "TRT01P",
            "status": "EXECUTED",
            "note": ""
          }
        ]
      },
      {
        "variable": "RACEN",
        "spec_origin": "Numeric code for RACE",
        "rationale": "rule: no matching pattern, routed to human review",
        "confidence": 1,
        "needs_human": true,
        "ir": {
          "dataset": "ADSL",
          "variable": "RACEN",
          "steps": [],
          "spec_origin": "Numeric code for RACE",
          "confidence": 1,
          "needs_human": true,
          "rationale": "rule: no matching pattern, routed to human review"
        },
        "sentences": [
          {
            "id": "s1",
            "text": "Numeric code for RACE"
          }
        ],
        "lines": [
          {
            "number": 1,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 2,
            "text": "# ---- RACEN | NEEDS HUMAN REVIEW ----",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 3,
            "text": "# Spec origin: \"Numeric code for RACE\"",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 4,
            "text": "# Rationale: rule: no matching pattern, routed to human review",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 5,
            "text": "# No code generated: this derivation requires a human decision.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 6,
            "text": "# CHECK: statistician decides rule, then reclassify or hand-write.",
            "step": 0,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          }
        ],
        "anchors": [
          {
            "code_line": 6,
            "step": 0,
            "sentence_ids": [
              "s1"
            ],
            "check": "statistician decides rule, then reclassify or hand-write."
          }
        ],
        "validation": [
          {
            "variable": "RACEN",
            "check": "needs_human",
            "status": "MANUAL",
            "details": "routed to human review"
          }
        ],
        "execution": [
          {
            "variable": "RACEN",
            "status": "REVIEW",
            "note": "needs human decision"
          }
        ]
      },
      {
        "variable": "SITEGR1",
        "spec_origin": "refer to SAP, Section 7.1 - if not pooled then SITEGR1=SITEID. If pooled, SITEGR1 will be 900",
        "rationale": "rule: no matching pattern, routed to human review",
        "confidence": 1,
        "needs_human": true,
        "ir": {
          "dataset": "ADSL",
          "variable": "SITEGR1",
          "steps": [],
          "spec_origin": "refer to SAP, Section 7.1 - if not pooled then SITEGR1=SITEID. If pooled, SITEGR1 will be 900",
          "confidence": 1,
          "needs_human": true,
          "rationale": "rule: no matching pattern, routed to human review"
        },
        "sentences": [
          {
            "id": "s1",
            "text": "refer to SAP, Section 7.1 - if not pooled then SITEGR1=SITEID."
          },
          {
            "id": "s2",
            "text": "If pooled, SITEGR1 will be 900"
          }
        ],
        "lines": [
          {
            "number": 1,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1",
              "s2"
            ]
          },
          {
            "number": 2,
            "text": "# ---- SITEGR1 | NEEDS HUMAN REVIEW ----",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1",
              "s2"
            ]
          },
          {
            "number": 3,
            "text": "# Spec origin: \"refer to SAP, Section 7.1 - if not pooled then SITEGR1=SITEID. If pooled, SITEGR1 will be 900\"",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1",
              "s2"
            ]
          },
          {
            "number": 4,
            "text": "# Rationale: rule: no matching pattern, routed to human review",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1",
              "s2"
            ]
          },
          {
            "number": 5,
            "text": "# No code generated: this derivation requires a human decision.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1",
              "s2"
            ]
          },
          {
            "number": 6,
            "text": "# CHECK: statistician decides rule, then reclassify or hand-write.",
            "step": 0,
            "is_check": true,
            "sentence_ids": [
              "s1",
              "s2"
            ]
          }
        ],
        "anchors": [
          {
            "code_line": 6,
            "step": 0,
            "sentence_ids": [
              "s1",
              "s2"
            ],
            "check": "statistician decides rule, then reclassify or hand-write."
          }
        ],
        "validation": [
          {
            "variable": "SITEGR1",
            "check": "needs_human",
            "status": "MANUAL",
            "details": "routed to human review"
          }
        ],
        "execution": [
          {
            "variable": "SITEGR1",
            "status": "REVIEW",
            "note": "needs human decision"
          }
        ]
      },
      {
        "variable": "TRTSDT",
        "spec_origin": "SV.SVSTDTC when SV.VISITNUM=3, converted to SAS date",
        "rationale": "rule: no matching pattern, routed to human review",
        "confidence": 1,
        "needs_human": true,
        "ir": {
          "dataset": "ADSL",
          "variable": "TRTSDT",
          "steps": [],
          "spec_origin": "SV.SVSTDTC when SV.VISITNUM=3, converted to SAS date",
          "confidence": 1,
          "needs_human": true,
          "rationale": "rule: no matching pattern, routed to human review"
        },
        "sentences": [
          {
            "id": "s1",
            "text": "SV.SVSTDTC when SV.VISITNUM=3, converted to SAS date"
          }
        ],
        "lines": [
          {
            "number": 1,
            "text": "# DISCLAIMER: DRAFT CODE - qualified human review required before use.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 2,
            "text": "# ---- TRTSDT | NEEDS HUMAN REVIEW ----",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 3,
            "text": "# Spec origin: \"SV.SVSTDTC when SV.VISITNUM=3, converted to SAS date\"",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 4,
            "text": "# Rationale: rule: no matching pattern, routed to human review",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 5,
            "text": "# No code generated: this derivation requires a human decision.",
            "step": 0,
            "is_check": false,
            "sentence_ids": [
              "s1"
            ]
          },
          {
            "number": 6,
            "text": "# CHECK: statistician decides rule, then reclassify or hand-write.",
            "step": 0,
            "is_check": true,
            "sentence_ids": [
              "s1"
            ]
          }
        ],
        "anchors": [
          {
            "code_line": 6,
            "step": 0,
            "sentence_ids": [
              "s1"
            ],
            "check": "statistician decides rule, then reclassify or hand-write."
          }
        ],
        "validation": [
          {
            "variable": "TRTSDT",
            "check": "needs_human",
            "status": "MANUAL",
            "details": "routed to human review"
          }
        ],
        "execution": [
          {
            "variable": "TRTSDT",
            "status": "REVIEW",
            "note": "needs human decision"
          }
        ]
      }
    ]
  },
  "accuracy_matrix": [
    {
      "variable": "STUDYID",
      "exec": "EXECUTED",
      "adam_match": "100.0%",
      "adam_na_agree": "100.0%",
      "adam_n": 306,
      "pilot1_match": "100.0%",
      "pilot1_n": 254,
      "note": " "
    },
    {
      "variable": "USUBJID",
      "exec": "EXECUTED",
      "adam_match": "100.0%",
      "adam_na_agree": "100.0%",
      "adam_n": 306,
      "pilot1_match": "83.0%",
      "pilot1_n": 306,
      "note": "set overlap set overlap"
    },
    {
      "variable": "TRT01P",
      "exec": "EXECUTED",
      "adam_match": "100.0%",
      "adam_na_agree": "100.0%",
      "adam_n": 306,
      "pilot1_match": "100.0%",
      "pilot1_n": 254,
      "note": " "
    },
    {
      "variable": "TRTSDTM",
      "exec": "EXECUTED",
      "adam_match": "83.0%",
      "adam_na_agree": "100.0%",
      "adam_n": 306,
      "pilot1_match": null,
      "pilot1_n": 0,
      "note": " not in oracle"
    },
    {
      "variable": "TRTEDTM",
      "exec": "EXECUTED",
      "adam_match": "39.5%",
      "adam_na_agree": "99.3%",
      "adam_n": 306,
      "pilot1_match": null,
      "pilot1_n": 0,
      "note": " not in oracle"
    },
    {
      "variable": "AGE",
      "exec": "ERROR",
      "adam_match": "100.0%",
      "adam_na_agree": "100.0%",
      "adam_n": 306,
      "pilot1_match": "100.0%",
      "pilot1_n": 254,
      "note": "derivation blocked (BRTHDT/TRTSDT gap); compared dm-native AGE"
    },
    {
      "variable": "BMIBL",
      "exec": "EXECUTED(revised)",
      "adam_match": null,
      "adam_na_agree": null,
      "adam_n": 0,
      "pilot1_match": "85.8%",
      "pilot1_n": 254,
      "note": "not in oracle tol 0.5 | mean|diff|=0.304"
    },
    {
      "variable": "AGEGR1",
      "exec": "REVIEW",
      "adam_match": null,
      "adam_na_agree": null,
      "adam_n": null,
      "pilot1_match": null,
      "pilot1_n": null,
      "note": "needs human (breakpoints)"
    },
    {
      "variable": "RACEN",
      "exec": "ERROR",
      "adam_match": null,
      "adam_na_agree": null,
      "adam_n": null,
      "pilot1_match": null,
      "pilot1_n": null,
      "note": "needs real metacore spec"
    }
  ],
  "define_real_matrix": [
    {
      "variable": "STUDYID",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "USUBJID",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 83,
      "na_agree_pct": 100,
      "n_compare": 306,
      "note": "set overlap (join key)"
    },
    {
      "variable": "SUBJID",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "SITEID",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "SITEGR1",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "ARM",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "TRT01P",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "TRT01PN",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "TRT01A",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "TRT01AN",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "TRTSDT",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "TRTEDT",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "TRTDURD",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "AVGDD",
      "type": "float",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "CUMDOSE",
      "type": "float",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "AGE",
      "type": "integer",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "num tol 0.5 | mean|diff|=0.000"
    },
    {
      "variable": "AGEGR1",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "AGEGR1N",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "AGEU",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "RACE",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "RACEN",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "SEX",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "ETHNIC",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "SAFFL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "ITTFL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "EFFFL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "COMP8FL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "COMP16FL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "COMP24FL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "DISCONFL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "DSRAEFL",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "DTHFL",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 1.2,
      "na_agree_pct": 1.2,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "BMIBL",
      "type": "float",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "BMIBLGR1",
      "type": "text",
      "exec": "ERROR",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "HEIGHTBL",
      "type": "float",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "WEIGHTBL",
      "type": "float",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "EDUCLVL",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "DISONSDT",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "DURDIS",
      "type": "float",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "DURDSGR1",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "VISIT1DT",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "RFSTDTC",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "RFENDTC",
      "type": "text",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "char exact"
    },
    {
      "variable": "VISNUMEN",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "RFENDT",
      "type": "integer",
      "exec": "EXECUTED",
      "in_generated": true,
      "oracle_match_pct": 100,
      "na_agree_pct": 100,
      "n_compare": 254,
      "note": "num tol 0.5 | mean|diff|=0.000"
    },
    {
      "variable": "DCDECOD",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "EOSSTT",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "DCSREAS",
      "type": "text",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    },
    {
      "variable": "MMSETOT",
      "type": "integer",
      "exec": "REVIEW",
      "in_generated": false,
      "oracle_match_pct": null,
      "na_agree_pct": null,
      "n_compare": 0,
      "note": "not in generated ADSL"
    }
  ]
}
