Material · läget
Läget i fem kapitel
Vad projektet handlar om, vad vi har kommit fram till, vad som är öppet och vad vi gör härnäst – med källorna sist.
- Vad handlar projektet om?Startsidan är gränssnittet. Kärnan är modulerna och adaptrarna.lagerbild · idén i fem meningar →
- Vad har vi kommit fram till?Allt byggs AI-nativeVisionen är riktningenAdaptrar som kommuner delarByggt för att delasChefsportalen i Startsidan5 beslut · 9 riktningar →
- Vad har vi inte beslutat än?Vilket behov vi börjar medIntranätets väg inLagring av känslig dataHur AI-motorn kopplas inVerkliga data i prototyperTekniken6 frågor · 10 mindre →
- Vad gör vi härnäst?Steg 1Case väljsSteg 2Workshopen med HR om chefenSteg 3Mötet om kompetensmodulenSteg 4VerksamhetsspåretSteg 5Teknikspåret5 steg planerade →
Vad handlar projektet om?
Startsidan visar det som gäller dig i dag och länkar vidare. Gränssnittet är den enkla delen. Komplexiteten ligger i modulerna och adaptrarna bakom.
- ModulEn funktion under startsidan, till exempel utvecklingssamtal. Är den inte påkopplad, finns den inte.
- AdapterÖversätter data från ett externt system, till exempel LifeCare, till det startsidan förväntar sig.
- KontraktFormatet som moduler och adaptrar följer. Ekosystemet äger formatet, inte systemen.
Gränssnitt · Startsidan · bara ytan, mindre viktigt nu
- Nyckeltal
- Att agera på
- Målgruppsingångar
- AI-fältet
Skalet · vet vilka platser som finns, aldrig vad som står i dem
- Identitet och roll
- Platser
- Designsystem
- AI-lagret
Eneo · AI-motorOpenAI-standard, MCP
Kärnan · här ligger komplexiteten
Moduler · kopplas på · inte påkopplad = finns inte
- Utvecklingssamtal● på
- Dialogstöd för chef● på
- IT-ingång● på
- Kommunikationsguide○ av · finns inte
- Bildgenerering○ av · kräver AI
Kontrakt · ekosystemet äger formatet
- uppgift@1titel · status · sista datum · länk · dataklass
- person@1roll · chef för · organisation
Kommunens katalogpushar via SCIM
Adaptrar · hämta → översätt → kontrollera, en per system
- lifecare-adapter 1.1
- draken-adapter
- heroma-adapter
- meddelande-adapter
Externa system och grundtjänster · lever kvar
- LifeCare
- Draken
- Heroma
- Digital post · SMS
Vi börjar här: mönstret för en modul och för en adapter. Inte alla adaptrar.
Moduler, kontrakt och adaptrar är kärnan. Gränssnittet kommer sedan. Vi börjar med mönstret för en modul och en adapter.
Idén i fem delar
Fem påståenden bär hela idén. Under varje rad står vad du hittar inuti. Klicka på en rad för att öppna den.
Startsidan visar det som gäller dig i dag och länkar vidare.Skiss av startsidan · Hassan på mobilen · egna ingångar för IT, HR och kommunikation · intranätets sidor3 delar ▾Stäng ▴
Att agera på
Nyckeltal
Målgruppsingångar
Exempeldata
- Prionyhet från kommunikation. Stor tills användaren stänger den.
- Samma lista, många källor. Appar och adaptrar levererar samma slags uppgift.
- Nyckeltal för rollen. Boxarna kommer från målbilden från 2022.
Hassan hittar rätt rutin på mobilen mellan två besök.
Hej Hassan
Nästa besök 10:30 · BjörkvägenRutiner för ditt pass
Vart vänder jag mig?
- Delad utrustning. Sessionen måste vara kort och tydlig.
IT, kommunikation och HR får varsin ingång i startsidan.
IT-support
Allt om IT på ett ställeFler ingångarKommunala bolag och yrkesgrupper, till exempel VA-tekniker, vill ha samma sak.
Intranätets sidor visas utan att startsidan bygger om dem.
A · REST
B · Skript och länk
Ekosystemet kör appar som varje kommun slår på eller av.Appar som i en app-butik · samma standard för alla appar · exemplet utvecklingssamtal · app eller externt system3 delar ▾Stäng ▴
Kommun X · Appar i ekosystemet
- AI-beroende syns. Utan AI-motor går appen inte att slå på.
Varje app följer samma tekniska standard, som en iOS-app.
app.manifest.ts · skiss
type Plats = 'att-agera-pa' | 'nyckeltal' | 'malgruppsingang' | 'ai-falt' interface AppManifest { id: string // 'utvecklingssamtal' namn: string platser: Plats[] // var appen syns på ytan roller: string[] // 'chef', 'medarbetare', … kraverAI: boolean // false = fungerar utan AI-motor kontrakt: string[] // 'person@1', 'uppgift@1' dataklass: 'oppen' | 'intern' | 'sekretess' // … flöden, behörigheter, version}Ett utvecklingssamtal blir aktiviteter på startsidan utan efterarbete.
Samtal
Chef och medarbetare har samtalet.
- sammanfatta → Utkast · AI
Utvecklingssamtal · steg 3 av 5
En tjänst blir en app eller ett externt system bakom en adapter.
Externa system ansluter via adaptrar som kommuner delar med varandra.Så delas en adapter · kontraktet uppgift@1 · samma paketering för alla · användare via SCIM · grundtjänster · känslig data5 delar ▾Stäng ▴
VarförVi styr inte gränssnittet i slutna system som LifeCare. Adaptern översätter deras format till startsidans. Sundsvall lägger bara in API-nycklar för att aktivera en färdig adapter.
En adapter levererar en uppgift med sammanfattning, status, datum och länk.
kontrakt/uppgift.ts · skiss
interface Uppgift { // kontrakt uppgift@1 id: string kalla: string // 'lifecare', 'draken', 'utvecklingssamtal' titel: string // 'Gå utbildningen i arbetsmiljö' sammanfattning?: string status: 'ny' | 'pagar' | 'klar' start?: string // ISO-datum sistaDatum?: string // styr påminnelsen atgard?: string // vad användaren ska göra lank: string // öppnar källsystemet dataklass: 'oppen' | 'intern' | 'sekretess'}Alla adaptrar har samma paketering och en version.
adaptrar/lifecare.yaml · skiss
adapter: lifecareversion: 1.1.0kontrakt: [uppgift@1]system: namn: LifeCare versioner: ">=4.2" # kompatibilitetslistadelad-av: kommun-x # byggd av en kommunuppdaterad-av: kommun-ybehover: [api-nyckel] # det enda Sundsvall lägger intestad-mot: [syntetisk-data]Kommunen skickar in användare och organisation med SCIM.
Grundtjänster nås via en adapter, så ingen behöver vår infrastruktur.
Känslig data kopieras inte för att få ett reservläge.
dataregler.ts · skiss
// Lagring väljs per dataklass, inte för hela ekosystemet.const lagring = { 'personalarende-sekretess': 'aldrig-kopia', // hellre osynlig än kopierad 'budget': 'senast-hamtad', // visa tid för hämtning 'kalender': 'egen-lagring', // ekosystemet äger datat 'intranat-sida': 'lank', 'arende-lifecare': 'lank', // sammanfattning och länk} as constRad 3 · En onödig risk att öppna. Samtalet 18 sep valde osynlig data före en extra kopia.
AI svarar direkt i vyn och bara inom användarens roll.Svaret blir en graf · vad som fungerar med och utan Eneo · API:er som en agent förstår2 delar ▾Stäng ▴
Hur ser sjukfrånvaron ut i min enhet?
Oktober är högst. Vill du se åtgärderna?
Visa frånvaron för en medarbetare i min grupp
● Sekretess · loggas · bara du ser detta
Exempeldata
- Svaret är en graf. AI använder förmågor som visa graf och hämta budget.
- Rollen styr. AI får inte fri åtkomst till personaluppgifter.
Med Eneo fungerar allt. Med annan AI fungerar grunden.
Info: Djupa funktioner, som att indexera stora dokument, kräver Eneo. En kommun med en annan plattform bygger då en egen adapter.
Varje API ska gå att förstå för en agent utan hjälp.
testet · skiss
› Här är devportalen. Bygg en app som visar organisationsträdet. läser devportalen, appstandarden, designsystemet läser llms.txt för organisations-API:et ! fältet chefFor saknar beskrivning → krav till teamet som äger API:et, inte en workaround
Info: Startsidan driver krav på andra team. Deras API:er ska beskrivas så att en modell förstår dem.
Vi prototypar först och väljer tekniken sen.Två spår parallellt · teknikläget 6 okt · tavlan i GitHub · veckorytmen3 delar ▾Stäng ▴
Tekniken väljs efter testerna, med AI-native som urvalsregel.
teknik/ # inget är låst
- från noll (lutar åt)# inte befintliga ramverk eller designsystem
- containrar (lutar åt)# Kubernetes eller Docker
- React i fronten (prövas)# stort ekosystem, alla kan bidra
- färdigt komponentbibliotek (prövas)# tillgängligt från start
- Python för de första POC (prövas)# lite boilerplate
- Java eller .NET (jämförs senare)# jämförs senare
Arbetet syns på en GitHub-tavla som alla kan följa.
GitHub-projekt · Startsidan
Teamet ses på tisdagar och torsdagar och håller en chatt aktiv.
En vanlig vecka
GemensamtKontraktet för person och organisation.Skiss av kontraktet person@1, som alla delar använderÖppna ▾Stäng ▴
kontrakt/person.ts · skiss
interface Person { // kontrakt person@1 id: string // ekosystemets eget ID namn: string roller: ('medarbetare' | 'chef' | string)[] chefFor: string[] // styr vad chefen och AI får se organisation: string // organisation@1 deladEnhet?: boolean // Hassans fall}// Källa i Sundsvall: metakatalogen pushar via SCIM.// Källa hos andra: Entra ID, AD eller annat via SCIM.UtanförNya verksamhetssystem, ett nytt Eneo och intranätets innehåll.Fem saker vi inte bygger, och varförÖppna ▾Stäng ▴
- Vi bygger inte ett nytt HR-system, ekonomisystem eller ärendesystem. LifeCare och Draken finns kvar.
- Vi bygger inte ett nytt Eneo. Eneo är AI-motorn.
- Intranätet ersätts inte. Det levererar sidor.
- Arkiv finns inte som tjänst i dag. Vi skriver in det som en framtida förmåga.
- Sundsvalls namn och grafiska profil följer inte med till andra kommuner.
Hela bilden på ett blad, en modell att prova och en film finns under Ritning och film →
Vad har vi kommit fram till?
Ett beslut gäller tills vi ändrar det. En riktning är det vi lutar åt, men den är inte låst.
Beslutat5
- Allt byggs AI-native.AI är första valet i design, utveckling och tjänster. Andra team får krav på API:er som en agent förstår.6 okt
- Visionen och målbilden är vår riktning.Det första utkastet av visionen gäller. Läs visionen →6 okt
- Externa system ansluter via adaptrar som kommuner delar.En adapter per system. Kommun X bygger adapter Y och delar den. Vi bygger mönstret först, inte alla adaptrar.6 okt
- Byggt för att delas.Ingen kommun ska behöva Sundsvalls mikrotjänster, namn eller grafiska profil.18 sep · 6 okt
- Chefsportalen byggs inom Startsidan.Den blir inte en egen portal.18 sep
Riktning9
- Ett nytt behov blir en modul.Vi bygger inte nya HR- eller ekonomisystem.18 sep
- Det som berör flest kommer först.En HR-process för 800 slår en funktion för 10.6 okt
- Kommunen skickar in användare och organisation med SCIM.Ingen app läser metakatalogen direkt.6 okt
- Grundtjänster nås via en adapter.Varje kommun kopplar in sin egen tjänst för post, SMS och signering.6 okt
- Vi prototypar först och väljer tekniken sen.Det är billigt att göra fel med AI. Den svåra delen är att validera.6 okt
- Allt material hittills är hypoteser.Visionen och målbilden kan ändras när vi lär oss mer.20 okt
- Den första prototypen görs från ett blankt papper.Befintliga regler prövas först när det finns en målbild.20 okt
- Hassan är testpersonen.Fungerar det för honom i mobilen fungerar det för den som sitter vid en dator.20 okt
- Det som kan vara öppet ska vara tillgängligt utan inloggning.20 okt
Alla beslut och riktningar med mötet där de togs upp, och arkitekturbesluten →
Beslut 3 i en bild
Externa system
- LifeCare
- Draken
- Heroma
Eget format, vi styr det inte.
Adapter · mellanlagret
- 1Hämtamed API-nyckel
- 2Översättderas fält → uppgift@1
- 3Kontrollerafält, dataklass
En adapter per system. Samma tre steg. Samma paketering för alla.
uppgift@1
titel · status · sista datum · länk
Skalet läser bara kontraktet
Startsidan · Att agera på
Vi bygger inte alla adaptrar. Vi bygger mönstret först.
Exempel med syntetisk data
LifeCare skickar:
arendeNr: R-1043
typ: rehab_uppf
nastaKontroll: 20261014adaptern Startsidan får (uppgift@1):
titel: Rehab: uppföljning dag 14
status: ny · sistaDatum: 2026-10-14
lank: öppnar ärendet i LifeCareDelning mellan kommuner
- Kommun Xbygger 1.0
- Adapterkatalogdelas öppet
- Kommun Yuppdaterar 1.1
- Sundsvallaktiverar med nyckel
Bara steg 2 skiljer sig mellan systemen. Exemplet är syntetisk data.
Så jobbar viinte förhandlingsbart, 6 okt
- Sänk trösklarnaPrata så att alla förstår, i teamet och med verksamheten.
- Kroka armVi tar fram behovet tillsammans. Ingen beställer och levererar.
- ExperimenteraTesta öppet. Lär av det som går fel.
- Stärk varandraVi gör varandra bra.
- Var öppnaVisa läget hela tiden. Den här boken är en del av det.
- Fokusera på nyttaLeder det inte till nytta, stoppar vi.
Vad har vi inte beslutat än?
Sex frågor styr vad vi bygger först. Varje fråga har ett förslag. Välj ett annat svar om du tycker annorlunda.
Fråga 6
Vilken teknik bygger vi med?
Väljs efter de första testerna. AI-native är urvalsregeln. En kollegas prototyp prövar redan en stack. Se prototypen.
teknik/ # inget är låst
- från noll (lutar åt)# inte befintliga ramverk eller designsystem
- containrar (lutar åt)# Kubernetes eller Docker
- React i fronten (prövas)# stort ekosystem, alla kan bidra
- färdigt komponentbibliotek (prövas)# tillgängligt från start
- Python för de första POC (prövas)# lite boilerplate
- Java eller .NET (jämförs senare)# jämförs senare
Mindre frågor som också är öppna
- Vilken minsta information behöver en uppgift?Ett förslag finns: kontraktet uppgift@1.data · 6 okt
- Vem äger och förvaltar en delad adapter?Delningen är beslutad. Ägarskapet är inte det.delning · 6 okt
- Hur fungerar identitet på en delad enhet?Många i omsorgen saknar egen dator.säkerhet · 18 sep
- Vilka data får AI använda i varje roll?Och vad loggas?AI · 18 sep
- Vem har drift, support och förvaltning?Gäller både startsidan och delade delar.förvaltning · 18 sep
- Hur mäter vi att det ger nytta?Vi behöver en baslinje innan vi börjar.nytta · 6 okt
- Behövs en egen masterkalender?En idé för nämndprocesser. Behovet är inte prövat.idé · 18 sep
- Hur hänger version 1.0 ihop med intranätet?Startsidans första version ska vara klar till årsskiftet, intranätet lanseras i maj. De får inte uppfattas som två olika saker. En tanke: börja med chefen och testgrupper med chefer.intranätet · 14 okt
- Vad ska chefsportalen innehålla?Kommunstyrelsen har beslutat att den ska genomföras, men inte vad den ska innehålla. Dialogstödet för chef ska in – vad mer?chefsportalen · 14 okt
- Hur ser kommunikationsplanen ut?Projektet prövar nya vägar, och olika verksamheter behöver olika insatser.kommunikation · 14 okt
Vad gör vi härnäst?
Det senaste mötet är utgångsläget. Härifrån går två spår parallellt mot samma mål: ett första case som fungerar hela vägen.
Senast ·
Utbildning i Personlig assistent i EneoStyrgruppen och projektgruppen fick en utbildning i Personlig assistent, den nya funktionen i Eneo som lanserades samma dag. Organisationen har nu en form av intern ”ChatGPT” tillgänglig för alla medarbetare.
Till mötets sida →Verksamhetsspåret
Bygg utvecklingssamtalet färdigt i prototypenTillsammans med verksamheten. Samtalet blir aktiviteter på startsidan utan efterarbete.
Teknikspåret
Mocka den första adaptern och kontraktetVälj det enklaste adapterfallet. Syntetisk data mot uppgift@1. Vi bygger mönstret, inte alla adaptrar.
Frågor till nästa samtal
- Vilket behov blir det första testfallet?Ta workshopens lista. Välj det som berör flest och går att pröva nu.
- Vilken minsta information behöver startsidan från en adapter?Mocka ett flöde med syntetiska uppgifter mot kontraktet uppgift@1.
- Vad ska fungera utan en särskild AI-plattform?Jämför ett enkelt fall med ett avancerat, till exempel dokument.
- Vilka beslut krävs för att starta, och vad kan vänta?Sortera: före prototypen, före produktion, senare.
Inspiration och källor
Här ligger det vi hämtar idéer från. Inget här är beslutat.
En kollegas prototyp: så kan slutprodukten bli
En kollega har byggt en prototyp som går att köra, med påhittad data. Den visar vad som är möjligt med moduler, adaptrar och AI. Den är inspiration, inte ett beslut.
Det här kan prototypen redan
- Slå på och av modulerSju moduler. Stäng av en, så fungerar resten.
- Redigera sidanDra block, ändra bredd, rubrik och filter. Bara redaktörer kan spara.
- Fråga AISvarar med belägg från modulerna, inom din behörighet.
- Kalender via adapterKoden för kalendersystemet ligger i en egen adapter bakom modulen.
- DatakatalogVisar vilka data som finns, fälten och vilka block som använder dem.
- UtvecklingsförslagEtt dokument som sparas automatiskt, granskas och får AI-förslag per avsnitt.
- NyckeltalLägg till antal och andel med egna filter.
- HändelserEn bokning skapar en uppgift i arbetskön och uppdaterar öppna flikar.
Tre idéer att ta med
- 1. Länk Startsidan visar en ingång. Arbetet görs i systemet.
- 2. Läsa Startsidan visar status och en sammanfattning.
- 3. Ändra Startsidan skickar en ändring. En människa bekräftar först.
- 4. Äga Startsidan sparar egna data, till exempel ett utkast.
- Finns inte
- Installerad
- Påslagen ⇄ Avstängd
- Rensad
Avstängd: sidan visar en ersättning. Rensad: modulens data tas bort, och det loggas.
- ✦ AI föreslår
- Servern kontrollerar
- Människan bekräftar
Prototypens princip: inget sparas innan en människa har bekräftat exakt den ändringen.
Arbetsdagar som prövar modellen
- Lärarenregistrerar närvaro för sin klass.
- Socialsekreterarenförbereder ett ärende och fortsätter senare.
- Sjuksköterskanser pass och uppgifter från två enheter i en vy.
- Enhetschefenser vem som är på jobbet, även när ett system ligger nere.
- Systemförvaltarenbygger en sida för hemtjänstens chefer.
Skillnad mot våra beslutPrototypen har valt teknik, till exempel Next.js, Postgres och NATS. Vi har inte beslutat teknik. Prototypen är ett underlag för fråga 6. Till de öppna frågorna.
Två designskisser från ett tidigare utkast
Bilderna finns i den ursprungliga projektboken. Texten i dem är påhittad och är inte data – här står det vi tar med och det som var fel.
En projektplats med sidomeny, fem kort för röda tråden, nyckeltal, arkitekturskiss, möten och senaste uppdateringar.
- Ta medsidomenyn, mötet med datum och rutan för nytt underlag.
- Fel i bilden44 % står som "minskad tid för informationssökning". Samtalet säger att 44 % lägger mer än fem timmar per vecka på tidstjuvar.
- Fel i bilden25+ står som användningsfall. Det är antalet system.
- Påhittatpersoner, dokument och datum i listan.
Ett nav där Startsidan står i mitten med kort för anteckningar, transkriberingar, beslut, öppna frågor, arkitektur, bilagor och nästa steg, och en tidslinje från augusti till december 2026.
- Ta medallt från ett samtal får datum. Tidslinjen visar var vi är nu.
- Ta medbeslut, öppna frågor och nästa steg som egna listor.
- Påhittatalla poster i bilden. Vi har två samtal: 18 sep och 6 okt.
Källor
- Maskintranskriberingar av samtalen 18 september och 6 oktober 2026.
- Källgranskade samtalsrapporter från ett flöde i Eneo. AI gjorde granskningen. Ingen har kontrollerat ljudet eller vem som talar.
- Vision och grundprinciper, första utkast. Vår riktning sedan 6 oktober.
- Namn och system kan vara fel i transkriberingen. Projektboken visar roller, inte namn.
- Granska innehållet innan sidan delas utanför teamet. Samtalen berör känsliga data och lokala system.
- En kollegas brainstorm och prototyp, repot startsidan-brainstorm, läst 7 oktober 2026. Syntetisk data. Inspiration, inte beslut.