Exempelapplikation
Här hittar du ett exempel på en applikation som visar hur man snabbt kan komma igång och bygga applikationer mot Cambio Open Services.
Syftet är visa hur du som utvecklare snabbt och enkelt kan komma igång och arbeta med att integrera din applikation med APIerna i Cambio Open Services.
Applikationen är inte ämnad för drift i produktion utan är endast ett exempel på hur du snabbt skall komma igång. Av den anledningen skall man heller inte se den som ett exempel på hur en fullständig applikation i skarp drift skall se ut. Du kommer bland annat själv behöva designa och implementera säkerhetsmekanismer som passar för dina ändamål, skriva tester med mera.
Applikationen
Applikationen finns att tillgå på Github https://github.com/chilmers/cos-example-application
Eller för nedladdning här: cos-example-application-main-20220429.zip
Syfte och avsedd användning
VIKTIGT! Avsikten med applikationen är inte att visa hur man skapar en säker och produktionsfärdig applikation. Du kommer behöva designa och implementera säkerhetsmekanismer och annat som är lämpligt för behoven i just din applikation. Syftet är endast att ge dig en idé om hur du snabbt kan komma igång och börja bygga lösningar med FHIR-APIerna i Cambio Open Services. Mönstren som används i applikationen är bara exempel och liknande resultat kan åstadkommas på olika sätt, med hjälp av olika verktyg och programmeringsspråk.
Säkerhet
Applikationen har en naiv lösning för inloggning och åtkomst till dess API baserat på basic-authentication. Det finns en enda hårdkodad användare med användarnamn och lösenord 'user' respektive 'password'.
Funktionalitet
Exempelapplikationen publicerar ett api med enda funktionalitet att söka efter en patient baserat på personnummer.
Översikt
Bilden nedan visar en översikt över informationsflödet i exempelapplikationen.
Applikationens API
Sök patient
BESKRIVNING: Utför en sökning på patient baserat på personnummer
HTTP-METOD: GET
URL: /patient
SKYDD:
basic-authentication
Lägg till HTTP Header "Authorization: Basic dXNlcjpwYXNzd29yZA=="
Ovan motsvarar inloggning med basic-authentication för användare med användarnamn och lösenord 'user:password'
PARAMETRAR:
?pnr=[personnummer]
Query-parameter som anger patientens personnummer på formatet ååååMMddNNNN
Exempel: 191212121212
SVAR:
application/json
Svarar med en json-representation av funnen patient
FELHANTERING:
400 BAD REQUEST - Om pnr-parametern inte anges
404 NOT FOUND - Om patienten inte kunde hittas
500 SERVER ERROR - Vid oväntade fel på serversidan
Kom igång
Säkerställ att Java och Maven är installerade på datorn
Du behöver ha Java och Maven installerat på din dator för att använda exempelapplikationen. Applikationen har testats och fungerar med Java 17.0.2 och Maven 3.8.4 men kan även fungera med tidigare versioner.
Ladda ned och packa upp applikationen cos-example-application-main-20220429.zip
Ändra där det står CHANGE_ME nedan och kör sedan följande kommando i den katalog som skapades när du packade upp applikationen.
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-DCOS_API_KEY=CHANGE_ME -DCOS_OAUTH_CLIENT_ID=CHANGE_ME -DCOS_OAUTH_CLIENT_SECRET=CHANGE_ME"
Applikationen skall nu vara startad
För mer information om konfiguration, se README.md i applikationens rot-katalog.
Skicka en förfrågan till applikationen
Om allt gick bra skall applikationen nu ha startat på port 8080. Applikationen har en användare med hårdkokta användarnamn: och lösenord som är user och password.
För att testa applikationen kan du använda t.ex. curl eller annan applikation som kan utföra HTTP-anrop:
curl -v -u user:password http://localhost:8080/patient\?pnr\=191212121212
Du bör få ett svar med följande JSON:
{
"birthDate": "1912-12-12",
"deceased": false,
"fhirId": "https://api.openservices.cambio.se/fhir/Patient/1/_history/6656",
"fullName": "Tolvan Tolvansson",
"gender": "Male",
"identifierSystem": "urn:oid:1.2.752.129.2.1.3.1",
"identifierValue": "191212121212"
}