Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
nameTjanstebeskrivning_Kundhandelser 1.0 Doc 0.91.pdf

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
breakoutModewide
languagejson
{
	"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
breakoutModewide
languagejson
{
	"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 externalCaseId för ärendet.

Skall enligt spec vara unikt överallt, är externalCaseId bra för det?

kundhandelsekategori

String

Typ av händelse för ärendet

Möjliga värden: Mottagningskvittens, Beslut, Föreläggande,
Kompletteringsbegäran, Upplysning, Kallelse,
Påminnelse, Förfrågan, Svar, Åtgärd krävs

registreradTidpunkt

DateTime

Startdatum för ärendet

Kan tas från klasen EnvironmentalCase i caseManagement? Saknar tidpunkt där.

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?