WIP på förslag för ny resurs i caseStatus för att returnera statusar på ärenden på nationellt format. Den nationella specen är på svenska, därav är även API:et på svenska.
För PoC:en antar vi att status endast kommer att frågas på ärenden i Ecos2.
View file | ||
---|---|---|
|
Request / Response
Förslag på request:
Kräver att vi letar reda på alla caseInstanceId’s för en person / organisation.
Fördel: Enklare för slutanvändare
Nackdel: Vi måste leta reda på alla ärenden, hantering av personuppgifter ( ? )
Code Block | ||||
---|---|---|---|---|
| ||||
{ "anropandeSystem": "något system", "huvudman": "165565491460", "externAnvandare": "197001011234" } |
Alternativt förslag på request med en utökning av api:et med något sorts flexibelt sätt (utökning med key-value-lista, där mottagaren (vi) har specificerat vilka nycklar och värden som är aktuella.) för att möjliggöra att skicka in data som inte annars passar in i API:et:
Kan bli stökigt att köra GET vid många ärenden, eller undvika anropande system att göra ett anrop per ärende. I sådana fall kan en POST användas och är “lagligt” enligt spec, typ… I detta fall aggregerar tjänsten caseStatus / oepStatus alla ärenden till _ett_ response, enligt den nationella specen.
Fördel: Sändande system håller reda på ärenden, slipper hantering av personuppgifter
Nackdel: Stökigare för slutanvändare, utökning av spec, kan bli många varianter av key-value-par.
Code Block |
---|
{ "anropandeSystem": "något system", "externAnvandare": "197001011234", "flexFieldflexibeltFaltMedBraNamn": [ { "caseInstanceIdexternalCaseId": "caseInstanceIdexternalCaseId-1" }, { "caseInstanceIdexternalCaseId": "caseInstanceIdexternalCaseId-2" } ] } |
Antar att vi fortfarande vill veta vem det är som initierar anropet, därav externAnvandare
-parametern
Förslag på response:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "metadata": { "huvudman": "165565491460", "externAnvandare": "197001011234", "hamtatDatum": "2021-09-29T13:05:00+01:00" }, "kundhandelser": [ { "kundhandelseId": "caseInstanceIdexternalCaseId-1", "handelserubrik": "Text som kortfattat beskriver händelsen.", "handelsebeskrivning": "En ännu längre text som beskriver ärendet med fler detaljer.", "kundhandelsekategori": "Åtgärd krävs", "registreradTidpunkt": "2021-09-25T12:05:20+01:00" }, { "kundhandelseId": "caseInstanceIdexternalCaseId-2", "handelserubrik": "Text som kortfattat beskriver händelsen.", "handelsebeskrivning": "En ännu längre text som beskriver ärendet med fler detaljer.", "kundhandelsekategori": "Föreläggande", "registreradTidpunkt": "2021-09-24T11:01:10+01:00" } ] } |
...
parameter | typ | förklaring | Extra-info / kommentar |
---|---|---|---|
handelserubrik | String | Kortfattad beskrivning för ärendet | |
handelsebeskrivning | String | Ännu längre beskrivande text för ärendet | Behövs denna? |
kundhandelseId | String | caseInstanceId | Skall enligt spec vara unikt överallt, är |
kundhandelsekategori | String | Typ av händelse för ärendet | Möjliga värden: Mottagningskvittens, Beslut, Föreläggande, |
registreradTidpunkt | DateTime | Startdatum för ärendet | Kan tas från klasen |
ToDo
Förklaring till möjliga värden i parametern
kundhandelsekategori
för att kunna mappa, se nästa punkt.Mappning av värden från Ecos2 till
kundhandelsekategori
Vad skall användas i
kundhandelseId
,externalCaseId
?