​​NEF - Specifikation för XML-meddelande applikationskvittens makuleringsbegäran human​
  

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 E-hälsomyndighetens tjänster samt systemleverantör som utvecklar eller förvaltar dessa IT-system.

Informationsnivå

Teknisk nivå.

Bakgrund

Detta dokument har tagits fram i ett nationellt samarbete med representanter från regioner, Sveriges Apoteksförening, Distriktsveterinärerna och Apotekens Service (numera            E-hälsomyndigheten). Förvaltningen av dokumentet ligger hos E-hälsomyndigheten.

 
 

Ö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 gånger ett element eller attribut ska/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 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 ska framgå av tabell. (Exempel: 1 = Förskrivning)

    I = Integer = Heltal

    E = Enumerated = Uppräkningsbar typ (alfanumerisk), där tabell ska 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 ska det komplexa elementet inte vara obligatoriskt.
    Denna regel tillämpas i specifikationen.

  2. Om ett element inte är obligatorisk och inte innehåller data ska det inte finnas med i meddelandet.
    Denna regel är nödvändig att följa för att det ska 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 mottagning.

 

Tillåtna tecken i element- och attributfält

XML-meddelanden skall följa XML 1.0 .

Endast kodning enligt UTF-8 tillåts. Detta ska anges i en XML-deklaration.

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 ska 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 gråmarkerade.

 

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 Interchange -Rootelement

 

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

Interchange

Rootelement

Class

1




-MessageVersion

Version på meddelandet

S

1

Char(4)

Exempel <MessageVersion>v1.0</ MessageVersion>


-MessageRoutingAddress

Meddelandehuvud, transportinformation.

Class

1


Se nedan under rubriken

MessageRoutingAddress


-ApplicationAcknowledgeMessage

Aperakmeddelande

Class

1


Se nedan under rubriken

ApplicationAcknowledgeMessage

 


 
 

2 MessageRoutingAddress - Transportinformation

 

Tillämpning av MessageRoutingAdress enligt följande:

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

MessageRoutingAddress

Meddelandehuvud, transportinformation

Class

1


Används som meddelandehuvud för makulering och applikationskvittenser för makulering.


- Recipient

Organisationsnummer alternativt EAN/GLN-kod, för mottagande system

S

1

Char(35)


2013-09-26: förtydligat att det är mottagande system som avses. 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.

2013-09-26: förtydligat att det är mottagande system som avses. GLN tillagt.

- SubRecipient

Systemidentitet för mottagande system

S

1

Char(20)


2013-09-26: förtydligat att det är mottagande system som avses.

- SubRecipientInfo

Ytterligare information om systemet som mottager meddelandet

Class

1



2013-09-26: förtydligat att det är mottagande system som avses.

-- SystemName

Namn på system

S

1

Char(20)



-- SystemVersion

Version på system

S

1

Char(20)



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


-- 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 till exempel handla om ytterligare routinginformation


- InterchangeDate

Utväxlingsdatum

S

1

Char(10)

ccyy-mm-dd

Datum då meddelandet skickas till mottagare.


- InterchangeTime

Utväxlingstidpunkt

S

1

Char(8)

hh:mm:ss

Tidpunkt då meddelandet skickas till mottagare.


- InterchangeRef

Överföringsreferens. Unik referens för överföringen given av avsändaren

S

1

Char(41)

Idtyp anges i attributet idtype.


-- idtype

Typ av id.

A,E

1

Char(14) {GUID, UUID}

Exempel: <InterchangeRef idtype="UUID"> 0af25f00-387d-11d3-9d31-00a0cc39621a
</InterchangeRef>

2014-09-29: Exemplet har uppdaterats.

 

3 ApplicationAcknowledgeMessage -Aperakmeddelande

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

ApplicationAcknowledgeMessage

Aperakmeddelande

Class

1




- ReferedObjectInfo

Information om refererat meddelandeobjekt i kvittensen. Klass som innehåller referens till vilket makuleringsbegäransId som svaret avser.

Class

1


Se under rubrik 3.1


- StatusInformation

StatusInformation

Class

1


Se under rubrik 3.2


- MessageStatus

Övergripande status på meddelandet.

0 = Accepterat utan upptäckta fel

1 = Accepterat med varningar

2 = Förkastat, kan ej hanteras av mottagaren.

V

1


Se under rubrik 3.3


- StatusSetInformation

Status Information per makuleringssamling

Class

1


Se under rubrik 3.4


 

3.1 ReferedObjectInfo

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/ Value

Kommentar

Ändringslogg

ReferedObjectInfo

Information om refererat meddelandeobjekt i kvittensen. Klass som innehåller referens till vilket makuleringsbegäransId som svaret avser.

Class

1


Här kan inkluderas information som det är relevant att eka tillbaka från det ursprungliga meddelandet (innanför kuvertet MessageRoutingAddress)


-IdOfMessageBySender

Makuleringsid på refererad objekt angivet av ursprunglig sändare av meddelandet.

S

1

Char(41)

Idtyp anges i attributet idtype.


-- idtype

Typ av id.

A,E

1

Char(14) {GUID, UUID}

Exempel : <IdOfMessageBySender idtype="UUID"> 0af25f00-387d-11d3-9d31-00a0cc39621a
</IdOfMessageBySender>

2014-09-29: Exemplet har uppdaterats.

- IssueDateAndTimeOfMessage

Tidpunkt för skapande av makuleringsmeddelande.

S

1

Char(20)

ccyy-mm-ddThh:mm:ss.


 

3.2 StatusInformation

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

StatusInformation

StatusInformation

Class

1




- StatusCode

Informationskod

Prefix på statuskoden.

01 nnn - XML validering,

02 nnn - validering av verksamhetsregler

Där nnn börjar på 001.

V

1

Char(5)

Används för att identifiera Statusinformation för behandling, mm. För exempelvis support, drift. För att ange vilken typ av validering som fallerat läggs ett prefix på statuskoden.


- Description

Beskrivnings av kodens innebörd.

S

1

Char(254)

 


 


 
 

3.3 MessageStatus

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

MessageStatus

Övergripande status på meddelandet.

0 = Accepterat utan upptäckta fel

1 = Accepterat med varningar

2 = Förkastat, kan ej hanteras av mottagaren.

V

1

Char(1)

{0,1,2}

1= Varningar förekommer inte i makuleringstjänsten.


 

3.4 StatusSetInformation

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

StatusSetInformation

Status Information per makuleringssamling

Class

1




-Cancellation

Element som innehåller makulerings id och identitet per artikel samt svarskoder

Class

1




-- PrescriptionSetId

Id på förskriven recept­samling som avses att makuleras / delmakuleras, dvs PrescriptionSetId

Identifierar en receptsamling som är en samling av förskrivna varor (kan innefatta mer än läkemedel - recept används i detta sammanhang för enkelhetens skull även för dessa förskrivna varor) till en patient vid ett visst tillfälle för ett visst syfte.

S

1

Char(41)

Idtyp anges i attributet idtype.


--- idtype

Typ av id. Prescription id på refererat objekt angivet av ursprunglig sändare av meddelandet.

A,E

1

Char(14) {UUID, GUID}

Exempel : <PrescriptionSetId idtype="GUID"> 0af25f00-387d-11d3-9d31-00a0cc39621a
</PrescriptionSetId>

2014-09-29: Exemplet har uppdaterats.

-- PrescriptionItemDetails

Receptinformation

Class

0..99


Se under rubrik 3.4.1


 
 

3.4.1 PrescriptionItemDetails

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/ Value

Kommentar

Ändringslogg

PrescriptionItemDetails


Class

0..99


Maximalt 99 receptrader. Kan makuleras i ett makulerings­meddelande.

Vid schemavalideringsfel returneras inte denna klass.


- PrescriptionItemId

ReceptradId

S

1

Char(4)

Identifierar en receptrad inom ett recept.

Exempel : om det tredje receptet innehåller två typer av förpackningar skrivs dessa som två PrescriptionItemDetailsrader : PrescriptionItemId=3-1. och den andra

PrescriptionItemId=3-2


2016-04-19:

Tagit bort: OBS makuleringstjänsten returnerar alltid ReceptradId på formatet (*-*).

-Item

Elementklass som definierar recept artikel samt responskoder från Receptdepå human

Class

1


Se under rubrik 3.4.1.1

2013-09-26: förtydligat Receptdepå human

 

3.4.1.1 Item

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

Item

Elementklass som definierar recept artikel samt responskoder från Receptdepå human

Class

1


Maximalt 99 för att 99 receptrader kan förskrivas i en receptsamling.

2013-09-26: förtydligat Receptdepå human

-ResponseCode

Exempel på svarskoder med text:

1. Informationsrutan ej ifylld. Samtycke saknas

2. Förpackningsenhet avviker från receptets förpackningsenhet (flerval)

3. Makulering utförd - kvarstående uttag makulerade

4. Makulering ej utförd - pga omvandlat till pappersrecept eller slutexpedierat etc

5. Makulering ej utförd - e-receptet är redan makulerat

6. Makulering ej utförd - e-receptets giltighetstid är utgången

7. Makulering ej utförd - tekniskt fel försök igen

8. Makulering ej utförd - ogiltig receptstatus

9. Makulering utförd

S

1

Char(4)

{1-9}


2011-09-19:
Byte av datatyp till char (4)

Förtydligat värdemängd

Byte av Typ till S

- CauseCode

Makuleringsorsak

Orsaken rapporteras per läkemedel

Orsak 1=01

Orsak 2=02

Orsak 3=03

Orsak 4=04

E

0..1

Char(2)

{01,02,03,04}

Vårdsystem använder sig av följande orsakskoder då e-recept ska makuleras

1: Fel patient.
2: Fel läkemedel/vara/ styrka/dosering/ändamål. Patienten informerad
3: Utsatt läkemedel/Inaktuell medicinering. Patienten informerad
4: Annan orsak. Patienten informerad

2011-09-19: Byte av datatyp till Char(2)

2013-09-26: Dosering tillagd i orsakskod 2

- RequestedBy

På begäran av

01=Patienten

02=Förskrivaren

E

0..1

Char(2)

{01,02}


2011-09-19: Byte av datatyp till Char(2)

-Time

Tidpunkt i Receptdepå human när makuleringen utfördes på artikeln

T

0..1

Char(20)

ccyy-mm-ddTtt:mm.ss

2013-09-26: Förtydligat Receptdepå human

- Response

Informationstext till ResponseCode

S

1

Char(254)



-Cause

Fritextfält för orsak

S

0..1

Char(80)

Om orsak 4 är vald, CauseCode="04" är "Cause " obligatorisk


-CancellatorOfItem

Vem som utfört makuleringen

Class

0..1


Se under rubrik 3.4.1.2


 

3.4.1.2 CancellatorOfItem

 

Element/Attrib​ut

Beskrivning

Typ

Före-komst

Datatyp / Value

Kommentar

Ändringslogg

CancellatorOfItem

Vem som utfört makuleringen

Class

0..1




-Idscheme

Kodtyp arbetsplatskod eller apotekets GLN -kod

A

1

{VEN, EAN}



-Value

Kodvärde för vårdande enhet

S

1

Char(17)



-Name

Arbetsplatsnamn returneras i klartext. Om farmaceut makulerat är det apoteksnamn som returneras.

S

0..1

Char(40)


2015-09-15 Förtydligande av beskrivningen.

-City

Arpetsplatsort retunrneras i klartext. Om farmaceut makulerat är det apoteksort som returneras. 

S

0..1

Char(40)


2015-09-15 Förtydligande av beskrivningen.

-Cancellator

Namn på makulerare, förskrivare eller farmaceuts Signum

S

1

Char(35)



 
 

Versionshistorik

Utgåva

Datum

Författare

Kommentar

2.0

2013-09-25

Monica Rosén

 

Specifikationen inlagd i ny mall och har lyfts upp till version 2.0 för att anpassas till nytt dokumenthanteringssystem. Översyn av layout och små textuella justeringar är gjorda.

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.

Rubriken Ändringstyper har tagits bort, ändringar beskrivs i historiken sam t i ändringsloggen.

Koppling mellan XML-scheman och XSD-filer finns från och med nu i dokumentet NEF- Implementationsguide.

Äldre ändringar i ändringsloggen gråmarkeras och nya ändringar dateras från och med nu.

2, Förtydligat att kapitlet beskriver tillämpningen av MessageRoutingAdress och att det är mottagande system som avses. Recipient och RecipientQualifier: GLN tillagt

3.4.1 och 3.4.1.1: ersatt RR med Receptdepå human.

 

3.4.1.1, CauseCode, (rättar beskrivning av orsakskod 2) dosering tillagt.

3.0

2014-09-30

Monica Rosén

 

Specifikationen har bytt namn till NEF - Specifikation XML-makuleringssvar (Aperak).

Apotekens Service har bytts ut mot eHälsomyndigheten i text och logga.

Tagit bort versionshistorik som är äldre än 3 år gammal.

2, 3.1 och 3.4, Idtype, Exempel har uppdaterats.​

​4.0 ​2016-04-19 ​Maria Hassel

​Ny mall. Förtydligande av syfte och målgrupp. Byter namn från NEF - Specifikation XML -makuleringssvar (Aperak).

3.4.1 PrescriptionItemId observandumet då detta rättats i så att angivna värden lagras och returneras på samma sätt som de angivits.
3.4.1.2 Name och City, förtydligande av beskrivning

3.4.1 uppdaterat hur makuleringstjänsten returnerar ReceptradId