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.

2. Kvittens

Kontroll att en e-receptsamling uppfyller verksamhetsreglerna enligt NEF utförs i vårdsystemet, 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 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.

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, samt vilken part som ansvarar för den fortsatta hanteringen av e-receptsamlingen:

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

Figur 1. Flödesbeskrivning e-recept

3.1. Generellt förlopp

  1. Ny e-receptsamling inkommer till E-hälsomyndigheten.
  2. Schemavalidering av xml genomförs. Inga valideringsfel uppkommer. (Ref1 nedan)
  3. E-receptsamlingen genomgår FMK. Samtliga avvikelser från regelverket registreras med ett antal attribut. (Ref2 nedan)
  4. E-receptsamlingen lagras hos E-hälsomyndigheten med eventuell fellista och status beroende på fel. (Ref3 nedan)
  5.  Kvittens skickas till sändande part. För vårdsystem djur skickas samtliga fel i kvittensen. (Ref4 nedan)

3.1.1. 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.1.2. 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 schemavalideringsfelet som returneras med kvittensen.
  3. E-receptsamlingen får MessageStatus 2 = avvisat.
  4. Åter till: Ref4.

Åtgärd i vårdsystemet:
Kvittensen ska 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.1.3. 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.

Åtgärd i vårdsystemet:
Kvittensen ska 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.1.4. 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 kapitel 5.

4. Validering av indata

För ytterligare beskrivning av meddelandestruktur hänvisas till dokumentet 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 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 - PrescriptionAnimal.xsd
  • ApplicationAcknowledgeMessage - Aperak.xsd
  • PrescriptionCancellationAnimal.xsd
  • AperakCancellationAnimal.xsd
  • Typdefinitioner enkla typer: Types.xsd eller Common.xsd


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 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 nyttReceptDjur 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å djur. Motsvarande objekt kan resultera i olika valideringsfel.

De flesta kända och vanligt förekommande valideringsfelen 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å djur som felet uppstått i. Den delen returneras på engelska då den delen genereras i plattformens generella ramverk.

  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


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>Receptet 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. Krav för kontroller

Alla kvittenser ska journalföras tillsammans med den ursprungliga förskrivningen.

Alla kvittenser med FMKStatus = 2 ska 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, samt även vara 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, samt är även även tillgängliga 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. Nya FMK-felkoder och därtill kopplade felmeddelanden kan tillkomma vilket kan kräva anpassning i vårdsystemet.

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

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


Utdrag med väsentliga taggar. Se 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>
...

Utdrag med väsentliga taggar. Se 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>


7. Begrepp

Nedan beskrivs några specifika begrepp.

Begrepp

Förklaring

Aperak

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

Giltigt textvärde

Definieras ovan

PIRR

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

Tillåtna tecken i förskrivarens namn

Definieras ovan

8. Förkortningar

Nedan beskrivs några specifika förkortningar.

Förkortning

Förklaring

FMK

Författningsmässig kontroll och beställningskontroll

NEF

Nationellt e-receptformat

REF"nr"

Intern referens i dokumentet

AFF

Automatisk format- och författningskontroll f.d. FMK

9. Referenser

Tillåtna tecken i element och attributdata.


Versionshistorik

Version

Datum

Kommentar

1.02021-11-27Ny handbok vård- och apotekstjänster