Hoppa till innehållet

Devportalen /portal/dev

Startsideportalens ekosystem för människa och agent

Dokumentationen / Modul

kompetens

dok · kompetens
id: kompetens
namn: kompetens
sammanfattning: Håller ordning på vad varje medarbetare kan, vad rollen kräver och när det går ut – och gör utvecklingssamtalet till en plan som chefen bekräftar.
uppdaterad: 2026-10-09

ansvar:
- Räkna fram status per krav när datat läses – giltig, går ut inom 90 dagar, utgången eller saknas – utan schemaläggare.
- Ge chefen det som behöver åtgärdas, täckningen per krav och andelsmål – vyer som växer i höjdled och klarar trettio krav – och en matris för ett urval; medarbetaren sin egen kompetens och plan.
- Räkna fram vilken nivå i professionsprogrammet underlaget räcker till enligt förordning (2025:280) 6–9 §§, och säga att Skolverket beslutar.
- Ta fram ett utkast till kompetensplan ur samtalets önskemål och rollens krav, med modellen eller regelmotorn, och låta servern pröva varje aktivitet innan planen bekräftas.
- Mata Att agera på och klockan med det som kräver handling, härlett ur registret.
- Fylla kortet på startsidan som tidigare hette Utveckling och utbildningar, med samma widget-id.

filer:
- modules/kompetens/src/manifest.ts — Fem rutter (standard), navposter per roll, slots.main, actions och notifications.
- modules/kompetens/src/data/types.ts — Kontraktet kompetens@1: Kompetenstyp (med Omrade), Innehav, Rollkrav, Andelsmal, Lararuppgifter, Person, Plan, Aktivitet, Tillfalle, Enhet.
- modules/kompetens/src/data/mock.ts — 49 kompetenstyper i sex områden och fyra enheter: IT-avdelningen (samma id som personal) och tre exempel ur förstudien – gata/park i full skala med 31 krav på tre roller och tolv personer, förskola och myndighet äldre. fyllEnhet ger gata/park allt giltigt utom de undantag demon visar. Alla personer är påhittade.
- modules/kompetens/src/data/index.ts — Lagret på globalThis, statusFor, kravFor, professionsprogram, hamta-funktionerna (Enhetsvy med avvikelser, roller och kolumner med roller), valideraAktivitet, bekraftaPlan och registreraInnehav.
- modules/kompetens/src/plan.ts — Utkastets zod-schema, prompt och regelmotor. Importeras av route handlern, aldrig av klienten.
- modules/kompetens/src/components/KompetensKort.tsx — Startsidans två kort per roll, och rutten /verktyg/kompetens som väljer vy efter roll.
- modules/kompetens/src/components/Enhetsvy.tsx — Chefens översikt: enhetsflikar, fyra tal, Att åtgärda, lärare, planer, andelsmål och täckning per område med luckorna först. Matrisvy är matrisens egen sida.
- modules/kompetens/src/components/Avvikelser.tsx — Klientkomponent: det som gått ut, saknas eller går ut, grupperat per krav eller per person, med filter på status och område.
- modules/kompetens/src/components/Matris.tsx — Klientkomponent: person × krav för ett urval av område och roll. Över MAX_KOLUMNER (10) visas ett val i stället för tabellen. Namnkolumnen står kvar vid sidledsscroll.
- modules/kompetens/src/components/Personsida.tsx — En persons kompetens i tre perspektiv: chefens, den egna och exemplet med en förskollärare.
- modules/kompetens/src/components/Delar.tsx — Kravkort (brister först, giltiga hopfällda per område), Ovrigtkort, Aktiviteter och Professionskort – delas av vyerna.
- modules/kompetens/src/components/OmModulen.tsx — Beskrivningen för verksamheten: bakgrund, syfte, vad modulen gör per roll, fyra flöden att prova, vad som fungerar och vad som är simulerat, källor, AI, dataskydd, faser och frågor till mötet. Skriven för chefer och HR, inte för utvecklare.
- modules/kompetens/src/components/Planvy.tsx — Underlaget från samtalet bredvid utkastet eller den bekräftade planen.
- modules/kompetens/src/components/PlanUtkast.tsx — Klientkomponent: hämtar utkastet, låter chefen ändra, ta bort och lägga till, och skickar bekräftelsen.
- modules/kompetens/src/components/RegistreraKnapp.tsx — Klientkomponent: chefen registrerar ett intyg med datum. Servern räknar giltigheten.
- modules/kompetens/src/components/format.ts — Datum, vägar, statusmeta (chip och kantlinje), områdesnamn, källor och aktivitetsstatus.
- modules/kompetens/test/data.test.ts — Status på gränserna, behörighet per roll, summering, enheten med trettio krav, områden, andelsmål, nivåberäkningen, regelmotorn, bekräftelsen och registreringen.
- app/api/kompetens/plan/utkast/route.ts — Utkastet: identitet, takgräns, zod, underlag ur registret, modellen via structured outputs, validering per rad, regelmotorn som reserv.

api:
- hamtaEnhet: (ctx, enhetId = "it", nu?) => Promise<Enhetsvy | undefined>
  En enhet för chef: personer med krav, kolumner, täckning, andelar, lärare och summa. undefined för andra roller.
- hamtaPerson / hamtaMinKompetens / hamtaExempel: (ctx, …) => Promise<Personvy | undefined>
  En person: krav, övrig kompetens, plan och professionsprogram. Chefen ser sina enheter, medarbetaren sig själv via användar-id.
- professionsprogram: (person, nu) => Professionsstatus | undefined
  Högskolepoäng per kategori och nivå, beräknad nivå och kraven till nästa. Bara lärare.
- bekraftaPlan: (ctx, personId, aktiviteter, nu?) => Promise<Resultat<Plan>>
  Prövar roll, person, att planen väntar och varje rad. 404/409/400. Speglas av POST /api/mock/kompetens/:id/plan/bekrafta.
- registreraInnehav: (ctx, personId, typId, utfardad, nu?) => Promise<Resultat<Innehav>>
  Ett intyg registrerat av chef. Giltigheten räknas ur typen. Speglas av POST /api/mock/kompetens/:id/innehav.
- regelutkast / byggPlanprompt / planutkastSchema: @startsidan/modul-kompetens/plan
  Utkastets tre delar: regelmotorn, prompten och schemat för structured outputs.

kontrakt:
Rutterna:
```
/verktyg/kompetens                         chef: egna enheten · medarbetare: min kompetens
/verktyg/kompetens/enhet/:enhet            chef: exempel ur förstudien (gata-park, forskola, myndighet)
/verktyg/kompetens/enhet/:enhet/matris     chef: matrisen för ett urval (it, gata-park …)
/verktyg/kompetens/person/:id              chef: en persons kompetens
/verktyg/kompetens/person/:id/plan         chef: samtalet blir en plan
/verktyg/kompetens/professionsprogrammet   båda: en förskollärares vy, som exempel
/verktyg/kompetens/om                      båda: modulen beskriven för verksamheten
```

- Kompetensregistret äger innehav, krav, planer och meritering. Kurserna bor i Lärplattformen; registret läser märken och genomföranden därifrån (ADR-030).
- Personer på den egna enheten har samma id som i personal (m-101 …). Modulerna importerar inte varandra – kompetensvyn länkar till personalakten med href och tvärtom.
- Status räknas när datat läses. En notis eller rad i Att agera på är aldrig inskriven, och försvinner när ett intyg registreras.
- Översikten skalar med problemen, inte med kraven: startvyn är avvikelser och täckning i höjdled. Matrisen visar högst tio kolumner åt gången – fler kräver ett urval av område eller roll.
- Att modellen föreslår en aktivitet räcker aldrig. valideraAktivitet gäller för modellens rader, regelmotorns och chefens, både i utkastet och vid bekräftelsen.
- Professionsprogrammets nivå är en beräkning för samtalet och tjänstgöringsintyget. Skolverket beslutar; registrerad meritering är det läraren rapporterar.

beroenden: module-sdk, ui, agera, api-mock, personal, anthropic
beslut: ADR-030, ADR-019, ADR-020, ADR-007, ADR-026

kvarstår:
- Ingen källa är ansluten: Moodle-pluginen, ID06 och Skolverkets beslut är beskrivna i docs/plan-modul-kompetens.md men mockade.
- xAPI-ingången och käll-id per kompetenstyp är utredda men inte byggda – se docs/plan-modul-kompetens.md, avsnitt 7 (Standarder för inflöde och intyg).
- Chefen ser exempelenheterna för att demon ska visa förstudiens behov. I skarp drift styr chefFor i person@1.
- Samtalsraderna i Att agera på (obokade samtal, förbered samtalet) kom med från utveckling och hör till samtalsflödet. De flyttar när personal får en medarbetarsida.
- Bekräftelser och intyg lever i serverns minne tills omstart. En riktig tjänst kräver egen lagring – den första modulen som skriver data (plan.md, fas 4).
- Dataklassning per fält, gallring enligt dokumenthanteringsplanen och en DPIA återstår före drift.