Datakvalitet — Dokumentation

Automatiska kontroller och varningar för skoldata.

Datakvalitet — Automatiska kontroller av skoldata

Kom igång

Portal

Skolkoll kontrollerar skoluppgifterna när data uppdateras. Aktiva varningar för organisationens urval visas på Översikt när organisationen och användaren har tillgång till Datakvalitet.

1

Se varningar på Översikt

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

Exempel – illustration, inga uppgifter sparas här.

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

Kvittera varning

Skriv en valfri kommentar i fältet under varningen och klicka på bockmarkeringen bredvid den. Varningen tonas ned direkt och visas inte längre på Översikt nästa gång sidan laddas. Kvitteringen sparas.

Exempel – illustration, inga uppgifter sparas här.

Kvittera varning
Testskolan — Meritvärde ändrades 25% (220 → 275)
Kommentar (valfritt) — t.ex. Undersökt — skolformsändring F-9 till 7-9
✓

Typer av kontroller

Portal

Kontrollerna omfattar följande typer av avvikelser. Kritiska varningar och varningar visas i portalen; informationsnivån används i kvalitetsberäkningen men visas inte som aktiva varningar på Översikt:

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ägelserUppgifter som motsäger varandra, t.ex. en aktiv skola med noll elever eller en lärarandel över 100 %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 räknas vid varje datasynk för varje aktiv skola och tar med förändringsvarningar mot föregående synk. En kommuns och en huvudmans poäng är medelvärdet av deras aktiva skolors poäng. Om synken inte kunde poängsätta en skola saknas dess poäng och den räknas inte in i medelvärdet.

Den nationella sammanfattningen anger totalt antal aktiva skolor, antal skolor med varningar, genomsnittlig poäng bland skolorna med varningar (100 om ingen skola har varningar, saknat värde om senaste synken inte poängsatte någon skola) och antal varningar per allvarlighetsnivå. Varningsantalen räknar olika flaggor per skola (typ, allvarlighet och fält), så en flagga som upprepas för samma skola räknas en gång.

E-post om datakvalitet

Portal

Organisationens administratör väljer frekvens och minsta allvarlighetsgrad under Notifieringar. E-postnotifieringar och Datakvalitetsvarningar behöver vara aktiverade. Inställningarna gäller organisationens datakvalitetsutskick, inte frekvensen för personliga bevakningar.

Utskicken från skoluppdateringarna omfattar varningar och kritiska varningar. Valet Info tar med båda dessa nivåer. Informationsavvikelser används i kvalitetsberäkningen men skickas inte som e-post från skoluppdateringarna.

  • Realtid — nya varningar skickas när skoluppgifterna uppdateras.
  • Dagligen — kl. 08:00.
  • Varje vecka — måndag kl. 08:00.
  • Varje månad — den första dagen i månaden kl. 08:00.

Tiderna följer svensk tid. Mottagare är organisationens fakturaadress för e-post, eller kontaktadressen om fakturaadress saknas. De dagliga, veckovisa och månatliga sammanfattningarna skickas när det finns okvitterade varningar på vald allvarlighetsnivå eller högre. Dessa sammanfattningar visar:

  • Antal varningar per allvarlighetsnivå (kritisk och varning från skoluppdateringarna)
  • Upp till fem exempel på varningar med detaljer

Realtidsutskick visar i stället upp till 20 nya varningar med allvarlighetsgrad, skola och beskrivning. De innehåller ingen sammanräkning per allvarlighetsnivå.

Teknisk referens

API
Visa API-dokumentation

Datakvalitetsdata för Pro används via portalen och organisationens inloggade Firebase-session. Det här är interna Pro-endpoints, inte Skolkolls publika API-roadmap eller en API-nyckelprodukt.

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
→ {
    "scope": "summary",
    "totalSchools": 16234,
    "schoolsWithAlerts": 146,
    "averageHealthScore": 94,
    "alertCounts": { "critical": 12, "warning": 89, "info": 45 }
  }

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

// 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 scope — summary returnerar totalstatistik (inget code behövs). school, municipality och provider kräver respektive code (skolenhetskod, kommunkod eller org.nr).

Felkoder: 400 (valideringsfel, t.ex. code angiven mer än en gång), 403 (organisationen saknar datakvalitetstjänst — gäller health-scores), 404 (skolan finns inte eller är inte aktiv). En kommun eller huvudman utan aktiva skolor ger { "healthScore": 100, "schoolCount": 0 }.

Har du frågor? Mejla info@skolspegeln.se. Frågor hanteras manuellt via e-post.