Dokumentation LUPP API 6.2



Relevanta dokument
LUPP API. ett API för 3:e-partsleverantörer från LUPP 6.0. Insamling av önskemål

Kom igång med LUPP 6.1

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Kom igång med LUPP 6.0

Kom igång med LUPP 6

RDT Externt Webbtjänst Gränssnitt

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Webbtjänster med API er

RDT Externt Webbtjänst Gränssnitt

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Objektsamlingar i Java

Manual Webb-admin för evenemang

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS

Webbtjänster med API er

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

InTime HTTP API. Översikt funktioner. Webbtjänster för systemintegration med InTime Messenger.

LabPortalen Services 2.11

EVO DEV. EvodevExcel.GarpReportAddin

API:er/Mashup. Föreläsning 4 API:er och Mashups. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Tips & Trix - Teknik Jeeves World Copyright 2011 Jeeves Information Systems AB

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Programbeskrivning. Chaos på Web. Version

TENTAMEN OOP

TUTORIAL: KLASSER & OBJEKT

Godkännande av kundapplikationer

Webbtjänster med API er

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Att koppla FB till AD-inloggning

eremiss 3.23 Webservices integration

Konfiguration av synkronisering fo r MSB RIB Lupp

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Konfiguration av LUPP synkronisering

Extern dialog för Samtycke och vårdrelation. Säkerhetstjänster

Kopiering av objekt i Java

Vitec Connect. Teknisk beskrivning REVIDERAT SENAST: VITEC. VITEC Affärsområde Mäklare

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern

Tentamen OOP

Filleveranser till VINN och KRITA

Frakt och webbutiksinställningar

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Services + REST och OAuth

eremiss 3.20 Webservices integration

Att använda ELSA. Vad behövs för att använda ELSA?. Felrapportering och support

Tjoho. Applikationsutvecklarens handledning. Maj 2003

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

Telia Connect för Windows

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Malmö högskola 2007/2008 Teknik och samhälle

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Introduktion till Winbas. excel till Winbas

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

CTM Release Notes 7.4.3

Programmering för språkteknologer II, HT2014. Rum

Instruktion för integration mot CAS

Import från Excel 3L Pro Import från Excel. Copyright VITEC FASTIGHETSSYSTEM AB

LEDNINGSÄGARMODUL. Systemgränssnitt

Metoder (funktioner) Murach s: kap Winstrand Development

Java, klasser, objekt (Skansholm: Kapitel 2)

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Programmeringsteknik med C och Matlab

Statistik över heltal

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

F5: Högnivåprogrammering

Installation av RIB Huvudprogram 1.3

TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).

Att koppla FB till AD-inloggning

F5: Högnivåprogrammering

Konvertering från sträng. Winstrand Development

GEKAB Marking & Sign System - genvägen till en effektiv märkning

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Laboration 2: Designmönster

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

LabPortalen Services 2.14

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det).

Typkonvertering. Java versus C

Webbtjänster med API er

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Laborationsanvisning. Digital väckarklocka. Steg 2, laborationsuppgift 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

CADS Data- Manager. Användarhandbok. CAD Studion AB

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Dokumentation. Ver Sida 1

Tentamen FYTA11 Javaprogrammering

Teoretisk del. Facit Tentamen TDDC (6)

Föreläsning 2, vecka 8: Repetition

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dokumentation. Ver Sida 1

Att skriva inlägg i Spelmansgillets bloggar hos Blogspot/Google

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Teknisk guide för myndigheter

Transkript:

2 Myndigheten för samhällsskydd och beredskap 1 (94) Enheten för ledningssystem och beslutsstöd Stefan Jönsson 010-240 52 97 stefan.jonsson@msb.se Dokumentation LUPP API Application Programming Interface för Ledning och uppföljning av insatser

samhällsskydd och beredskap 3 (94) Innehåll 1. Dokumentets historia... 9 2. Om LUPP API... 11 2.1. Används redan... 11 2.2. Funktion... 11 2.3. Licenshantering... 12 2.4. Valideringen... 13 2.4.1. Klientimplementation... 13 2.4.2. Använd Behavior... 14 2.5. Bra att veta... 14 2.5.1. Listor... 14 2.5.2. Frågetecken... 14 2.5.3. Klasser... 15 3. Interface IAPIService... 17 3.1. Metoder... 17 3.2. Metod SaveMission... 18 3.2.1. Inparameter... 18 3.2.2. Anmärkning: Insatsens namn ( Visa som )... 19 3.2.3. Returvärde... 20 3.2.4. Exempel... 20 3.3. Funktion GetAllMissions... 20 3.3.1. Inparametrar... 20 3.3.2. Returvärde... 20 3.4. Funktion GetMission... 21 3.4.1. Inparametrar... 21 3.4.2. Returvärde... 21 3.5. Funktion GetMissionId... 21 3.5.1. Inparametrar... 21 3.5.2. Returvärde... 21 3.6. Metod SaveNote... 22 3.6.1. Inparametrar... 22 3.. Returvärde... 22 3.6.3. Anmärkning... 23 3.6.4. Exempel... 23 3.7. Funktion SaveAndReturnNote... 23 3.7.1. Inparametrar... 24 3.7.2. Returvärde... 25 3.7.3. Exempel... 25 3.8. Metod SaveNoteXAML... 25

samhällsskydd och beredskap 4 (94) 3.8.1. Inparametrar... 26 3.8.2. Returvärde... 26 3.8.3. Exempel... 26 3.9. Funktion SaveAndReturnNoteXAML... 27 3.9.1. Inparametrar... 28 3.9.2. Returvärde... 28 3.9.3. Exempel... 28 3.10. Funktion GetAllNotes... 29 3.10.1. Inparametrar... 29 3.10.2. Returvärde... 29 3.11. Funktion GetNotes... 29 3.11.1. Inparametrar... 30 3.11.2. Returvärde... 30 3.12. Funktion GetNote... 30 3.12.1. Inparametrar... 30 3.12.2. Returvärde... 30 3.13. Funktion GetNotesFromMission... 31 3.13.1. Inparametrar... 31 3.13.2. Returvärde... 31 3.14. Funktion GetNotesCount... 31 3.14.1. Inparametrar... 31 3.14.2. Returvärde... 31 3.15. Metod SaveDecision... 32 3.15.1. Inparametrar... 32 3.15.2. Returvärde... 33 3.15.3. Anmärkning... 33 3.16. Funktion GetDecision... 34 3.16.1. Inparametrar... 34 3.1. Returvärde... 34 3.17. Metod SaveIncidentReport... 34 3.17.1. Inparametrar... 35 3.17.2. Returvärde... 36 3.17.3. Anmärkning... 36 3.18. Funktion GetIncidentReport... 37 3.18.1. Inparametrar... 37 3.18.2. Returvärde... 37 3.19. Funktion GetAllDiaryEntries... 37 3.19.1. Inparametrar... 37 3.19.2. Returvärde... 37 3.20. Funktion GetDiaryEntry... 38 3.20.1. Inparametrar... 38 3.20.2. Returvärde... 38

samhällsskydd och beredskap 5 (94) 3.21. Funktion GetDiaryEntries... 38 3.21.1. Inparametrar... 38 3.21.2. Returvärde... 39 3.22. Funktion GetAllDiaryEntriesFromMission... 39 3.22.1. Inparametrar... 39 3.22.2. Returvärde... 39 3.23. Funktion GetAllFunctions... 39 3.23.1. Inparametrar... 39 3.23.2. Returvärde... 39 3.24. Funktion GetOwnFunctions... 40 3.24.1. Inparametrar... 40 3.24.2. Returvärde... 40 3.25. Metod SaveFunction... 40 3.25.1. Inparametrar... 40 3.25.2. Returvärde... 40 3.25.3. Anmärkning... 41 3.26. Metod DeleteFunction... 41 3.26.1. Inparametrar... 41 3.2. Returvärde... 42 3.27. Funktion GetUnitById... 43 3.27.1. Inparametrar... 43 3.27.2. Returvärde... 43 3.28. Funktion GetAllUnits... 43 3.28.1. Inparametrar... 43 3.28.2. Returvärde... 43 4. Klass DiaryEntry... 45 4.1. Egenskaper... 45 5. Klass Note... 47 5.1. Egenskaper... 47 6. Klass IncidentReport... 49 6.1. Egenskaper... 49 7. Klass Decision... 51 7.1. Egenskaper... 51 8. Klass Mission... 53 8.1. Egenskaper... 53 9. Klass Person... 55 9.1. Egenskaper... 55 10. Klass IncidentItem... 57 10.1. Egenskaper... 57 10.2. Klass AlertedUnits... 58 10.2.1. Egenskaper... 58

samhällsskydd och beredskap 6 (94) 10.3. Klass IncidentSite... 59 10.3.1. Egenskaper... 59 10.4. Klass Sector... 60 10.4.1. Egenskaper... 60 10.5. Klass ControlPoint... 61 10.5.1. Egenskaper... 61 10.6. Klass OperativeCommand... 63 10.6.1. Egenskaper... 63 11. Klass Unit... 65 11.1. Egenskaper... 65 12. Klass UnitType... 67 12.1. Egenskaper... 67 13. Klass LiaisonItem... 69 13.1. Egenskaper... 69 14. Klass LiaisonItemType... 71 14.1. Egenskaper... 71 15. Klass Skill... 73 15.1. Egenskaper... 73 16. Interface IUnitService... 75 16.1. Metoder... 75 1. Metod UpdatePosition... 75 1.1. Inparametrar... 75 1.2. Returvärde... 76 1.3. Anmärkning... 76 16.3. Metod SetStatus... 76 16.3.1. Inparametrar... 77 16.4. Metod SetStatusWithIncidentItemId... 77 16.4.1. Inparametrar... 78 16.5. Metod GPSLocationChanged... 79 16.5.1. Inparametrar... 79 17. LUPP API Notifieringstjänst... 81 17.1. Licens och utveckling... 81 17.2. Kontrakt... 81 18. Interface IAPINotificationService... 83 18.1. Metod Subscribe... 83 18.1.1. Inparametrar... 83 18.1.2. Returvärde... 83 18.2. Metod UnSubscribe... 84 18.2.1. Inparametrar... 84 18.2.2. Returvärde... 84 18.3. Metod Ping... 85

samhällsskydd och beredskap 7 (94) 18.3.1. Inparametrar... 85 18.3.2. Returvärde... 85 19. Interface IAPINotificationServiceCallback... 87 20. Exempel... 89 21. Bilagor... 89 Bilaga 1: KeyValidation.cs... 89 Bilaga 2: Implementation av KeyValidation... 93

samhällsskydd och beredskap 9 (94) 1. Dokumentets historia Namn Aktivitet 2013-04-03 Stefan Jönsson Vi har gjort djupare förändringar än man normalt gör i ett publicerat API i syfte att underlätta tillämpningen. Vi har tagit bort saker helt. Vi har även bytt namn på flera ställen för att göra namnsättningen logisk. De ändringar som gjorts kan återfinnas uppräknade nedan. Dessa ändringar har bedömts vara möjliga genom samråd med licenstagare till API:t. LUPP API kommer framledes att vara stabilt såsom ett API ska vara! Detta var en engångsföreteelse Ändrat namn på API från IMissionService till IAPIService. Lagt till ett notifieringsapi med namn IAPINotificationService. AddNote används ej från LUPP och framåt Lagt till SaveNote (används fr.o.m. LUPP 6.1) Lagt till SaveNoteXAML (används fr.o.m. LUPP 6.1) Lagt till SaveAndReturnNote, SaveAndReturnNoteXaml, SaveDecision och SaveIncidentReport. Ändrat namn på AddMission till SaveMission. Lagt till commandervalueisgiven på anropet SaveIncidentReport. Under Metod SaveMission: comment ändrat till description z (Z-koordinat) tillagt positionrefsystemid ändrat till projection index1name ändrat till caseindexname1 index2name ändrat till caseindexname2 index3name ändrat till caseindexname3 index1 ändrat till caseindex1 index2 ändrat till caseindex2 index3 ändrat till caseindex3 caseindexcomment tillagt commander tillagt commandervalueisgiven tillagt ApproachChannel borttaget RakelGroup borttaget SectorChannel borttaget Tagit bort Funktion Get Translation

samhällsskydd och beredskap 10 (94) Tagit bort Funktion Get Translations Under Klass Mission: AlarmNumber ändrat till ExternalCaseNumber ApproachChannel borttaget RakelGroup borttaget SectorChannel borttaget NonOfficerCount borttaget NonOfficers borttaget Officers borttaget Persons borttaget UnitCount borttaget Tagit bort systemhändelser AddSystemEvent borttaget GetAllSystemEvents borttaget DeleteSystemEvent borttaget RaiseSystemEvent borttaget

samhällsskydd och beredskap 11 (94) 2. Om LUPP API LUPP 6 har byggts på ett sätt som möjliggör att tredjepartsutvecklare kan utöka funktionaliteten. LUPP API (Application Programming Interface) är en regeluppsättning för hur andra applikationer kan kommunicera med LUPP. Dessa regler kan komma att utökas, men existerande regler kommer aldrig ändras på så sätt att tredjepartsapplikationer slutar fungera. Genom att utbyta information genom LUPP API säkerställs således funktionaliteten hos tredjepartsapplikationer, även om LUPP API utökas i senare versioner. LUPP API är en WCF-service som kan användas på distans (t.ex. över nätverk). LUPP API består av tre operations contract vid namn IAPIService, IAPINotificationsService och IUnitService. 2.1. Används redan Funktioner i LUPP API kommer att tas fram efterhand som behov uppstår. Ett antal funktioner i LUPP API har redan tagits fram och används i LUPP. LUPP Import, den funktion som läser information från t.ex. SOS Alarm:s larmfiler, använder LUPP API för att importera insatser till systemet. Aurorapositioneringen är ytterligare en funktion i LUPP Import, vilket gör att även positionshantering och statushantering finns i LUPP API. Just nu pågår arbete för att ta fram ett RSS-flöde 1 från LUPP API, där man kan få en aktuell lista över dagboksinnehållet, pågående verksamhet och resursstatus. Det kommer också att finnas en KML 2 -tjänst för att publicera information på olika kartor. Allt detta hämtar sin information från LUPP API. 2.2. Funktion För att få LUPP API att fungera behöver du ansluta mot tjänsten RIB Exchange. Den kan publicera ett metadatainterface för att enklare kunna ansluta sig till den under utvecklingsstadiet. 1 Really Simple Syndication (RSS) används för att visa text på webben, tillsammans med en länk till ursprungsplatsen, en så kallad syndikering. 2 Keyhole Markup Language (KML) är googles XML-format för geografisk information.

samhällsskydd och beredskap 12 (94) För att få tjänsten att publicera metadata lägger du in följande taggar i RIB Exchange.exe.config. Notera att det endast är taggar markerade i ljusgrått som skall läggas in. <?xml version="1.0" encoding="utf-8"?> <configuration>... <system.servicemodel> <behaviors> <servicebehaviors>... <behavior name="eventmissionservicebehavior" > <servicemetadata httpgetenabled="true" /> <servicedebug includeexceptiondetailinfaults="true"/> </behavior> </servicebehaviors> </behaviors> <services> <service name="msb.rib.lupp.services.unitpositioningservice" behaviorconfiguration="eventmissionservicebe havior"> <endpoint address="mex" binding="mexhttpbinding" contract="imetadataexchange"/> </service> <service name="msb.rib.lupp.services.api.service.apiservice" behaviorconfiguration="eventmissionservicebe havior"> <endpoint address="mex" binding="mexhttpbinding" contract="imetadataexchange"/> </service> <service name="msb.rib.lupp.services.api.service.notifications.apinotificationservice" behaviorconfigurat ion="eventmissionservicebehavior"> <endpoint address="mex" binding="mexhttpbinding" contract="imetadataexchange"/> </service> </services>... </system.servicemodel>... </configuration> Med ovanstående taggar inlagda (och RIB Exchange startad) kan du gå till följande adresser i en webbläsare för ytterligare stöd: http://localhost:7358/apiservice http://localhost:7358/apinotificationservice http://localhost:7358/unitpositioning Detta gör det enkelt att med WCF-verktyg skapa klienter som kan ansluta mot tjänsten. Ovanstående metadata-taggar skall av säkerhetsskäl inte följa med ut till slutanvändare. Används inte.net för att kommunicera med LUPP API går det bra att ansluta med hjälp av vanliga SOAP 1.2-meddelanden, då WCF använder denna standard. MSB kan dock inte lämna support för detta. 2.3. Licenshantering För att tredjepartsapplikationer ska kunna kommunicera med LUPP API behövs en licens. Denna licens kan fås från MSB (RIB support) mot att följande uppgifter lämnas: Organisation

samhällsskydd och beredskap 13 (94) Kontaktperson(er) Kontaktvägar (Telefon, mail och adress) Applikationens namn och version; t.ex Dittapplikationsnamn 1.1.000 Lösenord Kort beskrivning av applikationens syfte samt målgrupp Vid versionsuppräkning av tredjepartsapplikation ska ny licensfil begäras från MSB. Licensen består av en fil som läggs under Licenses-katalogen i RIB Exchange:s programkatalog. Dessutom skall varje anrop i sin SOAP-header ha ett antal extra rubriker med värden. Det enklaste sättet att implementera detta i.net är att använda en KeyValidation som läggs på ett Behavior som knyts till klienten. Med licensfilen från MSB erhålls också KeyValidation.cs som är en C#-fil med den kod som behövs. Se också bilagor under avsnitt 21. Licensen skyddar inte tredjepartsapplikationen från otillbörlig användning. Dess syfte och utformning är att skydda LUPP-tjänsten mot sådan användning. 2.4. Valideringen Filen KeyValidation gör det som beskrivs i detta avsnitt. Vill du göra detta själv följer här en steg-för-steg-beskrivning: 2.4.1. Klientimplementation Skapa två klasser, en klass som implementerar IEndpointBehavior och en klass som implementerar IClientMessageInspector. Implementera funktionen BeforeSendRequest för IClientMessageInspector. Lägg till följande SOAP-headers: MachineName: namnet på maskinen som kör applikationen. SessionId: vilken session som applikationen går i. ProcessId: Process id för applicationsinstansen. Culture: kulturinformationen (CultureInfo.CurrentCulture) som sträng. Application: Namnet på applikationen (exklusive versionnummer t.ex. Dittapplikationsnamn). Version: Versionen på din applikation (t.ex. 1.1.000). Contact: Lösenord. Key: Genererade licensnyckeln.

samhällsskydd och beredskap 14 (94) Implementera funktionen ApplyClientBehavior för IEndpointBehavior. Lägg till den nyss skapade message inspector, dvs. din instans av IClientMessageInspector. 2.4.2. Använd Behavior Vid skapandet av en service client lägg till din instans av IEndpointBehavior i service clientens endpoint. 2.5. Bra att veta Begrepp som det finns risk att förväxla är dagboksinlägg och dagboksanteckningar. Dagboksinlägg (diaryentries) är en övergripande benämning av allt som visas i dagbokslistan och innefattar därmed alla tre typerna; dagboksanteckning (note), lägesrapport (incidentreport) samt beslut (decision). 2.5.1. Listor I dokumentet skrivs generellt listningar av objekt som arrayer (t.ex. Guid[]). Via Servicereferenserna kan detta dock sättas till en av ett flertal olika collection-typer. 2.5.2. Frågetecken Typer som är angivna med frågetecken är nullningsbara (T.ex. DateTime? eller float?) vilket innebär att de är av typen Nullable<T> (t.ex. Nullable<DateTime> eller Nullable<float>.

samhällsskydd och beredskap 15 (94) 2.5.3. Klasser De klasser som anges i detta dokument används uteslutande för att hämta information från systemet. Alla metoder och funktioner för att skriva till systemet använder rena POCO 3 -parametrar för att ta indata. 3 POCO = Plain Old CLR Object: de objekt som ingår i grundutbudet för CLR i.net. Exempelvis String, Int32, Double, List<T>, etc. Egendefinierade klasser och strukturer är inte POCO, inte heller de klasser som beskrivs i detta dokument.

samhällsskydd och beredskap 17 (94) 3. Interface IAPIService Detta är det centrala gränssnittet för RIB Lupp Services API. Det är härigenom det mesta av kommunikationen in mot tjänsten sker. 3.1. Metoder Namn SaveMission GetAllMissions GetMission GetMissionId SaveNote SaveAndReturnNote SaveNoteXAML SaveAndReturnNoteXAML GetAllNotes GetNotes GetNotesFromMission GetNotesCount SaveDecision GetDecision SaveIncidentReport GetIncidentReport GetAllDiaryEntries GetDiaryEntry Beskrivning Skapar ett nytt insatsobjekt, eller uppdaterar ett befintligt (om samma external case id redan finns), och sparar det i databasen. Dessutom kommer insatsobjektet att publiceras för alla klienter som prenumererar. Hämtar alla insatser Hämtar en insats Returnerar ett id på en insats som har det angivna externa ärendenumret. Lägger till en ny dagboksanteckning i LUPPs dagbok. Lägger till en ny dagboksanteckning eller en ny version av en existerande dagboksanteckning i LUPPs dagbok, med eller utan bilagor, samt returnerar en identifierare för dagboksanteckningen. Lägger till en ny dagboksanteckning i LUPPs dagbok. Anteckningstexten ska vara formaterad i FlowDocument-format. Lägger till en ny dagboksanteckning eller en ny version av en existerande dagboksanteckning i LUPPs dagbok, med eller utan bilagor, samt returnerar en identifierare för dagboksanteckningen. Anteckningstexten ska vara formaterad i FlowDocument-format. Hämtar alla dagboksanteckningar Hämtar intervall av dagboksanteckningar Hämtar alla dagboksanteckningar tillhörande en specifik insats Hämtar antalet dagboksanteckningar Lägger till ett nytt beslut i LUPPs dagbok, med eller utan bilagor. Hämtar beslut Lägger till en ny lägesrapport (enligt OSHMIP) i LUPPs dagbok, med eller utan bilagor. Hämtar lägesrapport Hämtar alla dagboksinlägg Hämtar ett dagboksinlägg med angivet id

samhällsskydd och beredskap 18 (94) GetDiaryEntries GetAllDiaryEntriesFromMission GetAllFunctions GetUnitById GetUnits Hämtar intervall av dagboksinlägg Hämtar alla dagboksinlägg tillhörande en specifik insats Hämtar alla LUPP-funktioner (Inre befäl, Aurora, etc) Hämtar enhet Hämtar alla enheter 3.2. Metod SaveMission Skapar ett nytt insatsobjekt, eller ändrar ett befintligt, och sparar det till databasen. Objektet publiceras för alla klienter som abonnerar på det. 3.2.1. Inparameter Parameter Typ Beskrivning Obligatorisk Valfri Ignorerad externalcasenumber String Externt larmnummer (SOS ärendenr/larmnr etc.). Se anmärkning för insatsens namn nedan. casecreated DateTime? Tidpunkt när insatsen skapats. header String Den sträng som benämner insatsen: hur insatsen visas ( Visa som ). object String Objektbeskrivning. streetaddress String Gatuadress. description String Beskrivning. x Float? Koordinatens X-parameter. y Float? Koordinatens Y-parameter. z Float? Koordinatens Z-parameter.

samhällsskydd och beredskap 19 (94) Parameter Typ Beskrivning Obligatorisk Valfri Ignorerad projection String Projektion (srid). caseindexname1 String Namnet på index1. Se anmärkning för insatsens namn nedan. caseindexname2 String Namnet på index2. Se anmärkning för insatsens namn nedan. caseindexname3 String Namnet på index3. Se anmärkning för insatsens namn nedan. caseindex1 Int32 Själva index1-numret. caseindex2 Int32 Själva index2-numret. caseindex3 Int32 Själva index3-numret. caseindexcomment String Kommentar från externt system. zipcode String Postnummer city String Stad/ort/postort commander String Räddningsledaren commandervalueisgiven Bool Sann om räddningsledaren är angiven i inparametern Commander, falsk om räddningsledaren inte är angiven i Commander. Om detta värde är falskt ignoreras värdet i Commander, annars anges räddningsledaren till det värde som står i Commander, även null eller en tom sträng. function String Den funktion som gör ändringen. 3.2.2. Anmärkning: Insatsens namn ( Visa som ) Antingen header eller minst någon av caseindexnamen bör anges. Fälten caseindexnamen konkateneras med komma och mellanslag emellan och läggs till header. Notera att fältet header ej får överstiga 64 tecken. Den totala längden av caseindexname1, caseindexname2 och caseindexname3 får därför inte heller överstiga 60 tecken. Detta gäller också för andra namngivningsfält. Skulle inte header angivits tas namnet från caseindexnamen. Skulle inte caseindexname1 ha angivits tas namnet från object. Skulle inte heller object ha angivits tas namnet från externalcasenumber. I de fall inte heller externalcasenumber är angiven får insatsen namnet Okänd insats..

samhällsskydd och beredskap 20 (94) Insatsens namn uppdateras inte om insatsens namn inte tidigare var skriven via API, dvs. om en användare går in i LUPP och ändrar insatsens namn, eller om insatsen är skapad via LUPP så kan inte API ändra detta namn. 3.2.3. Returvärde Operationen returnerar inget värde. Observera Metoden är en envägs WCF-action. Dock kan funktionen generera callbacks innan den släpper kontrollen over din applikation. Du måste därför göra anrop till denna metod i en separat tråd. 3.2.4. Exempel /// <summary> /// This method saves a mission in a background worker and returns directly. /// </summary> public void SaveMission(string externalcasenumber, string casetype, DateTime? _ casecreated, string header, string @object, string streetaddress, string comment, _ float? x, float? y, float? z, string positionrefsystemid) { var missionserviceclient = new MissionServiceClient(); var savemissionbackgroundworker = new BackgroundWorker(); savemissionbackgroundworker.dowork += (a, b) => missionserviceclient. _ SaveMission(externalCaseNumber, casetype, casecreated, header, @object, _ streetaddress, comment, x, y, z, positionrefsystemid); savemissionbackgroundworker.runworkerasync(); } 3.3. Funktion GetAllMissions Hämtar alla insatser i databasen. 3.3.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad includeclosed bool Avgör om även avslutade insatser ska hämtas 3.3.2. Returvärde Operationen returnerar en lista av alla insatser, se 8.1.

samhällsskydd och beredskap 21 (94) 3.4. Funktion GetMission Returnerar en insats, givet angivet id. 3.4.1. Inparametrar Egenskap Typ Beskrivning id Guid Id på den insats man vill hämta. För att få tag i insatsens id om man har ett externt ärendenummer (externalcasenumber) se 3.5. Obligatorisk Valfri Ignorerad 3.4.2. Returvärde Operationen returnerar en insats, se 8.1. 3.5. Funktion GetMissionId Returnerar ett id på en insats som har det angivna externa ärendenumret. 3.5.1. Inparametrar Egenskap Typ Beskrivning externalcasenumber String Det externa ärendenummer vars id söks. Obligatorisk Valfri Ignorerad 3.5.2. Returvärde Operationen returnerar ett Nullable<Guid> innehållande id på insatsen, eller null om det externa ärendenumret inte hittas på en insats.

samhällsskydd och beredskap 22 (94) 3.6. Metod SaveNote Lägger till en dagboksanteckning i LUPPs dagbok. Om samma anteckning (med samma skapatdatum/tid, externt ärendenummer och text) redan existerar görs ingenting. Om en anteckning med samma skapatdatum/tid och externt ärendenummer men med en annan text redan existerar skapas en ny anteckning. För att spara i dagboken måste varje dagboksinlägg kopplas till en befintlig insats genom externalcasenumber. Funktionen är optimerad för snabbhet och returnerar kontrollen till den anropande klienten redan innan operationen är klar. Därför går det inte att få information om eventuella fel. Alla kontroller om att insatsen med det externa id:t existerar måste därför utföras innan anropet görs. Om ett dagboksinlägg skickas till en insats som inte existerar i LUPP (kan t.ex. ha raderats av användare) så kommer inte anteckningen att sparas. 3.6.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad externalcasenumber String Ärendenummer, externt larmnummer (SOS ärendenr/larmnr etc.) notecreated DateTime Tidpunkt när anteckningen skapats. comment String Anteckningstexten. function String Funktionen som skapat anteckningen. 3.. Returvärde Operationen returnerar inget värde

samhällsskydd och beredskap 23 (94) Observera Metoden är en envägs WCF-action. Dock kan funktionen generera callbacks innan den släpper kontrollen over din applikation. Du måste därför göra anrop till denna metod i en separat tråd. 3.6.3. Anmärkning Skulle behov finnas att lägga till bilagor eller få tillbaka ett id på den nyligen skapade anteckningen hänvisas till SaveAndReturnNote. Skulle behov finnas att formatera textsträngen (med fet, kursiv eller understruken stil, tabbar, etc) hänvisas till SaveNoteXAML eller SaveAndReturnNoteXaml. 3.6.4. Exempel Följande exempel visar hur en anteckning kan skapas (eller uppdateras) med denna API-metod: DateTime creationdatetime = DateTime.UtcNow; luppapi.savenote( "12-3456789-1", creationdatetime, "This note will be added.", "FUNCTION_AURORA"); 3.7. Funktion SaveAndReturnNote Lägger till eller uppdaterar dagboksanteckning i LUPPs dagbok. Med uppdatera menas att det i praktiken skapas en ny version av en existerande anteckning. Syftet med detta är att behålla spårbarhet av de ändringar som gjorts. Om samma anteckning (med samma skapatdatum/tid, externt ärendenummer och text) redan existerar görs ingenting. Om en anteckning med samma skapatdatum/tid och externt ärendenummer men med en annan text redan existerar skapas en ny anteckning. Se också rubrik 3.6.3. För att spara i dagboken måste varje dagboksinlägg kopplas till en befintlig insats genom externalcasenumber.

samhällsskydd och beredskap 24 (94) Funktionen är optimerad för snabbhet och returnerar kontrollen till den anropande klienten redan innan operationen är klar. Därför går det inte att få information om eventuella fel. Alla kontroller om att insatsen med det externa id:t existerar måste därför utföras innan anropet görs. Om ett dagboksinlägg skickas till en insats som inte existerar i LUPP (kan t.ex. ha raderats av användare) så kommer inte anteckningen att sparas. 3.7.1. Inparametrar Parameter Typ Beskrivning Obligatorisk Valfri Ignorerad externalcasenumber String Ärendenummer, externt larmnummer (SOS ärendenr/larmnr etc.) notecreated DateTime? Tidpunkt när anteckningen skapats. Saknas den används tidpunkten när anropet kommer in, i UTC. comment String Anteckningstexten. function String Funktionen som skapat anteckningen. notetoupdate Guid? Id på den dagboksanteckning som skall uppdateras, eller null om det är en ny anteckning. Med uppdateras innebär att en ny anteckning skapas och kopplas till den tidigare, vilket gör att returvärdet från denna funktion är unik. attachments 4 Bilagor, tom eller null om inga bilagor skall läggas till. Varje bilaga får maximalt vara 10 Mb (10485760 bytes) stor. 4 Parametern attachments är lista av typen KeyValuePair<string, byte[]>. Varje KeyValuePair<string, byte[]> representerar en bilaga, där nyckeln (string) är namnet på bilagan och värdet (byte[]) är bilagans innehåll.

samhällsskydd och beredskap 25 (94) 3.7.2. Returvärde Returnerar en Nullable<Guid>. Om operationen misslyckas returneras null, I annat fall returneras id på den dagboksanteckning som skapats och sparats. 3.7.3. Exempel Följande exempel visar hur en anteckning kan skapas (eller uppdateras) med denna API-metod: DateTime creationdatetime = DateTime.UtcNow; Guid? ret = luppapi.saveandreturnnote( "12-3456789-1", creationdatetime, "This note will be added.", "FUNCTION_AURORA", null, null); Debug.Assert(ret!= null); 3.8. Metod SaveNoteXAML Lägger till en dagboksanteckning i LUPPs dagbok. Texten ska vara FlowDocument-formaterad i XAML och enbart innehålla fet, kursiv och understruken text. Om samma anteckning (med samma skapatdatum/tid, externt ärendenummer och text) redan existerar görs ingenting. Om en anteckning med samma skapatdatum/tid och externt ärendenummer men med en annan text redan existerar skapas en ny anteckning. Denna funktion returnerar kontrollen fort till den anropande klienten, innan operationen är klar. Därför går det inte att få information om eventuella fel. Funktionen är också förhållandevis lättviktig; den är optimerad för snabbhet. Se också rubrik 3.6.3. För att spara i dagboken måste varje dagboksinlägg kopplas till en befintlig insats genom externalcasenumber. Funktionen är optimerad för snabbhet och returnerar kontrollen till den anropande klienten redan innan operationen är klar. Därför går det inte att få information om eventuella fel.

samhällsskydd och beredskap 26 (94) Alla kontroller om att insatsen med det externa id:t existerar måste därför utföras innan anropet görs. Om ett dagboksinlägg skickas till en insats som inte existerar i LUPP (kan t.ex. ha raderats av användare) så kommer inte anteckningen att sparas. 3.8.1. Inparametrar Parameter Typ Beskrivning Obligatorisk Valfri Ignorerad externalcasenumber String Ärendenummer, externt larmnummer (SOS ärendenr/larmnr etc.) notecreated DateTime? Tidpunkt när anteckningen skapats. Saknas den används tidpunkten när anropet kommer in, i UTC. comment String Anteckningstexten skriven som ett FlowDocument. Detta återfinns i TextFormatted-fältet i Noteobjektet, se 5.1. function String Funktionen som skapat anteckningen. 3.8.2. Returvärde Operationen returnerar inget värde. Observera Metoden är en envägs WCF-action. Dock kan funktionen generera callbacks innan den släpper kontrollen over din applikation. Du måste därför göra anrop till denna metod i en separat tråd. 3.8.3. Exempel Följande exempel visar hur en anteckning kan skapas med denna API-metod: DateTime creationdatetime = DateTime.UtcNow; var comment = @"<FlowDocument PagePadding=""5,0,5,0"" xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/pre

samhällsskydd och beredskap 27 (94) sentation""> <Paragraph><Run FontWeight="Bold" xml:space= "preserve">denna anteckning </Run><Run>kommer att läggas till</run></paragraph></flowdocument>"; luppapi.savenotexaml( "12-3456789-1", creationdatetime, comment, "FUNCTION_AURORA"); 3.9. Funktion SaveAndReturnNoteXAML Lägger till eller uppdaterar anteckning i LUPPs dagbok. Texten ska vara FlowDocument-formaterad i XAML och får enbart innehålla radbrytning, nytt stycke, fet, kursiv, och understruken text. Med uppdatera menas att det i praktiken skapas en ny version av en existerande anteckning. Syftet med detta är att behålla spårbarhet av de ändringar som gjorts. Om samma anteckning (med samma skapatdatum/tid, externt ärendenummer och text) redan existerar görs ingenting. Om en anteckning med samma skapatdatum/tid och externt ärendenummer men med en annan text redan existerar skapas en ny anteckning. Se också rubrik 3.6.3. För att spara i dagboken måste varje dagboksinlägg kopplas till en befintlig insats genom externalcasenumber. Funktionen är optimerad för snabbhet och returnerar kontrollen till den anropande klienten, redan innan operationen är klar. Därför går det inte att få information om eventuella fel. Alla kontroller om att insatsen med det externa id:t existerar måste därför utföras innan anropet görs. Om ett dagboksinlägg skickas till en insats som inte existerar i LUPP (kan t.ex. ha raderats av användare) så kommer inte anteckningen att sparas.

samhällsskydd och beredskap 28 (94) 3.9.1. Inparametrar Parameter Typ Beskrivning Obligatorisk Valfri Ignorerad externalcasenumber String Ärendenummer, externt larmnummer (SOS ärendenr/larmnr etc.) notecreated DateTime? Tidpunkt när anteckningen skapats. Saknas den används tidpunkten när anropet kommer in, i UTC. comment String Anteckningstexten. function String Funktionen som skapat anteckningen. notetoupdate Guid? Id på den anteckning som skall uppdateras, eller null om det är en ny anteckning. Med uppdateras innebär att en ny anteckning skapas och kopplas till den tidigare, vilket gör att returvärdet från denna funktion är unik. attachments Se nedan Bilagor, tom eller null om inga bilagor skall läggas till. Varje bilaga får maximalt vara 10 Mb (10485760 bytes) stor. Tabell 1: Inparametrar för SaveAndReturnNoteXAML Parametern attachments är av typen IEnumerable<KeyValuePair<string, byte[]>>. Varje KeyValuePair<string, byte[]> representerar en bilaga, där nyckeln (string) är namnet på bilagan och värdet (byte[]) är bilagans innehåll. 3.9.2. Returvärde Returnerar en Nullable<Guid>. Om operationen misslyckas returneras null, I annat fall returneras id på den dagboksanteckning som skapats och sparats. 3.9.3. Exempel Följande exempel visar hur en anteckning kan skapas (eller uppdateras) med denna API-metod: DateTime creationdatetime = DateTime.UtcNow; var comment = @"<FlowDocument PagePadding=""5,0,5,0"" xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/pre sentation"">

samhällsskydd och beredskap 29 (94) <Paragraph><Run FontWeight="Bold" xml:space= "preserve">denna anteckning </Run><Run>kommer att läggas till</run></paragraph></flowdocument>"; Guid? ret = luppapi.saveandreturnnotexaml( "12-3456789-1", creationdatetime, comment, "FUNCTION_AURORA", null, null); Debug.Assert(ret!= null); 3.10. Funktion GetAllNotes Returnerar alla dagboksanteckningar i databasen. 3.10.1. Inparametrar Parameter Typ Beskrivning getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. Obligatorisk Valfri Ignorerad 3.10.2. Returvärde Operationen returnerar en lista av Note-objekt (se 5.1). 3.11. Funktion GetNotes Hämtar anteckningar inom angivet intervall (angivna värden inkluderas). T.ex. kommer GetNotes(0,19) att returnera de första 20 anteckningarna. Detta är alla anteckningar, även från avslutade insatser, sorterade på när dagboksanteckningen skapades (Sorteras på UserTimestamp. Om inte UserTimeStamp angivits så sorteras på Created).

samhällsskydd och beredskap 30 (94) 3.11.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad from UInt32 Från-index to UInt32 Till-index getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. 3.11.2. Returvärde Operationen returnerar en lista av Note-objekt i enlighet med de angivna index (se 5.1 för Note-klassen). 3.12. Funktion GetNote Hämtar en anteckning givet anteckningens id. 3.12.1. Inparametrar Egenskap Typ Beskrivning id Guid Id på den anteckning som skall hämtas. getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. Obligatorisk Valfri Ignorerad 3.12.2. Returvärde Operationen returnerar ett Note-objekt (se 5.1 för Note-klassen).

samhällsskydd och beredskap 31 (94) 3.13. Funktion GetNotesFromMission Returnerar alla dagboksanteckningar för en specifik insats. 3.13.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad missionid Guid Insatsens id getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. 3.13.2. Returvärde Operationen returnerar en lista av Note-objekt som är knutna till den specificerade insatsen (se 5.1). 3.14. Funktion GetNotesCount Hämtar antalet dagboksanteckningar i dagboken, även från avslutade insatser. 3.14.1. Inparametrar Funktionen tar inga inparametrar. 3.14.2. Returvärde Operationen returnerar ett positivt heltal innehållande antalet anteckningar.

samhällsskydd och beredskap 32 (94) 3.15. Metod SaveDecision Lägger till ett nytt beslut i LUPPs dagbok. Om samma beslut (med samma skapatdatum/tid, externt ärendenummer och text) redan existerar görs ingenting. Om ett beslut med samma skapatdatum/tid och externt ärendenummer men med en annan text redan existerar skapas ett nytt beslut. Denna funktion returnerar kontrollen fort till den anropande klienten, innan operationen är klar. Därför går det inte att få information om eventuella fel. Funktionen är också förhållandevis lättviktig; den är optimerad för snabbhet. För att spara i dagboken måste varje anrop kopplas till en befintlig insats genom externalcasenumber. Funktionen returnerar dock så snabbt att inget felmeddelande kan skickas tillbaka. Det gör att alla kontroller om att insatsen med det externa id:t existerar måste göras innan anropet görs. Det har också det med sig att om insatsen genom en operatörs handgrepp i LUPP tas bort i LUPP så kan klienter fortsätta arbeta som om ingenting har hänt utan att få fel. 3.15.1. Inparametrar Parameter Typ Beskrivning Obligatorisk Valfri Ignorerad externalcasenumber String Externt larmnummer (SOS ärendenr/larmnr etc.) notecreated DateTime? Tidpunkt i UTC när anteckningen skapats. decisiontext String Beslutstexten en text som beskriver beslutet som är taget. decisiontype String Måste vara en av de värden som anges i Anmärkning (3.15.3). function String Funktionen som skapat anteckningen. previouscommander String Den tidigare räddningsledaren. Om decisiontype är DECISION_ CHANGE_COMMANDER är denna valfri, i alla andra fall ignoreras värdet. Om den inte anges kommer den tidigare räddningsledaren på beslutet att vara tom.

samhällsskydd och beredskap 33 (94) newcommander String Den nya räddningsledaren. Om decisiontype är DECISION_ CHANGE_COMMANDER är denna obligatorisk, i alla andra fall ignoreras värdet. Om den inte anges och decisiontype är DECISION_ CHANGE_COMMANDER kommer räddningsledaren att nollställas/tömmas. attachments Se nedan Bilagor, tom eller null om inga bilagor skall läggas till. Tabell 2: Inparametrar för SaveDecision Parametern attachments är av typen IEnumerable<KeyValuePair<string, byte[]>>. Varje KeyValuePair<string, byte[]> representerar en bilaga, där nyckeln (string) är namnet på bilagan och värdet (byte[]) är bilagans innehåll. 3.15.2. Returvärde Operationen returnerar inget värde. Observera Metoden är en envägs WCF-action. Dock kan funktionen generera callbacks innan den släpper kontrollen over din applikation. Du måste därför göra anrop till denna metod i en separat tråd. 3.15.3. Anmärkning De möjliga beslutstyperna som finns är: Beslutstyp DECISION DECISION_CHANGE_COMMANDER DECISION_INTERFERENCE DECISION_OFFICIAL_DUTY DECISION_CLOSE DECISION_OPEN Tabell 3: Beslutstyper Beskrivning Beslut Byte av räddningsledare Ingrepp i annans rätt Beslut om tjänsteplikt Avsluta räddningstjänst Återuppta räddningstjänst

samhällsskydd och beredskap 34 (94) 3.16. Funktion GetDecision Returnerar ett beslut, definierad av decisionid. 3.16.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad decisionid Guid Beslutets id. getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. 3.1. Returvärde Operationen returnerar ett beslut genom ett objekt av typen Decision, se 7.1. 3.17. Metod SaveIncidentReport (Nytt i ) Lägger till en ny lägesrapport i LUPPs dagbok. Om samma lägesrapport (med samma skapatdatum/tid, externt ärendenummer och text) redan existerar görs ingenting. Om en lägesrapport med samma skapatdatum/tid och externt ärendenummer men med en annan text redan existerar skapas en ny lägesrapport. Denna funktion returnerar kontrollen fort till den anropande klienten, innan operationen är klar. Därför går det inte att få information om eventuella fel. Funktionen är också förhållandevis lättviktig; den är optimerad för snabbhet. För att spara i dagboken måste varje anrop kopplas till en befintlig insats genom externalcasenumber. Funktionen returnerar dock så snabbt att inget felmeddelande kan skickas tillbaka. Det gör att alla kontroller om att insatsen med det externa id:t existerar måste göras innan anropet görs. Det har också det med sig att om insatsen genom en operatörs handgrepp i LUPP tas bort i LUPP så kan klienter fortsätta arbeta som om ingenting har hänt utan att få fel.

samhällsskydd och beredskap 35 (94) 3.17.1. Inparametrar Parameter Typ Beskrivning Obligatorisk Valfri Ignorerad externalcasenumber String Externt larmnummer (SOS ärendenr/larmnr etc.) notecreated DateTime? Tidpunkt i UTC när anteckningen skapats. function String Funktionen som skapat anteckningen. commander String Räddningsledare. Insatsen uppdateras om detta skiljer sig från vad som redan står i fältet för räddningsledare och commandervalueisgiven är satt till sann. commandervalueisgiven bool Ett värde som indikerar om inparametern commander är angiven eller inte. Är detta värde sant sätts räddningsledaren till värdet som står i commander, även om värdet skulle vara null eller en tom sträng. Är värdet falskt sätts inte räddningsledaren utan värdet i commander ignoreras. attachments Se nedan Bilagor, tom eller null om inga bilagor skall läggas till. objecttext String Objekt (OSHMIP) damagetext String Skada (OSHMIP) threattext String Hot (OSHMIP) goaltext String Mål (OSHMIP) operationtext String Inriktning (OSHMIP) prognosistext String Prognos (OSHMIP) missioncompletedestima tion DateTime? En uppskattning när insatsen kan vara avklarad. reportedby String Vem som gjort rapporteringen. Detta är inte kopplat till användare i LUPP eller på annat sätt. trendkey String Insatsens utvecklande trend. Kan vara ett begränsat antal värden, se Anmärkningar (3.17.3). prognosiskey String Insatsens resursprognos. Ingen koppling finns till OSHMIPprognosens text. Kan vara ett begränsat antal värden, se Anmärkningar (3.17.3).

samhällsskydd och beredskap 36 (94) Tabell 4: Inparametrar för SaveIncidentReport Parametern attachments är av typen IEnumerable<KeyValuePair<string, byte[]>>. Varje KeyValuePair<string, byte[]> representerar en bilaga, där nyckeln (string) är namnet på bilagan och värdet (byte[]) är bilagans innehåll. 3.17.2. Returvärde Operationen returnerar inget värde Observera Metoden är en envägs WCF-action. Dock kan funktionen generera callbacks innan den släpper kontrollen over din applikation. Du måste därför göra anrop till denna metod i en separat tråd. 3.17.3. Anmärkning De möjliga trendnycklar som finns är: Trendnyckel TREND_NOT_SPECIFIED TREND_DECLINING TREND_STATIC TREND_INCREASING Tabell 5: Trendnycklar Beskrivning Ej angiven Minskande skada Statisk skada Ökande skada De möjliga prognosnycklar som finns är: Prognosnyckel Beskrivning PROGNOSIS_NOT_SPECIFIED Ej angiven PROGNOSIS_TOO_MUCH För mycket resurser PROGNOSIS_SUFFICIENT Tillräckliga resurser PROGNOSIS_NOT_SUFFICIENT Behov av mer resurser Tabell 6: Prognosnycklar. Även inledande PROGNOSE och PROGNOS stöds.

samhällsskydd och beredskap 37 (94) 3.18. Funktion GetIncidentReport Returnerar en lägerrapport, definierad av incidentreportid. 3.18.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad incidentreportid Guid Lägesrapportens id. getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. 3.18.2. Returvärde Operationen returnerar en lägesrapport genom ett objekt av typen IncidentReport, se 6.1. 3.19. Funktion GetAllDiaryEntries Hämtar alla dagboksinlägg. Alla dagboksinlägg kommer i samma anrop. Detta anrop kan ta en stund, beroende på antalet inlägg som finns i databasen. För att hämta inläggen sidvis, se metoden GetDiaryEntries (3.21). 3.19.1. Inparametrar Parameter Typ Beskrivning getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. Obligatorisk Valfri Ignorerad 3.19.2. Returvärde Operationen returnerar en lista på alla dagboksinlägg på formen KeyValuePair<string, DiaryEntry> där strängen är antingen NOTE, INCIDENTREPORT eller DECISION. För DiaryEntry, se 4.1.

samhällsskydd och beredskap 38 (94) 3.20. Funktion GetDiaryEntry Hämtar ett dagboksinlägg med angivet id. 3.20.1. Inparametrar Egenskap Typ Beskrivning id Guid Ett Guid som identifierar det dagboksinlägg som skall hämtas. getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. Obligatorisk Valfri Ignorerad 3.20.2. Returvärde Operationen returnerar ett DiaryEntry-objekt med inlägget (se 4.1). Om inget dagboksinlägg finns med angivet id kommer null att returneras. 3.21. Funktion GetDiaryEntries Hämtar dagboksinlägg inom angivet intervall, inklusive både from och to. T.ex. kommer GetDiaryEntries(0,19) att returnera de första 20 dagboksinläggen. Sorteras på UserTimestamp. 3.21.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad from UInt32 Från-indexet to UInt32 Till-indexet getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med.

samhällsskydd och beredskap 39 (94) 3.21.2. Returvärde Operationen returnerar en lista av DiaryEntry på formen KeyValuePair<string, DiaryEntry> där nyckeln (string) är ett av NOTE, INCIDENTREPORT eller DECISION. För DiaryEntry, se rubrik 4.1. 3.22. Funktion GetAllDiaryEntriesFromMission Returnerar alla dagboksinlägg för den specificerade insatsen. 3.22.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad missionid Guid Insatsens id. getattachmentcontent String Anger om bilagors innehåll skall skickas med eller inte. Är parametern Sann skickas innehållet med, annars skickas inte innehållet med. 3.22.2. Returvärde Operationen returnerar en lista av alla dagboksinlägg som är knutna till insatsen. Returneras på formen KeyValuePair<string, DiaryEntry> där nyckeln (string) är ett av NOTE, INCIDENTREPORT eller DECISION. För DiaryEntry, se 4.1. 3.23. Funktion GetAllFunctions Hämtar alla funktioner som angivits i LUPPs inställningar och via API. 3.23.1. Inparametrar Metoden använder inga inparametrar. 3.23.2. Returvärde Operationen returnerar en lista av strängar av alla aktiva funktioner i databasen, beskrivna i klartext.

samhällsskydd och beredskap 40 (94) 3.24. Funktion GetOwnFunctions Hämtar alla de funktioner som angivits via API av den egna applikationen. Funktionen arbetar bara på applikationens egna funktioner. Vilken applikation det är hämtas från registreringsinformationen som används för licenshanteringen. 3.24.1. Inparametrar Metoden använder inga inparametrar. 3.24.2. Returvärde Operationen returnerar en katalog av strängar av alla aktiva funktioner i databasen, beskrivna i klartext som värde och med nyckel av funktionens id. 3.25. Metod SaveFunction Sparar en funktion för den egna applikationen. Finns det redan en funktion med angivet id ändras den, i annat fall skapas den ny. Metoden arbetar bara på applikationens egna funktioner. Vilken applikation det är hämtas från registreringsinformationen som används för licenshanteringen. 3.25.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad id Guid Funktionens id. function String Funktionens beteckning, dvs det som visas. 3.25.2. Returvärde Operationen returnerar inget värde.

samhällsskydd och beredskap 41 (94) Observera Metoden är en envägs WCF-action. Dock kan metoden generera callbacks innan den släpper kontrollen over din applikation. Du måste därför göra anrop till denna metod i en separat tråd. 3.25.3. Anmärkning Vid anrop där en funktion används rekommenderas att det är en funktion applikationen själv har skapat. I de fall då det redan finns en funktion för samma ändamål från systemet är det dock att föredra att denna systemfunktion används. Exempelvis finns det redan en funktion för SOS Alarm (FUNCTION_SOS_ALARM), så om applikationen skapar information i LUPP som kommit från CoordCom eller ett annat system hos SOS Alarm är det lämpligt att använda funktionen FUNCTION_SOS_ALARM. Funktionens functionkey skapas av texten API_ följt av applikationens namn utan versionsnummer, följd av funktionens id formatterat enligt formatsträngen D. Exempel: en funktion med id = 7144481E-A4BC-4DCB- 892E-7B2180085681 som skapats av en applikation med licensierat namn LUPP Import har en functionkey som lyder API_LUPP Import_7144481E- A4BC-4DCB-892E-7B2180085681. Det är inte lämpligt att bara skapa upp en funktion för livslängden på en programkörning och därefter ta DeleteFunction på den. Det är lämpligare att se detta som en funktion som körs i samband med installation och delete vid avinstallation av applikationen. 3.26. Metod DeleteFunction Tar bort en funktion för den egna applikationen. Detta bör göras i sådana fall att applikationen avinstalleras från systemet och inte kommer att finnas kvar på något sätt integrerat. Metoden arbetar bara på applikationens egna funktioner. Vilken applikation det är hämtas från registreringsinformationen som används för licenshanteringen. 3.26.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad id Guid Funktionens id.

samhällsskydd och beredskap 42 (94) 3.2. Returvärde Operationen returnerar inget värde. Observera Metoden är en envägs WCF-action. Dock kan metoden generera callbacks innan den släpper kontrollen over din applikation. Du måste därför göra anrop till denna metod i en separat tråd.

samhällsskydd och beredskap 43 (94) 3.27. Funktion GetUnitById Hämtar en enhet med specificerat id. 3.27.1. Inparametrar Egenskap Typ Beskrivning Obligatorisk Valfri Ignorerad id Guid Enhetens interna id. 3.27.2. Returvärde Operationen returnerar en enhet, se 11.1, eller null om ingen enhet har angivet id. 3.28. Funktion GetAllUnits Hämtar en lista på alla enheter. 3.28.1. Inparametrar Denna metod tar inga inparametrar. 3.28.2. Returvärde Operationen returnerar en lista av enheter, se 11.1.

samhällsskydd och beredskap 45 (94) 4. Klass DiaryEntry Dataobjektklassen för ett dagboksinlägg av den allmänna typen. 4.1. Egenskaper Namn Typ Beskrivning Id Guid Dagboksinläggets id. Attachments Attachment[] Lista med bilagor som hör till dagboksinlägget. Created DateTime Tidstämpel då dagboksinlägget skapades. InMainDiary Boolean Visar om dagboksinlägget tillhör huvuddagboken. IsDeleted Boolean Visar om dagboksinlägget är raderat (visas överstruket i dagboken). IsUserTimestampChanged Boolean Visar om tidsangivelsen ändrats av användaren eller är default värde då inmatningsdialogen öppnades. IsValid Boolean Visar om dagboksinlägget är en gällande version (senaste versionen). MissionId Guid Id för insatsen som dagboksinlägget tillhör. OriginalId Guid? Id för dagboksinläggets första version. TextFormatted String Formatterad text (ett FlowDocument) som XAML. UserFunction String Funktion i klartext för användaren som skapade dagboksinlägget. UserSignature String Signatur för användaren som skapade dagboksinlägget. UserTimestamp DateTime? och klockslag angivet av användaren. Version Int32 Dagboksinläggets versionsnummer.

samhällsskydd och beredskap 47 (94) 5. Klass Note Dataobjektklassen för ett dagboksinlägg av den specifika typen dagboksanteckning. 5.1. Egenskaper Namn Typ Beskrivning Id Guid Dagboksinläggets id Attachments Attachment[] Lista med bilagor som hör till dagboksinlägget Created DateTime Tidstämpel då dagboksinlägget skapades InMainDiary Boolean Visar om dagboksinlägget tillhör huvuddagboken IsAuto Boolean Visar om dagboksanteckningen är automatiskt genererad. IsDeleted Boolean Visar om dagboksinlägget är raderat (visas överstruket i dagboken) IsReadOnly Boolean Visar om dagboksanteckningen får rättas eller inte. IsUserTimestampChanged Boolean Visar om tidsangivelsen ändrats av användaren eller är default värde då inmatningsdialogen öppnades. IsValid Boolean Visar om dagboksinlägget är en gällande version (senaste versionen). MissionId Guid Id för insatsen som dagboksinlägget tillhör. OriginalId Guid? Id för dagboksinläggets första version. TextFormatted String Formatterad text UserFunction String Funktion för användaren som skapade dagboksinlägget UserSignature String Signatur för användaren som skapade dagboksinlägget UserTimestamp DateTime? och klockslag angivet av användaren Version Int32 Dagboksinläggets versionsnummer Text med kursiv stil ärvs från DiaryEntry.