Dataexport i XML och CSV format

Syfte med dataexportfunktionen

Datexportfunktionen möjliggör att ut data ur Stöd och behandling för forskning, verksamhetsuppföljning eller lagring i ett annat system.

Vem kan exportera data?

För att exportera data i Stöd och behandling så behöver man en användare med behörighetsrollen dataadmin.

Hur kan man välja ut vilka behandlingar som ska exporteras?

Data kan exporteras för antingen pågående eller avslutade behandlingar. Det går bara att exportera behandlingar av samma slag och som finns på den enhet man valt.

I exportgränssnittet finns möjligheten att filtrera ut behandlingar baserat på personnummer, kategoritillhörighet och datumintervall.

När data för en behandling har gallrats av datadmin så går det inte längre att exportera dess data.

Hur väljer man om personuppgifter ska komma med i export?

Det går att bestämma om personnummer och namn ska komma med i exporten eller om bara ålder och kön ska komma med.

Det går också att ersätta  personnumret med ett pseudonymiserat id. Detta id är dock konstant och skapar man en nyckel så kan man koppla detta id tillbaka till personnumret.

Vilka infomängder innehåller exportfilen och vilka är valbara?

Kommer alltid med

Metadata om export, behandling, patient, behandlare, vårdenhet, länkade behandlingar

Valbara infomängder

Händelselogg för moduler och skickade meddelanden/kommentarer, aktivitetsplaner, formulär i mätbatterier, formulär som inte ingår i mätbatterier.

Vilka exportformat finns och när ska man använda vilket format?

Stöd och behandling erbjuder två exportformat XML och CSV. Båda formaten visar data i klartext och kan öppnas för att läsas av en människa i en webbläsare (XML)  respektive ett kalkylprogram (CSV).

XML är Stöd och behandlings huvudsakliga filformat och har många bra egenskaper. Det som i första hand styr vilket filformat man väljer är vilket verktyg man ska använda. Kalkylprogram som Excel och statistikprogram som SPSS och Stata klarar inte att på ett lätt sätt göra om XML till en platt tabell. Då är CSV en möjligt format.

Hur gör man för att exportera respektive filformat?

För att kunna erbjuda data i CSV-format så har Stöd och behandling tagit fram ett verktyg där man kan transformera en XML-fil till en CSV-fil. För att få tillgång till det så behöver man kontakta Stöd och behandlings förvaltning och be om länken till verktyget.

För att skapa CSV-filen så behöver man :

  • Exportera XML från exportgränssnittet i Stöd och behandling
  • Gå till sidan där verktyget för att transformera XML till CSV finns
  • Ladda upp XML och välj teckenkodning och avskiljare CSV för CSV.
  • UTF-8 och Tabb bör vara ett relativt säkert val för de flesta.
  • Vid import av fil till Excel, SPSS osv måste samma teckenkodning och avskiljare som användes ovan väljas

Hur är  CSV-filen uppbyggd?

Det finns utförliga formatspecifikationer för vilket data respektive infomängd innehåller och till stor del är filen självförklarande men här är några exempel på hur CSV-filen är uppbyggd.

Hjälprader

Det har lagts till hjälprader under kolumnnamnet som innehåller metadata för formulär (mallid, malid-version, index för formulär, formulärets namn, formulärets fråga, frågetyp, svarsalternativ, mätbatterinamn). Utöver metadata för formulär finns även namn för resultatets namn och för behandlares HSA-id med. Dessa hjälprader kan tas bort efter import eller sparas separat som referens.


NA

78876ef0-7d6d-4eff-835f-cf274f9b5859

1

MEASUREMENT_BATTERY_FORM

MADRS

Fråga 1 - (svar 4 ger prio flagga)

RADIO

1=Alternativ 1|2=Alternativ 2|3=Alternativ 3|4=Alternativ 4

MADRAS

NA

Kolumnamn

Tabellens första rad är kolumnnamnet. Har man angivit ett alternativt namn för formulär, mätbatterier eller resultat så är det som används. Detta är något som behöver göras när behandlingen designas. Annars används de första tio tecknen i formulärets, mätbatteriet och resultatets namn för att bygga ihop ett kolumnnamn.

MADRS_5_MADRAS_M_32

Ovanstående exempel visar kolumnnamnet för ett formulärsvar där kolumnnamnet består av formulärnamnet, frågans nummer i ordningen, mätbatterinamnet och bokstaven M i slutet innebär att det är just ett formulär i ett mätbatteri. Allra sist finns en löpsiffra för att alla kolumnamn ska vara helt unika.

Står det ett F i sista delen istället så handlar det istället om ett formulär som inte är del av ett mätbatteri eller om det står A så är det en aktivitetsplan.

Finns det resultat knutna till ett formulär så kommer det efter sista formulärsvaret i ett formulär och känns igen genom att det har ett R näst sist.

Flikformul_Flikformul_R_1

Ovanstående exempel är uppbyggt av resultatets namn, formulärets namn, R för resultat och en löpsiffra för att skilja olika resultat åt.

Kolumnordning

Tabellen i CSV-filen börjar från vänster med data om behandlingen, information om behandlare, aggregerat data (moduler, meddelanden, mätbatterier och aktivitetsplaner) och sist till höger kommer formulärsvaren och tillhörande resultat.

Formulär grupperas så att formulär i mätbatterier kommer först, efter det aktivitetsplaner och sist formulär som inte tillhör mätbatterier. Under detta grupperas formulär på namn och under det på mallid och under det på mallid-version. På lägsta nivån dvs där namn, mallid, versionsnummer är lika ordnas formulären i den ordning som de besvarades. Det innebär att om det har varit upprepade mätningar i ett mätbatteri så kommer formuläret som fylldes i först och sedan formuläret som fylldes i därefter.

För att inte jämförbart data som bör ligga i samma kolumn inte ska spridas ut över många kolumner så bör man undvika att skapa nya versioner av behandling och inte ändra på formulär. Annars så skapas det nya mallid:n och då skapas det nya kolumner för dessa i CSV-filen. Ett sätt att behålla mallid:n och versionsnummer är att skapa gemensamma formulär.

Om behandlare skapar aktivitetsplaner för varje patient skapas helt unika formulär som hamnar i egna kolumner vilket kan skapa väldigt många kolumner. Det  kan då vara bättre att en mall för aktivitetsplan skapas av designer och används av alla så att svar hamnar i samma kolumner.

Om det finns resultatuträkningar kopplade till ett formulär så hamnar det efter formulärets sista svar.