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 makuleringsbegä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
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. 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
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 |
Makuleringsmeddelande |
Class |
1 |
|
Se 3.2 |
|
3.1 MessageRoutingAddress - Transportinformation (tillämpning)
Tillämpning av MessageRoutingAddress enligt följande:
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 = Organisationsnummer
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
PrescriptionCancellationMessage |
Information om receptmakuleringsmeddelande |
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
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
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
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
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
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
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
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. |