Datakvalitet — Dokumentation

Automatiska kontroller och varningar för skoldata.

Datakvalitet — Automatiska kontroller av skoldata

Kom igång

Portal

Skolkoll kontrollerar automatiskt all data varje natt. Om något ser fel ut skapas en varning som visas på din Översikt-sida.

1
Se varningar på Översikt

Aktiva varningar visas som kort med allvarlighetsgrad. Kritiska varningar markeras i rött, vanliga varningar i gult.

Datakvalitet — 2 aktiva varningar
Kritisk — Testskolan: Meritvärde ändrades 25% (220 → 275)
Varning — Exempelskolan: Elevantal saknas i senaste data
2
Kvittera varning

Klicka på bockmarkeringen bredvid varningen. En dialogruta (window.prompt) visas där du kan lägga till en valfri kommentar. Klicka OK för att bekräfta. Kvitterade varningar markeras som hanterade men försvinner inte.

Kvittera varning
Testskolan — Meritvärde ändrades 25% (220 → 275)
”Lägg till en kommentar till kvitteringen (valfritt):”
T.ex. Undersökt — skolformsändring F-9 till 7-9
 

Typer av kontroller

Portal

Sex kontrolltyper körs automatiskt varje natt efter att ny data hämtats:

KontrollVad som undersöksAllvarlighet
Saknade värdenObligatoriska uppgifter som elevantal eller skolform saknasKritisk
Avvikande värdenNyckeltal som ligger utanför rimliga intervall (t.ex. meritvärde över 340)Varning / Kritisk
Plötsliga förändringarVärden som ändrats mer än 5 % sedan förra uppdateringenVarning (5-20 %) / Kritisk (>20 %)
MotsägelserData som inte stämmer överens, t.ex. om Skolverkets och Koladas siffror skiljer sig åt mer än 10 %Varning / Kritisk
RapporteringsluckorSkolor som har elever men saknar resultatdata (t.ex. meritvärde)Info
Möjliga dubbletterSkolor med samma namn i samma kommun och liknande elevantalInfo

Datahälsopoäng

Portal

Varje skola, kommun och huvudman får en poäng från 0 till 100 som visar hur komplett och konsistent dess data är:

  • 100 — inga problem hittade
  • Kritisk varning drar av 10 poäng
  • Varning drar av 3 poäng
  • Info drar av 1 poäng

Poängen visas direkt på din Översikt-sida med en sammanfattning av totalt antal skolor, genomsnittlig poäng och antal aktiva varningar per allvarlighetsnivå.

Veckomail

Portal

Varje måndag kl 08:00 skickas en sammanfattning av okvitterade varningar till din organisations kontaktmail. Sammanfattningen visar:

  • Antal varningar per allvarlighetsnivå (kritisk, varning, info)
  • De 5 mest kritiska varningarna med detaljer

För utvecklare: API-referens

API
Visa API-dokumentation

Datakvalitetsdata finns tillgänglig via REST-API. Autentisering sker med API-nyckel i headern X-API-Key.

Endpoints:

// Varningar:
GET    /api/pro/alerts                              Lista varningar
         ?severity=critical|warning|info            Filtrera allvarlighetsgrad
         &acknowledged=true|false                   Filtrera kvitterade/okvitterade
         &locale=sv|en                              Meddelandespråk
PUT    /api/pro/alerts/{alertId}/acknowledge         Kvittera varning

// Datahälsopoäng:
GET    /api/pro/quality/health-scores               Hämta hälsopoäng
         ?scope=summary|school|municipality|provider
         &code={kod}                                 Krävs för school/municipality/provider

Exempel:

// Hämta alla kritiska okvitterade varningar:
GET /api/pro/alerts?severity=critical&acknowledged=false&locale=sv
→ {
    "alerts": [
      {
        "id": "alert_abc123",
        "schoolCode": "12345678",
        "schoolName": "Exempelskolan",
        "type": "sudden_change",
        "severity": "critical",
        "field": "meritRating9",
        "message": "Meritvärde ändrades 25% (220 → 275)",
        "currentValue": 275,
        "previousValue": 220,
        "acknowledged": false,
        "detectedAt": "2026-03-18T02:15:00Z"
      }
    ]
  }

// Kvittera en varning (prompt: "Lägg till en kommentar till kvitteringen (valfritt):"):
PUT /api/pro/alerts/alert_abc123/acknowledge
{ "comment": "Undersökt — skolformsändring F-9 till 7-9" }
→ {
    "id": "alert_abc123",
    "status": "acknowledged",
    "acknowledgedBy": "user@example.com",
    "acknowledgedAt": "2026-03-18T09:30:00Z"
  }

// Hämta sammanfattad hälsopoäng:
GET /api/pro/quality/health-scores?scope=summary
→ {
    "totalSchools": 16234,
    "averageHealthScore": 94,
    "alertCounts": { "critical": 12, "warning": 89, "info": 45 }
  }

// Hälsopoäng per skola:
GET /api/pro/quality/health-scores?scope=school&code=12345678
→ { "healthScore": 88, "alerts": 3 }

// Hälsopoäng per kommun:
GET /api/pro/quality/health-scores?scope=municipality&code=0180
→ { "healthScore": 92, "schoolCount": 248 }

// Hälsopoäng per huvudman:
GET /api/pro/quality/health-scores?scope=provider&code=5566778899
→ { "healthScore": 95, "schoolCount": 14 }

Detaljer:

Kvittera varning — skicka JSON med valfritt comment (max 500 tecken). Kvitterade varningar behåller sin synlighet men markeras som hanterade.

Health-scores med scopesummary returnerar totalstatistik (inget code behövs). school, municipality och provider kräver respektive code (skolenhetskod, kommunkod eller org.nr).

Felkoder: 400 (valideringsfel, t.ex. ogiltigt scope), 403 (organisationen saknar datakvalitetstjänst — gäller health-scores), 404 (skola/kommun/huvudman hittades inte).

Har du frågor? Kontakta oss via supportsidan eller mejla support@skolkoll.se.