Dokumentation & Kodexempel

Med OmVård.se:s API kan du som utvecklare integrera en del av OmVård.se:s funktionalitet i din webbplats. I dagsläget kan du utifrån en adress eller koordinater (longitud och latitud) hämta ut de närmaste vårdcentralerna i XML- eller JSON-format. Vi planerar att kontinuerligt utöka funktionaliteten, så håll uppsikt över detta utrymme för nyheter och uppdateringar!

Hur får jag tillgång till OmVård.se:s API?

För att få tillgång till API:t måste du ha en API-nyckel. Denna är helt gratis och du får den genom att registrera dig i formuläret här. När du har en API-nyckel använder du API:t genom att hämta data från en URI som är formaterad på följande sätt:

http://api.omvard.se/9084f83ef/vardgivare/nara/?gatuadress=storgatan 13&postnummer= 13445&postort=Karlstad&format=xml

eller

http://api.omvard.se/9084f83ef/vardgivare/nara/?longitud=17.971916&latitud=59.335028&format=json

eller

http://api.omvard.se/9084f83ef/vardgivare/nara/?longitud=17.971916&latitud=59.335028&format=json&jsonp=pareseResponse

I exemplen ska 9084f83ef ersättas med din API-nyckel.

Kodexempel: Hämta närmaste vårdgivare

C# och XML (konsol-applikation)

Följande exempel skickar in en adress (storgatan 13, 13445, Karlstad) och skriver ut en lista på de 10 närmsta vårdgivarna. Exemplet är en konsolapplikation som kan köras direkt i Visual Studio.

        using System;
        using System.IO;
        using System.Net;
        using System.Text;
        using System.Xml;

        namespace Omvard20APIExample
        {
            public class APIExample
            {
                static void Main()
                {
                    var request = (HttpWebRequest)WebRequest.Create("http://api.omvard.se/9084f83ef/vardgivare/nara/?gatuadress=storgatan%2013&postnummer=%2013445&postort=Karlstad&format=xml");
                    var response = (HttpWebResponse)request.GetResponse();
                    var inputStream = response.GetResponseStream();
                    var encoding = Encoding.GetEncoding("ISO-8859-1");
                    var stream = new StreamReader(inputStream, encoding);
                    
                    var reader = new XmlTextReader(stream);
                    while (reader.Read())
                    {
                        if(reader.NodeType == XmlNodeType.Element)
                            Console.WriteLine("Name: " + reader.Name);
                        if(reader.NodeType == XmlNodeType.Text)
                            Console.WriteLine("Value: " + reader.Value);
                    }
                    response.Close();
                    inputStream.Close();
                    stream.Close();
                   
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey(true);
                }
            }
        }
    

Javascript och JSON (använder jQuery)

Detta exempel använder javascript och jQuery och hämtar närmsta vårdgivare givet koordinater. Scriptet generar en lista med länkade vårdgivare och skriver ut deras koordinater med adress till en oordnad lista. Klicka här för att se exemplet live.

Exemplet finns också i JSONP variant. Klicka här för att se det.

Html
        <ul id="examplelist"></ul>
    
Javascript
        $(document).ready(function() {
            $.getJSON("http://api.omvard.se/9084f83ef/vardgivare/nara/?longitud=17.971916&latitud=59.335028&format=json",
            function(data) {
                $.each(data.Vardgivarlista, function(i, item) {
                    $("<li/>").html("<a href='" + item.URL + "'>" + 
                    item.Namn + "</a>").appendTo("#examplelist");
                    
                    $("<li/>").text("Gatuadress: " + 
                    item.Gata).appendTo("#examplelist").addClass("indent");
                    
                    $("<li/>").text("Postort: " + 
                    item.Postort).appendTo("#examplelist").addClass("indent");
                    
                    $("<li/>").text("Postnummer: " + 
                    item.Postnummer).appendTo("#examplelist").addClass("indent");
                    
                    $("<li/>").text("Kommun: " + 
                    item.Kommun).appendTo("#examplelist").addClass("indent");
                    
                    $("<li/>").text("Landsting: " + 
                    item.Landsting).appendTo("#examplelist").addClass("indent");
                    
                    $("<li/>").text("Longitud: " + 
                    item.Longitud).appendTo("#examplelist").addClass("indent");
                    
                    $("<li/>").text("Latitud: " + 
                    item.Latitud).appendTo("#examplelist").addClass("indent");
                    
                    if (i == data.Vardgivarlista.length) return false;
                });
            });
        });