CaseManagement
Beskrivning
CaseManagement är en tjänst som hanterar ärenden mot ByggR, Ecos2 och vårt egna ärendehanteringssystem CaseData. CaseManagement fungerar som en ärendeförmedlare mellan ett externt system (idag främst Open ePlatform) och de underliggande systemen. CaseManagement tar emot ärenden i ett generiskt format och formaterar om ärendet så att det passar just det specifika system som det ska registreras i. CaseManagement håller även koll på kopplingen mellan det externa ärendet och det underliggande systemet och på så vis möjliggörs hämtning av status från det underliggande systemet, uppdateringar av ärendet med nya bilagor o.s.v.
Uppdatering av ärenden
I version 8.0 av CaseManagement har det tillkommit stöd för att uppdatera underliggande ByggR-ärenden via Open-E. På grund av diverse begränsningar i integrationsadaptern som används av Open-E så kan de endast anropa en enda resurs i CaseManagement. För att ändå kunna hantera uppdatering av ärenden så har vi fått skapa en workaround där vi styr anropet vidare baserat på närvaron av en "extraparameter" i inkommande anrop. Om extraparametern "oepAction" finns med i anropet och har värdet "PUT" så hanteras ärendet istället som en uppdatering av ett underliggande ärende. Det finns stöd för olika typer av uppdateringar, och vilken typ av uppdatering styrs baserat på den angivna ärendetypen(caseType) i det inkommande anropet.
1. Svara på grannehörande. Ärendetyp: "NEIGHBORHOOD_NOTIFICATION".
2. Lägga till en certifierad inspektör. Ärendetyp: "BYGGR_ADD_CERTIFIED_INSPECTOR".
3. Lägga till ett dokument. Ärendetyp: "BYGGR_ADDITIONAL_DOCUMENTS".
Hämtning av statusar
CaseManagement har stöd för att hämta ärendestatusar på tre olika sätt. Det är ett behov som växt fram och därav finns det olika varianter.
getStatusByOrgNr - /{municipalityId}/organization/{organizationNumber}/cases/status
Hämtning av ärendestatusar baserat på ett angivet kommun id och organisationsnummer.
Vid detta anrop så hämtas ärenden från ByggR och Ecos. Ärendena omvandlas sedan till en lista med CaseStatusDTO som sedan returneras till klienten.
getStatusByExternalCaseId - /{municipalityId}/cases/{externalCaseId}/status
Hämtning av ärendestatusar baserat på ett angivet kommun id och "externalCaseId".
Vid detta anrop så kontrolleras det ifall det finns en CaseMapping som matchar angivna parametrar. Om det finns så gör anrop antingen mot ByggR, Ecos eller CaseData baserat på CaseMapping:ens systemvariabel, ärendet som hämtas omvandlas till en CaseStatusDTO och returnerastill klienten.
getStatusesByPartyId - /{municipalityId}/{partyId}/statuses
Hämtning av ärendestatusar baserat på ett angivet kommun id och partyId.
Vi detta anrop så hämtas ärenden från Alk-T, CaseData, ByggR och Ecos. Ärendena omvandlas till en lista med CaseStatusDTO:er som sedan returneras till klienten.
CaseStatusDTO
Attribut | Beskrivning |
|---|---|
system | Det underliggande systemet. |
caseType | Vad det är för typ av ärende. |
externalCaseId | Det externa ärende id:et (Kan saknas i vissa fall) |
caseId | Ärendet id i det underliggande systemet. |
status | Status på ärendet i det underliggande systemet. |
serviceName | Vilken e-tjänst som skapat ärendet. |
timestamp | När senaste uppdateringen av ärendet skedde. |
Livscykelstatus
Produktion
Lösningsbeskrivning
Hantering av personuppgifter
Vi tar in fältet “personId” och hämtar sedan det tillhörande personnumret från CitizenMapping för att kunna anropa Ecos2 och ByggR med personnummer. Vi kan inte påverka det faktum att dessa system kräver detta som indata. Ecos2 och ByggR ligger på det interna nätet på Sundsvalls kommun.
Medvetna avvikelser
Handläggarna i ByggR ville ha filnamnet på dokument i anteckningsfältet i ByggR för att få en bättre överblick. Egentligen ska fältet “note” i Attachment-objektet användas för detta i CaseManagaement's API, men p.g.a. begränsningar i OeP’s integrationsadapter som inte möjliggör att e-tjänsteutvecklaren kan konfigurera att detta skickas med så valde vi att lösa detta i CaseManagement’s backend istället.
Detta påverkar endast bygglovsärenden
API specifikation
Säkerhetsklassning
Säkerhetsklass 1
Autentiseringsmetod: Oauth2
(Ref: Säkerhetsklassning av APIer )
Teknisk ägare
https://sundsvall.atlassian.net/wiki/spaces/API
Ansvarigt team: Team Unmasked
För tekniska frågor: teamunmasked@sundsvall.se
Källkod
FAQ
|