Riktlinjer för meddelandetyper
Riktlinjer för dokumentation av meddelandetyper inom Säker digital kommunikation.
1. Inledning

Bild illustrerar parter som deltar inom SDK. Förvaltare av meddelandetyp ansvarar för hantering av meddelandetyper.
Federationen tillhandahåller en säker infrastruktur för informationsöverföring mellan anslutna deltagare. För att möjliggöra säker och stabil meddelandeöverföring tillhandahåller federationen gemensamma regelverk och tekniska komponenter.
Federationen ansvarar för att parter kan utbyta information på ett tillförlitligt, säkert och effektivt sätt. Riktlinjer för förvaltning av meddelandetyper och Riktlinjer för meddelandetyper skapar förutsättningar för ett långsiktigt och stabilt informationsutbyte mellan deltagare.
Detta dokument innehåller riktlinjer för utformning och dokumentation av meddelandetyper inom federationer (SDK). Syftet är att säkerställa att dokumentationen stöder både verksamhetens och teknisk personals behov vid verksamhetsinförande och teknisk implementation av meddelandetjänster och meddelandeklienter.
1.1 Övergripande riktlinjer
- Informationsmängder och datatyper ska vara tydligt definierade och dokumenterade.
- Regler kopplade till informationsmängder och datatyper ska vara tydligt dokumenterade.
- Frivilliga och obligatoriska värden
- Värdemängder: uttömmande uppräkning av giltiga värden (klartext), med eventuell kod, eller hänvisning om värdemängden är externt förvaltat (t.ex. Län- och kommunkoder).
- Valideringsregler för informationsmängder
- Kvalificering av deltagare
- Ett definierat tekniskt format som kan valideras ska användas.
Riktlinjerna består av:
- Riktlinjer för förvaltningsorganisation meddelandetyp
- Riktlinjer för meddelandetyper (informationen på denna sida)
2. Klassificering av meddelandetyp
Meddelandetyper inom Säker digital kommunikation (SDK) klassificeras utifrån olika aspekter av interoperabilitet. Klassificering syftar till att tydliggöra för intressenter meddelandetypens mognadsgrad vid införande i deltagarens verksamhetsprocesser och verksamhetssystem.
Tekniskt interoperabel
En tekniskt interoperabel meddelandetyp omfattar:
- Plattformsoberoende – Meddelandetypen är byggd på en teknisk standard som kan implementeras på olika plattformar.
- Dokumentation enligt riktlinjer – Meddelandetypen är dokumenterad enligt federationens riktlinjer för meddelandetyper (detta dokument).
- Standardiserad struktur – Meddelandetypens format (t.ex. XML, JSON) kan valideras och implementeras i enlighet med vedertagna tekniska standarder.
Följsamhet mot krav inom detta område är obligatoriskt för alla meddelandetyper inom SDK.
Semantisk interoperabel
En semantiskt interoperabel meddelandetyp säkerställer att innehållet är förståeligt och enhetligt mellan olika aktörer genom:
- Gemensamma informations- och begreppsmodeller – Informationsmängder beskrivs utifrån enhetliga definitioner.
- Standardiserad terminologi och kodverk – Terminologi, kodsystem och datatyper är harmoniserade och följer etablerade standarder (t.ex. SNOMED CT, ICD-10).
- Referensmodeller för verksamhetsområdet – Informationsmängder utgår från gemensamma referensmodeller för respektive domän/verksamhetsområde.
- Syntax och formatstandardisering – Meddelandetyper inom en viss bransch eller verksamhet följer en enhetlig syntax, exempelvis:
- FHIR, HL7 (vårdsektorn)
- Peppol BIS (elektronisk handel och fakturering)
- SS12000 (bygg- och anläggningsbranschen)
Organisatorisk interoperabilitet
För att säkerställa organisatorisk interoperabilitet ska meddelandetypen:
- Innehålla samverkansbeskrivningar som klargör hur informationsutbytet fungerar mellan olika organisationer.
- Definiera hur standardiserade verksamhetsprocesser tillämpas och vilka roller som är involverade.
- Möjliggöra automatiserad och effektiv hantering av information inom organisationer och mellan system.
Följsamhet mot krav inom detta område krävs för att meddelandetypen skall klassificeras som Organisatorisk interoperabel.
Juridisk interoperabilitet
En juridiskt interoperabel meddelandetyp beaktar och beskriver de legala och juridiska förutsättningarna för informationsutbyte genom:
- Tydlig dokumentation av rättsliga möjligheter och begränsningar – Beskrivning av vilka juridiska krav och regler som gäller vid användning av meddelandetypen.
- Anpassning till nationell och EU-lagstiftning – Säkerställer att informationsflöden är förenliga med exempelvis:
- GDPR (Dataskyddsförordningen)
- Patientdatalagen (vid vårdinformation)
- Offentlighets- och sekretesslagen
- Regelverk för ansvarsfördelning och hantering av information – Beskriver vilka aktörer som har ansvar och rättigheter att hantera informationen.
Följsamhet mot krav inom detta område krävs för att meddelandetypen skall klassificeras som Juridisk interoperabel.
3. Informationsarkitektur (Semantisk interoperabilitet)
3.1 Inledning
Detta avsnitt innehåller regler för informationsbeskrivningar i form av grafiska modeller för meddelandetyper inom Säker digital kommunikation. Dessa beskrivningar tas fram och publiceras av förvaltaren av meddelandetypen. Modeller är av typerna informationsmodeller och begreppsmodeller. För att meddelandetyper ska klassificeras som semantiskt interoperabla, ska dess beskrivningar följa samtliga regler som utrycks med SKA.
Reglerna uttrycks antingen som krav eller uppmaningar:
- Regler som uttrycks med SKA är krav, som ska följas.
- Regler som uttrycks med BÖR är uppmaningar, som bör följas.
Regler beskrivs enligt följande mönster:
Namn | Anger regelns namn |
|---|---|
Regel | Regelns lydelse |
Anledning | Värdet av att följa regeln |
Konsekvens | Beskriver påverkan av att följa regeln |
3.2 Modelltyper
3.2.1 Begreppsmodell
Begreppsmodellens syfte är att definiera begrepp och dess relationer till andra begrepp.
3.2.2 Informationsmodell
Syftet med en informationsmodell är att beskriva den information som förmedlas i en meddelandetyp, eller, om det är lämpligt, flera av eller alla förvaltarens meddelandetyper. En informationsmodell bör vara spårbar till motsvarande begreppsmodell. Modellen är teknikneutral och anpassad för utbyte av information.
3.2.3 Standarder
Att tillämpa standarder är ett effektivt sätt att skapa igenkänning, jämförbarhet och högre kvalitet över organisations-, eller sektorsgränser. Enligt Svenskt ramverk för digital samverkan, rekommendation 8 – Använd standarder i första hand Länk till annan webbplats., ska offentliga organisationer använda standarder och rekommendationer. För att minska inlåsnings- och exkluderingseffekter så är öppna och fria standarder att föredra.
Det är därför viktigt att förvaltaren av meddelandetyp för respektive meddelandetyp säkerställer att det finns beskrivet vilka eventuella standarder som tillämpats och var dessa finns att ta del av.
3.3 Gemensamma regler för begreppsmodeller
Förvaltare av meddelandetyper BÖR publicera, eller hänvisa till redan publicerade begreppsmodeller, som beskriver begrepp som förekommer i en meddelandetyp eller, om det är lämpligt, flera av eller alla förvaltarens meddelandetyper.
Om förvaltaren av meddelandetyp publicerar begreppsmodeller bör förvaltaren i möjligaste mån följa relevanta delar av det gemensamma regelverk för begreppsmodeller som uttrycks i Ramverk för nationella grunddata inom den offentliga förvaltningen, bilaga informationsarkitektur Länk till annan webbplats..
I det följande beskrivs avvikelser från eller kompletteringar till nämnda bilaga.
Begrepp ska återanvändas
3.3.1 Regel
Begrepp SKA återanvändas mellan en förvaltares meddelandetyper, och, om möjligt inom SDK och BÖR återanvändas från relevanta grunddatadomäner. Om förvaltare publicerar modeller med begrepp som refererar till en annan begreppsmodell ska de ha samma definition och beskrivning. För dessa begrepp ska en referens, tex. i form av en länk (URL), anges.
Anledning: Återanvändning är en förutsättning för att förstå sammanhang och få en enhetlig terminologi.
Konsekvens: Förvaltaren av meddelandetyp ska säkerställa återanvändning. Federationsägaren uppmanar förvaltarna av meddelandetyper att arbeta för en enhetlig terminologi
3.4 Gemensamma regler för informationsmodeller
Förvaltare av meddelandetyper SKA publicera informationsmodeller som beskriver den information som förmedlas i en meddelandetyp, eller, om det är lämpligt, flera av eller alla förvaltarens meddelandetyper, och, om möjligt relatera dessa till referens-informationsmodeller (t.ex. grunddatadomänmodeller).
Detta avsnitt redogör för ett antal regler för informationsmodeller till stor del gemensamma med de regler som uttrycks i Ramverk för nationella grunddata inom den offentliga förvaltningen, bilaga informationsarkitektur Länk till annan webbplats.. De utgör en minsta gemensam nämnare för informationsmodellens form och innehåll.
Reglerna rör både informationsmodellernas form och innehåll, både själva informationsmodellen/diagrammet och dess olika modellelement.
Notation BÖR vara beskriven och dokumenterad
3.4.1 Regel
Förvaltaren av meddelandetyp BÖR definiera, dokumentera och publicera beskrivning av domänens notation.
Anledning: Regeln syftar till att underlätta för den som ska läsa informationsmodellen. En tydlig beskrivning ökar och underlättar förståelsen.
Konsekvens: Förvaltaren av meddelandetyp bör beskriva sina notationsval, gärna i dialog med federationsägaren. Beskrivningarna publiceras i anslutning till de informationsmodeller som publiceras.
Informationsmodeller bör beskrivas i UML
3.4.2 Regel
Notationen som används av en förvaltare av meddelandetyper SKA vara enhetlig och BÖR vara UML.
Anledning: Regeln syftar till att underlätta för den som ska läsa informationsmodellerna. Läsbarhet och förståelse underlättas om alla informationsmodeller publicerade av en förvaltare av meddelandetyper samtliga meddelandetyper har samma notation, och också om olika förvaltare har samma notation.
Konsekvens: De förvaltare av meddelandetyper som använder annan etablerad notation kan använda denna. I de fall UML inte används är det extra viktigt att beskriva och dokumentera sin notation.
Informationsmodeller publicerade av en förvaltare av meddelandetyper ska ha ett enhetligt utseende
3.4.3 Regel
Informationsmodell och dess modellelement, publicerade av en förvaltare av meddelandetyper, SKA ha ett enhetligt visuellt utseende
Anledning: För att läsaren av informationsmodellerna SKA känna igen sig ska de ritas på ett likartat sätt. Detta gäller för alla modellelement.
Konsekvens: Förvaltaren av meddelandetyper SKA beskriva sina val gällande grafiskt uttryck. Beskrivningarna ska publiceras i anslutning till de informationsmodeller som publiceras.
Namnsättningsregler BÖR följas
3.4.4 Regel
Namnsättning BÖR vara enhetlig för informationsmodellerna inom SDK och grunddataramverket.
Anledning
Informationsmodell
Svenska: Ja
Singular, obestämd form: Ja
Svenska tecken, blanktecken och accenttecken får användas: Ja
Inledande versal bokstav: Ja
Inledande gemen bokstav: Nej
Klass/informationsobjekt
Svenska: Ja
Singular, obestämd form: Ja
Svenska tecken, blanktecken och accenttecken får användas: Ja
Inledande versal bokstav: Ja
Inledande gemen bokstav: Nej
Attribut
Svenska: Ja
Singular, obestämd form: Ja
Svenska tecken, blanktecken och accenttecken får användas: Ja
Inledande versal bokstav: Nej
Inledande gemen bokstav: Ja
Värde i värdemängd
Svenska: Ja
Singular, obestämd form: Ja
Svenska tecken, blanktecken och accenttecken får användas: Ja
Inledande versal bokstav: Nej
Inledande gemen bokstav: Ja
Relationsnamn
Svenska: Ja
Singular, obestämd form: Nej
Svenska tecken, blanktecken och accenttecken får användas: Ja
Inledande versal bokstav: Nej
Inledande gemen bokstav: Ja
Anledning
Informationsmodeller inom SDK och olika grunddatadomäner får ett gemensamt utseende. Enhetlighet underlättar läsbarhet och förståelse av informationsmodellen.
Konsekvens
Förvaltaren av meddelandetyper ansvarar för publicering av informationsmodeller och måste kvalitetssäkra enhetlighet.
Informationsmodeller kan vara framtagna i internationell samverkan, då kan förvaltaren av meddelandetyp vara förpliktigad att använda annat språk än svenska.
Informationsobjekt ska ha entydiga namn
3.4.5 Regel
Informationsobjekt SKA ha entydiga namn som är fullständiga och inte förkortade.
Anledning
Entydiga namn underlättar förståelsen och läsbarheten av informationsmodellen. Namnen uttrycks så att de i möjligaste mån är självklara för läsaren. Förkortningar ska inte användas då de riskerar att missförstås.
Konsekvens
Informationsobjekt som återanvänds från en annan informationsmodell eller annan grunddatadomän ska ha samma beskrivning.
En informationsmodell ska ha metadata
3.4.6 Regel
Alla informationsmodeller SKA ha information om namn, version, beslutsdatum, syfte och kontaktuppgifter till förvaltningsgrupp.
Anledning
Regeln syftar till att öka läsbarhet och förståelse. Det skapar en trygghet i användande av informationsmodellen om giltighet är tydligt angivet.
Konsekvens
På detta sätt skapas en enhetlighet i dokumentationen av informationsmodeller inom SDK och ramverket för nationella grunddata.
Värdemängder och datatyper ska ha entydiga namn
3.4.7 Regel
Värdemängder och datatyper SKA ha entydiga namn som är fullständiga och inte förkortade.
Anledning
Entydiga namn underlättar förståelsen och läsbarheten av informationsmodellen. Namnen uttrycks så att de i möjligaste mån är självklara för läsaren. Förkortningar ska inte användas då de riskerar att missförstås.
Konsekvens
Namn kan behöva ha ett förled för att vara entydigt. Att använda namnet ”status” är inte tillräckligt tydligt. Genom att till exempel använda förledet ”ärende” har vi ett tydligare namn: ”ärendestatus”.
Värdemängder och datatyper som återanvänds från en annan informationsmodell eller grunddatadomän ska ha samma beskrivning.
Krav på dokumentation av informationsmodellens ingående delar
3.4.8 Regel
Följande uppgifter SKA eller BÖR minst anges för klass/informationsobjekt, attribut respektive relation.
Klass/ | Attribut | Relation | Värde i | |
|---|---|---|---|---|
Namn | SKA | SKA | BÖR | SKA |
Beskrivning | SKA | SKA | BÖR | |
Datatyp | SKA | |||
Multiplicitet | SKA | SKA |
|
Anledning
Ett gemensamt beskrivningssätt för informationsmodellerna inom SDK och ramverket nationellt grunddata, underlättar läsbarhet och förståelse.
Konsekvens
Det ska av notationens beskrivning framgå hur dessa uppgifter visas, till exempel i den visuella informationsmodellen eller i dokumentation kopplad till informationsmodellen. Multiplicitet ska visas grafiskt i informationsmodellen. Illustrativa exempelförekomster får gärna användas.
Klasser/informationsobjekt ska återanvändas
3.4.9 Regel
Klasser/informationsobjekt SKA återanvändas inom en förvaltare av meddelandetyper. Om det är möjligt SKA klasser/informationsobjekt från referens-modeller (till exempel Grunddatadomänerna Persons Fysisk Person, Företags Organisation eller Geodatas Fastighet) återanvändas. Om det är möjligt kan klasser/informationsobjekt från andra förvaltare av meddelandetyper återanvändas eller refereras till. Eventuella frånsteg ska motiveras.
Anledning
Återanvändning är en förutsättning för att förstå sammanhang och för att undgå redundans.
Konsekvens
Förvaltaren av meddelandetyp ska säkerställa återanvändning av klasser/informationsobjekt.
Informationsobjekt BÖR ha en unik identitet
3.4.10 Regel
Alla klasser/informationsobjekt BÖR ha eller av förvaltaren av meddelandetyp tilldelas persistent och unik identitet.
Anledning
För att säkra en hög kvalitet på hanteringen av klasser/informationsobjekt bör det finnas en unik identitet under dess hela livscykel. I den mån ett informationsobjekt med unik identitet är återanvänt bör denna identitet användas. Den unika identiteten ger entydighet och underlättar för förståelse och tillgänglighet till detta data.
Konsekvens
Användning av beständiga identifierare säkerställer att informationen blir möjlig att referera till över tid.
4. Tekniskt format (Teknisk interoperabilitet)
En meddelandetyps tekniska format kan vara av olika format beroende på bransch, syfte och teknisk miljö. SDKs infrastruktur stödjer alla typer av tekniska format.
Exempel på tekniska format:
- XML (Extensible Markup Language)
- CSV (Comma-Separated Values)
- YAML (Yet Another Markup Language)
- Binära dataformat (ZIP, Avro, Protocol Buffers etc)
Rekommendation: Valet av tekniskt format BÖR utgå från verksamhetsbehov, men format som XML eller JSON rekommenderas för hög interoperabilitet.
4.1 Minimikrav tekniskt format
Med tekniskt format avses den standard och struktur som beskriver och gör informationen maskinellt tolkningsbar (t.ex. XML eller JSON). En meddelandetyp ska använda ett tekniskt format som är allmänt tillgängligt för moderna tekniska plattformar.
Nedanstående krav ställs på tekniskt format;
- Tydlig struktur och läsbarhet.
- Formatet SKA följa en logisk och väldefinierad struktur (exempelvis nyckel-värdepar, trädstruktur eller tabellformat).
- Maskinläsbarhet, formatet SKA kunna tolkas och processas av system utan manuell handpåläggning.
- Standardisering och interoperabilitet
- SKA följa en etablerad standard.
- Stöd för flera plattformar och teknologier. Tekniskt format SKA kunna användas i olika programmeringsspråk och systemmiljöer.
- Validering och felsäkerhet
- Formatet SKA stödja en metod för att valideras.
- Felhantering – Formatet SKA möjliggöra felhantering.
- Exempel på händelser och felkoder som kan förekomma för meddelandetypen SKA dokumenteras.
Motiv: Ett tekniskt format måste definieras för meddelandetypen för att möjliggöra plattformsoberoende systemintegration. Formatet behöver kunna implementeras av vanligt förekommande tekniska ramverk.
4.2 Identifierare av och namn för meddelandetyp och schema
Identifieraren används för:
- Teknisk adressering vid meddelandeöverföring (SMP, eDelivery dynamic discovery)
- Verksamhetsadressering (Adressbok)
- Skapa- och validera utgående och inkommande meddelanden (schema validering)
Regler för identifierare:
- Identifieraren SKA vara unik inom SDK federationen.
- Identifierare ska ha följande struktur: {DocumentNamespace}::{DocumentType}##{CustomizationID}::{Version}::{transportmodell}
- Observera att ”http://”, ”http://” eller ”/” inte får ingå i identifieraren.
Motiv: Identifieraren måste vara unik för att teknisk adressering och validering skall fungera inom SDK federationen (se dynamic discovery).
För att underlätta hanteringen av meddelandetyper i adressboken ska meddelandetypsförvaltaren ange ett namn på meddelandetypen i tillägg till identifieraren. Detta ska vara läsbart av människor och koncist beskriva meddelandetypen. Meddelandetypens namn ska vara unikt inom federationen och godkännas av federationsägaren.
4.3 Strukturering och utformning av schema
Avsnittet beskriver hur tekniska scheman BÖR struktureras för en meddelandetyp. En meddelandetyp SKA innehålla ett tekniskt schema (t.ex. JSON schema) som validerar meddelandetypen meddelanden.
Nedanstående krav ställs på meddelandetypens schema;
- Konsekvent datastruktur
- Namnstandard: Fält- och attributnamn SKA vara konsekventa och om möjligt härledas till informationsmodell samt vara beskrivande och undvika specialtecken inklusive nationella tecken.
- Datatyper: Definiera tydligt vilka datatyper som används (exempel: sträng, nummer, datum, boolesk etc).
- Hierarkisk eller platt struktur: Schemat BÖR följa en logisk och väldefinierad struktur.
- Nestling/indentering: Hierarki (t.ex. JSON, XML) BÖR hållas minimalt för att undvika komplexitet.
- Validerbarhet och schema-definition
- Schema SKA ha en definition som beskriver regler för meddelandetypens data (t.ex. JSON Schema).
- Schema SKA reglera obligatoriska och frivilliga/valfria fält.
- Formatvalidering BÖR tillämpas (t.ex. max-/minlängd, format).
- Meddelanden BÖR innehåller en referens till schema för validering.
- Utökning och versionering
- Strukturen måste tillåta att nya fält läggs till utan att bryta befintliga system (implementationer).
- Versionshantering SKA användas för kompatibilitet (stödja kompabilitetskontroll).
- Datatyper och standardiserade format
- Använd ISO-standarder för datum och tid – ISO 8601 (t.ex. "2024-03-03T14:00:00Z").
- Tydlig hantering av numeriska värden: Decimaltecken, negativa tal och enheter bör definieras.
- Dokumentation
- Dokumentationstaggar BÖR användas
- Exempeltaggar BÖR inkluderas i schema
- Exempelmeddelanden SKA inkluderas i paketeringen
Motiv: För att säkerställa teknisk interoperabilitet måste meddelanden kunna valideras t.ex. med stöd av schema. Schema för meddelandetyper måste vara dokumenterade på ett sätt som ger stöd vid implementation.. Stora komplicerade scheman undvikas. Endast datatyper som används av meddelandetypen bör inkluderas i schema.
4.4 Paketering av meddelandetypen filer (schemafiler)
För att underlätta livscykelhantering kan det underlätta om namnsättning av schemafiler spegla meddelandetypens identifierare och version
- Identifierare BÖR användas för att lätt kunna koppla ihop schemafiler och relaterade resurser. Namnsättning är ett hjälpmedel för mänsklig läsare och inte en valideringsmekanism.
Motiv: Federationsägaren vill underlätta hantering av meddelandetyper och dess versioner. Det är viktigt att kunna särskilja olika meddelandetyper och dess versioner på ett enkelt sätt.
4.5 Obligatorisk och rekommenderade attribut i meddelandetyp
- Datum för meddelande: creationDateTime
- SKA Meddelande-id: messageId
- BÖR conversationId
- BÖR refToMessageId
- BÖR Avsändande deltagarorganisation: sender (participant-id)
- BÖR Mottagande deltagarorganisation: recipient (participant-id)
- BÖR Avsändande funktionsadress: sender.attention.subOrganization.extension (identifier)
- BÖR Mottagande funktionsadress: recipientAttention.subOrganization.extension (identifier)
4.6 API för meddelandetyp
En API specifikation för integration mellan Meddelandetjänst (API producent) och Meddelandeklient BÖR tas fram för att underlätta lokal integration.
Meddelandetypens API SKA stödja följande statusar:

- Stödja meddelandestatus (fetstil obligatoriska) enligt Rekommendation API MT/MK
- SCHEDULED
- SUBMITTED
- SCHEDULED_FOR_RESEND
- ACKNOWLEDGE
- WAITING_FOR_RECEIPT
- MESSAGE_EXCHANGE_ERROR
- ACCEPTED
- REJECTED
- RETRIEVED
- RECEIPT_SENT
- NEW
- ERROR
- Stödja attribut enligt Rekommendation API MT/MK | Digg
- Meddelandestatus: messageStatus
- Datum för meddelande: creationDateTime
- Meddelande-id: messageId
- conversationId
- refToMessageId
- Avsändande deltagarorganisation: sender (participant-id)
- Mottagande deltagarorganisation: recipient (participant-id)
- Avsändande funktionsadress: sender.attention.subOrganization.extension (identifier)
- Mottagande funktionsadress: recipientAttention.subOrganization.extension (identifier)
- Objekt för felhantering: events
- Stödja rekommenderade säkerhetsprotokoll Rekommendation API MT/MK | Digg Länk till annan webbplats.
- Stödja moderna integrationsprotokoll som t.ex. REST
- Dokumentera API specifikation enligt en etablerad standards t.ex. openAPI.
- Innehålla nödvändig dokumentation för att stödja integration enligt Rekommendation API MT/MK | Digg Länk till annan webbplats..
Motiv: För att underlätta lokal integration av meddelandetyp behöver ett API tas fram som stödjer meddelandetypen.
4.7 Användandet av meddelandekvittens
Alla meddelandetyp SKA använda en meddelandetyp för meddelandekvittens. Meddelandekvittens signalerar att meddelandet har levererats och kommer hanteras av mottagande deltagarorganisation.
Meddelandetypen SKA tillämpa ett koncept för meddelandekvittering:
- BÖR stödja standardiserad ”Meddelandekvittens” enligt Meddelandespecifikation Meddelandekvittens
- Om ett eget koncept för meddelandekvittens tillämpas SKA denna motiveras och beskrivas i enlighet med dessa riktlinjer.
Motiv: SDK infrastrukturen transportprofil Utökad bas tillämpar ett asynkront integrationsmönster. Detta innebär att alla meddelanden behöver kvitteras med en meddelandekvittens för att sändande deltagare skall anse att meddelandet levererats korrekt.
5 Tillämpningsanvisning (Organisatorisk interoperabilitet)
5.1 Verksamhetsflöden
För att stödja ett effektivt verksamhetsinförande vid användning av en meddelandetyp, bör tillhörande processbeskrivningar tas fram. Dessa beskrivningar fungerar som ett gemensamt stöd för förståelse och implementering i berörda verksamheter.
- En processbeskrivning som beskriver verksamhetsprocessen SKA tas fram i samband med framtagandet av en meddelandetyp.
- Processbeskrivningen BÖR följa ett vedertaget ramverk eller standard, exempelvis:
BPMN 2.0 (Business Process Model and Notation) – för grafiska modeller. - Processbeskrivningen BÖR tydligt redovisa följande aspekter:
- Deltagande aktörer (roller eller system) i processen
- Respektive aktörs ansvar i processens olika steg
- Informationsflöden mellan aktörer och system
- Start- och slutpunkter för processen
Motiv: Standardiserade och tydligt strukturerade processbeskrivningar gör det enklare att införa och samordna informationsflöden baserade på meddelandetypen. De bidrar till gemensam förståelse, högre kvalitet och bättre interoperabilitet mellan aktörer.
5.2 Tillgänglighetskrav (Service Level Agreements)
Förvaltare av meddelandetyp behöver definiera tillgänglighetskrav för deltagares verksamhet som använder meddelandetypen.
Tillgänglighetskrav ska primärt riktas mot verksamheten och dess verksamhetssystem (Meddelandeklient) som använder meddelandetypen då SDK definierar tillgänglighetskrav på anslutande system (Accesspunkt, Meddelandetjänst).
Kategori | Krav | Beskrivning av krav |
|---|---|---|
Svarstid för handläggning (manuell eller automatiskt)) | <meddelandetypens krav> Exempel:
| Beskriv svarstider som anslutande deltagares verksamhet förväntas hantera vid användande av meddelandetypen. |
Verksamhetens tillgänglighet (öppettider) | <meddelandetypens krav> Exempel: Vardagar 08:00-16:30 99,8% | Beskriv verksamhetens tillgänglighet. |
Meddelandetypens uppskattade volymer (Kapacitet) | <meddelandetypens krav> Exempel 1000 meddelanden/dygn | 99,5% av mottagna meddelanden ska kunna kvitteras inom kravet på svarstid. |
Förvaltaren SKA ta fram en SLA som omfattar:
- Svarstider för handläggning
- Verksamhetens tillgänglighet
Förvaltaren BÖR inkludera följande:
- Uppskattade volymer
Motiv: Deltagarorganisationer behöver förstå vilka krav meddelandetypen ställer på verksamhet och verksamhetssystem. Detta för att integrera rätt verksamhet och verksamhetssystem.
6 Rättsliga förutsättningar och informationssäkerhet (Juridisk interoperabilitet)
För att underlätta införande av en meddelandetyp behöver anslutande verksamhet säkerställa att juridiska förutsättningar och informationssäkerhetsaspekter är beaktade.
6.1 Informationsklassning
Informationsklassning är ett obligatoriskt steg när deltagare utbyter information med stöd av meddelandetyper inom SDK.
SDK utgår från det metodstöd och rekommendationer som Myndigheten för samhällsskydd och beredskap (MSB 0040-09) tagit fram för informationssäkerhetsklassning där SDK som helhet (informationsbärare) är dimensionerad att hantera information enligt konsekvensnivå 3 (t.ex. känsliga personuppgifter).
Läs mer om SDK:s informationssäkerhet och informationsklassning här: Rekommendation för informationssäkerhet och teknisk IT-säkerhet | Digg Länk till annan webbplats.
Förvaltaren av meddelandetypen ansvarar för att ta fram en stödjande och vägledande beskrivning av informationssäkerhetsnivå. Detta för att deltagarorganisationer skall kunna avgöra egna sina egna förutsättningar för att använda meddelandetypen.
- Förvaltaren ansvarar för att informationssäkerhetsklassificera meddelandetypen i enlighet med Rekommendation för informationssäkerhet och teknisk IT-säkerhet
Motiv: Federationsägaren (Digg) behöver säkerställa att deltagare som vill använda meddelandetyper har goda förutsättningar att införa och börja använda en meddelandetyp i sin verksamhet.
6.2 Juridiska förutsättningar
Informationsmängder som utbytes mellan deltagare inom federationen behöver en rättslig grund.
Förvaltaren av meddelandetypen ansvarar för att ta fram en stödjande och vägledande beskrivning av juridiska förutsättningar. Detta ska stödja deltagarorganisationernas egna utredningar om förutsättningarna för informationsutbyte med den nya meddelandetypen.
Förvaltaren behöver stödja ansluten deltagare med information om:
- En rättslig grund finnas för själva informationsutbytet.
- Sekretessregler som möjliggör utlämnandet.
- Mottagarens rätt att ta emot meddelandet.
- Avtal och tekniska lösningar stödja säker datadelning.
Förvaltarens ansvar:
- Förvaltare av meddelandetyp SKA beskriva juridiska förutsättningar för informationsutbyte med stöd av meddelandetypen.
Motiv: För att underlätta införande av en meddelandetyp BÖR de juridiska förutsättningar för användandet av meddelandetypen vara beskrivna.
6.3 Licens
Dokumentationen ska tydligt ange vilka eventuella licensvillkor som gäller för nyttjande av specifikationen för meddelandetypen.
Motiv: Federationsägaren (Digg) behöver säkerställa att både deltagare och leverantörer som implementerar eller vidareutvecklar stöd för meddelandetyper är fullt informerade om gällande licensvillkor. Det inkluderar rätten att nyttja, implementera, modifiera och distribuera specifikationen samt förståelse för eventuella villkor för detta.
Bilaga: Fördjupning identifierare för meddelandetyp
Avsikten med denna bilaga är att fördjupa förklaringen av hur DocumentIdentifier används.
Hur används ”DocumentIdentifier”
Varje meddelandetyp ska ha en unik identifierare inom SDK federationen.
För att underlätta hanteringen av meddelandetyper i adressboken ska meddelandetypsförvaltaren ange ett namn på meddelandetypen i tillägg till identifieraren. Detta ska vara läsbart av människor och koncist beskriva meddelandetypen. Meddelandetypens namn ska vara unikt inom federationen och godkännas av federationsägaren.
Identifieraren används för följande:
Identifiering av deltagarens meddelandetyper i SMP.
Kodexempel från sdk-docs/Meddelandesystem/Meddelandetyper at main · diggsweden/sdk-docs · GitHub Länk till annan webbplats.
<?xml version="1.0" encoding="utf-8"?> <SignedServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ServiceMetadata xmlns:sma=”http://docs.oasis-open.org/bdxr/ns/SMP/2/AggregateComponents/” xmlns:smb=”http://docs.oasis-open.org/bxdr/ns/SMP/2/BasicComponents”> <ServiceInformation> <ParticipantIdentifier scheme="urn:oasis:names:tc:ebcore:partyid-type:iso6523:0010"> </ParticipantIdentifier> <DocumentIdentifier scheme="bdx-docid-qns"> urn:riv:infrastructure:messaging:MessageWithAttachments:3::messagePayload##3.0::tm-base-ext-sigenc</DocumentIdentifier> <ProcessList> <Process> <ProcessIdentifier scheme="urn:fdc:digg.se:edelivery:process">bxd:noprocess</ProcessIdentifier> <ServiceEndpointList> <Endpoint transportProfile="digg-transport-as4-v1_0"> <EndpointURI>https://ap.open-test.digg.se/domibus/services/msh</EndpointURI> <Certificate>TlRMTVNTUAABAAAAt7IY4gk....</Certificate> </ServiceEndpointList> </Process> </ProcessList> </ServiceInformation> </ServiceMetadata> </SignedServiceMetadata>Identifiering av meddelandetyp i XHE kuvert. XHE.Header
<ns3:BusinessScope> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>FEDERATIONID</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>urn:fdc:digg.se:edelivery:federation:sdk</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>PROCESSID</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>bdx:noprocess</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>PROCESSID_SCHEME</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>urn:fdc:digg.se:edelivery:process</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>DOCUMENTID</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>urn:riv:infrastructure:messaging:MessageWithAttachments:3::messagePayload##3.0::tm-base-ext-sigenc</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>DOCUMENTID_SCHEME</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>busdox-docid-qns</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> </ns3:BusinessScope>XHE.Payloads.Payload.DocumentTypeCode (krypterad)
<ns3:Payloads> <ns3:Payload> <DocumentTypeCode>Q{urn:riv:infrastructure:messaging:MessageWithAttachments:3}messagePayload</DocumentTypeCode> <ContentTypeCode>application/xml</ContentTypeCode> <HandlingServiceID>sdk.testbed.0203:testa.testbed.inera.se</HandlingServiceID> <InstanceEncryptionIndicator>false</InstanceEncryptionIndicator> <ns3:PayloadContent> <ns6:messagePayload> <ns6:message>Exempel för en JSON meddelandetyp
Exempel utifrån struktur {DocumentNamespace}::{DocumentType}##{CustomizationID}::{Version}
| Exempel XML | Exempel JSON |
|---|---|---|
DocumentNamespace, namnrymd och identifierare av meddelandetyp. (obligatoriskt värde) | Ska motsvara XML targetNameSpace
| I JSON finns ingen exakt motsvarighet till XML:s targetNamespace. Istället används fältet $id i JSON Schema för att identifiera schema och dess version. För meddelandeinstanser används vanligtvis schemaRef. |
Exempel | SDK meddelande: urn:riv:infrastructure:messaging: MessageWithAttachments:3 Meddelandekvittens: urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2 | SDK meddelande: Meddelandekvittens: urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2:json |
DocumentType, meddelandedtypens namn (obligatoriskt värde)
| Ska identifierar root element för XHE paketerat XML meddelanden
| Ska motsvara ett koncept för att identifiera vilken meddelandedefinition som skall användas för att validera en specifik meddelandedefinition inom ett JSON schema. T.ex. ett ”type” koncept som identifierar $ref med definitionen (I de fall flera meddelandedefinitioner ingår i schema. Observera att SDK meddelande inte har det behovet). |
Exempel | SDK meddelande: messagePayload Meddelandekvittens: ApplicationResponse | SDK meddelande: Meddelandekvittens: |
CustomizationID anger vilken variant eller anpassning av en meddelandetyp . (frivilligt värde) | Används för att identifiera anpassning av XSD schema. Saknas i XML version.
| Används för att indikera JSON format (egentligen onödigt men följer formatet). |
Exempel | Exempel SDK meddelande: Används ej Exempel Meddelandekvittens: fdc:digg.se:edelivery:messagetype:response:1 | SDK meddelande: fdc:digg.se:edelivery:format:json Meddelandekvittens:
|
Version, meddelandetypens version. (obligatoriskt värde) | Meddelandetypens majorversion | Meddelandetypens majorversion |
Exempel | Exempel SDK meddelande: 3.0 Exempel Meddelandekvittens: 2.1 | Exempel SDK meddelande: 3.0 Exempel Meddelandekvittens: 2.1 |
Exempel på registreringbefintliga meddelandetyper:
SDK meddelande:
SMP | JSON*: XML: |
|---|---|
Schema | JSON:
XML: targetNamespace='urn:riv:infrastructure:messaging:MessageWithAttachments:3' elementFormDefault='qualified' attributeFormDefault='unqualified' version='3.0'>
|
Payload | JSON:
XML: <DocumentTypeCode>Q{urn:riv:infrastructure:messaging:MessageWithAttachments:3}messagePayload</DocumentTypeCode> <ContentTypeCode>application/xml</ContentTypeCode> <HandlingServiceID>….digg.se</HandlingServiceID> <InstanceEncryptionIndicator>true</InstanceEncryptionIndicator> <xha:PayloadContent> <ns6:messagePayload xmlns:ns6="urn:riv:infrastructure:messaging:MessageWithAttachments:3"> <ns6:message>
|
XML: urn:riv:infrastructure:messaging:MessageWithAttachments:3::messagePayload##3.0::tm-base-ext-sigenc
JSON:
digg.se/riv/infrastructure/messaging/MessageWithAttachments-3.schema.json::fdc:digg.se:edelivery:messagetype:MessageWithAttachments:json##3.0::tm-base-ext-sigenc
Meddelandekvittens:
XML:
urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2::ApplicationResponse##fdc:digg.se:edelivery:messagetype:response:1::2.1::tm-base-ext-sigenc
Bilaga XHE exempel
<ns5:XHE xmlns="http://docs.oasis-open.org/bdxr/ns/XHE/1/BasicComponents" xmlns:ns2="http://docs.oasis-open.org/bdxr/ns/XHE/1/ExtensionComponents" xmlns:ns3="http://docs.oasis-open.org/bdxr/ns/XHE/1/AggregateComponents" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="http://docs.oasis-open.org/bdxr/ns/XHE/1/ExchangeHeaderEnvelope"> <XHEVersionID>1.0</XHEVersionID> <CustomizationID>urn:fdc:digg.se:edelivery:xhe:1</CustomizationID> <ns3:Header> <ID>7bc5576a-3f87-4cf5-a0c5-277da06fcacb</ID> <CreationDateTime>2022-10-13T18:10:39.844Z</CreationDateTime> <ns3:BusinessScope> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>FEDERATIONID</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>urn:fdc:digg.se:edelivery:federation:sdk</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>PROCESSID</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>bdx:noprocess</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>PROCESSID_SCHEME</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>urn:fdc:digg.se:edelivery:process</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>DOCUMENTID</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>urn:riv:infrastructure:messaging:MessageWithAttachments:Json:3::messagePayload##3.0::tm-base-ext-sigenc</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> <ns3:BusinessScopeCriterion> <BusinessScopeCriterionTypeCode>DOCUMENTID_SCHEME</BusinessScopeCriterionTypeCode> <BusinessScopeCriterionValue>busdox-docid-qns</BusinessScopeCriterionValue> </ns3:BusinessScopeCriterion> </ns3:BusinessScope> <ns3:FromParty> <ns3:PartyIdentification> <ID schemeID="iso6523-actorid-upis">0203:testb.testbed.inera.se</ID> </ns3:PartyIdentification> </ns3:FromParty> <ns3:ToParty> <ns3:PartyIdentification> <ID schemeID="iso6523-actorid-upis">0203:testa.testbed.inera.se</ID> </ns3:PartyIdentification> </ns3:ToParty> </ns3:Header> <ns3:Payloads> <ns3:Payload> <DocumentTypeCode>Q{urn:riv:infrastructure:messaging:MessageWithAttachments:json:3}messagePayload</DocumentTypeCode> <ContentTypeCode>application/json</ContentTypeCode> <HandlingServiceID>sdk.testbed.0203:testa.testbed.inera.se</HandlingServiceID> <InstanceEncryptionIndicator>false</InstanceEncryptionIndicator> <ns3:PayloadContent> ewogICJzY2hlbWFSZWYiOiAidXJuOnJpdjppbmZyYXN0cnVjdHVyZTptZXNzYWdpbmc6TWVzc2FnZVdpdGhBdHRhY2htZW50czpqc29uOjMiLAogICJtZXNzYWdlSWQiOiAiZmYzMjUyMTAtMDY5MC00MmZlLWI4NmYtOTVlY2FiODIxMjIzIiwKICAiY29udmVyc2F0aW9uSWQiOiAiYTg0ODBhZGEtNmExZi00NGEzLWE5NjAtOWFjYWY0ZWZjZGNkIiwKICAicmVmVG9NZXNzYWdlSWQiOiAiZmYzMjUyMTAtMDY5MC00MmZlLWI4NmYtOTVlY2FiODIxMjIzIiwKICAiY29uZmlkZW50aWFsaXR5IjogZmFsc2UsCiAgImNyZWF0aW9uRGF0ZVRpbWUiOiAiMjAyNS0wNC0xN1QwOToxNTowMFoiLAogICJnZW5lcmF0aW5nU3lzdGVtIjogewogICAgInJvb3QiOiAiMS4yLjc1Mi4xMjkuMi4xLjQuMSIsCiAgICAiZXh0ZW5zaW9uIjogIkdTLTAwMSIsCiAgICAibGFiZWwiOiAiVsOlcmRTeXN0ZW0gWCIKICB9LAogICJyZWNpcGllbnRBdHRlbnRpb24iOiB7CiAgICAic3ViT3JnYW5pemF0aW9uIjogewogICAgICAicm9vdCI6ICJ1cm46cml2OmluZnJhc3RydWN0dXJlOm1lc3NhZ2luZzpmdW5jdGlvbmFsQWRkcmVzcyIsCiAgICAgICJleHRlbnNpb24iOiAic2RrLXRlc3RjbGllbnQuMDIwMzpzZGstdGVzdGNsaWVudC5zYW5kYm94LW9wZW4tdGVzdC5kaWdnLnNlIiwKICAgICAgImxhYmVsIjogIkRpZ2dzIFRlc3RrbGllbnQgaSBTQU5EQk9YIgogICAgfSwKICAgICJhdHRlbnRpb25QZXJzb24iOiBbCiAgICAgIHsKICAgICAgICAicm9vdCI6ICIxLjIuNzUyLjEyOS4yLjEuNC4xIiwKICAgICAgICAiZXh0ZW5zaW9uIjogIlNFMjMyMTAwMDAxNi1ubm5ubiIsCiAgICAgICAgImxhYmVsIjogIkFubmEgQW5kZXJzc29uIgogICAgICB9CiAgICBdLAogICAgInJlZmVyZW5jZUlkIjogWwogICAgICB7CiAgICAgICAgInJvb3QiOiAiMS4yLjc1Mi4xMjkuMi4xLjMuMSIsCiAgICAgICAgImV4dGVuc2lvbiI6ICIxOTEyMTIxMi0xMjEyIiwKICAgICAgICAibGFiZWwiOiAiVG9sdmFuIFRvbHZhbnNzb24iCiAgICAgIH0KICAgIF0KICB9LAogICJzZW5kZXJBdHRlbnRpb24iOiB7CiAgICAic3ViT3JnYW5pemF0aW9uIjogewogICAgICAicm9vdCI6ICJ1cm46cml2OmluZnJhc3RydWN0dXJlOm1lc3NhZ2luZzpmdW5jdGlvbmFsQWRkcmVzcyIsCiAgICAgICJleHRlbnNpb24iOiAic2RrLXRlc3RjbGllbnQuMDIwMzpzZGstdGVzdGNsaWVudC5vcGVuLXRlc3QuZGlnZy5zZSIsCiAgICAgICJsYWJlbCI6ICJEaWdnIHRlc3RrbGllbnQgZnVua3Rpb25zYWRyZXNzIgogICAgfSwKICAgICJhdHRlbnRpb25QZXJzb24iOiBbCiAgICAgIHsKICAgICAgICAicm9vdCI6ICIxLjIuNzUyLjEyOS4yLjEuNC4xIiwKICAgICAgICAiZXh0ZW5zaW9uIjogIlNFMjMyMTAwMDAxNi1ubm5uMSIsCiAgICAgICAgImxhYmVsIjogIkJvIEJlbmd0c3NvbiIKICAgICAgfQogICAgXSwKICAgICJyZWZlcmVuY2VJZCI6IFsKICAgICAgewogICAgICAgICJyb290IjogIjEuMi43NTIuMTI5LjIuMS40LjciLAogICAgICAgICJleHRlbnNpb24iOiAiUkVGLTAwMiIsCiAgICAgICAgImxhYmVsIjogIkludGVyblJlZmVyZW5zIgogICAgICB9CiAgICBdCiAgfSwKICAicmVjaXBpZW50IjogIjAyMDM6c2RrLXRlc3RjbGllbnQuc2FuZGJveC1vcGVuLXRlc3QuZGlnZy5zZSIsCiAgInNlbmRlciI6ICIwMjAzOnNkay10ZXN0Y2xpZW50Lm9wZW4tdGVzdC5kaWdnLnNlIiwKICAibGFiZWwiOiAiU3ZhciBww6UgcmVtaXNzIiwKICAiZGlnaXRhbERvY3VtZW50IjogWwogICAgewogICAgICAiZG9jdW1lbnROYW1lIjogIlJlbWlzc3ZhciAtIHBkZiIsCiAgICAgICJkb2N1bWVudElkIjogIkRPQy0xMDAwMSIsCiAgICAgICJpbmRleCI6ICIxIiwKICAgICAgImNvbnRlbnRUZXh0Qm9keSI6IFsiUmVtaXNzdmFyIGJpZm9nYXMgc29tIFBERi4iXSwKICAgICAgImNvbnRlbnRGaWxlcyI6IFsKICAgICAgICB7CiAgICAgICAgICAiZmlsZU5hbWUiOiAiZXhlbXBlbC1wZGYiLAogICAgICAgICAgImNvbnRlbnRUeXBlIjogImFwcGxpY2F0aW9uL3BkZiIsCiAgICAgICAgICAiY29udGVudCI6ICJKVkJFUmkweExqY05DaVcxdGJXMURRb3hJLi4uIgogICAgICAgIH0KICAgICAgXQogICAgfQogIF0KfQo= </ns3:PayloadContent> </ns3:Payload> </ns3:Payloads> <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> <dsig:SignedInfo> <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> <dsig:Reference URI=""> <dsig:Transforms> <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <dsig:DigestValue>13LervAzHFBNjB7PPnYSxkGBUid/h/5ijjA9nGN9vP4=</dsig:DigestValue> </dsig:Reference> </dsig:SignedInfo> <dsig:SignatureValue>q+v+HS1Cy/jqf3UaW1oFCmuSho2n9fFXAlDoV2uvgQiDmUoXXawKdWYTtJFKbSgNIwunWXShsJQJarzfYTt83DBpM3Z6OX5PC3I1B3SqdSWvnMwtJ0WZWJNaVOLJphWPfvRHxHdN9Wm+9jmLJCWMvy5m4BX6XnAgDTF5p7iq4VkQ9vmyG/U1VOs03WIRrSNuNctWzkAvHISBz5tvcE0+AjBKZ4d9cXNiGJrLdCueYBzVAjhOwPm2VI/HA0/ybLN2iCWgvrNx+WuC4+RvgS1jQeGma2lOSawE/CFfEZ0MyI5WrO4n9W7Ac6ycC1iCFopv81CmiMs8lDfen/5qb7r5Hna4X9wDyLzTrLY+CtyOiq3ogYGdAiCExpK23zUkAeMZcBf2CAnSAJMDPLM2l3ZuXnxhbhhsFV4WQ2RDK8nxiFSBcXZnJwNWGel9ACOR0u4u6EVAtRsvdJLMHA/42qfoXuANZ31umhsUOEwsLZyyZxuEdxSBJKp3F0vgX11M+2Rt</dsig:SignatureValue> <dsig:KeyInfo> <dsig:X509Data> <dsig:X509Certificate>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</dsig:X509Certificate> </dsig:X509Data> </dsig:KeyInfo> </dsig:Signature></ns5:XHE>payLoadcontent – json meddelande
Avkodad base64 sträng innehåller komplett JSON meddelande.
{ "schemaRef": "urn:riv:infrastructure:messaging:MessageWithAttachments:json:3", "messageId": "ff325210-0690-42fe-b86f-95ecab821223", "conversationId": "a8480ada-6a1f-44a3-a960-9acaf4efcdcd", "refToMessageId": "ff325210-0690-42fe-b86f-95ecab821223", "confidentiality": false, "creationDateTime": "2025-04-17T09:15:00Z", "generatingSystem": { "root": "1.2.752.129.2.1.4.1", "extension": "GS-001", "label": "VårdSystem X" }, "recipientAttention": { "subOrganization": { "root": "urn:riv:infrastructure:messaging:functionalAddress", "extension": "sdk-testclient.0203:sdk-testclient.sandbox-open-test.digg.se", "label": "Diggs Testklient i SANDBOX" }, "attentionPerson": [ { "root": "1.2.752.129.2.1.4.1", "extension": "SE2321000016-nnnnn", "label": "Anna Andersson" } ], "referenceId": [ { "root": "1.2.752.129.2.1.3.1", "extension": "19121212-1212", "label": "Tolvan Tolvansson" } ] }, "senderAttention": { "subOrganization": { "root": "urn:riv:infrastructure:messaging:functionalAddress", "extension": "sdk-testclient.0203:sdk-testclient.open-test.digg.se", "label": "Digg testklient funktionsadress" }, "attentionPerson": [ { "root": "1.2.752.129.2.1.4.1", "extension": "SE2321000016-nnnn1", "label": "Bo Bengtsson" } ], "referenceId": [ { "root": "1.2.752.129.2.1.4.7", "extension": "REF-002", "label": "InternReferens" } ] }, "recipient": "0203:sdk-testclient.sandbox-open-test.digg.se", "sender": "0203:sdk-testclient.open-test.digg.se", "label": "Svar på remiss", "digitalDocument": [ { "documentName": "Remissvar - pdf", "documentId": "DOC-10001", "index": "1", "contentTextBody": ["Remissvar bifogas som PDF."], "contentFiles": [ { "fileName": "exempel-pdf", "contentType": "application/pdf", "content": "JVBERi0xLjcNCiW1tbW1DQoxI..." } ] } ]}JSON meddelande – schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "urn:riv:infrastructure:messaging:MessageWithAttachments:json:3", "title": "Meddelandetyp SDK meddelande – Attributschema", "description": "Schema som definierar attributen för en SDK-meddelandetyp inklusive referens till schema som används vid validering.", "type": "object", "required": [ "schemaRef", "messageId", "conversationId", "refToMessageId", "confidentiality", "generatingSystem", "recipientAttention", "senderAttention", "recipient", "sender", "label", "digitalDocument", "creationDateTime" ], "properties": { "schemaRef": { "type": "string", "format": "uri", "description": "URI till det schema som detta meddelande ska valideras mot." }, "messageId": { "type": "string", "description": "Unik identifierare för meddelandet." }, "conversationId": { "type": "string", "description": "Identifierare för meddelandekonversation." }, "refToMessageId": { "type": "string", "description": "Referens till ett tidigare meddelande." }, "confidentiality": { "type": "boolean", "description": "Anger om innehållet är konfidentiellt." }, "generatingSystem": { "$ref": "#/$defs/rootExtensionLabel" }, "recipientAttention": { "$ref": "#/$defs/attentionStructure" }, "senderAttention": { "$ref": "#/$defs/attentionStructure" }, "recipient": { "type": "string", "description": "Mottagarens tekniska identifierare." }, "sender": { "type": "string", "description": "Avsändarens tekniska identifierare." }, "label": { "type": "string", "description": "Rubrik eller beskrivning av meddelandet." }, "digitalDocument": { "type": "array", "description": "Lista över bifogade digitala dokument.", "items": { "type": "object", "required": ["documentName", "documentId", "index", "contentTextBody", "contentFiles"], "properties": { "documentName": { "type": "string" }, "documentId": { "type": "string" }, "index": { "type": "string" }, "contentTextBody": { "type": "array", "items": { "type": "string" } }, "contentFiles": { "type": "array", "items": { "type": "object", "required": ["fileName", "contentType", "content"], "properties": { "fileName": { "type": "string" }, "contentType": { "type": "string" }, "content": { "type": "string", "contentEncoding": "base64" } } } } } } }, "creationDateTime": { "type": "string", "format": "date-time" } }, "$defs": { "rootExtensionLabel": { "type": "object", "required": ["root", "extension", "label"], "properties": { "root": { "type": "string" }, "extension": { "type": "string" }, "label": { "type": "string" } } }, "attentionStructure": { "type": "object", "required": ["subOrganization", "attentionPerson", "referenceId"], "properties": { "subOrganization": { "$ref": "#/$defs/rootExtensionLabel" }, "attentionPerson": { "type": "array", "items": { "$ref": "#/$defs/rootExtensionLabel" } }, "referenceId": { "type": "array", "items": { "$ref": "#/$defs/rootExtensionLabel" } } } } } }Ditt svar hjälper oss att förbättra sidan
Senast uppdaterad: