​​​​NEF - Specifikation för XML-Message Routing Adress
 

Inledning

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.

 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.
 

Informationsnivå

Teknisk information.
 

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.

 

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.

 
 

Övergripande struktur

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.

 

Förkortningar

  1. 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.

  2.  

  3. 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)

 
 

Generella regler för meddelandestruktur

  1. Om ett komplext element inte innehåller några obligatoriska element skall det komplexa elementet inte vara obligatoriskt. Denna regel tillämpas i specifikationen.

  2. 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.

  3. Obligatoriska element får inte lämnas tomma. Detta kontrolleras vid mottagande.

 

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.

 

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.

 

Ändringslogg

Äldre relevanta kommentarer i ändringsloggen är utgråade.  

 

Ä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.

  

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.

 
 

MessageRoutingAddress - Transportinformation

  

Element/Attribut

Beskrivning

Typ

Förekomst

Datatyp/ Value

Kommentar

Ändringslogg

- MessageRoutingAddress

Meddelandehuvud, transportinformation

Class

1


Används som meddelande­huvud 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
30 = Organisationsnummer
ZZZ = Avtalad struktur mellan parterna.


-- 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:

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

-​- 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.
Ändringstyp: Utökad funktionalitet

---SystemName

Namn på system

S

1

Char(20)


Nytt Element.
Ändringstyp: Utökad funktionalitet

--- SystemVersion

Version på system

S

0..1

Char(20)

T.ex. 1.03

Nytt Element.
Ändringstyp: Utökad funktionalitet

--- 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. Versions­nummer 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.

 
 
 
 
 
 
 

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​