{
  "module": "nweamap",
  "surface": "1edtech",
  "deliverable": "data_dictionary",
  "generated_at": "2026-06-15T23:37:06Z",
  "architecture_url": "https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/architecture",
  "benchmark_url": "https://platform3-24kpiksyo-andymontgomery-9773s-projects.vercel.app/data_dictionary",
  "source_workbook": "loop/nweamap/vendor/nwea/MAP_Export_Field_Descriptions.xlsx",
  "source_files": [
    "loop/nweamap/vendor/nwea/StudentsBySchool.csv",
    "loop/nweamap/vendor/nwea/AssessmentResults.csv",
    "loop/nweamap/vendor/nwea/ClassAssignments.csv",
    "loop/nweamap/vendor/nwea/ProgramAssignments.csv",
    "loop/nweamap/vendor/nwea/AccommodationAssignment.csv"
  ],
  "source_hash": "7f3e8a7b46de7168f24823f6e67fdabf0e9c10458e986297d762bdd9674bf7e6",
  "rules": [
    "NWEA CDF fields are pass-through authority from MAP_Export_Field_Descriptions.xlsx and the vendored CSV headers.",
    "Platform sidecar fields and projections are divergences/gap fills and must link to NITD-001 through NITD-018 when they define or bound behavior.",
    "NITD-018 is a boundary rule: no report-contract table, report-cell field, golden-cell oracle, Growth X, norms calculator table, Effective Grade, or Alpha report-specific RIT50/RIT90 field appears in this 1EdTech dictionary. R6 separately makes the PowerPath RIT-to-grade/R90 reference table/lookup NWEAMAP-owned portable MAP reference data.",
    "Student/teacher PII examples are synthetic and safe; local CSV sample values are not exposed."
  ],
  "source_metadata": {
    "StudentsBySchool.csv": {
      "csv_file": "StudentsBySchool.csv",
      "workbook_sheet": "StudentBySchool.csv",
      "row_count": 1124,
      "field_count": 16,
      "header": [
        "TermName",
        "DistrictName",
        "District_StateID",
        "SchoolName",
        "School_StateID",
        "StudentLastName",
        "StudentFirstName",
        "StudentMI",
        "StudentID",
        "Student_StateID",
        "StudentDateOfBirth",
        "StudentEthnicGroup",
        "NWEAStandard_EthnicGroup",
        "StudentGender",
        "Grade",
        "NWEAStandard_Grade"
      ]
    },
    "AssessmentResults.csv": {
      "csv_file": "AssessmentResults.csv",
      "workbook_sheet": "AssessmentResults.csv",
      "row_count": 3491,
      "field_count": 143,
      "header": [
        "TermName",
        "DistrictName",
        "District_StateID",
        "SchoolName",
        "School_StateID",
        "StudentID",
        "Student_StateID",
        "Subject",
        "Course",
        "GrowthMeasureYN",
        "NormsReferenceData",
        "WISelectedAYFall",
        "WISelectedAYWinter",
        "WISelectedAYSpring",
        "WIPreviousAYFall",
        "WIPreviousAYWinter",
        "WIPreviousAYSpring",
        "TestType",
        "TestName",
        "TestID",
        "TestStartDate",
        "TestStartTime",
        "TestDurationMinutes",
        "TestRITScore",
        "TestStandardError",
        "TestPercentile",
        "AchievementQuintile",
        "PercentCorrect",
        "RapidGuessingPercentage",
        "FallToFallProjectedGrowth",
        "FallToFallObservedGrowth",
        "FallToFallObservedGrowthSE",
        "FallToFallMetProjectedGrowth",
        "FallToFallConditionalGrowthIndex",
        "FallToFallConditionalGrowthPercentile",
        "FallToFallGrowthQuintile",
        "FallToWinterProjectedGrowth",
        "FallToWinterObservedGrowth",
        "FallToWinterObservedGrowthSE",
        "FallToWinterMetProjectedGrowth",
        "FallToWinterConditionalGrowthIndex",
        "FallToWinterConditionalGrowthPercentile",
        "FallToWinterGrowthQuintile",
        "FallToSpringProjectedGrowth",
        "FallToSpringObservedGrowth",
        "FallToSpringObservedGrowthSE",
        "FallToSpringMetProjectedGrowth",
        "FallToSpringConditionalGrowthIndex",
        "FallToSpringConditionalGrowthPercentile",
        "FallToSpringGrowthQuintile",
        "WinterToWinterProjectedGrowth",
        "WinterToWinterObservedGrowth",
        "WinterToWinterObservedGrowthSE",
        "WinterToWinterMetProjectedGrowth",
        "WinterToWinterConditionalGrowthIndex",
        "WinterToWinterConditionalGrowthPercentile",
        "WinterToWinterGrowthQuintile",
        "WinterToSpringProjectedGrowth",
        "WinterToSpringObservedGrowth",
        "WinterToSpringObservedGrowthSE",
        "WinterToSpringMetProjectedGrowth",
        "WinterToSpringConditionalGrowthIndex",
        "WinterToSpringConditionalGrowthPercentile",
        "WinterToSpringGrowthQuintile",
        "SpringToSpringProjectedGrowth",
        "SpringToSpringObservedGrowth",
        "SpringToSpringObservedGrowthSE",
        "SpringToSpringMetProjectedGrowth",
        "SpringToSpringConditionalGrowthIndex",
        "SpringToSpringConditionalGrowthPercentile",
        "SpringToSpringGrowthQuintile",
        "LexileScore",
        "LexileMin",
        "LexileMax",
        "QuantileScore",
        "QuantileMin",
        "QuantileMax",
        "Goal1Name",
        "Goal1RitScore",
        "Goal1StdErr",
        "Goal1Range",
        "Goal1Adjective",
        "Goal2Name",
        "Goal2RitScore",
        "Goal2StdErr",
        "Goal2Range",
        "Goal2Adjective",
        "Goal3Name",
        "Goal3RitScore",
        "Goal3StdErr",
        "Goal3Range",
        "Goal3Adjective",
        "Goal4Name",
        "Goal4RitScore",
        "Goal4StdErr",
        "Goal4Range",
        "Goal4Adjective",
        "Goal5Name",
        "Goal5RitScore",
        "Goal5StdErr",
        "Goal5Range",
        "Goal5Adjective",
        "Goal6Name",
        "Goal6RitScore",
        "Goal6StdErr",
        "Goal6Range",
        "Goal6Adjective",
        "Goal7Name",
        "Goal7RitScore",
        "Goal7StdErr",
        "Goal7Range",
        "Goal7Adjective",
        "Goal8Name",
        "Goal8RitScore",
        "Goal8StdErr",
        "Goal8Range",
        "Goal8Adjective",
        "TypicalFallToFallGrowth",
        "TypicalFallToWinterGrowth",
        "TypicalFallToSpringGrowth",
        "TypicalWinterToWinterGrowth",
        "TypicalWinterToSpringGrowth",
        "TypicalSpringToSpringGrowth",
        "ProjectedProficiencyStudy1",
        "ProjectedProficiencyLevel1",
        "ProjectedProficiencyStudy2",
        "ProjectedProficiencyLevel2",
        "ProjectedProficiencyStudy3",
        "ProjectedProficiencyLevel3",
        "ProjectedProficiencyStudy4",
        "ProjectedProficiencyLevel4",
        "ProjectedProficiencyStudy5",
        "ProjectedProficiencyLevel5",
        "ProjectedProficiencyStudy6",
        "ProjectedProficiencyLevel6",
        "ProjectedProficiencyStudy7",
        "ProjectedProficiencyLevel7",
        "ProjectedProficiencyStudy8",
        "ProjectedProficiencyLevel8",
        "ProjectedProficiencyStudy9",
        "ProjectedProficiencyLevel9",
        "ProjectedProficiencyStudy10",
        "ProjectedProficiencyLevel10"
      ]
    },
    "ClassAssignments.csv": {
      "csv_file": "ClassAssignments.csv",
      "workbook_sheet": "ClassAssignments.csv",
      "row_count": 1128,
      "field_count": 11,
      "header": [
        "TermName",
        "DistrictName",
        "District_StateID",
        "SchoolName",
        "School_StateID",
        "StudentID",
        "Student_StateID",
        "ClassName",
        "TeacherName",
        "TeacherID",
        "Teacher_StateID"
      ]
    },
    "ProgramAssignments.csv": {
      "csv_file": "ProgramAssignments.csv",
      "workbook_sheet": "ProgramAssignments.csv",
      "row_count": 0,
      "field_count": 5,
      "header": [
        "TermName",
        "StudentID",
        "Student_StateID",
        "Program",
        "NWEAStandard_Program"
      ]
    },
    "AccommodationAssignment.csv": {
      "csv_file": "AccommodationAssignment.csv",
      "workbook_sheet": "AccommodationAssignment.csv",
      "row_count": 1412,
      "field_count": 6,
      "header": [
        "TermName",
        "StudentID",
        "Student_StateID",
        "TestID",
        "AccommodationCategory",
        "Accommodation"
      ]
    }
  },
  "excluded_workbook_sheets": [
    {
      "sheet": "ComboStudentAssessment.csv",
      "reason": "NWEA documents this as the Combined export. The approved NWEAMap 1EdTech raw mirror commits to the five Comprehensive export files only, so this sheet is cited as source context but is not persisted as a raw table.",
      "itd": "nitd-001-mirror-export"
    }
  ],
  "test_of_record_contract": {
    "endpoint": "GET /nweamap/v1/assessment-results?sittingScope=test_of_record",
    "object": "nweamap.assessment_result_projection",
    "grouping_key": [
      "tenant_id",
      "nwea_account_id",
      "student_id",
      "subject",
      "term_name"
    ],
    "selector": [
      "Exclude soft-deleted rows from test_of_record.",
      "Exclude rows whose TestRITScore is not numeric MAP RIT from 100 through 350.",
      "Within each grouping key, choose the highest valid TestRITScore.",
      "Break equal-RIT ties by later parsed TestStartDate/TestStartTime.",
      "Break remaining ties by larger TestID for determinism.",
      "Preserve NWEA GrowthMeasureYN as audit evidence; it does not override the highest-RIT rule."
    ],
    "migration_minimum": [
      "Create one raw AssessmentResults mirror row per source CSV row plus the common platform sidecar fields.",
      "Create one projection row per raw AssessmentResults row with is_test_of_record, test_of_record_rank, and test_of_record_reason.",
      "Enforce at most one active is_test_of_record=true row per tenant/account/student/subject/term grouping.",
      "Expose sittingScope=test_of_record through the API so client agents do not re-implement dedupe."
    ],
    "itds": [
      "nitd-002-single-result-view",
      "nitd-003-test-of-record-highest-rit",
      "nitd-004-soft-delete",
      "nitd-005-sitting-scope-parameter"
    ]
  },
  "report_oracle_boundary": {
    "source_itd": "nitd-018-report-oracle-boundary",
    "commitment_name": "nweamap_report_oracle_boundary",
    "chosen": "DEFER report-oracle, report-contract, golden-cell, and report-verification primitives on the 1EdTech surface; exact MAP Quadrants report cells, norms=2020|2025 verification, Growth X, Alpha report-specific RIT50/RIT90/Effective Grade assembly, and Alpha report graphs belong to the Alpha surface. R6 carves out the module-owned PowerPath RIT-to-grade reference table/lookup as NWEAMAP-owned portable MAP reference data, not a report oracle. Any skill-pack eval asking 1edtech/skill_pack to regenerate Alpha reports must move to alpha/skill_pack",
    "not_shipped": [
      {
        "name": "exact report-contract boundary",
        "meaning": "No 1EdTech table, field, or endpoint defines exact MAP Quadrants report families, report cells, or canonical report filters."
      },
      {
        "name": "golden-cell boundary",
        "meaning": "No 1EdTech persistence object stores expected report-cell values or a report-verification oracle."
      },
      {
        "name": "Alpha outcome-metric boundary",
        "meaning": "No Growth X field is defined on the 1EdTech surface; that Alpha outcome metric must be pinned on the Alpha surface before use."
      },
      {
        "name": "Alpha RIT-derived boundary",
        "meaning": "No Alpha report-specific RIT50/RIT90/Effective Grade, Alpha minimum RIT, or Alpha predicted RIT field is defined here; the R6 PowerPath RIT-to-grade/R90 reference table/lookup is NWEAMAP-owned portable MAP reference data, not report assembly."
      },
      {
        "name": "norms-calculation boundary",
        "meaning": "No local norms table or term-string parser is part of the 1EdTech data dictionary; NWEA NormsReferenceData is preserved only as a pass-through value."
      }
    ],
    "allowed_1edtech_work": [
      "CDF import and idempotent read-back.",
      "Raw all-sittings reads, including soft-deleted rows when requested.",
      "Current test-of-record projection through sittingScope=test_of_record.",
      "Source-fidelity, header-parity, row-count, and import validation evidence.",
      "Module-owned PowerPath RIT-to-grade/R90 reference table and lookup through /nweamap/v1/rit-to-grade*; /nweamap/v1/r90* remains a compatibility alias."
    ],
    "alpha_route": "Requests for MAP Quadrants exact report regeneration, Growth X, Alpha report-specific RIT50/RIT90/Effective Grade assembly, norms-flipped golden cells, or report graphs route to Alpha architecture; observed RIT-to-grade/R90 reference lookup routes to NWEAMAP.",
    "publish_in_doc": "https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/architecture/#nitd-018-report-oracle-boundary"
  },
  "tables": [
    {
      "id": "import",
      "name": "nweamap.import",
      "title": "CDF import bundle",
      "kind": "platform table",
      "endpoint": "POST /nweamap/v1/imports and GET /nweamap/v1/imports/{importId}",
      "description": "One submitted Comprehensive Data File bundle for one tenant, NWEA account, and term.",
      "lifecycle": "Received, validated, applied, failed, or no-op through idempotency replay. Import rows are audit evidence and are not deleted through the public surface.",
      "relationships": [
        "Parent of import_file and every raw CDF row written by the bundle.",
        "References platform.idempotency_key when an Idempotency-Key was supplied."
      ],
      "itds": [
        "nitd-001-mirror-export",
        "nitd-010-axis-idempotency-model",
        "nitd-013-axis-error-envelope",
        "nitd-014-axis-tenant-routing",
        "nitd-015-axis-conformance-evidence"
      ],
      "fields": [
        {
          "name": "import_id",
          "anchor": "field-import-import-id",
          "origin": "Platform gap-fill",
          "description": "Stable identifier for one submitted CDF bundle.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within nweamap.import."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "tenant_id",
          "anchor": "field-import-tenant-id",
          "origin": "Platform gap-fill",
          "description": "Platform tenant boundary for this import.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must match JWT tenantId.",
            "References platform.tenant(tenant_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "nwea_account_id",
          "anchor": "field-import-nwea-account-id",
          "origin": "Platform gap-fill",
          "description": "Tenant-local NWEA account represented by the submitted bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Required for every import and read-back filter."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nwea-account-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "term_name",
          "anchor": "field-import-term-name",
          "origin": "Platform gap-fill",
          "description": "NWEA TermName scope for the submitted CDF bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must equal the TermName represented by file rows when rows are present.",
            "Header-only optional files inherit this manifest term."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "Spring 2025-2026",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "status",
          "anchor": "field-import-status",
          "origin": "Platform gap-fill",
          "description": "Import lifecycle state.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the documented import status values."
          ],
          "allowed_values": [
            {
              "value": "received",
              "meaning": "Bundle accepted and queued for validation."
            },
            {
              "value": "validating",
              "meaning": "Headers and row values are being checked."
            },
            {
              "value": "applied",
              "meaning": "Rows were written and projections updated."
            },
            {
              "value": "failed",
              "meaning": "Import failed; row/file Problems identify the repair work."
            },
            {
              "value": "no_op",
              "meaning": "Equivalent bundle was already applied for the same tenant/account/term."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "applied",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-013-axis-error-envelope",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "bundle_hash",
          "anchor": "field-import-bundle-hash",
          "origin": "Platform gap-fill",
          "description": "Canonical hash of file names, headers, row order, and row content for the bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Used with tenant_id, nwea_account_id, and term_name for idempotent re-import."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "sha256:2d3f6b4e8c1a0f9b7e6d5c4b3a291807060504030201000ffeeddbbccaa9988",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-010-axis-idempotency-model"
          ],
          "stats": null
        },
        {
          "name": "idempotency_key",
          "anchor": "field-import-idempotency-key",
          "origin": "Platform gap-fill",
          "description": "Optional caller-provided Idempotency-Key stored in the platform retry ledger.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "If reused with different bundle content, API returns 409."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "import-2026-06-03-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-010-axis-idempotency-model"
          ],
          "stats": null
        },
        {
          "name": "row_counts",
          "anchor": "field-import-row-counts",
          "origin": "Platform gap-fill",
          "description": "Per-file row counts observed during validation and application.",
          "nwea_type": "JSONB",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must contain one key per submitted CDF file.",
            "ProgramAssignments.csv can validly be zero."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "{\"AssessmentResults.csv\":3491}",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "problem_summary",
          "anchor": "field-import-problem-summary",
          "origin": "Platform gap-fill",
          "description": "Redacted import-level validation summary for failed or partially rejected bundles.",
          "nwea_type": "JSONB",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Must not include raw student names, student IDs, or full row payloads."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "{\"code\":\"nweamap:header_mismatch\"}",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-013-axis-error-envelope",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "received_at",
          "anchor": "field-import-received-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the bundle arrived.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "UTC timestamp."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        },
        {
          "name": "applied_at",
          "anchor": "field-import-applied-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when rows and projections finished applying.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Null until status is applied or no_op."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-import-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when import status or summary last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Powers modifiedSince polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        }
      ]
    },
    {
      "id": "import_file",
      "name": "nweamap.import_file",
      "title": "CDF import file evidence",
      "kind": "platform table",
      "endpoint": "GET /nweamap/v1/imports/{importId}",
      "description": "Header, row-count, and validation evidence for one file inside an import bundle.",
      "lifecycle": "Created during validation before raw rows are applied; retained as conformance evidence.",
      "relationships": [
        "Child of nweamap.import.",
        "Parent of raw CDF rows through import_file_id."
      ],
      "itds": [
        "nitd-001-mirror-export",
        "nitd-013-axis-error-envelope",
        "nitd-015-axis-conformance-evidence"
      ],
      "fields": [
        {
          "name": "import_file_id",
          "anchor": "field-import_file-import-file-id",
          "origin": "Platform gap-fill",
          "description": "Stable identifier for one file inside an import bundle.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within nweamap.import_file."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "import_id",
          "anchor": "field-import_file-import-id",
          "origin": "Platform gap-fill",
          "description": "Parent import bundle.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import(import_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "source_file",
          "anchor": "field-import_file-source-file",
          "origin": "Platform gap-fill",
          "description": "CDF file name.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the five Comprehensive Data File names."
          ],
          "allowed_values": [
            {
              "value": "StudentsBySchool.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AssessmentResults.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ClassAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ProgramAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AccommodationAssignment.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "StudentsBySchool.csv",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "header_hash",
          "anchor": "field-import_file-header-hash",
          "origin": "Platform gap-fill",
          "description": "Canonical hash of the submitted file header.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Compared to the vendored NWEA workbook/CSV header contract."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "sha256:2d3f6b4e8c1a0f9b7e6d5c4b3a291807060504030201000ffeeddbbccaa9988",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "row_count",
          "anchor": "field-import_file-row-count",
          "origin": "Platform gap-fill",
          "description": "Number of data rows in the file, excluding the header.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be >= 0.",
            "Zero is valid for ProgramAssignments.csv."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "1124",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "validation_status",
          "anchor": "field-import_file-validation-status",
          "origin": "Platform gap-fill",
          "description": "File-level validation state.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the documented validation statuses."
          ],
          "allowed_values": [
            {
              "value": "pending",
              "meaning": "File has not completed validation."
            },
            {
              "value": "valid",
              "meaning": "Header and rows passed validation."
            },
            {
              "value": "invalid",
              "meaning": "File failed header or row validation."
            },
            {
              "value": "missing",
              "meaning": "Required file was not present in the submitted bundle."
            },
            {
              "value": "empty_valid",
              "meaning": "Optional file was present with a correct header and zero data rows."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "valid",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-013-axis-error-envelope",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_header",
          "anchor": "field-import_file-source-header",
          "origin": "Platform gap-fill",
          "description": "Ordered array of submitted column headers.",
          "nwea_type": "JSONB",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must preserve header order exactly."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "[\"TermName\",\"StudentID\"]",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "field_error_count",
          "anchor": "field-import_file-field-error-count",
          "origin": "Platform gap-fill",
          "description": "Number of field-level validation errors found in this file.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be >= 0."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "0",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-013-axis-error-envelope"
          ],
          "stats": null
        },
        {
          "name": "created_at",
          "anchor": "field-import_file-created-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the file record was created.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "UTC timestamp."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-import_file-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when validation status last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Powers modifiedSince polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model"
          ],
          "stats": null
        }
      ]
    },
    {
      "id": "raw_students_by_school",
      "name": "nweamap.raw_students_by_school",
      "title": "Students by school raw CDF rows",
      "kind": "NWEA pass-through raw table",
      "csv_file": "StudentsBySchool.csv",
      "workbook_sheet": "StudentBySchool.csv",
      "endpoint": "GET /nweamap/v1/students",
      "description": "Lossless mirror of NWEA student-by-school rows for one tenant, NWEA account, term, and import.",
      "lifecycle": "Created by bulk CDF import; soft-deleted when a replacement export for the same scope stops sending the row; never hard-deleted by the public surface.",
      "relationships": [
        "StudentID and Student_StateID connect to assessment, class, program, and accommodation rows when NWEA supplied them.",
        "tenant_id and nwea_account_id scope every row before any student identifier is interpreted."
      ],
      "itds": [
        "nitd-000-source-contract",
        "nitd-001-mirror-export",
        "nitd-014-axis-tenant-routing",
        "nitd-016-axis-privacy-retention",
        "nitd-017-axis-list-endpoints"
      ],
      "sidecar_fields": [
        {
          "name": "row_id",
          "anchor": "field-raw_students_by_school-row-id",
          "origin": "Platform gap-fill",
          "description": "Stable row identifier assigned by the platform for this mirrored CDF row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within this table.",
            "Never derived from student identity or NWEA row text."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "tenant_id",
          "anchor": "field-raw_students_by_school-tenant-id",
          "origin": "Platform gap-fill",
          "description": "Platform tenant boundary from the verified JWT; this is the authorization scope for the row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must match the caller's JWT tenantId for writes and reads.",
            "References platform.tenant(tenant_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Belongs to exactly one platform.tenant row."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "nwea_account_id",
          "anchor": "field-raw_students_by_school-nwea-account-id",
          "origin": "Platform gap-fill",
          "description": "Tenant-local NWEA account partition for the imported bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Required for imports and list filters.",
            "Not globally unique outside tenant_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nwea-account-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "import_id",
          "anchor": "field-raw_students_by_school-import-id",
          "origin": "Platform gap-fill",
          "description": "Import bundle that created or last refreshed this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import(import_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import bundle."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model"
          ],
          "stats": null
        },
        {
          "name": "import_file_id",
          "anchor": "field-raw_students_by_school-import-file-id",
          "origin": "Platform gap-fill",
          "description": "Import-file record for the CDF file that carried this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import_file(import_file_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import file."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_file",
          "anchor": "field-raw_students_by_school-source-file",
          "origin": "Platform gap-fill",
          "description": "Exact CDF file name whose header and row content produced this row.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the five Comprehensive Data File names."
          ],
          "allowed_values": [
            {
              "value": "StudentsBySchool.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AssessmentResults.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ClassAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ProgramAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AccommodationAssignment.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "AssessmentResults.csv",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "source_row_number",
          "anchor": "field-raw_students_by_school-source-row-number",
          "origin": "Platform gap-fill",
          "description": "One-based data-row number inside the CDF file, excluding the header.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be >= 1.",
            "Stable only within the import_file_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "42",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_row_hash",
          "anchor": "field-raw_students_by_school-source-row-hash",
          "origin": "Platform gap-fill",
          "description": "Canonical hash of the source-file name, header position, and row values used for idempotent re-import and missing-row detection.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "SHA-256 hex or sha256-prefixed digest.",
            "Same row content in the same file scope must produce the same hash."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "sha256:2d3f6b4e8c1a0f9b7e6d5c4b3a291807060504030201000ffeeddbbccaa9988",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "ingested_at",
          "anchor": "field-raw_students_by_school-ingested-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the platform accepted this row into tenant-scoped persistence.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Used for audit and modifiedSince behavior."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-raw_students_by_school-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the row or its deletion/projection state last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Must be greater than or equal to ingested_at.",
            "Powers modifiedSince polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        },
        {
          "name": "deleted_at",
          "anchor": "field-raw_students_by_school-deleted-at",
          "origin": "Platform gap-fill",
          "description": "Soft-delete timestamp set when a replacement authoritative export stops sending this source row.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Null means active.",
            "Non-null rows are excluded from test_of_record."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [
            "Soft delete is retention evidence, not a legal erasure API."
          ],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "deleted_by_import_id",
          "anchor": "field-raw_students_by_school-deleted-by-import-id",
          "origin": "Platform gap-fill",
          "description": "Replacement import that caused this row to be marked deleted.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "References nweamap.import(import_id) when present."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "delete_reason",
          "anchor": "field-raw_students_by_school-delete-reason",
          "origin": "Platform gap-fill",
          "description": "Platform explanation for why the row disappeared from a later authoritative export, when inferable.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Must be null or one of the documented delete_reason values."
          ],
          "allowed_values": [
            {
              "value": "missing_from_replacement_export",
              "meaning": "A later authoritative export for the same scope stopped sending the row."
            },
            {
              "value": "retake_superseded",
              "meaning": "Import evidence indicates the row was replaced by a retake."
            },
            {
              "value": "invalidated_or_suppressed_by_nwea",
              "meaning": "Import evidence indicates NWEA invalidated or suppressed the sitting."
            },
            {
              "value": "unknown",
              "meaning": "The row disappeared but the specific reason was not inferable."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "missing_from_replacement_export",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete"
          ],
          "stats": null
        }
      ],
      "nwea_fields": [
        {
          "name": "TermName",
          "anchor": "field-raw_students_by_school-termname",
          "position": 1,
          "origin": "NWEA pass-through",
          "description": "Term chosen for the export.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Term scope is paired with tenant_id and nwea_account_id; term strings are pass-through NWEA values, not parsed by client skill packs."
          ],
          "edge_cases": [],
          "example": "Spring 2025-2026",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 1",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "DistrictName",
          "anchor": "field-raw_students_by_school-districtname",
          "position": 2,
          "origin": "NWEA pass-through",
          "description": "Name defined in your MAP preferences.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Reconciliation field from NWEA/MAP preferences; not canonical tenant routing."
          ],
          "edge_cases": [],
          "example": "Example District",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 2",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "District_StateID",
          "anchor": "field-raw_students_by_school-district-stateid",
          "position": 3,
          "origin": "NWEA pass-through",
          "description": "District code you have set in MAP preferences.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1124 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example District",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 3",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 1124,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "SchoolName",
          "anchor": "field-raw_students_by_school-schoolname",
          "position": 4,
          "origin": "NWEA pass-through",
          "description": "Name defined in your MAP preferences. If a student has multiple schools, this is the student's School of Record.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "NWEA school-of-record label; not canonical tenant routing."
          ],
          "edge_cases": [],
          "example": "Example School",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 4",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 29,
            "observed_values": []
          }
        },
        {
          "name": "School_StateID",
          "anchor": "field-raw_students_by_school-school-stateid",
          "position": 5,
          "origin": "NWEA pass-through",
          "description": "State code for the school associated with the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1124 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example School",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 5",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 1124,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "StudentLastName",
          "anchor": "field-raw_students_by_school-studentlastname",
          "position": 6,
          "origin": "NWEA pass-through",
          "description": "Name in student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 6",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 699,
            "observed_values": []
          }
        },
        {
          "name": "StudentFirstName",
          "anchor": "field-raw_students_by_school-studentfirstname",
          "position": 7,
          "origin": "NWEA pass-through",
          "description": "Name in student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 7",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 714,
            "observed_values": []
          }
        },
        {
          "name": "StudentMI",
          "anchor": "field-raw_students_by_school-studentmi",
          "position": 8,
          "origin": "NWEA pass-through",
          "description": "Student's middle initial or middle name.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1124 blank value(s); migration must allow blank/null.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 8",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 1124,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "StudentID",
          "anchor": "field-raw_students_by_school-studentid",
          "position": 9,
          "origin": "NWEA pass-through",
          "description": "ID your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Student identifier repeats across CDF collections inside the same tenant, NWEA account, and term; it is not globally unique."
          ],
          "edge_cases": [],
          "example": "stu-12345",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 9",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 1124,
            "observed_values": []
          }
        },
        {
          "name": "Student_StateID",
          "anchor": "field-raw_students_by_school-student-stateid",
          "position": 10,
          "origin": "NWEA pass-through",
          "description": "ID your state uses to identify the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1124 blank value(s); migration must allow blank/null.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "State student identifier is optional and may be blank; never use it as the only join key."
          ],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 10",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 1124,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "StudentDateOfBirth",
          "anchor": "field-raw_students_by_school-studentdateofbirth",
          "position": 11,
          "origin": "NWEA pass-through",
          "description": "Birth date in student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "10 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 10 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student birth date is PII; preserve source value only in tenant-authorized storage and never expose in logs or Problem detail.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "01/15/2012",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 11",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 808,
            "observed_values": []
          }
        },
        {
          "name": "StudentEthnicGroup",
          "anchor": "field-raw_students_by_school-studentethnicgroup",
          "position": 12,
          "origin": "NWEA pass-through",
          "description": "Name defined in your MAP preferences and assigned to this student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 12",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "NWEAStandard_EthnicGroup",
          "anchor": "field-raw_students_by_school-nweastandard-ethnicgroup",
          "position": 13,
          "origin": "NWEA pass-through",
          "description": "Default name from NWEA that is associated with your custom Ethnic Group name. Included here to help clarify the data shown in the prior column.",
          "nwea_type": "String",
          "nwea_length": "50 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 50 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 13",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 1,
            "observed_values": [
              "Not Specified or Other"
            ]
          }
        },
        {
          "name": "StudentGender",
          "anchor": "field-raw_students_by_school-studentgender",
          "position": 14,
          "origin": "NWEA pass-through",
          "description": "Either M (male), F (female), or X.",
          "nwea_type": "String",
          "nwea_length": "50 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 50 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [
            {
              "value": "M",
              "meaning": "Male, as exported by NWEA."
            },
            {
              "value": "F",
              "meaning": "Female, as exported by NWEA."
            },
            {
              "value": "X",
              "meaning": "NWEA's non-binary/other gender code."
            },
            {
              "value": "blank",
              "meaning": "No value was exported; preserve blank rather than guessing."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "F",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 14",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 3,
            "observed_values": []
          }
        },
        {
          "name": "Grade",
          "anchor": "field-raw_students_by_school-grade",
          "position": 15,
          "origin": "NWEA pass-through",
          "description": "Grade assigned to this student, based on the names defined in your MAP preferences.",
          "nwea_type": "String",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 15",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 14,
            "observed_values": [
              "2",
              "5",
              "4",
              "3",
              "1",
              "K",
              "6",
              "7"
            ]
          }
        },
        {
          "name": "NWEAStandard_Grade",
          "anchor": "field-raw_students_by_school-nweastandard-grade",
          "position": 16,
          "origin": "NWEA pass-through",
          "description": "Default name from NWEA that is associated with your custom Grade name. Included here to help clarify the data shown in the Grade column.",
          "nwea_type": "String",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 16",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1124,
            "blank_count": 0,
            "nonblank_count": 1124,
            "observed_distinct_count": 14,
            "observed_values": [
              "2",
              "5",
              "4",
              "3",
              "1",
              "K",
              "6",
              "7"
            ]
          }
        }
      ],
      "field_count": 16,
      "row_count": 1124
    },
    {
      "id": "raw_assessment_results",
      "name": "nweamap.raw_assessment_results",
      "title": "Assessment results raw CDF rows",
      "kind": "NWEA pass-through raw table",
      "csv_file": "AssessmentResults.csv",
      "workbook_sheet": "AssessmentResults.csv",
      "endpoint": "GET /nweamap/v1/assessment-results?sittingScope=all",
      "description": "Lossless mirror of NWEA assessment result rows, including growth-window, goal, Lexile/Quantile, norms, and projected-proficiency columns.",
      "lifecycle": "Created by CDF import or refreshed by later CDF backfill; rows remain visible to authorized audit reads with sittingScope=all and includeDeleted=true.",
      "relationships": [
        "TestID connects one assessment result to zero or more accommodation assignment rows.",
        "TestRITScore, TestStartDate, TestStartTime, and TestID drive the test-of-record selector."
      ],
      "itds": [
        "nitd-000-source-contract",
        "nitd-001-mirror-export",
        "nitd-003-test-of-record-highest-rit",
        "nitd-004-soft-delete",
        "nitd-005-sitting-scope-parameter",
        "nitd-017-axis-list-endpoints"
      ],
      "sidecar_fields": [
        {
          "name": "row_id",
          "anchor": "field-raw_assessment_results-row-id",
          "origin": "Platform gap-fill",
          "description": "Stable row identifier assigned by the platform for this mirrored CDF row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within this table.",
            "Never derived from student identity or NWEA row text."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "tenant_id",
          "anchor": "field-raw_assessment_results-tenant-id",
          "origin": "Platform gap-fill",
          "description": "Platform tenant boundary from the verified JWT; this is the authorization scope for the row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must match the caller's JWT tenantId for writes and reads.",
            "References platform.tenant(tenant_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Belongs to exactly one platform.tenant row."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "nwea_account_id",
          "anchor": "field-raw_assessment_results-nwea-account-id",
          "origin": "Platform gap-fill",
          "description": "Tenant-local NWEA account partition for the imported bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Required for imports and list filters.",
            "Not globally unique outside tenant_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nwea-account-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "import_id",
          "anchor": "field-raw_assessment_results-import-id",
          "origin": "Platform gap-fill",
          "description": "Import bundle that created or last refreshed this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import(import_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import bundle."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model"
          ],
          "stats": null
        },
        {
          "name": "import_file_id",
          "anchor": "field-raw_assessment_results-import-file-id",
          "origin": "Platform gap-fill",
          "description": "Import-file record for the CDF file that carried this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import_file(import_file_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import file."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_file",
          "anchor": "field-raw_assessment_results-source-file",
          "origin": "Platform gap-fill",
          "description": "Exact CDF file name whose header and row content produced this row.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the five Comprehensive Data File names."
          ],
          "allowed_values": [
            {
              "value": "StudentsBySchool.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AssessmentResults.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ClassAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ProgramAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AccommodationAssignment.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "AssessmentResults.csv",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "source_row_number",
          "anchor": "field-raw_assessment_results-source-row-number",
          "origin": "Platform gap-fill",
          "description": "One-based data-row number inside the CDF file, excluding the header.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be >= 1.",
            "Stable only within the import_file_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "42",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_row_hash",
          "anchor": "field-raw_assessment_results-source-row-hash",
          "origin": "Platform gap-fill",
          "description": "Canonical hash of the source-file name, header position, and row values used for idempotent re-import and missing-row detection.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "SHA-256 hex or sha256-prefixed digest.",
            "Same row content in the same file scope must produce the same hash."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "sha256:2d3f6b4e8c1a0f9b7e6d5c4b3a291807060504030201000ffeeddbbccaa9988",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "ingested_at",
          "anchor": "field-raw_assessment_results-ingested-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the platform accepted this row into tenant-scoped persistence.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Used for audit and modifiedSince behavior."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-raw_assessment_results-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the row or its deletion/projection state last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Must be greater than or equal to ingested_at.",
            "Powers modifiedSince polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        },
        {
          "name": "deleted_at",
          "anchor": "field-raw_assessment_results-deleted-at",
          "origin": "Platform gap-fill",
          "description": "Soft-delete timestamp set when a replacement authoritative export stops sending this source row.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Null means active.",
            "Non-null rows are excluded from test_of_record."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [
            "Soft delete is retention evidence, not a legal erasure API."
          ],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "deleted_by_import_id",
          "anchor": "field-raw_assessment_results-deleted-by-import-id",
          "origin": "Platform gap-fill",
          "description": "Replacement import that caused this row to be marked deleted.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "References nweamap.import(import_id) when present."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "delete_reason",
          "anchor": "field-raw_assessment_results-delete-reason",
          "origin": "Platform gap-fill",
          "description": "Platform explanation for why the row disappeared from a later authoritative export, when inferable.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Must be null or one of the documented delete_reason values."
          ],
          "allowed_values": [
            {
              "value": "missing_from_replacement_export",
              "meaning": "A later authoritative export for the same scope stopped sending the row."
            },
            {
              "value": "retake_superseded",
              "meaning": "Import evidence indicates the row was replaced by a retake."
            },
            {
              "value": "invalidated_or_suppressed_by_nwea",
              "meaning": "Import evidence indicates NWEA invalidated or suppressed the sitting."
            },
            {
              "value": "unknown",
              "meaning": "The row disappeared but the specific reason was not inferable."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "missing_from_replacement_export",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete"
          ],
          "stats": null
        }
      ],
      "nwea_fields": [
        {
          "name": "TermName",
          "anchor": "field-raw_assessment_results-termname",
          "position": 1,
          "origin": "NWEA pass-through",
          "description": "Term chosen for the export.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Term scope is paired with tenant_id and nwea_account_id; term strings are pass-through NWEA values, not parsed by client skill packs."
          ],
          "edge_cases": [],
          "example": "Spring 2025-2026",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 1",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "DistrictName",
          "anchor": "field-raw_assessment_results-districtname",
          "position": 2,
          "origin": "NWEA pass-through",
          "description": "Name defined in your MAP preferences.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Reconciliation field from NWEA/MAP preferences; not canonical tenant routing."
          ],
          "edge_cases": [],
          "example": "Example District",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 2",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "District_StateID",
          "anchor": "field-raw_assessment_results-district-stateid",
          "position": 3,
          "origin": "NWEA pass-through",
          "description": "District code you have set in MAP preferences.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example District",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 3",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "SchoolName",
          "anchor": "field-raw_assessment_results-schoolname",
          "position": 4,
          "origin": "NWEA pass-through",
          "description": "Name defined in your MAP preferences. If a student has multiple schools, this is the student's School of Record.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "NWEA school-of-record label; not canonical tenant routing."
          ],
          "edge_cases": [],
          "example": "Example School",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 4",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 17,
            "observed_values": []
          }
        },
        {
          "name": "School_StateID",
          "anchor": "field-raw_assessment_results-school-stateid",
          "position": 5,
          "origin": "NWEA pass-through",
          "description": "State code for the school associated with the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example School",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 5",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "StudentID",
          "anchor": "field-raw_assessment_results-studentid",
          "position": 6,
          "origin": "NWEA pass-through",
          "description": "ID your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Student identifier repeats across CDF collections inside the same tenant, NWEA account, and term; it is not globally unique."
          ],
          "edge_cases": [],
          "example": "stu-12345",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 6",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 662,
            "observed_values": []
          }
        },
        {
          "name": "Student_StateID",
          "anchor": "field-raw_assessment_results-student-stateid",
          "position": 7,
          "origin": "NWEA pass-through",
          "description": "ID your state uses to identify the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "State student identifier is optional and may be blank; never use it as the only join key."
          ],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 7",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Subject",
          "anchor": "field-raw_assessment_results-subject",
          "position": 8,
          "origin": "NWEA pass-through",
          "description": "The test content area.",
          "nwea_type": "String",
          "nwea_length": "65 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 65 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Math",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 8",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 3,
            "observed_values": [
              "Language Arts",
              "Mathematics",
              "Science"
            ]
          }
        },
        {
          "name": "Course",
          "anchor": "field-raw_assessment_results-course",
          "position": 9,
          "origin": "NWEA pass-through",
          "description": "Specific content and RIT scale.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Growth: Math 6+",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 9",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 4,
            "observed_values": [
              "Math K-12",
              "Reading",
              "Language Usage",
              "Science K-12"
            ]
          }
        },
        {
          "name": "GrowthMeasureYN",
          "anchor": "field-raw_assessment_results-growthmeasureyn",
          "position": 10,
          "origin": "NWEA pass-through",
          "description": "Indicates which test result counts toward a student's growth measure, marked TRUE. If a student has multiple results for the same test and term, then the other results will appear FALSE.",
          "nwea_type": "String",
          "nwea_length": "5 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 5 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [
            {
              "value": "TRUE",
              "meaning": "NWEA marks this test event as counting toward its growth measure."
            },
            {
              "value": "FALSE",
              "meaning": "NWEA marks this as an additional result for the same test/term."
            },
            {
              "value": "blank",
              "meaning": "No official flag was exported; TimeBack still evaluates test_of_record by highest valid RIT."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA's TRUE flag is preserved, but TimeBack test_of_record can choose a different sitting when highest valid RIT wins."
          ],
          "example": "TRUE",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 10",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 2,
            "observed_values": [
              "TRUE",
              "FALSE"
            ]
          }
        },
        {
          "name": "NormsReferenceData",
          "anchor": "field-raw_assessment_results-normsreferencedata",
          "position": 11,
          "origin": "NWEA pass-through",
          "description": "Indicates which NWEA norms study applies to cacluations like projected growth. For most tests, norms are 2020. The 2015 norms option was removed December 2023. Other tests utilize \"USER\" norms. In a few cases, tests have no related norms and will appear blank here.",
          "nwea_type": "Integer",
          "nwea_length": "4 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 4 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [
            {
              "value": "2020",
              "meaning": "NWEA 2020 norms reference data."
            },
            {
              "value": "2025",
              "meaning": "NWEA 2025 norms reference data observed in the local CDF sample and preserved verbatim."
            },
            {
              "value": "USER",
              "meaning": "NWEA user-defined norms, when exported."
            },
            {
              "value": "blank",
              "meaning": "NWEA exported no related norms study for the test."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Preserve the exported norms identifier verbatim; any norms-flipped report calculation belongs to a separately approved Alpha surface."
          ],
          "example": "2025",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 11",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 1,
            "observed_values": [
              "2025"
            ]
          }
        },
        {
          "name": "WISelectedAYFall",
          "anchor": "field-raw_assessment_results-wiselectedayfall",
          "position": 12,
          "origin": "NWEA pass-through",
          "description": "Weeks of Instruction (WI) before testing in the fall term of the same academic year (AY) as the term selected at export. The WI number comes from the Manage Terms settings within MAP. --Value is blank if the student did not have a valid test event in fall.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2256 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 12",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2256,
            "nonblank_count": 1235,
            "observed_distinct_count": 1,
            "observed_values": [
              "1"
            ]
          }
        },
        {
          "name": "WISelectedAYWinter",
          "anchor": "field-raw_assessment_results-wiselectedaywinter",
          "position": 13,
          "origin": "NWEA pass-through",
          "description": "Weeks of Instruction (WI) before testing in the winter term of the same academic year (AY) as the term selected at export. The WI number comes from the Manage Terms settings within MAP. --Value is blank if the student did not have a valid test event in winter.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1973 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 13",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 1973,
            "nonblank_count": 1518,
            "observed_distinct_count": 3,
            "observed_values": [
              "20",
              "18",
              "16"
            ]
          }
        },
        {
          "name": "WISelectedAYSpring",
          "anchor": "field-raw_assessment_results-wiselectedayspring",
          "position": 14,
          "origin": "NWEA pass-through",
          "description": "Weeks of Instruction (WI) before testing in the spring term of the same academic year (AY) as the term selected at export. The WI number comes from the Manage Terms settings within MAP. --Value is blank if the student did not have a valid test event in spring.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 14",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 1,
            "observed_values": [
              "32"
            ]
          }
        },
        {
          "name": "WIPreviousAYFall",
          "anchor": "field-raw_assessment_results-wipreviousayfall",
          "position": 15,
          "origin": "NWEA pass-through",
          "description": "Weeks of Instruction (WI) before testing in the fall term of the academic year (AY) previous to the term selected at export. The WI number comes from the Manage Terms settings within MAP. --Value is blank if the student did not have a valid test event in fall.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 15",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WIPreviousAYWinter",
          "anchor": "field-raw_assessment_results-wipreviousaywinter",
          "position": 16,
          "origin": "NWEA pass-through",
          "description": "Weeks of Instruction (WI) before testing in the winter term of the academic year (AY) previous to the term selected at export. The WI number comes from the Manage Terms settings within MAP. --Value is blank if the student did not have a valid test event in winter.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 16",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WIPreviousAYSpring",
          "anchor": "field-raw_assessment_results-wipreviousayspring",
          "position": 17,
          "origin": "NWEA pass-through",
          "description": "Weeks of Instruction (WI) before testing in the spring term of the academic year (AY) previous to the term selected at export. The WI number comes from the Manage Terms settings within MAP. --Value is blank if the student did not have a valid test event in spring.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2944 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 17",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2944,
            "nonblank_count": 547,
            "observed_distinct_count": 1,
            "observed_values": [
              "29"
            ]
          }
        },
        {
          "name": "TestType",
          "anchor": "field-raw_assessment_results-testtype",
          "position": 18,
          "origin": "NWEA pass-through",
          "description": "Description of the test type (either \"Survey with Goals\" or \"Survey\").",
          "nwea_type": "String",
          "nwea_length": "50 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 50 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [
            {
              "value": "Survey With Goals",
              "meaning": "MAP test type with goal-area rows available."
            },
            {
              "value": "Survey",
              "meaning": "MAP survey test type; goal fields may be blank."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Survey With Goals",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 18",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 2,
            "observed_values": [
              "Survey With Goals",
              "Survey"
            ]
          }
        },
        {
          "name": "TestName",
          "anchor": "field-raw_assessment_results-testname",
          "position": 19,
          "origin": "NWEA pass-through",
          "description": "Full name of the test.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Growth: Math 6+",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 19",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 16,
            "observed_values": []
          }
        },
        {
          "name": "TestID",
          "anchor": "field-raw_assessment_results-testid",
          "position": 20,
          "origin": "NWEA pass-through",
          "description": "Unique identifier for the test event. This ID also appears in the AccommodationAssignment.csv file so you can connect that data to this test event.",
          "nwea_type": "Integer",
          "nwea_length": "10 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 10 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Parent test event for AccommodationAssignment.TestID; also the final tie-breaker for test_of_record when RIT and start time tie."
          ],
          "edge_cases": [],
          "example": "1110000001",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 20",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 3491,
            "observed_values": []
          }
        },
        {
          "name": "TestStartDate",
          "anchor": "field-raw_assessment_results-teststartdate",
          "position": 21,
          "origin": "NWEA pass-through",
          "description": "Date the test was started, as recorded by the workstation where the test was taken.",
          "nwea_type": "String",
          "nwea_length": "10 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 10 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "NWEA workbook uses an MM/DD/YYYY-style date string in the CDF export."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "05/21/2026",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 21",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 64,
            "observed_values": [
              "05/20/2026",
              "05/19/2026",
              "05/21/2026",
              "05/27/2026",
              "05/22/2026",
              "05/28/2026",
              "05/26/2026",
              "05/29/2026"
            ]
          }
        },
        {
          "name": "TestStartTime",
          "anchor": "field-raw_assessment_results-teststarttime",
          "position": 22,
          "origin": "NWEA pass-through",
          "description": "Time the test was started with the format hh:mm:ss.",
          "nwea_type": "String",
          "nwea_length": "8 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 8 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "09:14:33",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 22",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 2525,
            "observed_values": [
              "09:13:10",
              "09:17:31",
              "09:14:47",
              "09:17:45",
              "09:10:42",
              "09:12:07",
              "09:14:48",
              "09:14:38"
            ]
          }
        },
        {
          "name": "TestDurationMinutes",
          "anchor": "field-raw_assessment_results-testdurationminutes",
          "position": 23,
          "origin": "NWEA pass-through",
          "description": "Total testing time.",
          "nwea_type": "Integer",
          "nwea_length": "13 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 13 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "43",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 23",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 199,
            "observed_values": [
              "32",
              "28",
              "23",
              "29",
              "45",
              "53",
              "54",
              "25"
            ]
          }
        },
        {
          "name": "TestRITScore",
          "anchor": "field-raw_assessment_results-testritscore",
          "position": 24,
          "origin": "NWEA pass-through",
          "description": "Overall RIT score of the test. Appears as a whole, integer number.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "TimeBack test_of_record eligibility requires numeric MAP RIT from 100 through 350; invalid values remain visible only in all-sittings reads."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Rows outside valid RIT 100-350 are retained in all-sittings audit reads but excluded from test_of_record."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 24",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 141,
            "observed_values": [
              "228",
              "226",
              "225",
              "221",
              "224",
              "215",
              "222",
              "220"
            ]
          }
        },
        {
          "name": "TestStandardError",
          "anchor": "field-raw_assessment_results-teststandarderror",
          "position": 25,
          "origin": "NWEA pass-through",
          "description": "RIT score variance.",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 25",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 244,
            "observed_values": [
              "3.28",
              "3.30",
              "3.29",
              "3.34",
              "3.38",
              "3.31",
              "3.32",
              "3.37"
            ]
          }
        },
        {
          "name": "TestPercentile",
          "anchor": "field-raw_assessment_results-testpercentile",
          "position": 26,
          "origin": "NWEA pass-through",
          "description": "Student ranking, based on the RIT score of this test as compared to the NWEA norm study.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 52 blank value(s); migration must allow blank/null.",
            "Percentile-like values are expected to be whole-number national percentile ranks when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "54",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 26",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 52,
            "nonblank_count": 3439,
            "observed_distinct_count": 99,
            "observed_values": [
              "99",
              "98",
              "96",
              "97",
              "95",
              "93",
              "94",
              "91"
            ]
          }
        },
        {
          "name": "AchievementQuintile",
          "anchor": "field-raw_assessment_results-achievementquintile",
          "position": 27,
          "origin": "NWEA pass-through",
          "description": "Up to 20th percentile = “Low\" 21st to 40th percentile = “LoAvg\" 41st to 60th percentile = “Avg\" 61st to 80th percentile = \"HiAvg\" 81st percentile and above = “High\" If the TestPercentile is blank, this field will also be blank.",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 52 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 27",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 52,
            "nonblank_count": 3439,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "PercentCorrect",
          "anchor": "field-raw_assessment_results-percentcorrect",
          "position": 28,
          "origin": "NWEA pass-through",
          "description": "Number of items answered correctly divided by the total number of items in the test, multiplied by 100. Items that are not scored, such as field test and familiarity items, are not included in the calculation. This field provides an additional reference point for those assessing the confidence level of a test event's RIT score. When approximately 40% to 60% of items are answered correctly, the student’s responses are consistent with the adaptive test model and the level of confidence in the validity of the RIT score is increased. Used in conjunction with the test duration and standard error of measure, the percent correct can identify test event scores that may be suspect. A test event with too many items answered correctly (for example, more than 60%) can be an indicator that the test was not well targeted for the student’s performance level. In other words, the items presented were not sufficiently appropriate for the student’s level of proficiency (generally too easy). A test event with too few items answered correctly can be an indicator that the student was not fully engaged. For example, the student may have given random answers to questions or may have purposely answered questions incorrectly.",
          "nwea_type": "Integer",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Percent-like values are expected to be 0 through 100 when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "60",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 28",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 60,
            "observed_values": [
              "53",
              "58",
              "55",
              "60",
              "50",
              "63",
              "47",
              "65"
            ]
          }
        },
        {
          "name": "RapidGuessingPercentage",
          "anchor": "field-raw_assessment_results-rapidguessingpercentage",
          "position": 29,
          "origin": "NWEA pass-through",
          "description": "Percentage of questions the student completed with rapid guesses, which are well below the average response time measured by NWEA for each test question.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 4 decimals",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 4 decimals.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "60",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 29",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 0,
            "nonblank_count": 3491,
            "observed_distinct_count": 43,
            "observed_values": []
          }
        },
        {
          "name": "FallToFallProjectedGrowth",
          "anchor": "field-raw_assessment_results-falltofallprojectedgrowth",
          "position": 30,
          "origin": "NWEA pass-through",
          "description": "Projected RIT growth from previous academic year fall term to the fall term chosen at export. Based on previous fall term RIT score and weeks of instruction. --Value is only available if the selected term for export is fall and if growth projection norms exist. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 30",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToFallObservedGrowth",
          "anchor": "field-raw_assessment_results-falltofallobservedgrowth",
          "position": 31,
          "origin": "NWEA pass-through",
          "description": "Actual growth from previous academic year fall term to the fall term chosen at export. --Value is only available if selected term for export is fall AND if valid RIT score exists for previous academic year fall term. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 31",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToFallObservedGrowthSE",
          "anchor": "field-raw_assessment_results-falltofallobservedgrowthse",
          "position": 32,
          "origin": "NWEA pass-through",
          "description": "Standard Error associated with calculation for FalltoFallObservedGrowth. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 32",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToFallMetProjectedGrowth",
          "anchor": "field-raw_assessment_results-falltofallmetprojectedgrowth",
          "position": 33,
          "origin": "NWEA pass-through",
          "description": "Yes = Student met the projected growth from the previous academic year fall term to the fall term chosen at export. No = Growth projection not met. Asterisk (*) = Observed Growth Standard Error (SE) could be large enough to put the outcome in question, so evaluate in combination with other points of data. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "4 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 4 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Yes",
              "meaning": "Observed growth met or exceeded NWEA's projected growth."
            },
            {
              "value": "No",
              "meaning": "Observed growth did not meet NWEA's projected growth."
            },
            {
              "value": "No*",
              "meaning": "NWEA-exported not-met value with an asterisk; preserve verbatim and do not collapse to No."
            },
            {
              "value": "blank",
              "meaning": "NWEA did not export this growth-window calculation for the row."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 33",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToFallConditionalGrowthIndex",
          "anchor": "field-raw_assessment_results-falltofallconditionalgrowthindex",
          "position": 34,
          "origin": "NWEA pass-through",
          "description": "Calculation that enables you to compare student growth. Measures growth from the previous academic year fall term to the fall term chosen at export. It incorporates: --weeks of instruction before testing --how high students scored in the first term A value of zero (0) corresponds to the mean (typical) growth, indicating that growth exactly matched projections. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1.0",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 34",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToFallConditionalGrowthPercentile",
          "anchor": "field-raw_assessment_results-falltofallconditionalgrowthpercentile",
          "position": 35,
          "origin": "NWEA pass-through",
          "description": "Translates the Conditional Growth Index to national percentile rankings for growth. Measures growth from the previous academic year fall term to the fall term chosen at export. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null.",
            "Percentile-like values are expected to be whole-number national percentile ranks when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "54",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 35",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToFallGrowthQuintile",
          "anchor": "field-raw_assessment_results-falltofallgrowthquintile",
          "position": 36,
          "origin": "NWEA pass-through",
          "description": "Indicates a quintile for the FalltoFallConditionalGrowthPercentile: Up to 20th percentile = “Low\" 21st to 40th percentile = “LoAvg\" 41st to 60th percentile = “Avg\" 61st to 80th percentile = \"HiAvg\" 81st percentile and above = “High\" If the FalltoFallConditionalGrowthPercentile is blank, this field will also be blank.",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 36",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToWinterProjectedGrowth",
          "anchor": "field-raw_assessment_results-falltowinterprojectedgrowth",
          "position": 37,
          "origin": "NWEA pass-through",
          "description": "Same six fields as for FalltoFall, but comparing fall to winter. See the prior columns for descriptions: FalltoWinterProjectedGrowth FalltoWinterObservedGrowth FalltoWinterObservedGrowthSE FalltoWinterMetProjectedGrowth FalltoWinterConditionalGrowthIndex FalltoWinterConditionalGrowthPercentile FalltoWinterGrowthQuintile",
          "nwea_type": "Same as prior 7 columns.",
          "nwea_length": "Not specified by NWEA workbook",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Same as prior 7 columns..",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 37",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToWinterObservedGrowth",
          "anchor": "field-raw_assessment_results-falltowinterobservedgrowth",
          "position": 38,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-winter growth window. Actual growth from previous academic year fall term to the fall term chosen at export. --Value is only available if selected term for export is fall AND if valid RIT score exists for previous academic year fall term. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToWinter; base field 31",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToWinterObservedGrowthSE",
          "anchor": "field-raw_assessment_results-falltowinterobservedgrowthse",
          "position": 39,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-winter growth window. Standard Error associated with calculation for FalltoFallObservedGrowth. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToWinter; base field 32",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToWinterMetProjectedGrowth",
          "anchor": "field-raw_assessment_results-falltowintermetprojectedgrowth",
          "position": 40,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-winter growth window. Yes = Student met the projected growth from the previous academic year fall term to the fall term chosen at export. No = Growth projection not met. Asterisk (*) = Observed Growth Standard Error (SE) could be large enough to put the outcome in question, so evaluate in combination with other points of data. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "4 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 4 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Yes",
              "meaning": "Observed growth met or exceeded NWEA's projected growth."
            },
            {
              "value": "No",
              "meaning": "Observed growth did not meet NWEA's projected growth."
            },
            {
              "value": "No*",
              "meaning": "NWEA-exported not-met value with an asterisk; preserve verbatim and do not collapse to No."
            },
            {
              "value": "blank",
              "meaning": "NWEA did not export this growth-window calculation for the row."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToWinter; base field 33",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToWinterConditionalGrowthIndex",
          "anchor": "field-raw_assessment_results-falltowinterconditionalgrowthindex",
          "position": 41,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-winter growth window. Calculation that enables you to compare student growth. Measures growth from the previous academic year fall term to the fall term chosen at export. It incorporates: --weeks of instruction before testing --how high students scored in the first term A value of zero (0) corresponds to the mean (typical) growth, indicating that growth exactly matched projections. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1.0",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToWinter; base field 34",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToWinterConditionalGrowthPercentile",
          "anchor": "field-raw_assessment_results-falltowinterconditionalgrowthpercentile",
          "position": 42,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-winter growth window. Translates the Conditional Growth Index to national percentile rankings for growth. Measures growth from the previous academic year fall term to the fall term chosen at export. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null.",
            "Percentile-like values are expected to be whole-number national percentile ranks when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "54",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToWinter; base field 35",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToWinterGrowthQuintile",
          "anchor": "field-raw_assessment_results-falltowintergrowthquintile",
          "position": 43,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-winter growth window. Indicates a quintile for the FalltoFallConditionalGrowthPercentile: Up to 20th percentile = “Low\" 21st to 40th percentile = “LoAvg\" 41st to 60th percentile = “Avg\" 61st to 80th percentile = \"HiAvg\" 81st percentile and above = “High\" If the FalltoFallConditionalGrowthPercentile is blank, this field will also be blank.",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToWinter; base field 36",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "FallToSpringProjectedGrowth",
          "anchor": "field-raw_assessment_results-falltospringprojectedgrowth",
          "position": 44,
          "origin": "NWEA pass-through",
          "description": "Same six fields as for FalltoFall, but comparing fall to spring. See the prior columns for descriptions: FalltoSpringProjectedGrowth FalltoSpringObservedGrowth FalltoSpringObservedGrowthSE FalltoSpringMetProjectedGrowth FalltoSpringConditionalGrowthIndex FalltoSpringConditionalGrowthPercentile FalltoSpringGrowthQuintile",
          "nwea_type": "Same as prior 7 columns.",
          "nwea_length": "Not specified by NWEA workbook",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Same as prior 7 columns..",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2280 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 44",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2280,
            "nonblank_count": 1211,
            "observed_distinct_count": 20,
            "observed_values": [
              "2",
              "3",
              "7",
              "8",
              "11",
              "15",
              "6",
              "4"
            ]
          }
        },
        {
          "name": "FallToSpringObservedGrowth",
          "anchor": "field-raw_assessment_results-falltospringobservedgrowth",
          "position": 45,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-spring growth window. Actual growth from previous academic year fall term to the fall term chosen at export. --Value is only available if selected term for export is fall AND if valid RIT score exists for previous academic year fall term. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2256 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToSpring; base field 31",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2256,
            "nonblank_count": 1235,
            "observed_distinct_count": 66,
            "observed_values": [
              "10",
              "8",
              "12",
              "6",
              "18",
              "9",
              "11",
              "7"
            ]
          }
        },
        {
          "name": "FallToSpringObservedGrowthSE",
          "anchor": "field-raw_assessment_results-falltospringobservedgrowthse",
          "position": 46,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-spring growth window. Standard Error associated with calculation for FalltoFallObservedGrowth. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2256 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToSpring; base field 32",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2256,
            "nonblank_count": 1235,
            "observed_distinct_count": 120,
            "observed_values": [
              "4.65",
              "4.67",
              "4.70",
              "4.72",
              "4.75",
              "4.66",
              "4.77",
              "4.71"
            ]
          }
        },
        {
          "name": "FallToSpringMetProjectedGrowth",
          "anchor": "field-raw_assessment_results-falltospringmetprojectedgrowth",
          "position": 47,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-spring growth window. Yes = Student met the projected growth from the previous academic year fall term to the fall term chosen at export. No = Growth projection not met. Asterisk (*) = Observed Growth Standard Error (SE) could be large enough to put the outcome in question, so evaluate in combination with other points of data. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "4 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 4 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2280 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Yes",
              "meaning": "Observed growth met or exceeded NWEA's projected growth."
            },
            {
              "value": "No",
              "meaning": "Observed growth did not meet NWEA's projected growth."
            },
            {
              "value": "No*",
              "meaning": "NWEA-exported not-met value with an asterisk; preserve verbatim and do not collapse to No."
            },
            {
              "value": "blank",
              "meaning": "NWEA did not export this growth-window calculation for the row."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToSpring; base field 33",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2280,
            "nonblank_count": 1211,
            "observed_distinct_count": 4,
            "observed_values": [
              "Yes",
              "Yes*",
              "No*",
              "No"
            ]
          }
        },
        {
          "name": "FallToSpringConditionalGrowthIndex",
          "anchor": "field-raw_assessment_results-falltospringconditionalgrowthindex",
          "position": 48,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-spring growth window. Calculation that enables you to compare student growth. Measures growth from the previous academic year fall term to the fall term chosen at export. It incorporates: --weeks of instruction before testing --how high students scored in the first term A value of zero (0) corresponds to the mean (typical) growth, indicating that growth exactly matched projections. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2280 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1.0",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToSpring; base field 34",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2280,
            "nonblank_count": 1211,
            "observed_distinct_count": 396,
            "observed_values": [
              "1.02",
              "0.28",
              "1.04",
              "0.30",
              "0.32",
              "0.92",
              "1.45",
              "1.44"
            ]
          }
        },
        {
          "name": "FallToSpringConditionalGrowthPercentile",
          "anchor": "field-raw_assessment_results-falltospringconditionalgrowthpercentile",
          "position": 49,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-spring growth window. Translates the Conditional Growth Index to national percentile rankings for growth. Measures growth from the previous academic year fall term to the fall term chosen at export. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2280 blank value(s); migration must allow blank/null.",
            "Percentile-like values are expected to be whole-number national percentile ranks when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "54",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToSpring; base field 35",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2280,
            "nonblank_count": 1211,
            "observed_distinct_count": 96,
            "observed_values": [
              "99",
              "98",
              "85",
              "94",
              "95",
              "93",
              "83",
              "96"
            ]
          }
        },
        {
          "name": "FallToSpringGrowthQuintile",
          "anchor": "field-raw_assessment_results-falltospringgrowthquintile",
          "position": 50,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the fall-to-spring growth window. Indicates a quintile for the FalltoFallConditionalGrowthPercentile: Up to 20th percentile = “Low\" 21st to 40th percentile = “LoAvg\" 41st to 60th percentile = “Avg\" 61st to 80th percentile = \"HiAvg\" 81st percentile and above = “High\" If the FalltoFallConditionalGrowthPercentile is blank, this field will also be blank.",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2280 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for FallToSpring; base field 36",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2280,
            "nonblank_count": 1211,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "WinterToWinterProjectedGrowth",
          "anchor": "field-raw_assessment_results-wintertowinterprojectedgrowth",
          "position": 51,
          "origin": "NWEA pass-through",
          "description": "Same six fields as for FalltoFall, but comparing winter to winter. See the prior columns for descriptions: WintertoWinterProjectedGrowth WintertoWinterObservedGrowth WintertoWinterObservedGrowthSE WintertoWinterMetProjectedGrowth WintertoWinterConditionalGrowthIndex WintertoWinterConditionalGrowthPercentile WintertoWinterGrowthQuintile",
          "nwea_type": "Same as prior 7 columns.",
          "nwea_length": "Not specified by NWEA workbook",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Same as prior 7 columns..",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 51",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WinterToWinterObservedGrowth",
          "anchor": "field-raw_assessment_results-wintertowinterobservedgrowth",
          "position": 52,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-winter growth window. Actual growth from previous academic year fall term to the fall term chosen at export. --Value is only available if selected term for export is fall AND if valid RIT score exists for previous academic year fall term. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToWinter; base field 31",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WinterToWinterObservedGrowthSE",
          "anchor": "field-raw_assessment_results-wintertowinterobservedgrowthse",
          "position": 53,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-winter growth window. Standard Error associated with calculation for FalltoFallObservedGrowth. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToWinter; base field 32",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WinterToWinterMetProjectedGrowth",
          "anchor": "field-raw_assessment_results-wintertowintermetprojectedgrowth",
          "position": 54,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-winter growth window. Yes = Student met the projected growth from the previous academic year fall term to the fall term chosen at export. No = Growth projection not met. Asterisk (*) = Observed Growth Standard Error (SE) could be large enough to put the outcome in question, so evaluate in combination with other points of data. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "4 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 4 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Yes",
              "meaning": "Observed growth met or exceeded NWEA's projected growth."
            },
            {
              "value": "No",
              "meaning": "Observed growth did not meet NWEA's projected growth."
            },
            {
              "value": "No*",
              "meaning": "NWEA-exported not-met value with an asterisk; preserve verbatim and do not collapse to No."
            },
            {
              "value": "blank",
              "meaning": "NWEA did not export this growth-window calculation for the row."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToWinter; base field 33",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WinterToWinterConditionalGrowthIndex",
          "anchor": "field-raw_assessment_results-wintertowinterconditionalgrowthindex",
          "position": 55,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-winter growth window. Calculation that enables you to compare student growth. Measures growth from the previous academic year fall term to the fall term chosen at export. It incorporates: --weeks of instruction before testing --how high students scored in the first term A value of zero (0) corresponds to the mean (typical) growth, indicating that growth exactly matched projections. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1.0",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToWinter; base field 34",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WinterToWinterConditionalGrowthPercentile",
          "anchor": "field-raw_assessment_results-wintertowinterconditionalgrowthpercentile",
          "position": 56,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-winter growth window. Translates the Conditional Growth Index to national percentile rankings for growth. Measures growth from the previous academic year fall term to the fall term chosen at export. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null.",
            "Percentile-like values are expected to be whole-number national percentile ranks when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "54",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToWinter; base field 35",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WinterToWinterGrowthQuintile",
          "anchor": "field-raw_assessment_results-wintertowintergrowthquintile",
          "position": 57,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-winter growth window. Indicates a quintile for the FalltoFallConditionalGrowthPercentile: Up to 20th percentile = “Low\" 21st to 40th percentile = “LoAvg\" 41st to 60th percentile = “Avg\" 61st to 80th percentile = \"HiAvg\" 81st percentile and above = “High\" If the FalltoFallConditionalGrowthPercentile is blank, this field will also be blank.",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToWinter; base field 36",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "WinterToSpringProjectedGrowth",
          "anchor": "field-raw_assessment_results-wintertospringprojectedgrowth",
          "position": 58,
          "origin": "NWEA pass-through",
          "description": "Same six fields as for FalltoFall, but comparing winter to spring. See the prior columns for descriptions: WintertoSpringProjectedGrowth WintertoSpringObservedGrowth WintertoSpringObservedGrowthSE WintertoSpringMetProjectedGrowth WintertoSpringConditionalGrowthIndex WintertoSpringConditionalGrowthPercentile WintertoSpringGrowthQuintile",
          "nwea_type": "Same as prior 7 columns.",
          "nwea_length": "Not specified by NWEA workbook",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Same as prior 7 columns..",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2003 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 58",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2003,
            "nonblank_count": 1488,
            "observed_distinct_count": 9,
            "observed_values": [
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8"
            ]
          }
        },
        {
          "name": "WinterToSpringObservedGrowth",
          "anchor": "field-raw_assessment_results-wintertospringobservedgrowth",
          "position": 59,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-spring growth window. Actual growth from previous academic year fall term to the fall term chosen at export. --Value is only available if selected term for export is fall AND if valid RIT score exists for previous academic year fall term. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1973 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToSpring; base field 31",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 1973,
            "nonblank_count": 1518,
            "observed_distinct_count": 56,
            "observed_values": [
              "3",
              "2",
              "5",
              "4",
              "6",
              "0",
              "-2",
              "8"
            ]
          }
        },
        {
          "name": "WinterToSpringObservedGrowthSE",
          "anchor": "field-raw_assessment_results-wintertospringobservedgrowthse",
          "position": 60,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-spring growth window. Standard Error associated with calculation for FalltoFallObservedGrowth. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1973 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToSpring; base field 32",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 1973,
            "nonblank_count": 1518,
            "observed_distinct_count": 141,
            "observed_values": [
              "4.70",
              "4.65",
              "4.67",
              "4.72",
              "4.77",
              "4.74",
              "4.75",
              "4.69"
            ]
          }
        },
        {
          "name": "WinterToSpringMetProjectedGrowth",
          "anchor": "field-raw_assessment_results-wintertospringmetprojectedgrowth",
          "position": 61,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-spring growth window. Yes = Student met the projected growth from the previous academic year fall term to the fall term chosen at export. No = Growth projection not met. Asterisk (*) = Observed Growth Standard Error (SE) could be large enough to put the outcome in question, so evaluate in combination with other points of data. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "4 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 4 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2003 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Yes",
              "meaning": "Observed growth met or exceeded NWEA's projected growth."
            },
            {
              "value": "No",
              "meaning": "Observed growth did not meet NWEA's projected growth."
            },
            {
              "value": "No*",
              "meaning": "NWEA-exported not-met value with an asterisk; preserve verbatim and do not collapse to No."
            },
            {
              "value": "blank",
              "meaning": "NWEA did not export this growth-window calculation for the row."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToSpring; base field 33",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2003,
            "nonblank_count": 1488,
            "observed_distinct_count": 4,
            "observed_values": [
              "Yes",
              "Yes*",
              "No*",
              "No"
            ]
          }
        },
        {
          "name": "WinterToSpringConditionalGrowthIndex",
          "anchor": "field-raw_assessment_results-wintertospringconditionalgrowthindex",
          "position": 62,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-spring growth window. Calculation that enables you to compare student growth. Measures growth from the previous academic year fall term to the fall term chosen at export. It incorporates: --weeks of instruction before testing --how high students scored in the first term A value of zero (0) corresponds to the mean (typical) growth, indicating that growth exactly matched projections. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2003 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1.0",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToSpring; base field 34",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2003,
            "nonblank_count": 1488,
            "observed_distinct_count": 397,
            "observed_values": [
              "0.61",
              "0.34",
              "0.28",
              "-0.28",
              "0.21",
              "0.10",
              "0.83",
              "0.03"
            ]
          }
        },
        {
          "name": "WinterToSpringConditionalGrowthPercentile",
          "anchor": "field-raw_assessment_results-wintertospringconditionalgrowthpercentile",
          "position": 63,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-spring growth window. Translates the Conditional Growth Index to national percentile rankings for growth. Measures growth from the previous academic year fall term to the fall term chosen at export. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2003 blank value(s); migration must allow blank/null.",
            "Percentile-like values are expected to be whole-number national percentile ranks when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "54",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToSpring; base field 35",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2003,
            "nonblank_count": 1488,
            "observed_distinct_count": 99,
            "observed_values": [
              "99",
              "73",
              "63",
              "82",
              "72",
              "92",
              "50",
              "84"
            ]
          }
        },
        {
          "name": "WinterToSpringGrowthQuintile",
          "anchor": "field-raw_assessment_results-wintertospringgrowthquintile",
          "position": 64,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the winter-to-spring growth window. Indicates a quintile for the FalltoFallConditionalGrowthPercentile: Up to 20th percentile = “Low\" 21st to 40th percentile = “LoAvg\" 41st to 60th percentile = “Avg\" 61st to 80th percentile = \"HiAvg\" 81st percentile and above = “High\" If the FalltoFallConditionalGrowthPercentile is blank, this field will also be blank.",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2003 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for WinterToSpring; base field 36",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2003,
            "nonblank_count": 1488,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "SpringToSpringProjectedGrowth",
          "anchor": "field-raw_assessment_results-springtospringprojectedgrowth",
          "position": 65,
          "origin": "NWEA pass-through",
          "description": "Same six fields as for FalltoFall, but comparing spring to spring. See the prior columns for descriptions: SpringtoSpringProjectedGrowth SpringtoSpringObservedGrowth SpringtoSpringObservedGrowthSE SpringtoSpringMetProjectedGrowth SpringtoSpringConditionalGrowthIndex SpringtoSpringConditionalGrowthPercentile SpringtoSpringGrowthQuintile",
          "nwea_type": "Same as prior 7 columns.",
          "nwea_length": "Not specified by NWEA workbook",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Same as prior 7 columns..",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2965 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 65",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2965,
            "nonblank_count": 526,
            "observed_distinct_count": 19,
            "observed_values": [
              "2",
              "6",
              "4",
              "5",
              "11",
              "12",
              "7",
              "13"
            ]
          }
        },
        {
          "name": "SpringToSpringObservedGrowth",
          "anchor": "field-raw_assessment_results-springtospringobservedgrowth",
          "position": 66,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the spring-to-spring growth window. Actual growth from previous academic year fall term to the fall term chosen at export. --Value is only available if selected term for export is fall AND if valid RIT score exists for previous academic year fall term. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2944 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for SpringToSpring; base field 31",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2944,
            "nonblank_count": 547,
            "observed_distinct_count": 50,
            "observed_values": [
              "9",
              "4",
              "8",
              "5",
              "7",
              "2",
              "12",
              "3"
            ]
          }
        },
        {
          "name": "SpringToSpringObservedGrowthSE",
          "anchor": "field-raw_assessment_results-springtospringobservedgrowthse",
          "position": 67,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the spring-to-spring growth window. Standard Error associated with calculation for FalltoFallObservedGrowth. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2944 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Growth-window fields depend on selected export term and may be blank for windows NWEA cannot calculate."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for SpringToSpring; base field 32",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2944,
            "nonblank_count": 547,
            "observed_distinct_count": 95,
            "observed_values": [
              "4.65",
              "4.70",
              "4.67",
              "4.60",
              "4.61",
              "4.72",
              "4.69",
              "4.74"
            ]
          }
        },
        {
          "name": "SpringToSpringMetProjectedGrowth",
          "anchor": "field-raw_assessment_results-springtospringmetprojectedgrowth",
          "position": 68,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the spring-to-spring growth window. Yes = Student met the projected growth from the previous academic year fall term to the fall term chosen at export. No = Growth projection not met. Asterisk (*) = Observed Growth Standard Error (SE) could be large enough to put the outcome in question, so evaluate in combination with other points of data. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "4 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 4 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2965 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Yes",
              "meaning": "Observed growth met or exceeded NWEA's projected growth."
            },
            {
              "value": "No",
              "meaning": "Observed growth did not meet NWEA's projected growth."
            },
            {
              "value": "No*",
              "meaning": "NWEA-exported not-met value with an asterisk; preserve verbatim and do not collapse to No."
            },
            {
              "value": "blank",
              "meaning": "NWEA did not export this growth-window calculation for the row."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for SpringToSpring; base field 33",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2965,
            "nonblank_count": 526,
            "observed_distinct_count": 4,
            "observed_values": [
              "Yes",
              "Yes*",
              "No",
              "No*"
            ]
          }
        },
        {
          "name": "SpringToSpringConditionalGrowthIndex",
          "anchor": "field-raw_assessment_results-springtospringconditionalgrowthindex",
          "position": 69,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the spring-to-spring growth window. Calculation that enables you to compare student growth. Measures growth from the previous academic year fall term to the fall term chosen at export. It incorporates: --weeks of instruction before testing --how high students scored in the first term A value of zero (0) corresponds to the mean (typical) growth, indicating that growth exactly matched projections. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "3 characters, 2 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 3 characters, 2 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2965 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "1.0",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for SpringToSpring; base field 34",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2965,
            "nonblank_count": 526,
            "observed_distinct_count": 280,
            "observed_values": [
              "0.41",
              "0.91",
              "0.05",
              "0.37",
              "0.96",
              "0.75",
              "0.02",
              "0.35"
            ]
          }
        },
        {
          "name": "SpringToSpringConditionalGrowthPercentile",
          "anchor": "field-raw_assessment_results-springtospringconditionalgrowthpercentile",
          "position": 70,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the spring-to-spring growth window. Translates the Conditional Growth Index to national percentile rankings for growth. Measures growth from the previous academic year fall term to the fall term chosen at export. --Value is only available if selected term is fall AND FalltoFallObservedGrowth has a value. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Number",
          "nwea_length": "2 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 2 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2965 blank value(s); migration must allow blank/null.",
            "Percentile-like values are expected to be whole-number national percentile ranks when populated."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "54",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for SpringToSpring; base field 35",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2965,
            "nonblank_count": 526,
            "observed_distinct_count": 97,
            "observed_values": [
              "64",
              "66",
              "77",
              "99",
              "93",
              "86",
              "84",
              "52"
            ]
          }
        },
        {
          "name": "SpringToSpringGrowthQuintile",
          "anchor": "field-raw_assessment_results-springtospringgrowthquintile",
          "position": 71,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for the spring-to-spring growth window. Indicates a quintile for the FalltoFallConditionalGrowthPercentile: Up to 20th percentile = “Low\" 21st to 40th percentile = “LoAvg\" 41st to 60th percentile = “Avg\" 61st to 80th percentile = \"HiAvg\" 81st percentile and above = “High\" If the FalltoFallConditionalGrowthPercentile is blank, this field will also be blank.",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2965 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv shorthand for SpringToSpring; base field 36",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2965,
            "nonblank_count": 526,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "LexileScore",
          "anchor": "field-raw_assessment_results-lexilescore",
          "position": 72,
          "origin": "NWEA pass-through",
          "description": "Available only for Reading tests. Estimated score within the range of Lexile® reading scores resulting from a correlation to NWEA’s RIT score. Lexile® and MetaMetrics® are trademarks of MetaMetrics, Inc., and are registered in the United States and abroad. (Previously named RITtoReadingScore.)",
          "nwea_type": "String",
          "nwea_length": "6 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 6 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2270 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "830L",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 72",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2270,
            "nonblank_count": 1221,
            "observed_distinct_count": 110,
            "observed_values": [
              "1075L",
              "1170L",
              "1095L",
              "1150L",
              "1230L",
              "1035L",
              "1190L",
              "1210L"
            ]
          }
        },
        {
          "name": "LexileMin",
          "anchor": "field-raw_assessment_results-lexilemin",
          "position": 73,
          "origin": "NWEA pass-through",
          "description": "Lower end of the range. (Previously named RITtoReadingMin.)",
          "nwea_type": "String",
          "nwea_length": "6 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 6 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2270 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "830L",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 73",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2270,
            "nonblank_count": 1221,
            "observed_distinct_count": 113,
            "observed_values": [
              "975L",
              "1070L",
              "995L",
              "1050L",
              "1130L",
              "935L",
              "1090L",
              "1110L"
            ]
          }
        },
        {
          "name": "LexileMax",
          "anchor": "field-raw_assessment_results-lexilemax",
          "position": 74,
          "origin": "NWEA pass-through",
          "description": "Upper end of the range. (Previously named RITtoReadingMax.)",
          "nwea_type": "String",
          "nwea_length": "6 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 6 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2270 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "830L",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 74",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2270,
            "nonblank_count": 1221,
            "observed_distinct_count": 108,
            "observed_values": [
              "1125L",
              "1220L",
              "1145L",
              "1200L",
              "1280L",
              "1085L",
              "1240L",
              "1260L"
            ]
          }
        },
        {
          "name": "QuantileScore",
          "anchor": "field-raw_assessment_results-quantilescore",
          "position": 75,
          "origin": "NWEA pass-through",
          "description": "Available only for Math K-12 tests. Estimated score within the range of Quantile® mathematics scores resulting from a correlation to NWEA’s RIT score. Quantile® and MetaMetrics® are trademarks of MetaMetrics, Inc., and are registered in the United States and abroad.",
          "nwea_type": "String",
          "nwea_length": "6 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 6 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2223 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "780Q",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 75",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2223,
            "nonblank_count": 1268,
            "observed_distinct_count": 112,
            "observed_values": [
              "1650Q",
              "970Q",
              "800Q",
              "730Q",
              "1075Q",
              "1055Q",
              "955Q",
              "920Q"
            ]
          }
        },
        {
          "name": "QuantileMin",
          "anchor": "field-raw_assessment_results-quantilemin",
          "position": 76,
          "origin": "NWEA pass-through",
          "description": "Lower end of the range.",
          "nwea_type": "String",
          "nwea_length": "6 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 6 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2223 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "780Q",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 76",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2223,
            "nonblank_count": 1268,
            "observed_distinct_count": 115,
            "observed_values": [
              "1650Q",
              "920Q",
              "750Q",
              "680Q",
              "1025Q",
              "1005Q",
              "905Q",
              "870Q"
            ]
          }
        },
        {
          "name": "QuantileMax",
          "anchor": "field-raw_assessment_results-quantilemax",
          "position": 77,
          "origin": "NWEA pass-through",
          "description": "Upper end of the range.",
          "nwea_type": "String",
          "nwea_length": "6 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 6 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2223 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "780Q",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 77",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2223,
            "nonblank_count": 1268,
            "observed_distinct_count": 109,
            "observed_values": [
              "1650Q",
              "1020Q",
              "850Q",
              "780Q",
              "1125Q",
              "1105Q",
              "1005Q",
              "970Q"
            ]
          }
        },
        {
          "name": "Goal1Name",
          "anchor": "field-raw_assessment_results-goal1name",
          "position": 78,
          "origin": "NWEA pass-through",
          "description": "Name of first goal section of the test. Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 78",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 5,
            "observed_values": []
          }
        },
        {
          "name": "Goal1RitScore",
          "anchor": "field-raw_assessment_results-goal1ritscore",
          "position": 79,
          "origin": "NWEA pass-through",
          "description": "RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 79",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 143,
            "observed_values": [
              "227",
              "221",
              "231",
              "230",
              "216",
              "224",
              "219",
              "234"
            ]
          }
        },
        {
          "name": "Goal1StdErr",
          "anchor": "field-raw_assessment_results-goal1stderr",
          "position": 80,
          "origin": "NWEA pass-through",
          "description": "Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 80",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 72,
            "observed_values": [
              "5.8",
              "5.7",
              "6.1",
              "6.2",
              "5.9",
              "6.0",
              "6.3",
              "6.7"
            ]
          }
        },
        {
          "name": "Goal1Range",
          "anchor": "field-raw_assessment_results-goal1range",
          "position": 81,
          "origin": "NWEA pass-through",
          "description": "RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 81",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 513,
            "observed_values": [
              "215-227",
              "221-233",
              "218-230",
              "214-226",
              "224-236",
              "225-237",
              "210-222",
              "229-241"
            ]
          }
        },
        {
          "name": "Goal1Adjective",
          "anchor": "field-raw_assessment_results-goal1adjective",
          "position": 82,
          "origin": "NWEA pass-through",
          "description": "Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 885 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 82",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 885,
            "nonblank_count": 2606,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "Goal2Name",
          "anchor": "field-raw_assessment_results-goal2name",
          "position": 83,
          "origin": "NWEA pass-through",
          "description": "Same five fields as Goal 1. See the prior 5 columns.",
          "nwea_type": "Same five fields as for Goal 1. See the prior 5 columns.",
          "nwea_length": "Not specified by NWEA workbook",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Same five fields as for Goal 1. See the prior 5 columns..",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 83",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 6,
            "observed_values": []
          }
        },
        {
          "name": "Goal2RitScore",
          "anchor": "field-raw_assessment_results-goal2ritscore",
          "position": 84,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 2. Same field meaning as Goal1RitScore. RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 144,
            "observed_values": [
              "229",
              "217",
              "228",
              "216",
              "226",
              "221",
              "224",
              "220"
            ]
          }
        },
        {
          "name": "Goal2StdErr",
          "anchor": "field-raw_assessment_results-goal2stderr",
          "position": 85,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 2. Same field meaning as Goal1StdErr. Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 74,
            "observed_values": [
              "5.8",
              "5.7",
              "5.9",
              "6.2",
              "6.1",
              "6.0",
              "6.3",
              "5.6"
            ]
          }
        },
        {
          "name": "Goal2Range",
          "anchor": "field-raw_assessment_results-goal2range",
          "position": 86,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 2. Same field meaning as Goal1Range. RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 496,
            "observed_values": [
              "210-222",
              "211-223",
              "215-227",
              "218-230",
              "220-232",
              "216-228",
              "222-234",
              "223-235"
            ]
          }
        },
        {
          "name": "Goal2Adjective",
          "anchor": "field-raw_assessment_results-goal2adjective",
          "position": 87,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 2. Same field meaning as Goal1Adjective. Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 885 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 885,
            "nonblank_count": 2606,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "Goal3Name",
          "anchor": "field-raw_assessment_results-goal3name",
          "position": 88,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 3. Same field meaning as Goal1Name. Name of first goal section of the test. Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 6,
            "observed_values": []
          }
        },
        {
          "name": "Goal3RitScore",
          "anchor": "field-raw_assessment_results-goal3ritscore",
          "position": 89,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 3. Same field meaning as Goal1RitScore. RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 144,
            "observed_values": [
              "229",
              "227",
              "230",
              "219",
              "228",
              "222",
              "223",
              "225"
            ]
          }
        },
        {
          "name": "Goal3StdErr",
          "anchor": "field-raw_assessment_results-goal3stderr",
          "position": 90,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 3. Same field meaning as Goal1StdErr. Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 81,
            "observed_values": [
              "6.2",
              "6.0",
              "5.9",
              "6.3",
              "6.1",
              "5.8",
              "6.5",
              "6.4"
            ]
          }
        },
        {
          "name": "Goal3Range",
          "anchor": "field-raw_assessment_results-goal3range",
          "position": 91,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 3. Same field meaning as Goal1Range. RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 833 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 833,
            "nonblank_count": 2658,
            "observed_distinct_count": 497,
            "observed_values": [
              "223-235",
              "216-228",
              "221-233",
              "219-231",
              "222-234",
              "213-225",
              "217-229",
              "211-223"
            ]
          }
        },
        {
          "name": "Goal3Adjective",
          "anchor": "field-raw_assessment_results-goal3adjective",
          "position": 92,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 3. Same field meaning as Goal1Adjective. Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 885 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 885,
            "nonblank_count": 2606,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "Goal4Name",
          "anchor": "field-raw_assessment_results-goal4name",
          "position": 93,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 4. Same field meaning as Goal1Name. Name of first goal section of the test. Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2374 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2374,
            "nonblank_count": 1117,
            "observed_distinct_count": 3,
            "observed_values": []
          }
        },
        {
          "name": "Goal4RitScore",
          "anchor": "field-raw_assessment_results-goal4ritscore",
          "position": 94,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 4. Same field meaning as Goal1RitScore. RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2374 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2374,
            "nonblank_count": 1117,
            "observed_distinct_count": 149,
            "observed_values": [
              "196",
              "193",
              "194",
              "215",
              "171",
              "182",
              "211",
              "202"
            ]
          }
        },
        {
          "name": "Goal4StdErr",
          "anchor": "field-raw_assessment_results-goal4stderr",
          "position": 95,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 4. Same field meaning as Goal1StdErr. Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2374 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2374,
            "nonblank_count": 1117,
            "observed_distinct_count": 98,
            "observed_values": [
              "8.8",
              "9.0",
              "8.9",
              "9.1",
              "8.7",
              "8.3",
              "8.4",
              "11.0"
            ]
          }
        },
        {
          "name": "Goal4Range",
          "anchor": "field-raw_assessment_results-goal4range",
          "position": 96,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 4. Same field meaning as Goal1Range. RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2374 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2374,
            "nonblank_count": 1117,
            "observed_distinct_count": 528,
            "observed_values": [
              "211-229",
              "187-205",
              "215-233",
              "199-217",
              "191-209",
              "224-242",
              "200-218",
              "202-220"
            ]
          }
        },
        {
          "name": "Goal4Adjective",
          "anchor": "field-raw_assessment_results-goal4adjective",
          "position": 97,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 4. Same field meaning as Goal1Adjective. Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2426 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2426,
            "nonblank_count": 1065,
            "observed_distinct_count": 5,
            "observed_values": [
              "High",
              "HiAvg",
              "Avg",
              "LoAvg",
              "Low"
            ]
          }
        },
        {
          "name": "Goal5Name",
          "anchor": "field-raw_assessment_results-goal5name",
          "position": 98,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 5. Same field meaning as Goal1Name. Name of first goal section of the test. Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal5RitScore",
          "anchor": "field-raw_assessment_results-goal5ritscore",
          "position": 99,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 5. Same field meaning as Goal1RitScore. RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal5StdErr",
          "anchor": "field-raw_assessment_results-goal5stderr",
          "position": 100,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 5. Same field meaning as Goal1StdErr. Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal5Range",
          "anchor": "field-raw_assessment_results-goal5range",
          "position": 101,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 5. Same field meaning as Goal1Range. RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal5Adjective",
          "anchor": "field-raw_assessment_results-goal5adjective",
          "position": 102,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 5. Same field meaning as Goal1Adjective. Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal6Name",
          "anchor": "field-raw_assessment_results-goal6name",
          "position": 103,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 6. Same field meaning as Goal1Name. Name of first goal section of the test. Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal6RitScore",
          "anchor": "field-raw_assessment_results-goal6ritscore",
          "position": 104,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 6. Same field meaning as Goal1RitScore. RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal6StdErr",
          "anchor": "field-raw_assessment_results-goal6stderr",
          "position": 105,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 6. Same field meaning as Goal1StdErr. Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal6Range",
          "anchor": "field-raw_assessment_results-goal6range",
          "position": 106,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 6. Same field meaning as Goal1Range. RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal6Adjective",
          "anchor": "field-raw_assessment_results-goal6adjective",
          "position": 107,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 6. Same field meaning as Goal1Adjective. Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal7Name",
          "anchor": "field-raw_assessment_results-goal7name",
          "position": 108,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 7. Same field meaning as Goal1Name. Name of first goal section of the test. Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal7RitScore",
          "anchor": "field-raw_assessment_results-goal7ritscore",
          "position": 109,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 7. Same field meaning as Goal1RitScore. RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal7StdErr",
          "anchor": "field-raw_assessment_results-goal7stderr",
          "position": 110,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 7. Same field meaning as Goal1StdErr. Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal7Range",
          "anchor": "field-raw_assessment_results-goal7range",
          "position": 111,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 7. Same field meaning as Goal1Range. RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal7Adjective",
          "anchor": "field-raw_assessment_results-goal7adjective",
          "position": 112,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 7. Same field meaning as Goal1Adjective. Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal8Name",
          "anchor": "field-raw_assessment_results-goal8name",
          "position": 113,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 8. Same field meaning as Goal1Name. Name of first goal section of the test. Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal8RitScore",
          "anchor": "field-raw_assessment_results-goal8ritscore",
          "position": 114,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 8. Same field meaning as Goal1RitScore. RIT score for the first goal section of the test. Value is rounded to whole, integer value.",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Goal fields can be blank for Survey tests without goals."
          ],
          "example": "238",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal8StdErr",
          "anchor": "field-raw_assessment_results-goal8stderr",
          "position": 115,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 8. Same field meaning as Goal1StdErr. Standard error for first goal section of the test.",
          "nwea_type": "Number",
          "nwea_length": "9 characters, 1 decimal",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Number.",
            "NWEA length/range: 9 characters, 1 decimal.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "3.4",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal8Range",
          "anchor": "field-raw_assessment_results-goal8range",
          "position": 116,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 8. Same field meaning as Goal1Range. RIT range based on the standard error and RIT score. *–* indicates that no value range computed.",
          "nwea_type": "String",
          "nwea_length": "7 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 7 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Goal8Adjective",
          "anchor": "field-raw_assessment_results-goal8adjective",
          "position": 117,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for goal 8. Same field meaning as Goal1Adjective. Goal adjective related to the first goal score. This is defined using the goal score percentile as it relates to a norm set and its associative cut sheet. Values: Low (percentile <= 20) LoAvg (percentile > 20 to <= 40) Avg (percentile > 40 to <= 60) HiAvg (percentile > 60 to <= 80) High (percentile > 80) * (goal adjective could not be computed)",
          "nwea_type": "String",
          "nwea_length": "12 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 12 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [
            {
              "value": "Low",
              "meaning": "Up to 20th percentile."
            },
            {
              "value": "LoAvg",
              "meaning": "21st through 40th percentile."
            },
            {
              "value": "Avg",
              "meaning": "41st through 60th percentile."
            },
            {
              "value": "HiAvg",
              "meaning": "61st through 80th percentile."
            },
            {
              "value": "High",
              "meaning": "81st percentile and above."
            },
            {
              "value": "blank",
              "meaning": "No percentile/adjective was exported for this field."
            }
          ],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Avg",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv Goal2-8 shorthand; base Goal1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "TypicalFallToFallGrowth",
          "anchor": "field-raw_assessment_results-typicalfalltofallgrowth",
          "position": 118,
          "origin": "NWEA pass-through",
          "description": "Projected RIT growth from the fall term chosen at export to the next academic year fall term. --Value is only available if the selected term for export is fall and if growth projection norms exist. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 118",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "TypicalFallToWinterGrowth",
          "anchor": "field-raw_assessment_results-typicalfalltowintergrowth",
          "position": 119,
          "origin": "NWEA pass-through",
          "description": "Projected RIT growth from the fall term chosen at export to the next winter term. --Value is only available if the selected term for export is fall and if growth projection norms exist. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 119",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "TypicalFallToSpringGrowth",
          "anchor": "field-raw_assessment_results-typicalfalltospringgrowth",
          "position": 120,
          "origin": "NWEA pass-through",
          "description": "Projected RIT growth from the fall term chosen at export to the next spring term. --Value is only available if the selected term for export is fall and if growth projection norms exist. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 120",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "TypicalWinterToWinterGrowth",
          "anchor": "field-raw_assessment_results-typicalwintertowintergrowth",
          "position": 121,
          "origin": "NWEA pass-through",
          "description": "Projected RIT growth from the winter term chosen at export to the next academic year winter term. --Value is only available if the selected term for export is winter and if growth projection norms exist. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 121",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "TypicalWinterToSpringGrowth",
          "anchor": "field-raw_assessment_results-typicalwintertospringgrowth",
          "position": 122,
          "origin": "NWEA pass-through",
          "description": "Projected RIT growth from the winter term chosen at export to the next spring term. --Value is only available if the selected term for export is winter and if growth projection norms exist. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 122",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "TypicalSpringToSpringGrowth",
          "anchor": "field-raw_assessment_results-typicalspringtospringgrowth",
          "position": 123,
          "origin": "NWEA pass-through",
          "description": "Projected RIT growth from the spring term chosen at export to the next academic year spring term. --Value is only available if the selected term for export is spring and if growth projection norms exist. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "Integer",
          "nwea_length": "3 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 3 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 885 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state."
          ],
          "example": "2",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 123",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 885,
            "nonblank_count": 2606,
            "observed_distinct_count": 17,
            "observed_values": [
              "2",
              "5",
              "4",
              "6",
              "3",
              "10",
              "9",
              "11"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyStudy1",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy1",
          "position": 124,
          "origin": "NWEA pass-through",
          "description": "Name of the first NWEA linking study associated with the MAP test taken. Linking studies form the basis for projected proficiency on separate assessments, such as your state summative test. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2382 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 124",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2382,
            "nonblank_count": 1109,
            "observed_distinct_count": 1,
            "observed_values": [
              "ACT College Readiness"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyLevel1",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel1",
          "position": 125,
          "origin": "NWEA pass-through",
          "description": "Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2382 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 125",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2382,
            "nonblank_count": 1109,
            "observed_distinct_count": 3,
            "observed_values": [
              "On Track 24",
              "Not On Track",
              "On Track 22"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyStudy2",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy2",
          "position": 126,
          "origin": "NWEA pass-through",
          "description": "Name of the second NWEA linking study, if available.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2417 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 126",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2417,
            "nonblank_count": 1074,
            "observed_distinct_count": 1,
            "observed_values": [
              "SAT"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyLevel2",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel2",
          "position": 127,
          "origin": "NWEA pass-through",
          "description": "Projected proficiency level, or category, that corresponds to the second linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 2417 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 127",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 2417,
            "nonblank_count": 1074,
            "observed_distinct_count": 2,
            "observed_values": [
              "On Track",
              "Not On Track"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyStudy3",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy3",
          "position": 128,
          "origin": "NWEA pass-through",
          "description": "Name of the third NWEA linking study, if available.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1403 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 128",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 1403,
            "nonblank_count": 2088,
            "observed_distinct_count": 1,
            "observed_values": [
              "STAAR"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyLevel3",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel3",
          "position": 129,
          "origin": "NWEA pass-through",
          "description": "Projected proficiency level, or category, that corresponds to the third linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1403 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 129",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 1403,
            "nonblank_count": 2088,
            "observed_distinct_count": 4,
            "observed_values": [
              "Masters",
              "Meets",
              "Approaches",
              "Did Not Meet"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyStudy4",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy4",
          "position": 130,
          "origin": "NWEA pass-through",
          "description": "If there are additional proficiency projections applicable to the MAP test, they will appear at the end of the export.",
          "nwea_type": "Same as prior columns.",
          "nwea_length": "Not specified by NWEA workbook",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Same as prior columns..",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3105 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 130",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3105,
            "nonblank_count": 386,
            "observed_distinct_count": 1,
            "observed_values": [
              "STAAR EOC"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyLevel4",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel4",
          "position": 131,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 4. Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3105 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3105,
            "nonblank_count": 386,
            "observed_distinct_count": 4,
            "observed_values": [
              "Masters",
              "Meets",
              "Approaches",
              "Did Not Meet"
            ]
          }
        },
        {
          "name": "ProjectedProficiencyStudy5",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy5",
          "position": 132,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 5. Name of the first NWEA linking study associated with the MAP test taken. Linking studies form the basis for projected proficiency on separate assessments, such as your state summative test. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyLevel5",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel5",
          "position": 133,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 5. Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyStudy6",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy6",
          "position": 134,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 6. Name of the first NWEA linking study associated with the MAP test taken. Linking studies form the basis for projected proficiency on separate assessments, such as your state summative test. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyLevel6",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel6",
          "position": 135,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 6. Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyStudy7",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy7",
          "position": 136,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 7. Name of the first NWEA linking study associated with the MAP test taken. Linking studies form the basis for projected proficiency on separate assessments, such as your state summative test. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyLevel7",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel7",
          "position": 137,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 7. Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyStudy8",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy8",
          "position": 138,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 8. Name of the first NWEA linking study associated with the MAP test taken. Linking studies form the basis for projected proficiency on separate assessments, such as your state summative test. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyLevel8",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel8",
          "position": 139,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 8. Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyStudy9",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy9",
          "position": 140,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 9. Name of the first NWEA linking study associated with the MAP test taken. Linking studies form the basis for projected proficiency on separate assessments, such as your state summative test. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyLevel9",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel9",
          "position": 141,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 9. Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyStudy10",
          "anchor": "field-raw_assessment_results-projectedproficiencystudy10",
          "position": 142,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 10. Name of the first NWEA linking study associated with the MAP test taken. Linking studies form the basis for projected proficiency on separate assessments, such as your state summative test. --Value is blank if the MAP test type is \"Survey.\"",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "Conditionally populated by NWEA; blank is a meaningful exported state.",
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Example State Linking Study",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ProjectedProficiencyLevel10",
          "anchor": "field-raw_assessment_results-projectedproficiencylevel10",
          "position": 143,
          "origin": "NWEA pass-through",
          "description": "NWEA shorthand expansion for projected-proficiency pair 10. Projected proficiency level, or category, such as Unsatisfactory, Partially Proficient, and so on. Corresponds to the first linking study.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 3491 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [
            "NWEA appends only applicable linking studies; later study/level columns may be blank."
          ],
          "example": "Proficient",
          "source": "MAP_Export_Field_Descriptions.xlsx / AssessmentResults.csv ProjectedProficiency 4 to 10 shorthand; base pair 1 field",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 3491,
            "blank_count": 3491,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        }
      ],
      "field_count": 143,
      "row_count": 3491
    },
    {
      "id": "raw_class_assignments",
      "name": "nweamap.raw_class_assignments",
      "title": "Class assignment raw CDF rows",
      "kind": "NWEA pass-through raw table",
      "csv_file": "ClassAssignments.csv",
      "workbook_sheet": "ClassAssignments.csv",
      "endpoint": "GET /nweamap/v1/class-assignments",
      "description": "Lossless mirror of NWEA class and teacher assignment rows.",
      "lifecycle": "Created by CDF import and retained as the class/teacher assignment evidence for the import scope.",
      "relationships": [
        "StudentID connects class assignment rows to the student and assessment rows in the same tenant/account/term.",
        "TeacherID is NWEA/district supplied; this surface does not invent a teacher directory table."
      ],
      "itds": [
        "nitd-000-source-contract",
        "nitd-001-mirror-export",
        "nitd-017-axis-list-endpoints"
      ],
      "sidecar_fields": [
        {
          "name": "row_id",
          "anchor": "field-raw_class_assignments-row-id",
          "origin": "Platform gap-fill",
          "description": "Stable row identifier assigned by the platform for this mirrored CDF row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within this table.",
            "Never derived from student identity or NWEA row text."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "tenant_id",
          "anchor": "field-raw_class_assignments-tenant-id",
          "origin": "Platform gap-fill",
          "description": "Platform tenant boundary from the verified JWT; this is the authorization scope for the row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must match the caller's JWT tenantId for writes and reads.",
            "References platform.tenant(tenant_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Belongs to exactly one platform.tenant row."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "nwea_account_id",
          "anchor": "field-raw_class_assignments-nwea-account-id",
          "origin": "Platform gap-fill",
          "description": "Tenant-local NWEA account partition for the imported bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Required for imports and list filters.",
            "Not globally unique outside tenant_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nwea-account-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "import_id",
          "anchor": "field-raw_class_assignments-import-id",
          "origin": "Platform gap-fill",
          "description": "Import bundle that created or last refreshed this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import(import_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import bundle."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model"
          ],
          "stats": null
        },
        {
          "name": "import_file_id",
          "anchor": "field-raw_class_assignments-import-file-id",
          "origin": "Platform gap-fill",
          "description": "Import-file record for the CDF file that carried this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import_file(import_file_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import file."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_file",
          "anchor": "field-raw_class_assignments-source-file",
          "origin": "Platform gap-fill",
          "description": "Exact CDF file name whose header and row content produced this row.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the five Comprehensive Data File names."
          ],
          "allowed_values": [
            {
              "value": "StudentsBySchool.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AssessmentResults.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ClassAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ProgramAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AccommodationAssignment.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "AssessmentResults.csv",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "source_row_number",
          "anchor": "field-raw_class_assignments-source-row-number",
          "origin": "Platform gap-fill",
          "description": "One-based data-row number inside the CDF file, excluding the header.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be >= 1.",
            "Stable only within the import_file_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "42",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_row_hash",
          "anchor": "field-raw_class_assignments-source-row-hash",
          "origin": "Platform gap-fill",
          "description": "Canonical hash of the source-file name, header position, and row values used for idempotent re-import and missing-row detection.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "SHA-256 hex or sha256-prefixed digest.",
            "Same row content in the same file scope must produce the same hash."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "sha256:2d3f6b4e8c1a0f9b7e6d5c4b3a291807060504030201000ffeeddbbccaa9988",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "ingested_at",
          "anchor": "field-raw_class_assignments-ingested-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the platform accepted this row into tenant-scoped persistence.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Used for audit and modifiedSince behavior."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-raw_class_assignments-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the row or its deletion/projection state last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Must be greater than or equal to ingested_at.",
            "Powers modifiedSince polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        },
        {
          "name": "deleted_at",
          "anchor": "field-raw_class_assignments-deleted-at",
          "origin": "Platform gap-fill",
          "description": "Soft-delete timestamp set when a replacement authoritative export stops sending this source row.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Null means active.",
            "Non-null rows are excluded from test_of_record."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [
            "Soft delete is retention evidence, not a legal erasure API."
          ],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "deleted_by_import_id",
          "anchor": "field-raw_class_assignments-deleted-by-import-id",
          "origin": "Platform gap-fill",
          "description": "Replacement import that caused this row to be marked deleted.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "References nweamap.import(import_id) when present."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "delete_reason",
          "anchor": "field-raw_class_assignments-delete-reason",
          "origin": "Platform gap-fill",
          "description": "Platform explanation for why the row disappeared from a later authoritative export, when inferable.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Must be null or one of the documented delete_reason values."
          ],
          "allowed_values": [
            {
              "value": "missing_from_replacement_export",
              "meaning": "A later authoritative export for the same scope stopped sending the row."
            },
            {
              "value": "retake_superseded",
              "meaning": "Import evidence indicates the row was replaced by a retake."
            },
            {
              "value": "invalidated_or_suppressed_by_nwea",
              "meaning": "Import evidence indicates NWEA invalidated or suppressed the sitting."
            },
            {
              "value": "unknown",
              "meaning": "The row disappeared but the specific reason was not inferable."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "missing_from_replacement_export",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete"
          ],
          "stats": null
        }
      ],
      "nwea_fields": [
        {
          "name": "TermName",
          "anchor": "field-raw_class_assignments-termname",
          "position": 1,
          "origin": "NWEA pass-through",
          "description": "Term chosen for the export.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Term scope is paired with tenant_id and nwea_account_id; term strings are pass-through NWEA values, not parsed by client skill packs."
          ],
          "edge_cases": [],
          "example": "Spring 2025-2026",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 1",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 0,
            "nonblank_count": 1128,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "DistrictName",
          "anchor": "field-raw_class_assignments-districtname",
          "position": 2,
          "origin": "NWEA pass-through",
          "description": "Name defined in your MAP preferences.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Reconciliation field from NWEA/MAP preferences; not canonical tenant routing."
          ],
          "edge_cases": [],
          "example": "Example District",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 2",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 0,
            "nonblank_count": 1128,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "District_StateID",
          "anchor": "field-raw_class_assignments-district-stateid",
          "position": 3,
          "origin": "NWEA pass-through",
          "description": "District code you have set in MAP preferences.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1128 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example District",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 3",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 1128,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "SchoolName",
          "anchor": "field-raw_class_assignments-schoolname",
          "position": 4,
          "origin": "NWEA pass-through",
          "description": "Name defined in your MAP preferences. If a student has multiple schools, this is the student's School of Record.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "NWEA school-of-record label; not canonical tenant routing."
          ],
          "edge_cases": [],
          "example": "Example School",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 4",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 0,
            "nonblank_count": 1128,
            "observed_distinct_count": 29,
            "observed_values": []
          }
        },
        {
          "name": "School_StateID",
          "anchor": "field-raw_class_assignments-school-stateid",
          "position": 5,
          "origin": "NWEA pass-through",
          "description": "State code for the school associated with the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1128 blank value(s); migration must allow blank/null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example School",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 5",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 1128,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "StudentID",
          "anchor": "field-raw_class_assignments-studentid",
          "position": 6,
          "origin": "NWEA pass-through",
          "description": "ID your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Student identifier repeats across CDF collections inside the same tenant, NWEA account, and term; it is not globally unique."
          ],
          "edge_cases": [],
          "example": "stu-12345",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 6",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 0,
            "nonblank_count": 1128,
            "observed_distinct_count": 1123,
            "observed_values": []
          }
        },
        {
          "name": "Student_StateID",
          "anchor": "field-raw_class_assignments-student-stateid",
          "position": 7,
          "origin": "NWEA pass-through",
          "description": "ID your state uses to identify the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1128 blank value(s); migration must allow blank/null.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "State student identifier is optional and may be blank; never use it as the only join key."
          ],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 7",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 1128,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "ClassName",
          "anchor": "field-raw_class_assignments-classname",
          "position": 8,
          "origin": "NWEA pass-through",
          "description": "Class your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 8",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 0,
            "nonblank_count": 1128,
            "observed_distinct_count": 6,
            "observed_values": []
          }
        },
        {
          "name": "TeacherName",
          "anchor": "field-raw_class_assignments-teachername",
          "position": 9,
          "origin": "NWEA pass-through",
          "description": "Teacher (Instructor) your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "303 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 303 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Example Teacher",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 9",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 0,
            "nonblank_count": 1128,
            "observed_distinct_count": 2,
            "observed_values": []
          }
        },
        {
          "name": "TeacherID",
          "anchor": "field-raw_class_assignments-teacherid",
          "position": 10,
          "origin": "NWEA pass-through",
          "description": "Unique identifier assigned to the teacher by your district or school.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 41 blank value(s); migration must allow blank/null.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "teacher-123",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 10",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 41,
            "nonblank_count": 1087,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "Teacher_StateID",
          "anchor": "field-raw_class_assignments-teacher-stateid",
          "position": 11,
          "origin": "NWEA pass-through",
          "description": "Additional identifier your state uses to identify the teacher.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1128 blank value(s); migration must allow blank/null.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "teacher-123",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 11",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1128,
            "blank_count": 1128,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        }
      ],
      "field_count": 11,
      "row_count": 1128
    },
    {
      "id": "raw_program_assignments",
      "name": "nweamap.raw_program_assignments",
      "title": "Program assignment raw CDF rows",
      "kind": "NWEA pass-through raw table",
      "csv_file": "ProgramAssignments.csv",
      "workbook_sheet": "ProgramAssignments.csv",
      "endpoint": "GET /nweamap/v1/program-assignments",
      "description": "Lossless mirror of optional NWEA program assignment rows. An export with only headers is a valid empty file.",
      "lifecycle": "Created by CDF import when rows are present; header-only files still produce import-file evidence and zero raw rows.",
      "relationships": [
        "StudentID connects program rows to the student rows in the same tenant/account/term.",
        "NWEAStandard_Program clarifies the local Program value; it is not a platform-owned enum."
      ],
      "itds": [
        "nitd-000-source-contract",
        "nitd-001-mirror-export",
        "nitd-015-axis-conformance-evidence",
        "nitd-017-axis-list-endpoints"
      ],
      "sidecar_fields": [
        {
          "name": "row_id",
          "anchor": "field-raw_program_assignments-row-id",
          "origin": "Platform gap-fill",
          "description": "Stable row identifier assigned by the platform for this mirrored CDF row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within this table.",
            "Never derived from student identity or NWEA row text."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "tenant_id",
          "anchor": "field-raw_program_assignments-tenant-id",
          "origin": "Platform gap-fill",
          "description": "Platform tenant boundary from the verified JWT; this is the authorization scope for the row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must match the caller's JWT tenantId for writes and reads.",
            "References platform.tenant(tenant_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Belongs to exactly one platform.tenant row."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "nwea_account_id",
          "anchor": "field-raw_program_assignments-nwea-account-id",
          "origin": "Platform gap-fill",
          "description": "Tenant-local NWEA account partition for the imported bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Required for imports and list filters.",
            "Not globally unique outside tenant_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nwea-account-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "import_id",
          "anchor": "field-raw_program_assignments-import-id",
          "origin": "Platform gap-fill",
          "description": "Import bundle that created or last refreshed this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import(import_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import bundle."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model"
          ],
          "stats": null
        },
        {
          "name": "import_file_id",
          "anchor": "field-raw_program_assignments-import-file-id",
          "origin": "Platform gap-fill",
          "description": "Import-file record for the CDF file that carried this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import_file(import_file_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import file."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_file",
          "anchor": "field-raw_program_assignments-source-file",
          "origin": "Platform gap-fill",
          "description": "Exact CDF file name whose header and row content produced this row.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the five Comprehensive Data File names."
          ],
          "allowed_values": [
            {
              "value": "StudentsBySchool.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AssessmentResults.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ClassAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ProgramAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AccommodationAssignment.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "AssessmentResults.csv",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "source_row_number",
          "anchor": "field-raw_program_assignments-source-row-number",
          "origin": "Platform gap-fill",
          "description": "One-based data-row number inside the CDF file, excluding the header.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be >= 1.",
            "Stable only within the import_file_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "42",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_row_hash",
          "anchor": "field-raw_program_assignments-source-row-hash",
          "origin": "Platform gap-fill",
          "description": "Canonical hash of the source-file name, header position, and row values used for idempotent re-import and missing-row detection.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "SHA-256 hex or sha256-prefixed digest.",
            "Same row content in the same file scope must produce the same hash."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "sha256:2d3f6b4e8c1a0f9b7e6d5c4b3a291807060504030201000ffeeddbbccaa9988",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "ingested_at",
          "anchor": "field-raw_program_assignments-ingested-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the platform accepted this row into tenant-scoped persistence.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Used for audit and modifiedSince behavior."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-raw_program_assignments-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the row or its deletion/projection state last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Must be greater than or equal to ingested_at.",
            "Powers modifiedSince polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        },
        {
          "name": "deleted_at",
          "anchor": "field-raw_program_assignments-deleted-at",
          "origin": "Platform gap-fill",
          "description": "Soft-delete timestamp set when a replacement authoritative export stops sending this source row.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Null means active.",
            "Non-null rows are excluded from test_of_record."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [
            "Soft delete is retention evidence, not a legal erasure API."
          ],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "deleted_by_import_id",
          "anchor": "field-raw_program_assignments-deleted-by-import-id",
          "origin": "Platform gap-fill",
          "description": "Replacement import that caused this row to be marked deleted.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "References nweamap.import(import_id) when present."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "delete_reason",
          "anchor": "field-raw_program_assignments-delete-reason",
          "origin": "Platform gap-fill",
          "description": "Platform explanation for why the row disappeared from a later authoritative export, when inferable.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Must be null or one of the documented delete_reason values."
          ],
          "allowed_values": [
            {
              "value": "missing_from_replacement_export",
              "meaning": "A later authoritative export for the same scope stopped sending the row."
            },
            {
              "value": "retake_superseded",
              "meaning": "Import evidence indicates the row was replaced by a retake."
            },
            {
              "value": "invalidated_or_suppressed_by_nwea",
              "meaning": "Import evidence indicates NWEA invalidated or suppressed the sitting."
            },
            {
              "value": "unknown",
              "meaning": "The row disappeared but the specific reason was not inferable."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "missing_from_replacement_export",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete"
          ],
          "stats": null
        }
      ],
      "nwea_fields": [
        {
          "name": "TermName",
          "anchor": "field-raw_program_assignments-termname",
          "position": 1,
          "origin": "NWEA pass-through",
          "description": "Term chosen for the export.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample has zero data rows; do not infer NOT NULL from absence of values."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Term scope is paired with tenant_id and nwea_account_id; term strings are pass-through NWEA values, not parsed by client skill packs."
          ],
          "edge_cases": [],
          "example": "Spring 2025-2026",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 1",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 0,
            "blank_count": 0,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "StudentID",
          "anchor": "field-raw_program_assignments-studentid",
          "position": 2,
          "origin": "NWEA pass-through",
          "description": "ID your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample has zero data rows; do not infer NOT NULL from absence of values.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Student identifier repeats across CDF collections inside the same tenant, NWEA account, and term; it is not globally unique."
          ],
          "edge_cases": [],
          "example": "stu-12345",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 2",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 0,
            "blank_count": 0,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Student_StateID",
          "anchor": "field-raw_program_assignments-student-stateid",
          "position": 3,
          "origin": "NWEA pass-through",
          "description": "ID your state uses to identify the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample has zero data rows; do not infer NOT NULL from absence of values.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "State student identifier is optional and may be blank; never use it as the only join key."
          ],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 3",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 0,
            "blank_count": 0,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "Program",
          "anchor": "field-raw_program_assignments-program",
          "position": 4,
          "origin": "NWEA pass-through",
          "description": "Programs, such as Head Start, that your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample has zero data rows; do not infer NOT NULL from absence of values."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Head Start",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 4",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 0,
            "blank_count": 0,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "NWEAStandard_Program",
          "anchor": "field-raw_program_assignments-nweastandard-program",
          "position": 5,
          "origin": "NWEA pass-through",
          "description": "Default name from NWEA that is associated with your custom Program name. Included here to help clarify the data shown in the Program column.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample has zero data rows; do not infer NOT NULL from absence of values."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Head Start",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 5",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 0,
            "blank_count": 0,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        }
      ],
      "field_count": 5,
      "row_count": 0
    },
    {
      "id": "raw_accommodation_assignments",
      "name": "nweamap.raw_accommodation_assignments",
      "title": "Accommodation assignment raw CDF rows",
      "kind": "NWEA pass-through raw table",
      "csv_file": "AccommodationAssignment.csv",
      "workbook_sheet": "AccommodationAssignment.csv",
      "endpoint": "GET /nweamap/v1/accommodations",
      "description": "Lossless mirror of NWEA accommodation rows, one row per accommodation selected by a proctor for a test event.",
      "lifecycle": "Created by CDF import and retained for audit even if a later export no longer carries the accommodation row.",
      "relationships": [
        "TestID belongs to one AssessmentResults row in the same tenant/account/term when NWEA sent both files.",
        "A single test can have many accommodation rows because NWEA emits multiple accommodations on separate rows."
      ],
      "itds": [
        "nitd-000-source-contract",
        "nitd-001-mirror-export",
        "nitd-004-soft-delete",
        "nitd-017-axis-list-endpoints"
      ],
      "sidecar_fields": [
        {
          "name": "row_id",
          "anchor": "field-raw_accommodation_assignments-row-id",
          "origin": "Platform gap-fill",
          "description": "Stable row identifier assigned by the platform for this mirrored CDF row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within this table.",
            "Never derived from student identity or NWEA row text."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "tenant_id",
          "anchor": "field-raw_accommodation_assignments-tenant-id",
          "origin": "Platform gap-fill",
          "description": "Platform tenant boundary from the verified JWT; this is the authorization scope for the row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must match the caller's JWT tenantId for writes and reads.",
            "References platform.tenant(tenant_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Belongs to exactly one platform.tenant row."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "nwea_account_id",
          "anchor": "field-raw_accommodation_assignments-nwea-account-id",
          "origin": "Platform gap-fill",
          "description": "Tenant-local NWEA account partition for the imported bundle.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Required for imports and list filters.",
            "Not globally unique outside tenant_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nwea-account-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "import_id",
          "anchor": "field-raw_accommodation_assignments-import-id",
          "origin": "Platform gap-fill",
          "description": "Import bundle that created or last refreshed this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import(import_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import bundle."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model"
          ],
          "stats": null
        },
        {
          "name": "import_file_id",
          "anchor": "field-raw_accommodation_assignments-import-file-id",
          "origin": "Platform gap-fill",
          "description": "Import-file record for the CDF file that carried this row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.import_file(import_file_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [
            "Many raw rows belong to one import file."
          ],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_file",
          "anchor": "field-raw_accommodation_assignments-source-file",
          "origin": "Platform gap-fill",
          "description": "Exact CDF file name whose header and row content produced this row.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the five Comprehensive Data File names."
          ],
          "allowed_values": [
            {
              "value": "StudentsBySchool.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AssessmentResults.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ClassAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "ProgramAssignments.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            },
            {
              "value": "AccommodationAssignment.csv",
              "meaning": "One required or optional file in the Comprehensive Data File bundle."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "AssessmentResults.csv",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-001-mirror-export"
          ],
          "stats": null
        },
        {
          "name": "source_row_number",
          "anchor": "field-raw_accommodation_assignments-source-row-number",
          "origin": "Platform gap-fill",
          "description": "One-based data-row number inside the CDF file, excluding the header.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be >= 1.",
            "Stable only within the import_file_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "42",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "source_row_hash",
          "anchor": "field-raw_accommodation_assignments-source-row-hash",
          "origin": "Platform gap-fill",
          "description": "Canonical hash of the source-file name, header position, and row values used for idempotent re-import and missing-row detection.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "SHA-256 hex or sha256-prefixed digest.",
            "Same row content in the same file scope must produce the same hash."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "sha256:2d3f6b4e8c1a0f9b7e6d5c4b3a291807060504030201000ffeeddbbccaa9988",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-010-axis-idempotency-model",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "ingested_at",
          "anchor": "field-raw_accommodation_assignments-ingested-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the platform accepted this row into tenant-scoped persistence.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Used for audit and modifiedSince behavior."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-001-mirror-export",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-raw_accommodation_assignments-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when the row or its deletion/projection state last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be UTC.",
            "Must be greater than or equal to ingested_at.",
            "Powers modifiedSince polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        },
        {
          "name": "deleted_at",
          "anchor": "field-raw_accommodation_assignments-deleted-at",
          "origin": "Platform gap-fill",
          "description": "Soft-delete timestamp set when a replacement authoritative export stops sending this source row.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Null means active.",
            "Non-null rows are excluded from test_of_record."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [
            "Soft delete is retention evidence, not a legal erasure API."
          ],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-016-axis-privacy-retention"
          ],
          "stats": null
        },
        {
          "name": "deleted_by_import_id",
          "anchor": "field-raw_accommodation_assignments-deleted-by-import-id",
          "origin": "Platform gap-fill",
          "description": "Replacement import that caused this row to be marked deleted.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "References nweamap.import(import_id) when present."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-015-axis-conformance-evidence"
          ],
          "stats": null
        },
        {
          "name": "delete_reason",
          "anchor": "field-raw_accommodation_assignments-delete-reason",
          "origin": "Platform gap-fill",
          "description": "Platform explanation for why the row disappeared from a later authoritative export, when inferable.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Must be null or one of the documented delete_reason values."
          ],
          "allowed_values": [
            {
              "value": "missing_from_replacement_export",
              "meaning": "A later authoritative export for the same scope stopped sending the row."
            },
            {
              "value": "retake_superseded",
              "meaning": "Import evidence indicates the row was replaced by a retake."
            },
            {
              "value": "invalidated_or_suppressed_by_nwea",
              "meaning": "Import evidence indicates NWEA invalidated or suppressed the sitting."
            },
            {
              "value": "unknown",
              "meaning": "The row disappeared but the specific reason was not inferable."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "missing_from_replacement_export",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete"
          ],
          "stats": null
        }
      ],
      "nwea_fields": [
        {
          "name": "TermName",
          "anchor": "field-raw_accommodation_assignments-termname",
          "position": 1,
          "origin": "NWEA pass-through",
          "description": "Term chosen for the export.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Term scope is paired with tenant_id and nwea_account_id; term strings are pass-through NWEA values, not parsed by client skill packs."
          ],
          "edge_cases": [],
          "example": "Spring 2025-2026",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 1",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1412,
            "blank_count": 0,
            "nonblank_count": 1412,
            "observed_distinct_count": 1,
            "observed_values": []
          }
        },
        {
          "name": "StudentID",
          "anchor": "field-raw_accommodation_assignments-studentid",
          "position": 2,
          "origin": "NWEA pass-through",
          "description": "ID your district provided in the student's MAP profile.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Student identifier repeats across CDF collections inside the same tenant, NWEA account, and term; it is not globally unique."
          ],
          "edge_cases": [],
          "example": "stu-12345",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 2",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1412,
            "blank_count": 0,
            "nonblank_count": 1412,
            "observed_distinct_count": 72,
            "observed_values": []
          }
        },
        {
          "name": "Student_StateID",
          "anchor": "field-raw_accommodation_assignments-student-stateid",
          "position": 3,
          "origin": "NWEA pass-through",
          "description": "ID your state uses to identify the student.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "Local sample includes 1412 blank value(s); migration must allow blank/null.",
            "Student/teacher identifiers and names are tenant-scoped PII or quasi-identifiers; redact from logs and public error bodies."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "State student identifier is optional and may be blank; never use it as the only join key."
          ],
          "edge_cases": [],
          "example": "example-value",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 3",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1412,
            "blank_count": 1412,
            "nonblank_count": 0,
            "observed_distinct_count": 0,
            "observed_values": []
          }
        },
        {
          "name": "TestID",
          "anchor": "field-raw_accommodation_assignments-testid",
          "position": 4,
          "origin": "NWEA pass-through",
          "description": "Unique identifier for the test event. This ID also appears in the AssessmentResults.csv file so you can connect the two sets of data.",
          "nwea_type": "Integer",
          "nwea_length": "10 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: Integer.",
            "NWEA length/range: 10 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [
            "Belongs to one AssessmentResults.TestID when NWEA sent the corresponding result row; one test can have many accommodation rows."
          ],
          "edge_cases": [],
          "example": "1110000001",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 4",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1412,
            "blank_count": 0,
            "nonblank_count": 1412,
            "observed_distinct_count": 380,
            "observed_values": []
          }
        },
        {
          "name": "AccommodationCategory",
          "anchor": "field-raw_accommodation_assignments-accommodationcategory",
          "position": 5,
          "origin": "NWEA pass-through",
          "description": "Categories of the accommodations given to the student during testing. If multiple, they are shown on separate rows.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Designated Features",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 5",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1412,
            "blank_count": 0,
            "nonblank_count": 1412,
            "observed_distinct_count": 2,
            "observed_values": [
              "Designated Features",
              "Accommodations"
            ]
          }
        },
        {
          "name": "Accommodation",
          "anchor": "field-raw_accommodation_assignments-accommodation",
          "position": 6,
          "origin": "NWEA pass-through",
          "description": "Accommodation choices made by the Proctor. If multiple, they are shown on separate rows. Note: The system does not track whether an accommodation, such as Text-to-Speech, was actually performed.",
          "nwea_type": "String",
          "nwea_length": "100 characters",
          "header_required": true,
          "value_nullability": "Blankable/nullable in storage unless NWEA explicitly populates it; never infer NOT NULL from one sample.",
          "constraints": [
            "NWEA datatype: String.",
            "NWEA length/range: 100 characters.",
            "CSV header is required in the file; blank cell values are stored as null/blank rather than guessed.",
            "No blanks observed in the local sample, but NWEA pass-through columns remain nullable unless NWEA explicitly requires otherwise."
          ],
          "allowed_values": [],
          "allowed_value_note": "Closed or behaviorally important values are listed here. If empty, NWEA does not publish a closed enumeration in the workbook; preserve the exported value within the documented type/length.",
          "relationships": [],
          "edge_cases": [],
          "example": "Text-to-speech: Question directions",
          "source": "MAP_Export_Field_Descriptions.xlsx / field 6",
          "provenance": [
            "nitd-000-source-contract"
          ],
          "stats": {
            "row_count": 1412,
            "blank_count": 0,
            "nonblank_count": 1412,
            "observed_distinct_count": 6,
            "observed_values": [
              "Separate setting",
              "Extended time",
              "Text-to-speech: Question directions",
              "Text-to-speech: Assets such as reading passages",
              "Text-to-speech: Questions/prompts",
              "Text-to-speech: Answer choices"
            ]
          }
        }
      ],
      "field_count": 6,
      "row_count": 1412
    },
    {
      "id": "assessment_result_projection",
      "name": "nweamap.assessment_result_projection",
      "title": "Current assessment result projection",
      "kind": "platform projection",
      "endpoint": "GET /nweamap/v1/assessment-results?sittingScope=test_of_record",
      "description": "Single always-up-to-date result projection fed by real-time observations and CDF backfill. It does not create a second helper store.",
      "lifecycle": "Updated after imports and real-time observations; sittingScope chooses all rows or the selected test_of_record without client-side dedupe.",
      "relationships": [
        "Carries every AssessmentResults pass-through field by reference to nweamap.raw_assessment_results.",
        "Groups by tenant_id, nwea_account_id, student_id, subject, and term_name for test_of_record selection."
      ],
      "itds": [
        "nitd-002-single-result-view",
        "nitd-003-test-of-record-highest-rit",
        "nitd-004-soft-delete",
        "nitd-005-sitting-scope-parameter",
        "nitd-008-axis-query-model"
      ],
      "fields": [
        {
          "name": "projection_id",
          "anchor": "field-assessment_result_projection-projection-id",
          "origin": "Platform gap-fill",
          "description": "Stable identifier for one row in the current assessment-result projection.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required; primary key.",
          "constraints": [
            "Unique within projection."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-002-single-result-view"
          ],
          "stats": null
        },
        {
          "name": "tenant_id",
          "anchor": "field-assessment_result_projection-tenant-id",
          "origin": "Platform gap-fill",
          "description": "Platform tenant boundary for the projected result.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must match JWT tenantId."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "nwea_account_id",
          "anchor": "field-assessment_result_projection-nwea-account-id",
          "origin": "Platform gap-fill",
          "description": "Tenant-local NWEA account partition.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Required filter for import/read consistency."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nwea-account-demo",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-014-axis-tenant-routing"
          ],
          "stats": null
        },
        {
          "name": "assessment_result_row_id",
          "anchor": "field-assessment_result_projection-assessment-result-row-id",
          "origin": "Platform gap-fill",
          "description": "Raw assessment result row this projection currently represents.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References nweamap.raw_assessment_results(row_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-002-single-result-view",
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "student_id",
          "anchor": "field-assessment_result_projection-student-id",
          "origin": "Platform gap-fill",
          "description": "Copied from AssessmentResults.StudentID for query ergonomics and test-of-record grouping.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required when NWEA supplied StudentID.",
          "constraints": [
            "Tenant/account/term scoped; not globally unique."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "stu-12345",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "student_state_id",
          "anchor": "field-assessment_result_projection-student-state-id",
          "origin": "Platform gap-fill",
          "description": "Copied from AssessmentResults.Student_StateID for filters when NWEA supplied it.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Optional alternate identifier; do not use as sole key."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "state-stu-12345",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "term_name",
          "anchor": "field-assessment_result_projection-term-name",
          "origin": "Platform gap-fill",
          "description": "Copied NWEA term for grouping and API filters.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Pass-through term string; clients must not parse term text for business logic."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "Spring 2025-2026",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "subject",
          "anchor": "field-assessment_result_projection-subject",
          "origin": "Platform gap-fill",
          "description": "Copied AssessmentResults.Subject for grouping by student, subject, and term.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Open NWEA subject value; not a platform enum."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "Math",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "course",
          "anchor": "field-assessment_result_projection-course",
          "origin": "Platform gap-fill",
          "description": "Copied AssessmentResults.Course for filters and source-reconciliation context.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Open NWEA course/test scale value.",
            "Not a report-family or report-cell contract."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "Growth: Math 6+",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "test_id",
          "anchor": "field-assessment_result_projection-test-id",
          "origin": "Platform gap-fill",
          "description": "Copied AssessmentResults.TestID; final deterministic tie-breaker when RIT and start time tie.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "References the raw AssessmentResults.TestID in the same tenant/account/term."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "1110000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "test_start_at",
          "anchor": "field-assessment_result_projection-test-start-at",
          "origin": "Platform gap-fill",
          "description": "Parsed timestamp from TestStartDate and TestStartTime when both are parseable.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "If parsing fails, raw date/time remain available in pass-through fields and this field is null."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "test_rit_score",
          "anchor": "field-assessment_result_projection-test-rit-score",
          "origin": "Platform gap-fill",
          "description": "Parsed integer from AssessmentResults.TestRITScore.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Eligible for test_of_record only when numeric and 100 through 350."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "238",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "growth_measure_yn",
          "anchor": "field-assessment_result_projection-growth-measure-yn",
          "origin": "Platform gap-fill",
          "description": "Copied NWEA GrowthMeasureYN flag for comparison and audit.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Preserve TRUE/FALSE/blank as exported; do not let it override highest-RIT rule."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "TRUE",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "norms_reference_data",
          "anchor": "field-assessment_result_projection-norms-reference-data",
          "origin": "Platform gap-fill",
          "description": "Copied NWEA NormsReferenceData for downstream norms-aware consumers.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Preserve 2020, 2025, USER, blank, or future NWEA values verbatim."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2025",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-000-source-contract",
            "nitd-008-axis-query-model"
          ],
          "stats": null
        },
        {
          "name": "is_valid_rit_for_record",
          "anchor": "field-assessment_result_projection-is-valid-rit-for-record",
          "origin": "Platform gap-fill",
          "description": "True only when TestRITScore is numeric MAP RIT from 100 through 350.",
          "nwea_type": "BOOLEAN",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "False rows remain available through all-sittings reads but cannot be test_of_record."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "true",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "is_test_of_record",
          "anchor": "field-assessment_result_projection-is-test-of-record",
          "origin": "Platform gap-fill",
          "description": "True for the selected highest-RIT, non-deleted row per tenant/account/student/subject/term.",
          "nwea_type": "BOOLEAN",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "At most one true row per grouping.",
            "False for deleted rows and invalid RIT rows."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "true",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit",
            "nitd-005-sitting-scope-parameter"
          ],
          "stats": null
        },
        {
          "name": "test_of_record_rank",
          "anchor": "field-assessment_result_projection-test-of-record-rank",
          "origin": "Platform gap-fill",
          "description": "Deterministic rank inside the grouping after sorting by eligibility, RIT, start time, and TestID.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Rank 1 is the test_of_record when the row is eligible and not deleted."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "1",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "test_of_record_reason",
          "anchor": "field-assessment_result_projection-test-of-record-reason",
          "origin": "Platform gap-fill",
          "description": "Reason this row was selected or excluded by the test-of-record selector.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the documented reasons."
          ],
          "allowed_values": [
            {
              "value": "highest_rit",
              "meaning": "Selected because it has the highest valid TestRITScore."
            },
            {
              "value": "latest_start_time_tiebreak",
              "meaning": "Selected after a RIT tie by later TestStartDate/TestStartTime."
            },
            {
              "value": "test_id_tiebreak",
              "meaning": "Selected after a start-time tie by larger TestID."
            },
            {
              "value": "ineligible_invalid_rit",
              "meaning": "Not eligible because TestRITScore is outside 100-350 or nonnumeric."
            },
            {
              "value": "ineligible_deleted",
              "meaning": "Not eligible because the sitting is soft-deleted."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "highest_rit",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit"
          ],
          "stats": null
        },
        {
          "name": "source_kind",
          "anchor": "field-assessment_result_projection-source-kind",
          "origin": "Platform gap-fill",
          "description": "Whether the projection row is sourced from CDF, real-time observation, or merged evidence.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "One projection row, not separate real-time and batch stores."
          ],
          "allowed_values": [
            {
              "value": "cdf",
              "meaning": "Value came from an NWEA CDF import."
            },
            {
              "value": "realtime",
              "meaning": "Value came from a real-time MAP result observation."
            },
            {
              "value": "merged",
              "meaning": "Projection row carries facts from both real-time and CDF sources."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "cdf",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-002-single-result-view"
          ],
          "stats": null
        },
        {
          "name": "latest_import_id",
          "anchor": "field-assessment_result_projection-latest-import-id",
          "origin": "Platform gap-fill",
          "description": "Most recent CDF import that supplied or refreshed fields on this projection row.",
          "nwea_type": "UUID",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "References nweamap.import(import_id)."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "018f4b4e-9c7a-7d3d-8b2f-2f673a000001",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-002-single-result-view"
          ],
          "stats": null
        },
        {
          "name": "modified_at",
          "anchor": "field-assessment_result_projection-modified-at",
          "origin": "Platform gap-fill",
          "description": "Timestamp when this projection row last changed.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Powers modifiedSince and eventing by polling."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-008-axis-query-model",
            "nitd-012-axis-eventing-model"
          ],
          "stats": null
        },
        {
          "name": "deleted_at",
          "anchor": "field-assessment_result_projection-deleted-at",
          "origin": "Platform gap-fill",
          "description": "Soft-delete state inherited from the raw row.",
          "nwea_type": "TIMESTAMPTZ",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Non-null rows are excluded from test_of_record."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "2026-06-03T11:00:00Z",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-004-soft-delete",
            "nitd-005-sitting-scope-parameter"
          ],
          "stats": null
        }
      ]
    },
    {
      "id": "r90_reference",
      "name": "nweamap.r90_table",
      "title": "PowerPath RIT-to-grade reference table",
      "kind": "platform reference data",
      "endpoint": "GET /nweamap/v1/rit-to-grade/table",
      "description": "NWEAMAP-owned portable observed RIT-to-grade/R90 reference data mirrored from PowerPath/production, exposed so apps and skill packs do not carry private tables.",
      "lifecycle": "Versioned with NWEAMAP source data. Consumers pin table_version when they need reproducibility.",
      "relationships": [
        "Lookup response object nweamap.r90_lookup selects rows from this table.",
        "Source of record is src/data/powerpath-rit-to-grade.csv with source_ref powerpath:/powerpath/rit-to-grade."
      ],
      "itds": [
        "nitd-018-report-oracle-boundary"
      ],
      "fields": [
        {
          "name": "id",
          "anchor": "field-r90_reference-id",
          "origin": "Platform gap-fill",
          "description": "Stable row id for one subject/RIT source point.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Format is r90_{table_subject_id}_{rit_score}."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "r90_math_239",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "table_version",
          "anchor": "field-r90_reference-table-version",
          "origin": "Platform gap-fill",
          "description": "NWEAMAP-owned RIT-to-grade table version.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Current value is nweamap.rit_to_grade.powerpath.v2026-06-15."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nweamap.rit_to_grade.powerpath.v2026-06-15",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "table_subject_id",
          "anchor": "field-r90_reference-table-subject-id",
          "origin": "Platform gap-fill",
          "description": "Subject used by the source table.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the documented RIT-to-grade table subjects."
          ],
          "allowed_values": [
            {
              "value": "math",
              "meaning": "Math R90 source curve."
            },
            {
              "value": "reading",
              "meaning": "Reading R90 source curve."
            },
            {
              "value": "language",
              "meaning": "Language Usage R90 source curve; Vocabulary and Writing aliases may resolve here."
            },
            {
              "value": "science",
              "meaning": "Science R90 source curve."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "math",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "subject_id",
          "anchor": "field-r90_reference-subject-id",
          "origin": "Platform gap-fill",
          "description": "Alias for table_subject_id on table rows.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Lookup responses may differ when a requested subject aliases to a table subject."
          ],
          "allowed_values": [
            {
              "value": "math",
              "meaning": "Math R90 source curve."
            },
            {
              "value": "reading",
              "meaning": "Reading R90 source curve."
            },
            {
              "value": "language",
              "meaning": "Language Usage R90 source curve; Vocabulary and Writing aliases may resolve here."
            },
            {
              "value": "science",
              "meaning": "Science R90 source curve."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "math",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "source_subject_name",
          "anchor": "field-r90_reference-source-subject-name",
          "origin": "Platform gap-fill",
          "description": "Subject name as it appears in the PowerPath RIT-to-grade source.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Preserved for provenance; clients should filter by table_subject_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "Math",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "rit_score",
          "anchor": "field-r90_reference-rit-score",
          "origin": "Platform gap-fill",
          "description": "Source RIT score for this R90 row.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Valid MAP RIT source point."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "239",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-003-test-of-record-highest-rit",
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r50_grade",
          "anchor": "field-r90_reference-r50-grade",
          "origin": "Platform gap-fill",
          "description": "R50 grade position from the PowerPath RIT-to-grade source.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "For Math RIT 239, r50_grade=7.3."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "7.3",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r90_grade",
          "anchor": "field-r90_reference-r90-grade",
          "origin": "Platform gap-fill",
          "description": "R90 grade position from the PowerPath RIT-to-grade source.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Example: 4.8 means grade-level 4 plus 80 percent complete."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "4.8",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "effective_grade",
          "anchor": "field-r90_reference-effective-grade",
          "origin": "Platform gap-fill",
          "description": "Integer grade bucket immediately above r90_grade_level for downstream school-language display.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "For r90_grade=4.8, effective_grade=5."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "5",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r90_grade_level",
          "anchor": "field-r90_reference-r90-grade-level",
          "origin": "Platform gap-fill",
          "description": "Whole-number floor of r90_grade.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "For r90_grade=4.8, r90_grade_level=4."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "4",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "rit90_grade_band_percent",
          "anchor": "field-r90_reference-rit90-grade-band-percent",
          "origin": "Platform gap-fill",
          "description": "MAP-inferred position through the current r90_grade_level. This is not actual course or grade-level progress.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "For r90_grade=4.8, rit90_grade_band_percent=80."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "80",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r90_percent_complete",
          "anchor": "field-r90_reference-r90-percent-complete",
          "origin": "Platform gap-fill",
          "description": "Deprecated compatibility name for rit90_grade_band_percent; not actual course or grade-level progress.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "For r90_grade=4.8, r90_percent_complete=80."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "80",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "observation_count",
          "anchor": "field-r90_reference-observation-count",
          "origin": "Platform gap-fill",
          "description": "Number of source rows collapsed into this subject/RIT point when duplicate source rows exist.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "At least 1."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "1",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "source_ref",
          "anchor": "field-r90_reference-source-ref",
          "origin": "Platform gap-fill",
          "description": "Canonical NWEAMAP source reference for the PowerPath RIT-to-grade data.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be powerpath:/powerpath/rit-to-grade.",
            "Apps, Analytics, and skill packs must not carry a private observed RIT-to-grade copy."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "powerpath:/powerpath/rit-to-grade",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        }
      ]
    },
    {
      "id": "r90_lookup",
      "name": "nweamap.r90_lookup",
      "title": "PowerPath RIT-to-grade lookup response",
      "kind": "platform reference response",
      "endpoint": "GET /nweamap/v1/rit-to-grade",
      "description": "Lookup response for one subject/RIT pair, including the grade position and percent-complete fields GOALS and Analytics need without local R90 logic.",
      "lifecycle": "Computed at read time from nweamap.r90_table; not a persisted Alpha report object.",
      "relationships": [
        "Links back to GET /nweamap/v1/rit-to-grade/table for the selected table_subject_id.",
        "May be mirrored by Analytics for Alpha readback, but the source owner remains NWEAMAP."
      ],
      "itds": [
        "nitd-018-report-oracle-boundary"
      ],
      "fields": [
        {
          "name": "object",
          "anchor": "field-r90_lookup-object",
          "origin": "Platform gap-fill",
          "description": "Response object marker.",
          "nwea_type": "TEXT const",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be nweamap.r90_lookup."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nweamap.r90_lookup",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "table_version",
          "anchor": "field-r90_lookup-table-version",
          "origin": "Platform gap-fill",
          "description": "NWEAMAP-owned RIT-to-grade table version used by the lookup.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Current value is nweamap.rit_to_grade.powerpath.v2026-06-15."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nweamap.rit_to_grade.powerpath.v2026-06-15",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "requested_subject_id",
          "anchor": "field-r90_lookup-requested-subject-id",
          "origin": "Platform gap-fill",
          "description": "Normalized subject requested by the caller.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "May differ from table_subject_id when the caller uses an alias such as fastmath."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "math",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "table_subject_id",
          "anchor": "field-r90_lookup-table-subject-id",
          "origin": "Platform gap-fill",
          "description": "Subject curve actually used for lookup.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must be one of the documented R90 table subjects."
          ],
          "allowed_values": [
            {
              "value": "math",
              "meaning": "Math R90 source curve."
            },
            {
              "value": "reading",
              "meaning": "Reading R90 source curve."
            },
            {
              "value": "language",
              "meaning": "Language Usage R90 source curve; Vocabulary and Writing aliases may resolve here."
            },
            {
              "value": "science",
              "meaning": "Science R90 source curve."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "math",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "subject_id",
          "anchor": "field-r90_lookup-subject-id",
          "origin": "Platform gap-fill",
          "description": "Compatibility alias for requested_subject_id.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must equal requested_subject_id."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "math",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "rit_score",
          "anchor": "field-r90_lookup-rit-score",
          "origin": "Platform gap-fill",
          "description": "Input RIT value supplied by the caller.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "May be non-integer if the caller supplies a finite number."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "239",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "table_rit_score",
          "anchor": "field-r90_lookup-table-rit-score",
          "origin": "Platform gap-fill",
          "description": "Source RIT point selected from the PowerPath RIT-to-grade table.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Equals rit_score for exact matches."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "239",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r50_grade",
          "anchor": "field-r90_lookup-r50-grade",
          "origin": "Platform gap-fill",
          "description": "R50 grade position returned for the selected source point.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "For Math RIT 239, r50_grade=7.3."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "7.3",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r90_grade",
          "anchor": "field-r90_lookup-r90-grade",
          "origin": "Platform gap-fill",
          "description": "R90 grade position returned for the selected source point.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Null only when no source point exists for the input RIT and subject."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "4.8",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "effective_grade",
          "anchor": "field-r90_lookup-effective-grade",
          "origin": "Platform gap-fill",
          "description": "Integer grade bucket derived from r90_grade.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "For r90_grade=4.8, effective_grade=5."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "5",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r90_grade_level",
          "anchor": "field-r90_lookup-r90-grade-level",
          "origin": "Platform gap-fill",
          "description": "Whole-number floor of r90_grade.",
          "nwea_type": "INTEGER",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "For r90_grade=4.8, r90_grade_level=4."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "4",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "rit90_grade_band_percent",
          "anchor": "field-r90_lookup-rit90-grade-band-percent",
          "origin": "Platform gap-fill",
          "description": "MAP-inferred position through r90_grade_level. This is not actual course or grade-level progress.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "For r90_grade=4.8, rit90_grade_band_percent=80."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "80",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "r90_percent_complete",
          "anchor": "field-r90_lookup-r90-percent-complete",
          "origin": "Platform gap-fill",
          "description": "Deprecated compatibility name for rit90_grade_band_percent; not actual course or grade-level progress.",
          "nwea_type": "NUMERIC",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "For r90_grade=4.8, r90_percent_complete=80."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "80",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "source_point_kind",
          "anchor": "field-r90_lookup-source-point-kind",
          "origin": "Platform gap-fill",
          "description": "How the lookup matched the source table.",
          "nwea_type": "TEXT enum",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "exact means rit_score matched a source row.",
            "source_missing means no source point exists."
          ],
          "allowed_values": [
            {
              "value": "exact",
              "meaning": "Input RIT exactly matched a source table row."
            },
            {
              "value": "source_missing",
              "meaning": "No source row exists for the requested RIT."
            }
          ],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "exact",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "interpolation_rit_range",
          "anchor": "field-r90_lookup-interpolation-rit-range",
          "origin": "Platform gap-fill",
          "description": "Reserved interpolation metadata.",
          "nwea_type": "JSONB",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Currently null; do not infer interpolation unless a future version populates it."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "null",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "calculator_version",
          "anchor": "field-r90_lookup-calculator-version",
          "origin": "Platform gap-fill",
          "description": "Compatibility alias for table_version.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Must equal table_version."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "nweamap.rit_to_grade.powerpath.v2026-06-15",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "source_ref",
          "anchor": "field-r90_lookup-source-ref",
          "origin": "Platform gap-fill",
          "description": "Canonical NWEAMAP source reference for the selected point.",
          "nwea_type": "TEXT",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Nullable.",
          "constraints": [
            "Must be powerpath:/powerpath/rit-to-grade when a source point is found."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "powerpath:/powerpath/rit-to-grade",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        },
        {
          "name": "links",
          "anchor": "field-r90_lookup-links",
          "origin": "Platform gap-fill",
          "description": "Related RIT-to-grade table endpoint.",
          "nwea_type": "JSONB",
          "nwea_length": "Platform-owned",
          "header_required": false,
          "value_nullability": "Required.",
          "constraints": [
            "Includes table=/nweamap/v1/rit-to-grade/table?subject={table_subject_id}."
          ],
          "allowed_values": [],
          "allowed_value_note": "Platform-owned values are closed when listed here.",
          "relationships": [],
          "edge_cases": [],
          "example": "{\"table\":\"/nweamap/v1/rit-to-grade/table?subject=math\"}",
          "source": "NWEAMap architecture gap fill",
          "provenance": [
            "nitd-018-report-oracle-boundary"
          ],
          "stats": null
        }
      ]
    }
  ],
  "api_parameters": [
    {
      "name": "sittingScope",
      "anchor": "field-api-parameters-sittingscope",
      "origin": "Platform gap-fill",
      "description": "Selects whether the response returns the TimeBack test of record or all raw sittings.",
      "nwea_type": "query enum",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Required on assessment-result reads.",
      "constraints": [
        "Must be test_of_record or all.",
        "Skill packs must use this parameter instead of implementing dedupe."
      ],
      "allowed_values": [
        {
          "value": "test_of_record",
          "meaning": "Only the highest valid, non-deleted result per tenant/account/student/subject/term."
        },
        {
          "value": "all",
          "meaning": "All raw sittings in scope, including retakes and soft-deleted rows when includeDeleted=true."
        }
      ],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "test_of_record",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-005-sitting-scope-parameter"
      ],
      "stats": null
    },
    {
      "name": "includeDeleted",
      "anchor": "field-api-parameters-includedeleted",
      "origin": "Platform gap-fill",
      "description": "Includes soft-deleted raw rows for audit reads when sittingScope=all.",
      "nwea_type": "query boolean",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Optional; default false.",
      "constraints": [
        "Only meaningful with sittingScope=all.",
        "Must not include deleted rows in test_of_record responses."
      ],
      "allowed_values": [
        {
          "value": "false",
          "meaning": "Default; soft-deleted rows are excluded."
        },
        {
          "value": "true",
          "meaning": "Include soft-deleted rows for audit reads when sittingScope=all."
        }
      ],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "false",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-004-soft-delete",
        "nitd-005-sitting-scope-parameter"
      ],
      "stats": null
    },
    {
      "name": "subject",
      "anchor": "field-api-parameters-subject",
      "origin": "Platform gap-fill",
      "description": "MAP subject filter. RIT-to-grade accepts Math, Reading, Language, Science, and module-owned aliases such as FastMath mapping to the Math table.",
      "nwea_type": "query string",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Required on /nweamap/v1/rit-to-grade and legacy /nweamap/v1/r90; optional on /nweamap/v1/rit-to-grade/table and assessment-result reads.",
      "constraints": [
        "Do not use a local subject-specific RIT-to-grade table.",
        "The API returns requested_subject_id and table_subject_id when aliases map to a table subject."
      ],
      "allowed_values": [],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "math",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-008-axis-query-model",
        "nitd-018-report-oracle-boundary"
      ],
      "stats": null
    },
    {
      "name": "rit",
      "anchor": "field-api-parameters-rit",
      "origin": "Platform gap-fill",
      "description": "Input RIT score for the module-owned PowerPath RIT-to-grade/R90 lookup.",
      "nwea_type": "query number",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Required on /nweamap/v1/rit-to-grade and legacy /nweamap/v1/r90.",
      "constraints": [
        "Must be numeric.",
        "Observed RIT-to-grade uses the PowerPath mirror, not grade2rit.csv."
      ],
      "allowed_values": [],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "239",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-018-report-oracle-boundary"
      ],
      "stats": null
    },
    {
      "name": "tableVersion",
      "anchor": "field-api-parameters-tableversion",
      "origin": "Platform gap-fill",
      "description": "Pins the served RIT-to-grade reference version. If supplied, it must equal the current NWEAMAP table version.",
      "nwea_type": "query string",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Optional.",
      "constraints": [
        "Current value is nweamap.rit_to_grade.powerpath.v2026-06-15.",
        "Older or unknown versions return a typed validation error."
      ],
      "allowed_values": [],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "nweamap.rit_to_grade.powerpath.v2026-06-15",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-018-report-oracle-boundary"
      ],
      "stats": null
    },
    {
      "name": "modifiedSince",
      "anchor": "field-api-parameters-modifiedsince",
      "origin": "Platform gap-fill",
      "description": "Returns rows or import records changed after the timestamp.",
      "nwea_type": "query timestamp",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Optional.",
      "constraints": [
        "UTC ISO-8601 timestamp.",
        "Unsupported on endpoints not listed in the customer website."
      ],
      "allowed_values": [],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "2026-06-03T11:00:00Z",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-008-axis-query-model",
        "nitd-012-axis-eventing-model"
      ],
      "stats": null
    },
    {
      "name": "limit",
      "anchor": "field-api-parameters-limit",
      "origin": "Platform gap-fill",
      "description": "Maximum number of rows returned before an opaque cursor is issued.",
      "nwea_type": "query integer",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Optional; service default.",
      "constraints": [
        "Positive integer; implementation chooses documented maximum."
      ],
      "allowed_values": [],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "100",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-008-axis-query-model"
      ],
      "stats": null
    },
    {
      "name": "cursor",
      "anchor": "field-api-parameters-cursor",
      "origin": "Platform gap-fill",
      "description": "Opaque pagination token returned by the previous list response.",
      "nwea_type": "query string",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Optional.",
      "constraints": [
        "Clients must not parse or construct cursor values."
      ],
      "allowed_values": [],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "eyJwYWdlIjoyfQ",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-008-axis-query-model"
      ],
      "stats": null
    },
    {
      "name": "scope",
      "anchor": "field-api-parameters-scope",
      "origin": "Platform gap-fill",
      "description": "NWEAMap authorization scope inside the platform HS256 Bearer token.",
      "nwea_type": "JWT claim enum",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Required by route family.",
      "constraints": [
        "Import routes require nweamap:import; read routes require nweamap:read."
      ],
      "allowed_values": [
        {
          "value": "nweamap:import",
          "meaning": "May submit CDF imports."
        },
        {
          "value": "nweamap:read",
          "meaning": "May read NWEAMap rows and projections."
        },
        {
          "value": "nweamap:admin",
          "meaning": "May inspect import diagnostics and administrative state."
        }
      ],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "nweamap:read",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-011-axis-auth-shape"
      ],
      "stats": null
    },
    {
      "name": "problem_code",
      "anchor": "field-api-parameters-problem-code",
      "origin": "Platform gap-fill",
      "description": "Stable error code used by agents to repair import and query failures.",
      "nwea_type": "RFC 7807 type code",
      "nwea_length": "Platform-owned",
      "header_required": false,
      "value_nullability": "Required in NWEAMap Problem responses.",
      "constraints": [
        "Must be one of the documented NWEAMap Problem codes."
      ],
      "allowed_values": [
        {
          "value": "nweamap:invalid_bundle",
          "meaning": "Submitted bundle is not a valid CDF bundle."
        },
        {
          "value": "nweamap:missing_file",
          "meaning": "Required CDF file is absent."
        },
        {
          "value": "nweamap:header_mismatch",
          "meaning": "File header differs from the NWEA workbook/CSV contract."
        },
        {
          "value": "nweamap:row_validation_failed",
          "meaning": "One or more row values violate the documented field contract."
        },
        {
          "value": "nweamap:idempotency_conflict",
          "meaning": "Idempotency-Key was reused for different bundle content."
        },
        {
          "value": "nweamap:unsupported_query_parameter",
          "meaning": "Request used a filter or sort key outside this dictionary."
        },
        {
          "value": "nweamap:not_found",
          "meaning": "Requested import or row was not found in the caller's tenant/account scope."
        }
      ],
      "allowed_value_note": "Platform-owned values are closed when listed here.",
      "relationships": [],
      "edge_cases": [],
      "example": "nweamap:header_mismatch",
      "source": "NWEAMap architecture gap fill",
      "provenance": [
        "nitd-013-axis-error-envelope"
      ],
      "stats": null
    }
  ],
  "stats": {
    "table_count": 10,
    "raw_cdf_table_count": 5,
    "field_count": 322,
    "assessment_results_columns": 143,
    "sample_rows": {
      "StudentsBySchool.csv": 1124,
      "AssessmentResults.csv": 3491,
      "ClassAssignments.csv": 1128,
      "ProgramAssignments.csv": 0,
      "AccommodationAssignment.csv": 1412
    }
  }
}
