​​​​​​​NEF Riktlinjer kvittenshantering

Denna sida beskriver riktlinjer till vårdsystem för hantering av mottagna kvittenser i samband med överföring av e-recept och makuleringsbegäran till E-hälsomyndigheten.

Här beskrivs också de kontroller som utförs i samband med denna överföring. Samtliga e-recept och makuleringsbegäran kontrolleras med avseende på verksamhetsregler och format enligt NEF.

 

1. Inledning

Denna information har tagits fram i ett nationellt samarbete med representanter från regionerna, Sveriges Apoteksförening, Distriktsveterinärerna och E-hälsomyndigheten. Förvaltningen av informationen ligger hos E-hälsomyndigheten.

1.1 Syfte

Författningsmässig kontroll och beställningskontroll (FMK, även begreppet AFF, Automatisk format- och författningskontroll används) syftar till att höja patientsäkerheten genom förbättrad datakvalitet på inkommande e-recept/makuleringsbegäran. Externa parters kännedom om regelverket innebär att kontroller kan införas i sändande system, systematiska fel kan undvikas och utbildningsbehov av förskrivare kan identifieras.

Om en kvittens returneras med information om avvisning av e-receptsamlingen är det av stor vikt att detta snarast når förskrivaren.

Nedan beskrivs vem E-hälsomyndigheten rekommenderar som mottagare av kvittensen (till exempel förskrivare, systemförvaltare, driftansvarig) vid varje enskild kontroll.

1.2 Målgrupp

Denna information riktar sig till vårdaktörer med IT-system som nyttjar E-hälsomyndighetens tjänster samt systemleverantör som utvecklar eller förvaltar dessa IT-system.

 

2. Översikt

Nedan illustreras översiktligt en e-receptsamlings flöde från förskrivare till farmaceut. 

3 översikt.png

Apoteklistan = Apotekslistan innehåller apotek som har tillstånd av Läkemedelsverket och är aktiva. Listan används i vårdsystemen bland annat för att kunna adressera e-receptet direkt till ett apotek.

FORS = Legitimationsregister, innehåller förskrivar- och legitimationskoder för legitimerad hälso- och sjukvårdspersonal samt veterinärer. Förskrivar- och legitimationskoder för recept i Receptdepå human utfärdas av Socialstyrelsen och för recept i Receptdepå djur av Jordbruksverket.

Kontroll att en e-receptsamling uppfyller verksamhetsreglerna enligt NEF utförs i vårdsystemet, kommunikationsnoder, PIRR och hos E-hälsomyndigheten. Grundtanken med NEF är att alla relevanta kontroller ska göras i vårdsystemet så att förskrivaren får en omedelbar respons vid eventuella fel i e-receptet. För att säkerställa kvalitén ska dessa kontroller även göras i alla senare steg i kedjan, som till exempel i kommunikationsnoder, PIRR och hos E-hälsomyndigheten varpå en kvittens skapas som returneras till förskrivaren.

Observera att externa parter inte kan utföra alla kontroller på exakt samma sätt som E-hälsomyndigheten, eftersom tillgången till vissa register saknas.

2.1 Kvittens

För vårdsystem human

Vid ett eventuellt FMK-fel (Författningsmässig kontroll och beställningskontroll) är det endast det först upptäckta felet som returneras med kvittens.

Om fel upptäcks vid inläsningen returneras information om det första mest allvarliga felet. (Exempel: Om det finns fyra FMK-fel, två med FMKstatus=1, två med FMKstatus=2 i nämnd ordning. Det först detekterade felet med FMKstatus=2 returneras. Se 6.1 FMKStatus)

För vårdsystem djur

Vid eventuellt FMK-fel i receptsamlingen returneras samtliga upptäckta fel i kvittensen, dessa presenteras per radidentitet.

3. Flödesbeskrivning

Nedan beskrivs e-receptflöden för tre olika scenarier:

  • e-receptsamlingen accepteras
  • e-receptsamlingen avvisas (accepteras ej)
  • e-receptsamlingen accepteras med en varning. 

4 flödesbeskrivning.png

3.1 Generellt förlopp

  1. Ny e-receptsamling inkommer till E-hälsomyndigheten.
  2. Ref1 Schemavalidering av xml genomförs. Inga valideringsfel uppkommer.
  3. Ref2 E-receptsamlingen genomgår FMK. Samtliga avvikelser från regelverket registreras med ett antal attribut.
  4. Ref3 E-receptsamlingen lagras hos E-hälsomyndigheten med eventuell fellista och status beroende på fel.
  5. Ref4 Kvittens skickas till sändande part. Om flera fel detekterats skickas meddelande om det första mest allvarliga felet, detta gäller för vårdsystem human. För vårdsystem djur skickas samtliga fel i kvittensen.

3.2 E-receptsamling accepteras

  1. Ny e-receptsamling inkommer till E-hälsomyndigheten.
  2. Schemavalidering av xml genomförs. Inga valideringsfel uppkommer.
  3. E-receptsamlingen genomgår FMK. Inga avvikelser från regelverket.
  4. E-receptsamlingen lagras hos E-hälsomyndigheten.
  5. Kvittens skickas till sändande part.

3.3 E-receptsamling avvisas på grund av schemavalideringsfel

  1. Vid Ref1 upptäcks att e-receptsamlingen innehåller ett schemavalideringsfel som innebär att den avvisas.
  2. Kvittens skickas till sändande part (vårdsystemet). Det är endast det först upptäckta felet som returneras med kvittensen.
  3. E-receptsamlingen får MessageStatus 2 = avvisat.
  4. Åter till: Ref4.

Rekommenderad åtgärd i vårdsystemet:
Kvittensen visas momentant för förskrivaren med information enligt förslag nedan:
"E-recept avvisat av E-hälsomyndigheten, schemavalideringsfel. Kontakta din lokala helpdesk."

3.4 E-receptsamling avvisas på grund av FMK-fel

  1. Vid Ref2 upptäcks att e-receptsamlingen innehåller ett FMK-fel som innebär att den avvisas.
  2. Kvittens skickas till sändande part (vårdsystemet).
  3. E-receptet får FMKStatus 2 = ej accepterat.
  4. Åter till: Ref3.

Rekommenderad åtgärd i vårdsystemet:
Kvittensen visas momentant för förskrivaren med information enligt förslag nedan:
"E-receptet är avvisat hos E-hälsomyndigheten, statuskod och felmeddelande presenteras i klartext. Kontakta vid behov din lokala helpdesk."

3.5 E-receptsamling accepteras med varning

  1. Vid Ref2 upptäcks att e-receptsamling innehåller ett FMK-fel som innebär att det accepteras med varning.
  2. Kvittens skickas till sändande part (vårdsystemet).
  3. Felinformation skapas.
  4. E-receptet får FMKStatus 1 = accepterat med varning.
  5. Åter till: Ref3.

Rekommenderad åtgärd i vårdsystemet:
Kvittensen vidarebefordras till berörd part, se även 6.2 nedan.

4. Validering av - indata

För ytterligare beskrivning av meddelandestruktur hänvisas till dokumentet NEF - PIRR anrop av webbtjänster

4.1 Definitioner

4.1.1 Giltigt textvärde

Med giltigt textvärde menas här att textens längd > 0 efter trunkering av inledande och avslutande blanktecken.

4.1.2 Tillåtna tecken i förskrivarens namn

Med giltiga tecken i förskrivarens namn (AFF 02036 och 03036) avses att fältet endast innehåller bokstäver och skiljetecken enligt UTF8. Tillåtna tecken specificeras i bilagan "Tillåtna tecken i element och attributdata".

4.2 Schemavalidering

Inkommande e-recept/makuleringsbegäran valideras mot ett antal XML-scheman:

  • MessageRoutingAddress - Header.xs
  • NewPrescriptionMessage - Prescription.xsd/PrescriptionAnimal.xsd
  • ApplicationAcknowledgeMessage - Aperak.xsd
  • PrescriptionCancellation.xsd / PrescriptionCancellationAnimal.xsd
  • AperakCancellation.xsd / AperakCancellationAnimal.xsd
  • Typdefinitioner enkla typer: Types.xsd eller Common.xsd

4.2.1 Exempel på felmeddelande

Responsecode [1]

Message status [2]

Status­Code [3]

​​Beskrivning

3000

2

01000

Generisk Statuskod för XML-valideringsfel.

Innehåller en felbeskrivning som skapats efter att man upptäckt ett första fel vid XML-validering. Om denna typ av fel upptäcks, innebär det alltid att hela receptsamlingen avvisas av E-hälsomyndigheten.

Exempel 1 på felmeddelande (descriptionsdelen):
<MessageStatus>2</MessageStatus>
<StatusInformation>
<StatusCode>01000</StatusCode>
<Description> Schemavalideringsfel i inkommande recept cvc-enumeration-valid: Value 'Överläkare' is not facet-valid with respect to enumeration '[LAK, ATL, LMF, TAN, TAH, SSK, BMO, HJM]'. It must be a value from the numeration.</Description>

Exempel 2 på felmeddelande (descriptionsdelen) vid schemavalideringsfel vid makuleringsbegäran (om namn saknas på "HealthCarePerson"):
"Schemavalideringsfel i inkommande makuleringsbegäran: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'Name'."

Detta fel kan även förekomma vid nyttRecept och då blir felmeddelandet:
"Schemavalideringsfel i inkommande recept: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'Name'."

4.3 Övrig validering av indata (SbtpXMLValidationApplicationException)

En ännu djupare validering av indata, som inte tillräckligt täcks av den generiska schemavalideringen, görs för att säkerställa kvaliteten på inskickat meddelande.

Denna typ av validering görs i mottagningsserverns egen programkod och avser innehållskontroll som är nödvändig för att kunna utföra mappning av innehållsobjekten. Ett exempel är när innehållet i ett fält ska omvandlas till ett tal som vidare ska användas i giltighetskontroller exempelvis i AFF-kontroller. Valideringen görs för att säkerställa korrekt mappning och lagring av innehållet i mottagna elektroniska meddelanden i Receptdepå human respektive Receptdepå djur. (Motsvarande objekt kan resultera i olika valideringsfel).

De flesta kända och vanligt förekommande valideringsfel har försvenskats så långt det har gått. I de flesta fall går det inte att försvenska den första delen av valideringsfelet, som refererar till objektet i Receptdepå human respektive Receptdepå djur som felet uppstått i. Den delen returneras på engelska då den delen genereras i plattformens generella ramverk.

4.3.1 Exempel på denna typ av validering

  1. Response Code*[4] (protokollnivå): 3000
    Message Status*[5]: 2
    Status Code*[6]: 01000
    MessageStatus>2</MessageStatus>
    <StatusInformation>
    <StatusCode>01000</StatusCode>
    <Description>[usbpw02] [9AED] SbtpXMLValidationApplicationException: Validation error when parsing Interchange.MessageRoutingAddress.TestIndicator: Ogiltigt värde för denna miljö</Description>
  2. Response Code (protokollnivå): 3000
    Message Status: 2
    Status Code: 01000
    <MessageStatus>2</MessageStatus>
    <StatusInformation>
    <StatusCode>01000</StatusCode>
    <Description>[usbeta09.servicebolaget.local] [8E91] SbtpXMLValidationApplicationException: Recipient 7350045511119 är inte aktiv Recipient i denna miljö.</Description>
  3. Response Code (protokollnivå): 3000
    Message Status: 2
    Status Code: 01000
    <MessageStatus>2</MessageStatus>
    <StatusInformation>
    <StatusCode>01000</StatusCode>
    Description>[wl025473] [BAF] SbtpXMLValidationApplicationException: DesignatedMessageReceiver HealthCareAgentId must be an EAN code</Description>

4.4 Kommunikationsrelaterade fel

Exempel på felmeddelande

Responsecode [7]

Message status [8]

Status­Code [9]

Beskrivning

1000

2

02000

Uppkommer på grund av något kommunikationsproblem.

Exempel på felmeddelande:
<MessageStatus>2</MessageStatus>
<StatusInformation>
<StatusCode>02000</StatusCode>
<Description>Meddelandet kunde inte tas emot vid sändningstillfället. Var god och försök igen. </Description></StatusInformation></ApplicationAcknowledgeMessage></Interchange>

5. Kontroller och specificering av FMK-fel

Ett antal verksamhetsregler kontrolleras automatiskt på inkommande e-recept (förskrivning/makuleringsbegäran).

Vissa kontroller utförs endast under förutsättning att en föregående kontroll har gått bra.

5.1 FMKStatus

FMKStatus=0 (accepterat)

FMKStatus=1 (accepterat med varning), e-receptet behöver hanteras av apotekspersonalen, eventuellt genom kontakt med förskrivaren för att e-receptet ska kunna expedieras.

FMKStatus=2 (ej accepterat), innebär att e-receptet innehåller så grova fel att det inte kan expedieras på något apotek.

5.2 Riktlinjer för kontroller

Alla kvittenser journalförs tillsammans med den ursprungliga förskrivningen.

Alla kvittenser med FMKStatus = 2 visas momentant i klartext för förskrivaren (eftersom förskrivaren är den som aktivt behöver vidta åtgärder för att patienten ska kunna få sina e-recept expedierade), även tillgänglig för driftansvarig/ systemförvaltare.

Alla kvittenser med FMKStatus = 1 övervakas av driftansvarig/systemförvaltare (eftersom systemförvaltaren oftast är den som aktivt behöver vidta åtgärder) status även tillgängligt för förskrivaren.

Felmeddelanden från E-hälsomyndigheten kan justeras framöver. Felmeddelandet ska vidarebefordras till berörd part, vilket innebär att förändringar av formuleringen inte kräver förändringar i vårdsystemet. Dock kan nya FMK-felkoder och därtill kopplade felmeddelanden tillkomma vilket kan kräva anpassning i vårdsystemet.

5.2.1 Aktuella NEF-kontroller human

För aktuella NEF- kontroller human hänvisas till:

Automatisk format- och författningskontroll - HUMAN

 

5.2.2 Aktuella NEF-kontroller e-recept djur

För aktuella NEF-kontroller djur hänvisas till:

Automatisk format- och författningskontroll - DJUR

 

6. Exempel på svarsmeddelanden

Exempel på svarskvittens med olika status. Endast 6.1 Exempel på kvittens för NEF utan fel visas i sin helhet. Övriga exempel visar utdrag med de taggar som är av vikt för FMK.

6.1 Exempel på kvittens för NEF utan fel

Response Time: 726 ms

code: 0

message: Accepterat

docs[0] ContentLength: 1418

docs[0] ContentType: application/xml

docs[0] ContentTransferEncoding: base64

-------- BEGIN RESPONSE 0-----------
<?xml version="1.0" encoding="UTF-8"?>
<Interchange>
<MessageRoutingAddress>
<Sender>7350045514448</Sender>
<SenderQualifier>14</SenderQualifier>
<Recipient>5603268557</Recipient>
<RecipientQualifier>14</RecipientQualifier>
<SubRecipient>0000</SubRecipient>
<SubRecipientInfo>
<SystemName>Journalsystem1</SystemName>
<SystemVersion>1.2.3</SystemVersion>
<ModuleVersion>1.2</ModuleVersion>
</SubRecipientInfo>
<InterchangeDate>2007-01-30</InterchangeDate>
<InterchangeTime>00:00:05</InterchangeTime>
<InterchangeTime>00:00:05</InterchangeTime>
<InterchangeRef idtype="UUID">0af25f00-387d-11d3-9d31-00a0cc39621a</InterchangeRef>
<MessageType receipt="application">e-recept</MessageType>
<MessageVersion>2.1</MessageVersion>
<TestIndicator>2</TestIndicator>
</MessageRoutingAddress>
<ApplicationAcknowledgeMessage>
<ReferedObjectInfo>
<PrescriptionSetId idtype="UUID">0af25f00-387d-11d3-9d31-00a0cc39621a</PrescriptionSetId>
<PrescriptionSetIssueTime>2006-05-18T00:05</PrescriptionSetIssueTime>
</ReferedObjectInfo>
<MessageStatus>0</MessageStatus>
<StatusInformation>
<StatusCode>00000</StatusCode>
<Description>0 Receptsamlingen är mottagen utan upptäckta fel </Description>
</StatusInformation>
</ApplicationAcknowledgeMessage>
</Interchange>
-------- END RESPONSE 0-------------

6.2 Utdrag av kvittens med schemavalideringsfel

Utdrag med väsentliga taggar. Se 6.1 Exempel på kvittens för NEF utan fel för fullständig kvittens.


Response Time: 223 ms
code: 3000

<MessageStatus>2</MessageStatus>
<StatusInformation>
<StatusCode>01000</StatusCode>
<Description> cvc-complex-type.2.4.d: Invalid content was found starting with element 'ProductId'. No child element is expected at this point.</Description>
</StatusInformation>
...

6.3 Utdrag av kvittens med FMKfel av typen avvisat

Utdrag med väsentliga taggar. Se 6.1 Exempel på kvittens för NEF utan fel för fullständig kvittens.


Response Time: 612 ms
code: 2

<MessageStatus>2</MessageStatus>
<StatusInformation>
<StatusCode>02021</StatusCode>
<Description>2 Förskrivarkod saknas. Receptsamlingen är avvisad.</Description>
</StatusInformation>

6.4 Utdrag av kvittens med FMKfel av typen varning

Utdrag med väsentliga taggar. Se 6.1 Exempel på kvittens för NEF utan fel för fullständig kvittens.


Response Time: 550 ms
code: 1

<MessageStatus>1</MessageStatus>
<StatusInformation>
<StatusCode> 02015</StatusCode>
<Description>1 <Varunamn> med varunummer/ NPL Pack-id <varunummer/ NPL Pack-id > omfattas inte av förmånen.​Om varan inte är utbytbar kan expedition endast ske utan förmån.</Description>
</StatusInformation>

7. Begrepp

Nedan beskrivs några specifika begrepp. Centrala begrepp definieras i E-hälsomyndighetens Begreppskatalog, som är en bilaga till Handbok för vårdaktörer (djur och human).

Begrepp

Förklaring

Aperak

Är den obligatoriska applikationskvittensen som skickas tillbaka till vårdsystemet från E-hälsomyndigheten.

Giltigt textvärde

Definieras under 4.1

Kommunikations-nod

En kommunikationsnod för e-recept, till exempel. gemensam receptserver, meddelandeväxel eller liknande.

PIRR

Partneringång till E-hälsomyndigheten. Vårdsystem kan antingen gå via kommunikationsnod eller PIRR.

Tillåtna tecken i förskrivarens namn

Definieras under ​4.1

Förkortningar

Förkortning

Förklaring

FMK

Författningsmässig kontroll och beställningskontroll

NEF

Nationellt e-receptformat

REF"nr"

Intern referens i dokumentet

SIL

Svensk Informationsdatabas för Läkemedel

AFF

Automatisk format- och författningskontroll

Referenser

Uppdaterad NEF-dokumentation (bland annat specifikationer) finns på E-hälsomyndighetens kundyta vård.

Handbok för vårdaktörer human, bilaga NEF - E-recept.

Handbok för vårdaktörer DJUR, bilaga Förskrivning DJUR.

NEF - PIRR Anrop av webbtjänster.

Tillåtna tecken i element och attributdata.


Versionshistorik

Utgåva

Datum

Kommentar

5.0

2013-09-30

Lagt till hänvisning till Apotekens Service begreppskatalog. JACA tillhandahålls inte längre. Lagt till länk till Inera.

6.2.2: 03012 (djur), omformulerat villkor

6.2.2: 03025 (djur) ny kvittenstext

6.2.3: 04003-04009 (djur), förtydligande ang 67 00 00.

6.0

2014-04-30

Dokumentet inlagd i ny mall.

Apotekens Service har ersatts av eHälsomyndigheten i den löpande texten.

4, bild har lagts in.

5, förtydliganden gjorda i hela kapitlet.

6, felmeddelanden i kapitel 6 kommer att uppdateras under 2014.

6.4, tabellen har uppdaterats med två nya kontroller (02039 och 02040).

Förkortningar, tabellen har uppdaterats.

Referens, uppdaterat hänvisning till placering av NEF-dokumentationen samt lagt till NEF - PIRR Anrop av webbtjänster.

7.0

2014-10-08

Versionshistorik som är äldre än ett år har tagits bort. Apotekens Service har ersatts med eHälsomyndigheten. RR har ersatts med Receptdepå human. Rättat små stavfel i den löpande texten.

5.1, Kapitlet Definitioner har lagts till.

5.3, Nytt namn på rubriken. Förtydligande angående övrig validering av indata, ett exempel har lagt till.

6.1 och 6.2, Förtydligande av FMKStatus 1 och 2.

6.2.1, 6.2.2 och 6.2.3, Apotekens Service har tagits bort från felmeddelandena.

6.2.1 (human), 02008-02012 samt 02014 varan har ersatts med artikeln i villkoret. 02008, förtydligat att det är XML-specifikationen som avses i villkoret. 02022 villkoret har förtydligats. 02028, felmeddelandet har förtydligats. 02029 AFFen gäller bara vid makulering därför har beskrivning, villkor och felmeddelande har anpassats. 02032, RR har ersatts med Receptdepå human i villkoret.

6.2.1 (human), AFF 02039 och 02040 lagts till.

6.2.2 (djur), 03008-03012 varan har ersatts med artikeln i villkoret. 03005, felmeddelandet har förtydligats. 03008, förtydligat att det är XML-specifikationen som avses i villkoret. 03022 villkoret har förtydligats. 03028, felmeddelandet har förtydligats. 03033, AFFen gäller enbart NEF, felmeddelandet har anpassats.

6.2.3 (djur), 04003-04009 lagt till NPL id och NPL pack id. 04016, AFFen har blivit en avvisning, felmeddelandet har anpassats.

6.4, Tabellen har uppdaterats.

7, Exemplen har uppdaterats med rätt typ av UUID samt borttagning av Apotekens Service.

Begrepp, uppdatering av tabellen.

Referenser, bilagan Tillåtna tecken i element och attributdata har lagts till.

​8.0 ​2016-04-16

Ny mall. ​Lagt till målgrupp och syfte.

Tagit bort alla tabeller som visar AFF (FMK-fel) och hänvisar till master-sidorna för informationen. Ny numrering av alla rubriker.

​9.0 ​2020-07-01​ ​Redaktionella ändringar, ny stavning E-hälsomyndigheten
​10.0 ​2020-11-02 ​6.4 Uppdaterat meddelandetext till gällande formulering
​11.0 ​2021-01-18 ​2.1 Förtydligat kvittenssvar för FMK-fel
4.4 Uppdaterat felmeddelande efter release 17.1.13
7. Tagit bort inaktuell länk för SIL och information i AFF


[1] Responsecode = kod från protokollnivå/kommunikationsgränssnittet.

[2] Message status 2 = Avvisat, kan inte hanteras av E-hälsomyndigheten.

[3] StatusCode = kod i kvittensen.

[4] Responsecode = kod från protokollnivå/kommunikationsgränssnittet.

[5] Message status 2 = Avvisat, kan inte hanteras av E-hälsomyndigheten.

[6] StatusCode = kod i kvittensen.

[7] Responsecode = kod från protokollnivå/kommunikationsgränssnittet.

[8] Message status 2 = Avvisat, kan inte hanteras av E-hälsomyndigheten.

[9] StatusCode = kod i kvittensen.

​​​​​​