​​​​​

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


 
 
 

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.2 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.3 Informationsnivå

 
Teknisk information.​
 

 

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

 
 
 

Sidan innehåller parternas tolkning av vilka element som används vid överföring av makuleringsbe​gäran av recept i XML-format

 
 
 

Denna specifikation är ett underlag för framtagning av ett XML-schema.

 
 
 

2. Ö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 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 obligatorisk.
    Denna regel tillämpas i specifikationen.

  2.  

  3. Om ett element inte är obligatorisk 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.

  4.  

  5. 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 skall anges i en XML-deklaration. Detta gäller enbart meddelandet vilket kan konverteras till UTF-8 i t.ex. en receptserver ifall aktuellt journalsystem 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

 
 
 

För 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 utgråas.

 
 
 

XML-Schema definitioner

 
 
 

XML-specifikationer och koppling till respektive XML-schema finns specificerade i dokumentet NEF Implementationsguide. XML-specifikationer kan uppdateras separat utan att ett nytt XML-schema tas fram.

 
 
 

3 Interchange (Rootelement) - Utväxlingsmeddelande

 
 
 

Element/Attribut

Beskrivning

Typ

Före-

komst

Datatyp/

Value

Kommentar

Ändringslogg

Interchange


Class

1




- MessageVersion

Nytt fält för identifiering av XML-meddelandets version

S

1

Char(4)

Exempel <MessageVersion>v1.0<
/MessageVersion>


- MessageRoutingAddress

Meddelandehuvud, transportinformation

Class

1


Tillämpningar beskrivs under 1.1

MessageRoutingAddress - Transportinformation

2013-09-24: Förtydligande i kommentar

- PrescriptionCancellationMessage

Makulerings­meddelande

Class

1


Se 3.2


 
 
 
 
 

 

 
 
 

3.1 MessageRoutingAddress - Transportinformation (tillämpning)

 
 
 

Tillämpning av MessageRoutingAddress enligt följande:

 
 
 

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/Value

Kommentar

Ändringslogg

MessageRoutingAddress

Meddelandehuvud, transportinformation

Class

1


 


 


-Sender

Sändarens EAN/GLN-kod

 


1


 


2013-09-24: GLN tillagt

-Sender Qualifier

Kvalificerare för Sändare.

V

1

Char(4)

{14, 30, ZZZ}

14 = EAN/GLN

30 = Organisations­nummer

ZZZ = Avtalad struktur mellan parterna.

2013-09-24: GLN tillagt

-SubSender

Systemidentitet för sändande system

S

1

Char(20)

 


2013-09-24: rättat, det är sändande system som avses.

- SubSenderInfo

Ytterligare information om systemet som skapat det refererade meddelandet

Class

1




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



-- SystemInfo

Information från system

S

0..1

Char(100)



- 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-22: Exemplet har uppdaterats

 
 
 

3.2 PrescriptionCancellationMessage - Receptmakuleringsmeddelande

 
 
 

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/Value

Ko mmentar

Ändringslogg

PrescriptionCancellationMessage

Information om receptmakulerings­meddelande

Class

1




- GeneralCancellationMessageInformation

Allmän information om meddelandet

Class

1


Se 3.2.1


-MessageSender

Meddelandets sändare, Makulerare

Class

1


Se 3.2.2


-SubjectOfCare

Patient

Class

1


Se 3.2.3


-CancellationSet

Makuleringsmängden

Class

1


Se 3.2.4


 
 
 
 
 

3.2.1 GeneralCancellationMessageInformation - Allmän information om meddelandet

 
 
 

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/Value

Kommentar

Ändringslogg

GeneralCancellationMessageInformation

Allmän information om meddelandet

Class

1

 


 


 


- IdOfMessageByOriginator


Class

1




-- IdOfMessageBySender

Sändarens unika identifikation på makuleringsmeddelandet

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-22: Exemplet har uppdaterats.

-- IssueDateAndTimeOfMessage

Tidpunkt för skapande av makuleringsmeddelande.

S

1

Char(20)

ccyy-mm-ddThh:mm:ss.


 
 
 
 
 

 

 
 
 

3.2.2 MessageSender - Meddelandets sändare

 
 
 

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/Value

Kommentar

Ändringslogg

MessageSender

Meddelandets sändare, Makulerare

Class

1

 


 


 


- HealthcareAgentInContextId

Roll för sjukvårdsaktör

Class

1




-- Value

Roll.

Identifierare att det är sändare av meddelandet

E

1

Char(3)

{CNR}

CNR = Cancellator, Förslagsvis är Cancellator alltid likställt med den som utför makuleringsbegäran, detta blir då en schema / verksamhetsregel


- HealthcareAgent

Sjukvårdsaktör

Person/organisation som sänder meddelandet

Class

1




-- HealthcareAgentId

Identifikation för sjukvårdsaktör

Class

1




--- IdScheme

Kodtyp

E

1

Char(3)

{VEN}

Kod för arbetsplatskod.

VEN= Vårdande enhet


--- Value

Kodvärde för vårdande enhet

S

1

Char(17)

Fältlängden får endast vara mellan 3 - 13 tecken i fältet value. Arbetsplatskoden måste finnas registrerat i arbetsplatskodsregistret

Förtydligat om att okända och ej existerande arbetsplatskoder accepteras inte då vårdande enhet måste kunna identifieras.

-- HealthcareAgentId

Identifikation för sjukvårdsaktör

Class

1


Sjukvårdsaktör som är utfärdare återkommer endast en gång


--- IdScheme

Kodtyp

E

1

Char(3)

{UTF, }

UTF = Utfärdarkod.


--- Value

Kodvärde för sändande person

S

1

Char(17)



-- HealthcareParty

Sjukvårdspart

Class

1




--- HealthcarePerson

Sjukvårdsperson

Class

1


Identitet för sändande sjukvårdsaktör


---- Name

Förnamn och efternamn på förskrivare.

S

1

Char(35)



 
 
 
 
 

 

 
 
 

3.2.3 SubjectOfCare - Patient

 
 
 

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/Value

Kommentar

Ändringslogg

SubjectOfCare

Patient

Class

1




- TypeOfSubjectOfCare

Patienttyp
1 = Person

V

1




-PatientMatchingInfo

Patientinformation

Class

1




--PersonNameDetails

Namn

Class

1




--- StructuredPersonName

Namndetaljer

Class

1




---- FamilyName

Efternamn

S

1




---- FirstGivenName

Förnamn

S

1




-- PatientId

Patientid

Class

1




--- IdScheme

Kodtyp

E

1

Char(3)
{PNR, FDA,}

PNR = personnummer

FDA = Födelsedatum (utan löp- och kontrollsiffra)


--- IdValue

Idnummer

S

1

Char(12)

PNR: ccyymmddpppp,

FDA: ccyymmdd.

FDA med sekelskiftesnummer utan löp- och kontrollnummer.


 
 
 
 
 

3.2.4 CancellationSet - Makuleringssamling

 
 
 

Element/Attribut

Beskrivning

Typ

Före-Komst

Datatyp/Value

Kommentar

Ändringslogg

CancellationSet


Class

1




- Cancellation


Class

1




- PrescriptionSetId

Id på förskriven receptsamling som avses att makuleras/delmakuleras, dvs PrescriptionSetId

S

1

Char(41)

Idtyp anges i attributet idtype.


-- idtype

Typ av id.

A,E

1

Char(14) {UUID, GUID}

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

2014-09-22: Exemplet har uppdaterats.

- PrescriptionItemDetails


Class

1..99


Se under rubrik 1.2.4.1


 
 
 
 
 

 

 
 
 

3.2.4.1 PrescriptionItemDetails

 
 
 

Element/Attribut

Beskrivning

Typ

Före-Komst

Datatyp/ Value

Kommentar

Ändringslogg

PrescriptionItemDetails

Receptinformation

Class

1..99


Maximalt 99 receptrader, kan makuleras i ett makuleringsmeddelande.


- 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


-Item

Klasselement i vilket attribut för PrescriptionItemId samt attribut för orsakskod och beskrivning definieras.

Class

1


Se under rubrik 1.2.4.1.1


 
 
 

3.2.4.1.1 Item

 
 
 

Element/Attribut

Beskrivning

Typ

Före-komst

Datatyp/ Value

Kommentar

Ändringslogg

Item

Klasselement i vilket attribut för PrescriptionItemId samt attribut för orsakskod och beskrivning definieras.

Class

1




-CauseCode

Makuleringsorsak

Enligt specifikation av eHälsomyndigheten, OBS detta orsaksfält är i denna specifikation på PrescriptionItemIDnivå.

Orsak 1=01

Orsak 2=02

Orsak 3=03

Orsak 4=04

E

1

Int(2)

{01,02, 03,04}

Vårdsystem ska använda sig av följande tvingande orsakskoder.

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

2013-09-24: dosering tillagt i orsakskod 2.

-Cause

Fritextfält för val 4 Annan orsak. Om CauseCode="04" är "Cause" obligatorisk

S

0..1

Char(80)

Cause ska endast skickas med vid makuleringsorsak 4 och då är den obligatorisk.


-Consent

Klass

Class

0..1




--Value

Om Patient är informerad sätts Value till värdet 1.

I

1

Int(1)

Om orsakskod är 2, 3 eller 4 ska value vara satt till värdet 1. Dvs patient måste vara informerad när dessa orsakskoder sätts.


 
 
 
 

Versionshistorik

 

Utgåva

Datum

Förfat​tare

Kommentar

2.0​

2013-09-24

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 historik samt i ändringsloggen.

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

1.1, Förtydligat vad som är tillämpligt i makuleringsbegäran. GLN tillagt i Sender och SenderQualifier. SubSender, rättat, det är sändande system som avses.

 

1.2.4.1.1 CauseCode, (rättat beskrivning av orsakskod 2) dosering tillagt

3.0

2014-09-22

Monica Rosén

 

Specifikationen har bytt namn till "NEF - Specifikation för XMLreceptmakulering".

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

Gammal versionshistorik från 2011 har tagits bort.

 

1.1, 1.2.1 och 1.2.4. Idtype, Exempel har uppdaterats.

​4.0 ​2016-04-16 ​Maria Hassel

​Ny mall. Förtydligande av syfte och målgrupp. Byter namn från NEF - Specifikation XML-meddelande - makulering av recept​.

3.2.4.1.1, CauseCode Apotekens Service har bytts ut mot eHälsomyndigheten

3.2.4.1.1, ensning av orsakskod 3 för att överensstämma med kompletterande dokumentation