NEF - Specifikation för XML-Message Routing Adress
1. Inledning
1.1. Syfte
Syftet med denna sida är att beskriva den struktur och det format informationen ska hålla för att mottagaren ska kunna tolka information i ett XML-meddelande på ett korrekt sätt.
1.1.1. Målgrupp
Målgrupp för denna sida är vårdgivare med IT-system som nyttjar eHälsomyndighetens tjänster samt systemleverantör som utvecklar eller förvaltar dessa IT-system.
1.1.2. Informationsnivå
Teknisk information.
1.1.3. Bakgrund
Detta dokument har tagits fram i ett nationellt samarbete med representanter från landstingen, Sveriges Apoteksförening, Distriktsveterinärerna och Apotekens Service. Förvaltningen av dokumentet ligger hos eHälsomyndigheten.
1.1.4. Avgränsningar och förutsättningar
Specifikationen innehåller de element som ska användas vid överföring av transportinformation (MessageRoutingAddress) i XML-format som är gemensam för varje enskilt meddelande: E-recept och Applikationskvittenser. Denna informationsmängd kan även användas i andra sammanhang för andra meddelanden, på grund av dess generella karaktär.
Meddelandets tillämpning specificeras i för varje enskild meddelande.
Denna specifikation är ett underlag för framtagning av ett XML-schema.
1.2. Övergripande struktur
1.2.1. Förklaringar
I denna specifikation förekommer ett antal förkortningar och koder för att beskriva förekomst och datatyper för element och attribut i XML-meddelandet.
1.2.2. Förkortningar
-
Förekomst = antal ggr ett element eller attribut skall/får förekomma enligt nedan:
[1] = Måste förekomma 1 gång (Obligatoriskt element eller attribut)
[0..1] = Förekommer ingen eller högst 1 gång (Frivilligt element eller attribut)
[0..*] = Förekommer ingen eller många gånger (Frivilligt element eller attribut)
[1..*] = Repeteras valfritt antal gånger. Måste dock förekomma minst 1 gång (Obligatoriskt element eller attribut)
{a,b,..} = Uppräkning av giltiga värden i ett datafält av uppräkningsbar typ.
-
Typ = typ av element eller attribut
A = Attribut. Anger att det är ett attribut som avses och inte ett element.
Class motsvaras i ett XML-schema av en complexType.
Nedanstående typer motsvarar i ett XML-schema av simpleType.
S = String = Alfanumerisk teckensträng (bokstäver och siffror tillåtna)
V = Code Value = Kodat värde (numerisk), där betydelsen av varje kod skall framgå av tabell. (Exempel: 1 = Förskrivning)
I = Integer = Heltal
E = Enumerated = Uppräkningsbar typ (alfanumerisk), där tabell skall ange tillåtna värden med förklaringar. (Exempel: VEN)
1.2.3. Generella regler för meddelandestruktur
-
Om ett komplext element inte innehåller några obligatoriska element skall det komplexa elementet inte vara obligatoriskt. Denna regel tillämpas i specifikationen.
-
Om ett element inte är obligatoriskt och inte innehåller data skall det inte finnas med i meddelandet. Denna regel är nödvändig att följa för att det skall vara möjligt att kontrollera innehållet i ett meddelande. För att kunna göra detta måste det vara möjligt att avgöra om information är avsedd att finnas i ett visst elementfält.
-
Obligatoriska element får inte lämnas tomma. Detta kontrolleras vid mottagande.
1.2.4. Tillåtna tecken i element- och attributfält
XML-meddelanden skall följa XML 1.0. Endast kodning enligt UTF-8 tillåts. Detta skall anges i en XML-deklaration. Detta gäller enbart meddelandet vilket kan konverteras till UTF-8 i till exempel en receptserver ifall aktuellt vårdsystem inte stödjer UTF-8.
Tillåtna tecken i attribut och elementfält är en delmängd av UTF-8 och specificeras i Tillåtna tecken i element och attributdata.
1.2.5. XML-reserverade tecken
XML-reserverade tecken skall ersättas enligt "Extensible Markup Language (XML) 1.0 (Fourth Edition) 2.4 Character Data and Markup" (Se www.w3c.org). XML-reserverade tecken finns listade i [[Tillåtna tecken i element och attributdata]].
CDATA sektioner tillåts inte.
1.2.6. Ändringslogg
Äldre relevanta kommentarer i ändringsloggen är utgråade.
1.2.7. Ändringstyper
-
Formaliserad struktur. Innebär en ändring som syftar till att rätta struktur och fält och göra formatregler och kontroller enhetliga och mer formellt definierade.
-
Regelverk. Innebär en ändring som syftar till att korrigera meddelandet så att det överensstämmer med praxis, verksamhetsregler, föreskrifter och legala krav.
-
Utökad funktionalitet. Innebär en ändring som syftar till att utöka funktionalitet i meddelandet.
1.2.8. XML-Schema definitioner
XML-specifikationer och koppling till respektive XML-schema finns specificerade i NEF - Implementationsguide. XML-specifikationer kan uppdateras separat utan att ett nytt XML-schema tas fram.
1.3. MessageRoutingAddress - Transportinformation
|
Element/Attribut |
Beskrivning |
Typ |
Förekomst |
Datatyp/ Value |
Kommentar |
Ändringslogg |
|---|---|---|---|---|---|---|
|
- MessageRoutingAddress |
Meddelandehuvud, transportinformation |
Class |
1 |
|
Används som meddelandehuvud för e-recept och applikationskvittenser för e-recept. |
|
|
-- Sender |
Organisationsnummer alternativt EAN/GLN-kod, för sändande system |
S |
1 |
Char(35) |
|
|
|
-- SenderQualifier |
Kodkvalificerare för sändare |
E |
1 |
Char(4) {14, 30, ZZZ} |
Kvalificerare för Sändare. 14 = EAN/GLN
|
|
|
-- SubSender |
Systemidentitet för sändande system |
S |
1 |
Char(20) |
Obligatoriskt vid begäran om applikationskvittens (AL) |
Tidigare värde 14tkn. Utökad teckenlängd för att harmonisera med MessageRoutingAddress för e-recept. Ändringstyp: Formaliserad struktur. Baseline 2.03: från 0..1 till 1 |
|
-- SubSenderInfo |
Ytterligare information om systemet som skapat meddelandet |
Class |
1 |
|
|
Nytt Element. Ändringstyp: Utökad funktionalitet Baseline 2.03: Obl. Från 0..1 till 1 |
|
--- SystemName |
Namn på system |
S |
1 |
Char(20) |
|
Nytt Element. Ändringstyp: Utökad funktionalitet Baseline 2.03: Obl. Från 0..1 till 1 |
|
--- SystemVersion |
Version på system |
S |
1 |
Char(20) |
|
Nytt Element. Ändringstyp: Utökad funktionalitet Baseline 2.03: Obl. Från 0..1 till 1 |
|
--- ModuleVersion |
Version på eventuell använd modul i system |
S |
0..1 |
Char(20) |
Används för att identifiera eventuell modul som används. |
Nytt Element. Ändringstyp: Utökad funktionalitet |
|
--- SystemInfo |
Information från system |
S |
0..1 |
Char(100) |
Det är en stark rekommendation att ange information om den använda varukatalogen i detta fält. Ange den SIL version som används eller ange om systemet använder VARA-filen. Då information om varukatalogen skickas in så ska den anges i den inledande texten t.ex. SIL 4.2 … eller VARA … .
|
Tidigare text:
Nytt Element. Ändringstyp: Utökad funktionalitet |
|
-- Recipient |
Mottagare. Organisationsnummer alternativt EAN/GLN-kod, för mottagande system |
S |
1 |
Char(35) |
Se ovan för sändare. |
2013-09-24: GLN tillagt |
|
-- RecipientQualifier |
Kodkvalificerare för mottagare |
E |
1 |
Char(4) {14, 30, ZZZ } |
Kvalificerare för Mottagare. 14 = EAN/GLN 30 = Organisationsnummer ZZZ = Avtalad struktur mellan parterna. |
Obligatorisk kvalificerare för kontroll. Definierad tillåten kodkvalificerare.
|
|
-- SubRecipient |
Systemidentitet för mottagande system |
S |
0..1 |
Char(20) |
För applikationskvittens är detta samma som Subsender på kvitterat meddelande. |
|
|
-- SubRecipientInfo |
Ytterligare information om systemet som skapat det refererade meddelandet |
Class |
0..1 |
|
All information i denna klass speglas tillbaka från SubSenderInfo från det refererade/kvitterade meddelandet. |
Nytt Element.
|
|
---SystemName |
Namn på system |
S |
1 |
Char(20) |
|
Nytt Element.
|
|
--- SystemVersion |
Version på system |
S |
0..1 |
Char(20) |
T.ex. 1.03 |
Nytt Element.
|
|
--- ModuleVersion |
Version på eventuell använd modul i system |
S |
0..1 |
Char(20) |
|
Nytt Element. Ändringstyp: Utökad funktionalitet |
|
--- SystemInfo |
Information från system |
S |
0..1 |
Char(100) |
Kan användas för att skicka godtycklig information som återfinns i aperaken. Det kan t ex handla om ytterligare routinginformation |
Nytt Element. Ändringstyp: Utökad funktionalitet |
|
-- InterchangeDate |
Utväxlingsdatum |
S |
1 |
Char(10) |
ccyy-mm-dd Datum då meddelandet skickas till mottagare. |
Definition av format, utökad teckenlängd från 8 till 10. Ändringstyp: Formaliserad struktur |
|
-- InterchangeTime |
Utväxlingstidpunkt |
S |
1 |
Char(8) |
hh:mm:ss Tidpunkt då meddelandet skickas till mottagare. |
Definition av format, utökad teckenlängd från 6 till 8. . Endast hh:mm:ss Ändringstyp: Formaliserad struktur |
|
-- InterchangeRef |
Överföringsreferens. Unik referens för överföringen given av avsändaren |
S |
1 |
Char(41) |
Idtyp anges i attributet idtype. |
Utökad längd för att möjliggöra användande av olika idtyper. Ändringstyp: Utökad funktionalitet. |
|
--- idtype |
Typ av id. |
A,E |
1 |
Char(14) {UUID, GUID} |
Exempel: <InterchangeRef idtype="GUID"> 0af25f00-387d-11d3-9d31-00a0cc39621a</InterchangeRef> |
Nytt attribut för att kunna representera idtyp. Ändringstyp: Utökad funktionalitet. 2014-09-18: Exemplet har uppdaterats. |
|
-- MessageType |
Meddelandetyp e-recept = meddelande av typen e-recept. Avser det meddelande som följer detta huvud. |
E |
1 |
Char(14) {e-recept} |
Anger att innehållet i meddelandet följer strukturen för ett e-recept. Fler meddelandetyper kan tillkomma då användning utvidgas för detta meddelandehuvud. |
Definierad tillåtna kodkvalificerare. Ändringstyp: Formaliserad struktur. |
|
--- receipt |
Kvittenskvalificerare no = meddelandet är inte en kvittens utan ett e-recept application = applikationskvittens |
A, E |
1 |
Char(14) {no, application} |
Anger om och i så fall vilken typ av kvittens meddelandet utgör. Fler kvittenstyper kan tillkomma framöver. Exempel: <MessageType receipt="no">e-recept</MessageType> <MessageType receipt="application">e-recept</MessageType> |
Nytta attribut. Ändringstyp: Formaliserad struktur. |
|
-- MessageVersion |
Version på meddelandet som följer på detta huvud. |
S |
1 |
Char(10) |
Används för att kunna hantera olika versioner av t.ex. en Aperak. Versionsnummer som anges är version på specifikation. Används bland annat för att veta vilket schema som skall användas. |
Nytt Element. Ändringstyp: Utökad funktionalitet |
|
-- TestIndicator |
Testindikator. 1 = Produktion (Recept giltiga att expediera) 2 = Test (Recept för testsyfte) 3 = Utbildning (Recept i utbildningssyfte) |
V |
1 |
Char(1) |
Ekas tillbaka från testindicator i refererat meddelande. |
Definierade tillåtna värden: {1, 2, 3}, testindicator obligatorisk. Kontroll av testindikator genomförs vid mottagande av e-recept hos Apotekens Service. |
1.4. Versionshistorik
|
Datum |
Version |
Författare |
Beskrivning |
|---|---|---|---|
|
2010-06-12 |
2.1.5 |
Viveka Ek |
Godkänd av NEF-styrgrupp efter några små justeringar. |
|
2013-09-24 |
3.0 |
Monica Rosén |
Specifikationen inlagd i ny mall och har lyfts upp till version 3.0 för att anpassas till nytt dokumenthanteringssystem. Samverkansgruppen NEF med representanter från landstingen, Sveriges Apoteksförening, Distriktsveterinärerna och Apotekens Service har upphört. Apotekens Service uppdaterar och fastställer dokumentet. Koppling mellan XML-scheman och XSD-filer finns från och med nu i dokumentet NEF- Implementationsguide. Äldre ändringar gråmarkeras från och med nu. Sender , SenderQualifier, Recipient och RecipientQualifier; lagt till GLN |
|
2014-09-18 |
4.0 |
Monica Rosén |
Specifikationen har bytt namn till "NEF - Specifikation för XML-Message Routing Adress". Apotekens Service har bytts ut mot eHälsomyndigheten i text och logga. Tagit bort versionshistorik som är äldre än 4 år. Idtype , exemplet har uppdaterats. |
| | 5.0 | | Ny mall. Förtydligande av syfte och målgrupp. |
| 2017-02-09 | 6.0 | Maria Hassel | Förtydligat ModulVersion i kommentaren. |
| 2017-04-24 | 7.0 | Maria Wettermark | Uppdaterat kommentar i SystemInfo |