NEF - Specifikation för XML-meddelande applikationskvittens makuleringsbegäran djur
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.
Ö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
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.
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
Om ett komplext element inte innehåller några obligatoriska element skall det komplexa elementet inte vara obligatorisk. Denna regel tillämpas i specifikationen.
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.
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.
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 (Fourh 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
I kolumnen ändringslogg beskrivs ändringar gjorda från version 1.0 till denna specifikation. Ändringstyp anges även enligt nedanstående definition.
Ä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 - Teknisk implementationsguide. XML-specifikationer kan uppdateras separat utan att ett nytt XML-schema tas fram.
1 Interchange -Rootelement
Interchange |
Rootelement |
Class |
1 |
|
|
-MessageVersion |
Version på meddelandet |
S |
1 |
Char(4) |
Exempel <MessageVersion>1.0</ MessageVersion> |
-MessageRoutingAddress |
Generellt meddelandehuvud tillämpas på makulering. Specifik tillämpning från det generella meddelandehuvudet anges nedan under rubriken MessageRoutingAddress |
Class |
1 |
|
Se nedan under rubriken
MessageRoutingAddress |
-ApplicationAcknowledgeMessage |
Aperakmeddelande |
Class |
1 |
|
Se nedan under rubriken
ApplicationAcknowledgeMessage |
2 MessageRoutingAddress - Transportinformation
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) |
|
2014-10-09: GLN tillagt. Förtydligat att det är mottagande system som avses. |
- RecipientQualifier |
Kodkvalificerare för mottagare. |
E |
1 |
Char(4)
{14, 30, ZZZ} |
Kvalificerare för Sändare.
14 = EAN/GLN
30 = Organisationsnummer
ZZZ = Avtalad struktur mellan parterna. |
2014-10-09: GLN tillagt. Förtydligat att det är mottagande system som avses. |
- SubRecipient |
Systemidentitet för mottagande system |
S |
1 |
Char(20) |
|
2014-10-09: Förtydligat att det är mottagande system som avses. |
- SubRecipientInfo |
Ytterligare information om systemet som mottager meddelandet |
Class |
1 |
|
|
2014-10-09: 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 t ex 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-10-09: Exemplet har uppdaterats. |
3 ApplicationAcknowledgeMessage -Aperakmeddelande
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
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-10-09: Exemplet har uppdaterats. |
- IssueDateAndTimeOfMessage |
Tidpunkt för skapande av makuleringsmeddelande. |
S |
1 |
Char(20) |
ccyy-mm-ddThh:mm:ss. |
|
3.2 StatusInformation
StatusInformation |
StatusInformation |
Class |
1 |
|
|
|
- StatusCode |
Informationskod
Prefix på statuskoden.
01 nnn - XML validering,
03 nnn och 04nnn - 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 t.ex. support, drift. För att ange vilken typ av validering som fallerat läggs ett prefix på statuskoden. |
2014-10-09: Uppdatering, ersatt 02nnn med 03nnn och 04nnn. |
- Description |
Beskrivnings av kodens innebörd. |
S |
1 |
Char(254) |
|
|
3.3 MessageStatus
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
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 receptsamling 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 djurägare 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-10-09: Exemplet har uppdaterats. |
-- PrescriptionItemDetails |
Receptinformation |
Class |
0..99 |
|
Se under rubrik 3.4.1 |
|
3.4.1 PrescriptionItemDetails
PrescriptionItemDetails |
|
Class |
0..99 |
|
Maximalt 99 receptrader. Kan makuleras i ett makuleringsmeddelande.
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 |
Tagit bort observandumet då detta rättats så att angivna värden returneras såsom de angivits. |
-Item |
Elementklass som definierar recept artikel samt responskoder från Receptdepå djur. |
Class |
1 |
|
Se under rubrik 3.4.1.1 |
2014-10-09: Uppdatering, ersatt RR med Receptdepå djur. |
3.4.1.1 Item
Item |
Elementklass som definierar recept artikel samt responskoder från Receptdepå djur. |
Class |
1 |
|
Maximalt 99 för att 99 receptrader kan förskrivas i en receptsamling. |
2014-10-09: Uppdatering, ersatt RR med Receptdepå djur |
-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} |
|
|
- 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 djurägare. 2: Fel läkemedel/vara/ styrka/dosering/ändamål. Djurägaren informerad 3: Utsatt läkemedel/Inaktuell medicinering. Djurägaren informerad 4: Annan orsak. Djurägareninformerad
Obs, texten i orsakskoderna kan komma att justeras. |
|
- RequestedBy |
På begäran av
01= Djurägaren
02=Förskrivaren |
E |
0..1 |
Char(2)
{01,02} |
|
|
-Time |
Tidpunkt i Receptdepå djur när makuleringen utfördes på artikeln |
T |
0..1 |
Char(20) |
ccyy-mm-ddTtt:mm.ss |
2014-10-09: Uppdatering, ersatt RR med Receptdepå djur. |
- 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
CancellatorOfItem |
Vem som utfört makuleringen |
Class |
0..1 |
|
|
|
-Idscheme |
Kodtyp arbetsplatskod eller apotekets GLN -kod |
A |
0..1 |
{VEN, EAN} |
|
|
-Value |
Kodvärde för vårdande enhet |
S |
0..1 |
Char(17) |
Odefinierat format. Standard saknas för arbetsplatskod |
|
-Telecommunication |
Telefonnummer till apotek returneras om farmaceut makulerat.
Telefonnummer till vårdenhet om förskrivare makulerat. |
S |
0..1 |
Char(13) |
Inklusive riktnummer. |
|
-Name |
Apoteksnamn i klartext, returneras om farmaceut makulerat.
Vårdenhet (Lokalitet) i klartext returneras om förskrivare makulerat |
S |
0..1 |
Char(40) |
Vårdenhet, Lokalitet =
NumberOrNameOfHouse |
|
-City |
Apoteksort i klartext, returneras om farmaceut makulerat
Vårdenhetsort i klartext returneras om förskrivare makulerat. |
S |
0..1 |
Char(40) |
|
|
-Cancellator |
Namn på makulerare,
förskrivare
eller
farmaceuts Signum / Namn |
S |
1 |
Char(35) |
|
|
Versionshistorik
2012-11-23 |
1.0 |
Monica Rosén |
Nytt dokument. Bygger på dokumentet Specifikation XML-makuleringssvar (Aperak) v 1.0.1 (human). |
2014-10-09 |
2.0 |
Monica Rosén |
Specifikationen har bytt namn till "NEF - Specifikation XML-meddelande makuleringssvar (Applikationskvittens) Djur".
Ny logotyp på dokumentet.
Extensible Markup Language (XML) 1.0 rättat hänvisningen till fourth edition.
Koppling mellan XML-scheman och XSD-filer finns från och med nu i dokumentet NEF- Implementationsguide.
2, Recipient, RecipientQualifier: GLN har lagts till.
2, Recipient, RecipientQualifier, SubRecipient, SubRecipientInfo: förtydligat att det är mottagande system som avses.
2, 3.1, 3.4, idtype, uppdatering av exemplet.
3.2 StatusCode, uppdatering ersatt 02nnn med 03nnn och 04nnn.
3.4.1, Item, uppdatering ersatt RR med Receptdepå djur.
3.4.1.1, Item, Time, uppdatering ersatt RR med Receptdepå djur. |
|
|