RIV Tekniska Anvisningar Refererade bilagor
RIV Tekniska Anvisningar Refererade bilagorRevision A ARK_0078 2026-06-08 |
- 1 RIV Tekniska Anvisningar Refererade bilagor
- 2 1. Inledning
- 2.1 1.1 Definitioner
- 2.2 1.2 Syfte
- 2.3 1.3 Tillgänglighet
- 2.4 1.4 Förvaltning
- 3 2. Refererad bilaga via GetBinaryData
- 4 3. Exempel på mediatyper
- 5 4. Inbäddad bilaga
Versionshistorik | |||
Utgåva | Revision Datum | Beskrivning | Ändringarna gjorda av |
PA1 | 2026-06-08 | Denna anvisning ersätter RIV-TA Binära bilagor ARK_0038. Den här versionen har renodlats till att beskriva hur bilagor refereras och hämtas via tjänstekontraktet GetBinaryData. Andra metoder för hantering av bilagor utgår. Eventuell hantering av inbäddade bilagor beskriv istället i respektive tjänstekontraktbeskrivning där bilagor bäddas in Andra metoder för att referera till bilagor kan förekomma men beskrivs då utifrån respektive tillämpning och metoden anpassas utifrån förutsättningar i aktuellt tillämpningsområde.
| Mattias Viklund |
1. Inledning
Denna anvisning beskriver regler för överföring av binära bilagor till tjänstekontrakt inom ramen för RIV Tekniska Anvisningar. Anvisningen beskriver hur en bilaga kan refereras till i svaret på ett tjänstekontraktsanrop.
Denna anvisning ersätter ARK_0038, RIV-TA Binära bilagor.
1.1 Definitioner
Följande termer förekommer i anvisningen:
(se också https://rivta.se/documents/ARK_0035 för generella termer inom RIV-TA)
Definition | Beskrivning |
Informationsproducent | En organisation som tillgängliggör information till en annan part. Kan vara antingen tjänstekonsument eller tjänsteproducent i en tjänsteinteraktion. |
Informationskonsument | En organisation som tar emot information från en annan part. Kan vara antingen tjänstekonsument eller tjänsteproducent i en tjänsteinteraktion. |
MultimediaType | Den XML-typ som används för att förmedla information om en bilaga. Se kapitel 3. |
1.2 Syfte
Bilageutväxling sker alltid inom ramen för ett tjänstekontrakt och det aktuella tjänstekontraktet bär referensen till bilagan som ska överföras.
Binära bilagor kan överföras i såväl begäran som svaret i en tjänsteinteraktion. Format-definitionen för bilageinformationen är densamma i båda fallen, men har olika fältregler.
Denna anvisning beskriver hur bilagor refereras till med DocumentReference och hämtas via tjänstekontraktet GetBinaryData.
Dessutom beskrivs övergripande information kring inbäddad bilaga men huvudsakligen med hänvisning till respektive tjänstekontraktsbeskrivning för de tjänstekontrakt där bilagor används.
1.3 Tillgänglighet
Detta dokument är publicerat under licensen Creative Commons CC-BY-SA (http://creativecommons.org/licenses/by-sa/2.5/se/ ).
Det betyder att du fritt får kopiera, distribuera och skapa bearbetningar av anvisningarna under förutsättning att upphovsmannen Sveriges Kommuner och Regioner anges, men inte på ett sätt som antyder att de godkänt eller rekommenderar din användning av verket.
1.4 Förvaltning
Utveckling och förvaltning av RIV-TA och dess delar/dokument sker genom att förändringsbehov och/eller förslag skickas in till Inera via e-post till kundservice@inera.se. Ange "RIVTA: Anvisningens namn"" i ämnesraden.
2. Refererad bilaga via GetBinaryData
Detta avsnitt beskriver regler för överföring av binära bilagor som refereras från tjänstekontrakt inom ramen för RIV Tekniska Anvisningar.
Metoden ”refererad bilaga” innebär att informationsproducenten förmedlar en referens antingen som en URL eller med adressuppgifter som kan översättas till en URL (logisk adressering med uppslag via tjänstekatalog eller liknande) till en nedladdningsbar bilaga. Det ställer krav på att informationsproducenten behöver ha tillgång till infrastruktur för att publicera bilagor på ett sätt som konsumenterna kan konsumera.
Denna anvisning anger ingen begränsning beträffande storleken på refererade bilagor eftersom anvisningen bygger på att klienten kontaktar producentens API direkt. Om en producent har en tjänsteplattform som front för sitt API så behöver denna klara de storlekar som tillämpningen kräver
Anvisningen kan också hänvisa till regler i andra dokument som beskriver en viss tillämpning och som då ersätter eventuella regler som beskrivs i denna anvisning.
Denna anvisning anger ingen begränsning beträffande storleken på refererade bilagor. Storleken kan dock begränsas för tillämpande tjänstekontrakt. Detta dokumenteras då i aktuell tjänstekontraktsbeskrivning, interoperabilitetsspecifikation, tillämpningsanvisning eller liknande.
2.1 Användning av DocumentReference
Strukturen för att beskriva referensen medger att definera referenser som inhämtas enligt flera standarder men detta avsnitt avser endast bilagor som överförs via tjänstekontraktet GetBinaryData och som refereras enligt referensstrukturen som finns beskriven inom RIV-TA .
ConnectionType ska alltså vara satt till urn:riv:infrastructure:itintegration:dataexchange:GetBinaryDataResponder:1:rivtabp21
Se tjänstekontraktsbeskrivningen för GetBinaryData för mer information kring utformning och användning av referenser. Även tjänstekontraktsbeskrivningen för det tjänstekontrakt som bär en viss referens kan ge vägledning kring hur referensen utformas för referenser inom just det kontraktet samt giltiga MIME typer och så vidare. Även tillämpningsanvisningar och interoperations specifikationer och liknande kan beskriva hur referensobjektet ska användas för en specifik tillämpning.
2.2 Exempelmeddelande refererad bilaga via GetBinaryData
Exempel på en bild som refereras via tjänstekontrakt.
Notera att den faktiska användningen av documentReference i huvudsak beskrivs i tjänstekontraktsbeskrivningen för det tjänstekontrakt där referensen används.
<documentReference>
<id value="12983798123" />
<version value="1" />
<status value="current" />
<description value="En bild som pekas ut via referens." />
<attachment>
<id value="12983798123" />
<contentType value="image/png" />
<language value="sv" />
<size value="1256498" />
<title value="image showing" />
<creation value="20241030131305" />
<endpoint>
<status value="active" />
<connectionType value="urn:riv:infrastructure:itintegration:dataexchange:GetBinaryDataResponder:1:rivtabp21" />
<address value="https://url.till.en.api-endpoint.se" />
<logicalAddress value="SE2321000016-T65N" />
<accessControlMechanism value="mutual-tls" />
</endpoint>
</attachment>
</documentReference>
2.3. Flöde för att hantera bilagor som hämtas via referenser
Flödet för att hantera referenser är som följer:
Konsument hämtar information via ett tjänstekontrakt, exempelvis GetImagingOutcome, genom ett anrop till NTjP eller aggregerande tjänst.
Utöver den faktiska informationen i svaret så innehåller svaret även en eller flera referenser (i detta exempel bilder).
referensen innehåller bland annat (från exemplet nedan)
<id value="12983798123" /><connectionType value="urn:riv:infrastructure:itintegration:dataexchange:GetBinaryDataResponder:1:rivtabp21" /><address value="https://url.till.en.api-endpoint.se" /><logicalAddress value="SE2321000016-T65N" />
Konsumenten använder därefter informationen i referensen till att hämta bilden.
eftersom typen pekar på tjänstekontrakt så hämtas bilden med tjänstekontraktet GetBinaryData.
anropet för GetBinaryData sker direkt till tjänsteproducentens API utan att passera någon nationell gemensam infrastruktur.
Anropet sker till den URL som anges i referensen
<address value="https://url.till.en.api-endpoint.se" /><id value="12983798123" />används i tjänstekontraktsbegäran för att ange vilken bild man vill hämta.logisk adress skickas med i referensen för att tjänsteproducenten ska kunna använda logisk adressering på sin sida.
I tjänstekontraktsbeskrivningen för GetBinaryData exemplifieras hanteringen av refererade bilagor med hur hanteringen inom NPÖ är designad. Bilden nedan beskriver denna hantering och det som är relevant för denna anvisning ringas in med en röd ram. Referenser fås i det aggregerade svaret (1) och sen hämtas bilagor i separat process (2) med hjälp av informationen i referenserna.
2.4 Regler för refererad bilaga via GetBinaryData
Nedanstående regler kan överridas av regler för en viss tillämpning, i de fallen så beskriv detta i interoperabilitetsspecifikationer, tillämpningsanvisningar, tjänstekontraktbeskrivningar eller liknade.
Regel GBD#1: Asynkron hantering
En informationskonsument som tar emot en referns till en bilaga i begäran (i rollen tjänsteproducent) skall hantera bilagan asynkront. Med asynkront menas att svar/kvittens skickas till tjänstekonsumenten innan bilagan hanteras. Det innebär att en inbäddad bilaga skall avkodas och lagras efter att svar returnerats till tjänstekonsumenten och att vid refererad bilaga hämta denna först efter att svarsmeddelande skickats till tjänstekonsumenten.
Regel GBD#2: Generering av URL
Informationsproducenten ansvarar för att generera den URL som bilagan ska tillgängliggöras via. URL:en skall vara absolut, dvs innehålla både protokoll (https) och fullständigt servernamn inkl. domännamn.
Denna anvisning ställer inga krav på att filnamn eller filtyp ska ingå i URL:en. Filtyp kommuniceras istället via MIME-typer i elementet mediaType.
Exempel:
https://attachment.landsting.se/VP/GetBinarydata/V1/
https://imagelink.landsting.se/img/radiologi0049.jpg
Regel GBD#3: Logisk adress
Logisk adress KAN anges i documentReference för att tillåta användning av logisk adressering. Om logisk adress finns med i referensen så SKA konsumenten skicka med den i begäran för GetBinaryData för att tillåta att producenten använder logisk adressering på sin sida.
Logisk adressering kan även utformas mer generellt även för konsument till exempel genom att konsumenten slå upp teknisk anslutningsadress från någon källa. Men för detta hänvisas i så fall till interoperabiltetetspecifikation eller liknande dokumentation för den aktuella tillämpningen.
Regel GBD#4: Tillgängliggörande av bilaga
Informationsproducenten ansvarar för att säkerställa att bilagan blir åtkomlig för konsumenterna både gällande behörighetskontroll och nätverksmässig access.
Vilka mönster som används beror på aktörsgrupperna och förmågor hos aktörerna och kan till exempel beskrivas i en interoperabilitetsspecifikation eller liknande.
Regel GBD#5: Kryptering
Överföringen skall krypteras med protokollet TLS.
Se anvisningen RIV-TA Kryptografi för aktuell konfiguration.
3. Exempel på mediatyper
Här följer ett exempel på den MediaTypeEnum, som refereras från elementet ”MediaType”. Listan över tillåtna värden definieras av varje tjänstedomän. Dessa skall vara i MIME-format och bör vara registrerade av IANA eller HL7.
NOTERA: Nedanstående lista är exempel på hur mediatypers ENUM utformas och ska inte ses som en komplett lista över tillåtna mediatyper
<xs:simpleType name="MediaTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="application/dicom"/>
<xs:enumeration value="application/msword"/>
<xs:enumeration value="application/pdf"/>
<xs:enumeration value="audio/basic"/>
<xs:enumeration value="audio/k32adpcm"/>
<xs:enumeration value="audio/mpeg"/>
<xs:enumeration value="image/g3fax"/>
<xs:enumeration value="image/gif"/>
<xs:enumeration value="image/jpeg"/>
<xs:enumeration value="image/png"/>
<xs:enumeration value="image/tiff"/>
<xs:enumeration value="model/vrml"/>
<xs:enumeration value="multipart/x-hl7-cda-level1"/>
<xs:enumeration value="text/html"/>
<xs:enumeration value="text/plain"/>
<xs:enumeration value="text/rtf"/>
<xs:enumeration value="text/sgml"/>
<xs:enumeration value="text/x-hl7-ft"/>
<xs:enumeration value="text/xml"/>
<xs:enumeration value="video/mpeg"/>
<xs:enumeration value="video/x-avi"/>
</xs:restriction>
</xs:simpleType>4. Inbäddad bilaga
I den tidigare versionen (ARK_0038) av denna anvisning så beskrevs även inbäddade bilagor, men för detaljer kring detta hänvisas istället till tjänstekontraktbeskrivning för det tjänstekontrakt där den inbäddade bilagan överförs.
Notera: inbäddade bilagor får inte användas i tjänstekontrakt som aggregeras