Onlineuppdatering av GVR med XMLformat sida 1/12
Innehållsförteckning 1 Beskrivning... 3 2 Anrop av GVR med XMLformat... 3 2.1 Encoding... 3 2.2 Anrop... 3 2.2.1 Exempelanrop curl... 3 2.2.2 Exempelkod för anrop via Javakod... 4 2.3 Svar... 5 2.4 Validering av syntax... 5 3 Tjänstebeskrivningar... 5 3.1 Medicinska uppgifter... 5 3.1.1 GVRXMED1 Registrering av medicinska uppgifter... 5 3.1.1.1 Indata... 5 3.1.1.2 Utdata... 6 3.1.2 GVRXMEDK1 Korrigering av medicinska uppgifter... 6 3.1.2.1 Indata... 6 3.1.2.2 Utdata... 7 3.2 Akutuppgifter... 7 3.2.1 GVRXAKUT1 Registrering av akutuppgifter... 7 3.2.1.1 Indata... 7 3.2.1.2 Utdata... 7 3.2.2 GVRXAKUTK1 Korrigering av akutuppgifter... 8 3.2.2.1 Indata... 8 3.2.2.2 Utdata... 8 3.2.3 GVRXAKUTB1 Borttag av akutuppgifter... 8 3.2.3.1 Indata... 8 3.2.3.2 Utdata... 8 3.3 Tillgänglighetsuppgifter... 9 3.3.1 GVRXTILL1 Registrering av tillgänglighetsuppgifter... 9 3.3.1.1 Indata... 9 3.3.1.2 Utdata... 9 3.3.2 GVRXTILLK1 Korrigering av tillgänglighetsuppgifter... 9 3.3.2.1 Indata... 9 3.3.2.2 Utdata... 3.3.3 GVRXTILLB1 Borttag av tillgänglighetsuppgifter... 3.3.3.1 Indata... 3.3.3.2 Utdata... 3.4 Översikt... 3.4.1 GVRXPOS1 Patientöversikt... 3.4.2 Indata... 3.4.3 Utdata... 11 4 Ändringshistorik... 12 sida 2/12
1 Beskrivning GVR tjänstens namn och parametrar följer dokument GVR Regler för GVRtjänster med XMLformat. Valideringsregler för de olika fälten i indata för GVRtjänsterna finns också beskrivet i ovanstående dokument. Se även XSD för varje tjänst. 2 Anrop av GVR med XMLformat Anropet sker, som tidigare tjänster, via SNOD. Skillnaden är att indata skickas i HTMLbodyn istället för som tidigare ett argument i URL:en. Svaret skickas som i tidigare tjänster i HTMLbodyn men i XMLformat. 2.1 Encoding Encoding ska vara UTF8 2.2 Anrop URL: https://tjanster.gvr.sll.se:443/snod/gvrxmed1 HTMLbody: <?xml version="1.0" encoding="utf8"?> <MedicinskaUppgifter xmlns="urn:se:sll:gvr:vardhandelse:medicinskauppgifter:skapakorrigera:1"> </MedicinskaUppgifter> <VardhandelseTyp>S</VardhandelseTyp> <PatientID>191212121212</PatientID> <VardhTidpunkt>20110927T12:01:01.001</VardhTidpunkt> <Inrattning>111</Inrattning> <Klinik>441</Klinik> <Avdelning>12</Avdelning> <Obducerad>N</Obducerad> <Diagnoser> <Diagnos> <Kod>A013</Kod> <Dodsorsak>N</Dodsorsak> </Diagnos> </Diagnoser> <Atgarder></Atgarder> <TillstandsLista></TillstandsLista> 2.2.1 Exempelanrop curl curl k u anvandarid:losenord A "Snod/2.5.0" https://testtjanster.gvr.sll.se:443/snod/gvrxpos1 d "<?xml version='1.0' encoding='utf sida 3/12
8'?><SokVardhandelser xmlns='urn:se:sll:gvr:vardhandelse:oversikt:1'><vardhandelsetyp>b</vardhandelse typ><patientid>191212121212</patientid><fromdatum>201501 01</FromDatum><ExtraUppgifter>true</ExtraUppgifter></SokVardhandelser>" 2.2.2 Exempelkod för anrop via Javakod public List<String> docall(string url, String htmlbody) throws Exception { URL u_url = null; HttpsURLConnection connection = null; BufferedReader in = null; String buffer = ""; byte[] htmlbodybytes = null; List<String> svarslista = new ArrayList<String>(); try { u_url = new URL(url); connection = (HttpsURLConnection) u_url.openconnection(); connection.setrequestproperty("authorization", "Basic " + Base64.encodeBase64(anvandarid + ":" + losenord)); connection.setrequestproperty("useragent", "SnodClient/1.0.0"); connection.setrequestproperty("pragma", "nocache"); connection.setrequestproperty("accept", "text/plain, text/html"); connection.setrequestproperty("connection", "close"); connection.setrequestmethod("post"); connection.setusecaches (false); connection.setdoinput(true); connection.setdooutput(true); connection.setrequestproperty("acceptcharset", "UTF8"); connection.setrequestproperty("accept", "text/xml"); connection.setrequestproperty("contenttype", "text/xml; charset=utf8"); OutputStream os = connection.getoutputstream(); htmlbodybytes = htmlbody.getbytes("utf8"); os.write(htmlbodybytes); os.close(); in = new BufferedReader(new InputStreamReader(connection.getInputStream())); while((buffer = in.readline())!= null) { svarslista.add(buffer); } in.close(); connection.disconnect(); } catch (MalformedURLException e) { throw new Exception(e.getLocalizedMessage()); } catch (IOException e) { sida 4/12
} throw new Exception(e.getLocalizedMessage()); } return svarslista; Notera att ovanstående kod endast är rudimentär och behöver kompletteras med ytterligare logik. Tanken är att visa hur ett anrop kodmässigt kan utföras. 2.3 Svar HTMLbody: <?xml version="1.0" encoding="utf8" standalone="yes"?> <Svar xmlns="urn:se:sll:gvr:vardhandelse:medicinskauppgifter:skapakorrigera:1"> <statuskod>0</statuskod> <statustext>tjänsten utförd (allt OK)</statustext> </Svar> 2.4 Validering av syntax Validering av syntaxen av anrop sker mot för tjänsten angiven XSD. Om valideringen misslyckas returneras statuskod 20 samt orsaken i statustexten. 3 Tjänstebeskrivningar Nedan beskrivs tjänsterna. Kolumnen typ anger värdets datatyp. = alfanumerisk, övrigt så är det XMLtyper exempelvis datetime eller int. Kolumnen Nkl betyder nyckel dvs måste anges för att träffa rätt vårdhändelse i GVR. 3.1 Medicinska uppgifter Tjänster för medicinska uppgifter 3.1.1 GVRXMED1 Registrering av medicinska uppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_medicinskauppgifter_skapakorrigera_1.0.xsd 3.1.1.1 Indata RemitterandeInrattning 5 Remitterande inrättning sida 5/12
RemitterandeKlinik 3 Remitterande klinik RemitterandeAvdelning 3 Remitterande avdelning/mottagning Vardplanering 1 Vårdplaneringskod Obducerad 1 Om obduktion utförd Diagnoser Kod Dodsorsak Orsakskod 1 Diagnoskod Om diagnos är dödsorsak Orsakskod Atgarder Kod Datum Tillstandsnummer date short int Åtgärdskod (operations, tilläggskod) Åtgärdsdatum Tillståndsnummer Tillstand Kod Datum date short Tillståndskod Tillståndsdatum 3.1.1.2 Utdata Statustext X Klartext tilll statuskod DRG Den DRGkod som GVR har fått från DRGgrupperaren utifrån angiven data. Detta sker endast om kombikans specialitet är uppsatt att den ska DRGgrupperas. 3.1.2 GVRXMEDK1 Korrigering av medicinska uppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_medicinskauppgifter_skapakorrigera_1.0.xsd 3.1.2.1 Indata RemitterandeInrattning 5 Remitterande inrättning RemitterandeKlinik 3 Remitterande klinik RemitterandeAvdelning 3 Remitterande avdelning/mottagning Vardplanering 1 Vårdplaneringskod Obducerad 1 Om obduktion utförd Diagnoser sida 6/12
Kod Dodsorsak Orsakskod 1 Diagnoskod Om diagnos är dödsorsak Orsakskod Atgarder Kod Datum Tillstandsnummer date short int Åtgärdskod (operations, tilläggskod) Åtgärdsdatum Tillståndsnummer Tillstand Kod Datum date short Tillståndskod Tillståndsdatum 3.1.2.2 Utdata Statustext X Klartext tilll statuskod DRG Den DRGkod som GVR har fått från DRGgrupperaren utifrån angiven data. Detta sker endast om kombikans specialitet är uppsatt att den ska DRGgrupperas. 3.2 Akutuppgifter Tjänster för akutuppgifter 3.2.1 GVRXAKUT1 Registrering av akutuppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_akutuppgifter_skapakorrigera_1.0.xsd 3.2.1.1 Indata AvbrutenVard 1 X Avbruten vård Akuttidpunkter X Tidpunktstyp Tidpunkt 2 datetime Typ av tidpunkt Tidpunkt 3.2.1.2 Utdata Statustext X Klartext tilll statuskod sida 7/12
3.2.2 GVRXAKUTK1 Korrigering av akutuppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_akutuppgifter_skapakorrigera_1.0.xsd 3.2.2.1 Indata AvbrutenVard 1 X Avbruten vård Akuttidpunkter X Tidpunktstyp Tidpunkt 2 datetime Typ av tidpunkt Tidpunkt 3.2.2.2 Utdata Statustext X Klartext tilll statuskod 3.2.3 GVRXAKUTB1 Borttag av akutuppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_akutuppgifter_tabort_1.0.xsd 3.2.3.1 Indata 3.2.3.2 Utdata Statustext X Klartext tilll statuskod sida 8/12
3.3 Tillgänglighetsuppgifter Tjänster för tillgänglighetsuppgifter 3.3.1 GVRXTILL1 Registrering av tillgänglighetsuppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_tillganglighetsuppgifter_skapakorrigera_1.0.xsd 3.3.1.1 Indata Vardgaranti 1 X Vårdgaranti Bokningssatt 1 X Bokningssätt Bokningregdatum datetime Registreringsdatum för bokning Bokningsdatum datetime Bokningsdatum Remissdatum datetime Remissdatum Remittenttyp 1 Remittenttyp Anmalningsdatum datetime Anmälningsdatum Undantagskod 1 X Undantagskod 3.3.1.2 Utdata Statustext X Klartext tilll statuskod 3.3.2 GVRXTILLK1 Korrigering av tillgänglighetsuppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_tillganglighetsuppgifter_skapakorrigera_1.0.xsd 3.3.2.1 Indata Vardgaranti 1 X Vårdgaranti Bokningssatt 1 X Bokningssätt Bokningregdatum datetime Registreringsdatum för bokning Bokningsdatum datetime Bokningsdatum Remissdatum datetime Remissdatum Remittenttyp 1 Remittenttyp sida 9/12
Anmalningsdatum datetime Anmälningsdatum Undantagskod 1 X Undantagskod 3.3.2.2 Utdata Statustext X Klartext tilll statuskod 3.3.3 GVRXTILLB1 Borttag av tillgänglighetsuppgifter XMLschema för tjänsten är se_sll_gvr_vardhandelse_tillganglighetsuppgifter_tabort_1.0.xsd 3.3.3.1 Indata 3.3.3.2 Utdata Statustext X Klartext tilll statuskod 3.4 Översikt Översiktstjänster 3.4.1 GVRXPOS1 Patientöversikt XMLschema för tjänsten är se_sll_gvr_vardhandelse_oversikt_1.0.xsd 3.4.2 Indata Vardhandelsetyp 1 X Vårdhändelsetyp PatientID 12 X Patientens person/reservnummer FromDatum date X Vårdhändelser från och med datum TomDatum date Vårdhändelser till och med datum ExtraUppgifter 1 X Om medicinska och ekonomiska uppgifter ska tas med sida /12
3.4.3 Utdata Statustext X Klartext tilll statuskod Namn X Patientens namn Vardhandelser X 0 många antal vårdhändelser VardhID int X VårdhändelseID interna id:t i GVR Vardhandelsetyp X Vårdhändelsetyp PatientID X Patientens person/reservnummer VardhTidpunkt datetime X Vårdhändelsetidspunkt Inrattning X Inrättning Klinik X Klinik Avdelning X Avdelning RemitterandeInrattning Remitterande inrättning RemitterandeKlinik Remitterande klinik RemitterandeAvdelning Remitterande avdelning Akut Planerad eller oplanerad vård Besokstyp Besökstyp Taxa Taxa Kontakttyp Vårdkontakttyp Folkboksforinglan X Patientens folkbokföringslän Folkboksforingkommun X Patientens folkbokföringskommun Folkboksforingforsamling X Patientens folkbokföringsförsamling FastighetskoordinatX Int X Patientens fastighetskoordinat X FastighetskoordinatY Int X Patientens fastighetskoordinat Y Betjaningsomrade X Patientens Betjäningsområde Basomrade X Basområde Inskrivningskod Inskrivningskod Inskrivningsform Inskrivningsform Utskrivningsdatum date Utskrivningsdatum Utskrivningskod Utskrivningskod Utskrivningsform Utskrivningsform Dodstidpunkt Dödstidpunkt UtskrivandeInrattning Utskrivande inrättning UtskrivandeKlinik Utskrivande klinik UtskrivandeAvdelning Utskrivande avdelning RemitteradTillInrattning Remitterad till inrättning RemitteradTillKlinik Remitterad till klinik Obducerad Obducerad Vardplanering Vårdplaneringskod Fardigbehandladdatum date Färdigbehandladdatum Betalningsansvarsdatum date Betalningsansvarsdatum VardperiodID VårdperiodID AvbrutenVard Avbruten vård DRG Den DRGkod som GVR har fått från DRGgrupperaren utifrån angiven data. Detta sker endast om kombikans specialitet är uppsatt att den ska DRGgrupperas. SkapadAv X Rapporterande systems ID Skapad datetime X Tidpunkt då posten skapades AndradAv X Ändrade systems ID Andrad datetime X Tidpunkt då posten ändrades Yrkeskategorier sida 11/12
Yrkeskategori Yrkeskategori Diagnoser Kod Dodsorsak Orsakskod Diagnoskod Om diagnos är dödsorsak Orsakskod Atgarder Kod Datum Diagnosnummer Tillstandsnummer Tillstand Kod Datum Diagnosnummer Produkter Kod Antal Kokskod Akuttidpunker Tidpunktstyp Tidpunkt date short int Date Short int datetime Åtgärdskod (operations, tilläggskod) Åtgärdsdatum Diagnosnummer Tillståndsnummer Tillståndskod Tillståndsdatum Diagnosnummer Produktkod Produktantal Kökskod Typ av tidpunkt Tidpunkt 4 Ändringshistorik Version Datum Författare Ändringshistorik V1.01 Draft 20150107 Magnus Haglund Draft 1 V1.0 20150122 Magnus Haglund Version 1. V1.1 20150205 Magnus Haglund Lagt till tjänsterna GVRXAKUT1, GVRXAKUTK1 och GVRXAKUTB1 V1.2 201502 Magnus Haglund Utökad teckenfältet Tidpunktstyp i tjänsterna GVRXAKUT1 och GVRXAKUTK1 från 1 tecken till 2. V1.3 201602 Michael Schenström Förtydligande exempel. Magnus Haglund Lagt till tjänsterna GVXTILL1, GVRXTILLK1, GVRTILLB1. Lagt till utpekat schema för GVRXAKUT1, GVRXAKUTK1, GVRXAKUTB1 sida 12/12