IA-systemets Windows Communication Foundation tjänster Senast uppdaterad 3 oktober 2016 Sida 2 av 32 INNEHÅLL 1. INLEDNING ................................................................................................................................. 3 2. ÖVERSIKT .................................................................................................................................. 4 3. KONFIGURATION ...................................................................................................................... 5 3.1. Servicekonto ......................................................................................................................... 5 3.2. Roller .................................................................................................................................... 7 3.3. Lösenord för nya användare ................................................................................................ 8 4. HÄMTA DATA FRÅN IA-SYSTEMET ......................................................................................... 9 4.1. Exportera senaste händelse ................................................................................................ 9 4.2. Exportera antal händelser .................................................................................................. 11 4.3. Exportera åtgärder ............................................................................................................. 13 4.4. Exportera händelser ........................................................................................................... 15 4.4.1. Appendix ..................................................................................................................... 16 4.5. Exportera Flaggade händelser ........................................................................................... 17 5. SKICKA DATA TILL IA-SYSTEMET ......................................................................................... 19 5.1. Importera organisationen ................................................................................................... 19 5.2. Importera användare – Hierarkisk datastruktur .................................................................. 22 5.3. Importera användare – Flat datastruktur ............................................................................ 27 5.4. Importera åtgärder .............................................................................................................. 30 Sida 3 av 32 1. INLEDNING I IA-systemet finns olika tjänster som kan användas för integrationer med externa system. Importtjänster syftar till att automatisera och förenkla administrationen av organisationer i IAsystemet, exporttjänster används för att presentera information som finns i IA-systemet i ett externt system. Tjänsterna möjliggör även integration med ett arbetsordersystem, där arbetsorder kan hämtas från IA-systemet och uppdateras i IA-systemet. Alla tjänster är byggda på WCF (Windows Communication Foundation) och kan anropas av externa system oberoende av vilken plattform eller vilket programmeringsspråk som används. I listan nedan visas adressen till WCF för varje servermiljö. På dessa platser finns även en länk till WSDL för tjänsterna samt kodexempel. WSDL står för Web Services Description Language och är en XML-baserad standard för webbtjänster. WSDL anger hur tjänsten ska anropas samt beskriver detaljerat vilka datatyper, parametrar och objekt som används vid kommunikation med tjänsten. Servermiljö URL Acceptanstestmiljö https://iaat.afaforsakring.se/IAIntegrationWCF2/IaIntegrationSi.svc Produktion https://prevention.afa.se/IAIntegrationWCF2/IaIntegrationSi.svc Alla anrop till tjänsterna ska ske med HTTPS. Vid utveckling av funktionalitet för att kunna anropa tjänsterna ska acceptanstestmiljön används som testserver. Certifikaten kan laddas ner via adresserna ovan. Sida 4 av 32 2. ÖVERSIKT Service Beskrivning IsAlive Testar att tjänsten är aktiv. Anropas utan parametrar och returnerar ett svarsobjekt som innehåller ett booleskt värde. IsAliveWithDependencies Testar att tjänsten är aktiv och har koppling till databas. Anropas utan parametrar och returnerar ett svarsobjekt som innehåller ett booleskt värde. GetLatestOccurrence Hämtar senaste händelse i organisationen eller i en specifik enhet. Detta gäller för alla händelser förutom arbetssjukdom. GetOccurrenceCountByOrganizationalUnit Hämtar antalet händelser i organisationen eller i en specifik enhet för vald period. GetAction Hämtar åtgärder för vald period. SaveOrganizationalUnitsWithLogin Importerar organisationsstrukturen. SaveUsers Importerar användare med en hierarkisk datastruktur. SaveUsersFlat Importerar användare med en flat datastruktur. SaveAction Importerar åtgärder. GetOccurrenceExcelData Hämtar ett Exceldokument med händelser för vald period. GetFlaggedOccurrence Hämtar flaggade händelser i organisationen eller för en specifik enhet Sida 5 av 32 3. KONFIGURATION 3.1. SERVICEKONTO För att kunna använda WCF tjänsterna behövs en användare med rollen Servicekonto i er organisation. Denna användare skickas med i anropen av tjänsterna och identifierar vilken organisation som anropar dem. Den skapas av er superanvändare enligt instruktionerna nedan, och måste skapas både i acceptanstestmiljön och i produktionsmiljön. 1. Klicka på knappen Admin och fliken Roller. 2. Välj Servicekonto i vallistan Välj roll. 3. Klicka på knappen Spara längst ner på sidan för att aktivera rollen. Så fort rollen Servicekonto är aktiverad kan man skapa en användare med den rollen enligt följande steg: 1. Klicka på knappen Admin och fliken Användare. 2. Fyll i fälten Förnamn och Efternamn. Använd något ”allmänt” namn som t.ex. Vårt Servicekonto. 3. Ange Användarnamn och Lösenord. Sida 6 av 32 4. Fälten Anställningsenhet, Telefon och E-post samt kryssrutan Extern kontaktperson lämnar du tom. 5. Välj rollen Servicekonto. IA-systemet väljer automatiskt att rollen ska gälla för hela organisationen. 6. Bestäm, med hjälp av vallistan till höger om rollen, vilka händelsetyper som ska kunna 1 hanteras av servicekontot. 7. Klicka på Skapa. 1 Vill du markera flera händelsetyper håller du ner tangenten Ctrl. Sida 7 av 32 3.2. ROLLER För att kunna importera användare till IA-systemet måste de roller som berörs av importen ha minst en händelsetyp förvald. De roller man kan importera är Chef, Händelseansvarig och 2 Skyddsombud samt Utredare och åtgärdsutförare . Er superanvändare anger förvalda händelsetyper för dessa roller enligt följande steg: 1. Klicka på knappen Admin och fliken Roller. 2. Välj i vallistan under Välj roll en av rollerna Chef, Händelseansvarig, Skyddsombud och Utredare och åtgärdsutförare. 3. Markera de händelsetyper som ska vara förvalda i listan Händelsetyper. 3 4. Vill du att dessa händelsetyper ska vara förvalda när du skapar nya användare med den rollen, klickar du på den gröna knappen med två pilar. 5. Vill du lägga till dessa händelsetyper för samtliga användare som har rollen, klickar du på den gröna knappen med tre pilar. 6. Dina val flyttas till den högra listan, och de nya inställningarna sparas direkt utan att du behöver klicka på Spara. 7. Upprepa steg 2 till 6 för de andra rollerna som ni vill hantera genom importen. 2 3 Det är inte möjligt att importera rollen Utredare och rollen Åtgärdsutförare. Vill du markera flera alternativ samtidigt håller du ner tangenten Ctrl och vill du markera flera alternativ i rad håller du ner tangenten Shift. Sida 8 av 32 3.3. LÖSENORD FÖR NYA ANVÄNDARE För att kunna importera användare till IA-systemet måste ni ha angett ett standardlösenord för er organisation. Er superanvändare kan ange ett standardlösenord enligt följande steg: 1. Klicka på knappen Admin och fliken Användare. 2. Expandera rutan för Generella lösenordsinställningar 3. Fyll i det lösenord som ska gälla alla nya användare i rutan Lösenord. 4. Klicka på Spara. Sida 9 av 32 4. HÄMTA DATA FRÅN IA-SYSTEMET 4.1. EXPORTERA SENASTE HÄNDELSE Metod: GetLatestOccurrence Denna tjänst hämtar den senast registrerade händelsen av angiven händelsetyp. Händelsen kan hämtas från hela organisationen eller en specifik enhet. Tjänsten kan användas för alla händelsetyper förutom arbetssjukdom. Webbservicen anropas med ett XML-objekt som innehåller följande element: IncludeContractors: Anger om entreprenörer ska inkluderas i sökningen. IncludeLight: Anger om händelser som har statusen Rapporterad ska inkluderas. IncludeSubUnits: Anger om den valda enhetens underenheter ska inkluderas. OccurrenceType: Typ av händelse som ska hämtas. OrganizationalUnitName: Namnet på enheten där händelsen ska hämtas. Blank = hela organisationen. OrganizationalUnitType: Anger hur inskickad enhet ska hanteras i sökningen o Employment: enheten används som anställningsenhet o Occurrence: enheten används som händelseenhet o Both: enheten används som antingen händelseenhet eller anställningsenhet User: Servicekontots namn och lösenord. Exempeldata: <GetLatestOccurrence> <req> <IncludeContractors>true</IncludeContractors> <IncludeLight>true</IncludeLight> <IncludeSubUnits>true</IncludeSubUnits> <OccurrenceType>Accident</OccurrenceType> <OrganizationalUnitName>Enhet ABC</OrganizationalUnitName> <OrganizationalUnitType>Both</OrganizationalUnitType> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> </req> </GetLatestOccurrence> Sida 10 av 32 Webbservicen skickar ett XML-svarsobjekt som innehåller resultatet för anropet. Följande element finns i svarsobjektet: ErrorText: Feltext, blank = OK. CourseOfEvent: Beskrivning av händelsen. OccurrenceId: Händelsens ID i IA-systemet. OccurrencePeriod: Datum och klockslag när händelsen inträffade. OccurrenceType: Händelsetyp i klartext. OrganizationalUnitName: Namnet på enheten där händelsen inträffade. Exempeldata: <GetLatestOccurrenceResponse> <GetLatestOccurrenceResult> <ErrorText /> <CourseOfEvent>Klämde fingret på nedtagningsbordet</CourseOfEvent> <OccurrenceId>7858585</OccurrenceId> <OccurrencePeriod>2015-02-06T04:00:00</OccurrencePeriod> <OccurrenceType>ZeroAccident</OccurrenceType> <OrganizationalUnitName>Enhet ABC</OrganizationalUnitName> </GetLatestOccurrenceResult> </GetLatestOccurrenceResponse> Sida 11 av 32 4.2. EXPORTERA ANTAL HÄNDELSER Metod: GetOccurrenceCountByOrganizationalUnit Hämtar antalet händelser som har registrerats i organisationen eller i en specifik enhet under angiven tidsperiod. Webbservicen anropas med ett XML-objekt som innehåller följande element: IncludeContractors: Anger om entreprenörer ska inkluderas i sökningen. IncludeLight: Anger om händelser som har statusen Rapporterad ska inkluderas. IncludeSubUnits: Anger om den valda enhetens underenheter ska inkluderas. OrganizationalUnitName: Namnet på enheten där händelserna ska hämtas. Blank = hela organisationen. OrganizationalUnitType: Anger hur inskickad enhet ska hanteras i sökningen o Employment: enheten används som anställningsenhet o Occurrence: enheten används som händelseenhet o Both: enheten används som antingen händelseenhet eller anställningsenhet PeriodEnd: Slutdatum, blank = 2050-01-01. PeriodStart: Startdatum, blank = 1900-01-01. PeriodType: Anger om man vill söka på händelse- eller rapporteringsdatum. User: Servicekontots namn och lösenord. Exempeldata: <GetOccurrenceCountByOrganizationalUnit> <req> <IncludeContractors>true</IncludeContractors> <IncludeLight>true</IncludeLight> <IncludeSubUnits>true</IncludeSubUnits> <OrganizationalUnitName /> <PeriodEnd>2012-04-27</PeriodEnd> <PeriodStart>2012-01-01</PeriodStart> <PeriodType>Occurrence</PeriodType> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> </req> </GetOccurrenceCountByOrganizationalUnit> Sida 12 av 32 Webbservicen skickar ett XML-svarsobjekt som innehåller resultatet för anropet. Följande element finns i svarsobjektet: ErrorText: Feltext, blank = OK. Count: Antalet händelser. OccurrenceType: Typ av händelse. OrganizationalUnitName: Namnet på enheten där händelserna inträffat. Blank = hela organisationen. Exempeldata: <GetOccurrenceCountByOrganizationalUnitResponse> <GetOccurrenceCountByOrganizationalUnitResult> <ErrorText /> <OccurrenceCount> <Count>10</Count> <OccurrenceType>Accident</OccurrenceType> </OccurrenceCount> <OccurrenceCount> <Count>7</Count> <OccurrenceType>CommutingAccident</OccurrenceType> </OccurrenceCount> <OrganizationalUnitName /> </GetOccurrenceCountByOrganizationalUnitResult> </GetOccurrenceCountByOrganizationalUnitResponse> Sida 13 av 32 4.3. EXPORTERA ÅTGÄRDER Metod: GetAction Denna tjänst används för att hämta en eller flera åtgärder från IA-systemet. Tjänsten kan användas för att integrera med ett arbetsordersystem. Åtgärder som har skapats eller ändrats i IA-systemet under en specificerad tidsperiod, men som inte har klarmarkerats, kan exporteras till ett externt system. För att använda denna tjänst måste ni själva bygga en tjänst som schemaläggs hos er, t.ex. för att köras varje natt. Er tjänst kommer att anropa IA-systemet via ert servicekonto för att säkerställa att rätt uppgifter exponeras. Webbservicen anropas med ett XML-objekt som innehåller följande element: OccurrencePeriodEnd: Inkluderar alla åtgärder som är skapade eller ändrade innan detta datum. Blank = 2050-01-01. OccurrencePeriodStart: Inkluderar alla åtgärder som är skapade eller ändrade efter detta datum. Blank = 1900-01-01. User: Servicekontots namn och lösenord. Exempeldata: <GetAction> <Req> <OccurrencePeriodEnd>2015-01-01</OccurrencePeriodEnd> <OccurrencePeriodStart>2015-12-31</OccurrencePeriodStart> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> </Req> </GetAction> Webbservicen skickar ett XML-svarsobjekt som innehåller resultatet för anropet. Varje åtgärd (Action) beskrivs med följande element: ActionId: ÅtgärdsID, ett unikt referensnummer för åtgärden i IA-systemet. ActionNo: Arbetsordernummer. ActionOwnerExternalId: ExternID, ett unikt ID för den användare i IA-systemet som står som utförare av åtgärden. ActionOwnerOther: Annan utförare, om en sådan har angetts i IA-systemet. ActionStep: Åtgärdssteg. ActionText: Åtgärdstext. ActionTitle: Åtgärdsrubrik. Sida 14 av 32 EstimatedCompletionDate: Datum då åtgärden är beräknad att vara klar. Om åtgärden är klar anger EstimatedCompletionDate i stället datumet då åtgärden blev klar. OccurrenceNo: En unik referens till händelsen i IA. OrganizationalUnitExternalId: ExternID, ett unikt ID för den enhet i IA-systemet där åtgärden registrerades. OrganizationalUnitName: Namnet på den enhet i IA-systemet där åtgärden registrerades. ResponsibleExternalId: ExternID, ett unikt ID för den användare i IA-systemet som är ansvarig för händelsen som åtgärden tillhör. ResponsibleName: Namnet på den användare i IA-systemet som är ansvarig för händelsen som åtgärden tillhör. Exempeldata: <GetAction> <Actions> <ActionId>800200</ActionId> <ActionNo>ABC3828-Y162</ActionNo> <ActionOwnerExternalId>PelleJohansson</ActionOwnerExternalId> <ActionOwnerOther>Pelle Johansson</ActionOwnerOther> <ActionStep>Elimination</ActionStep> <ActionText>Beskrivning</ActionText> <EstimatedCompletionDate>2015-05-01</EstimatedCompletionDate> <OccurrenceNo>2014-233</OccurrenceNo> <OrganizationalUnitExternalId>2014-233</OrganizationalUnitExternalId> <OrganizationalUnitName>1234</OrganizationalUnitName> <ResponsibleExternalId>5678</ResponsibleExternalId> <ResponsibleName>Hans Johansson</ResponsibleName> </Actions> </GetAction> Sida 15 av 32 4.4. EXPORTERA HÄNDELSER Metod: GetOccurrenceExcelData Denna tjänst används för att hämta en Excelfil med händelser. Filen ska sparas till disk som en XLS-fil. Data kan hämtas för maximalt ett år. Excelfilen är samma fil som kan hämtas i IA-systemet under Analys - Exportera data. För att använda denna tjänst måste ni själva bygga en tjänst som schemaläggs hos er, t.ex. för att köras varje natt. Er tjänst kommer att anropa IA-systemet via ert servicekonto för att säkerställa att rätt uppgifter exponeras. Observera! Händelser som har markerats med Begränsad åtkomst kommer inte med i exporten. Användare kan byta händelsetypen för redan registrerade händelser. Det betyder att en händelse kan registreras som tillbud och senare klassas om som olycksfall. Händelsen kan därför ena dagen ligga på fliken för tillbud i Excelfilen och nästa dag på fliken för olycksfall. Webbservicen anropas med ett XML-objekt som har följande element: PeriodStart: Startdatum. PeriodEnd: Slutdatum. Kan vara högst ett år efter PeriodStart. PeriodType: Anger om perioden avser händelsedatum (Occurrence), ändringsdatum (Change) eller rapporteringsdatum (Registration). HideEmptyColumns: Om det sätts till sant, döljs alla kolumner som inte innehåller data. ShowStaticColumns: Om det sätts till sant, visas flik- och kolumnnamn med fasta namn. ExportDataVersion: Anger version av tjänst. User: Servicekontots namn och lösenord. Exempeldata: <GetOccurrenceExcelData> <Req> <PeriodStart>2016-01-01</PeriodStart> <PeriodEnd>2016-01-31</PeriodEnd> <PeriodType>Registration</PeriodType> <HideEmptyColumns>false</HideEmptyColumns> <ShowStaticColumns>true</ShowStaticColumns> Sida 16 av 32 <ExportDataVersion>1</ExportDataVersion> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> </Req> </GetOccurrenceExcelData> Webbservicen skickar ett XML-svarsobjekt som innehåller resultatet för anropet. FileContent: Byte-array som innehåller Excelfilen (XLS-fil). ErrorText: Feltext, blank = OK. Exempeldata: <GetOccurrenceExcelDataResponse> <ErrorText></ErrorTtext> <FileContent>54 68 69 73 20 77</FileContent> </GetOccurrenceExcelDataResponse> 4.4.1. Appendix Om du vill se en sammanställning över Excelexporten kan du titta på dokumentet Appendix till dokument Webbtjänster. Sida 17 av 32 4.5. EXPORTERA FLAGGADE HÄNDELSER Metod: GetFlaggedOccurrences Hämtar flaggade händelser som har registrerats i organisationen eller i en specifik enhet under angiven tidsperiod. Webbservicen anropas med ett XML-objekt som innehåller följande element: OccurrencePeriodEnd: Slutdatum, blank = 2050-01-01. OccurrencePeriodStart: Startdatum, blank = 1900-01-01. IncludeSubUnits: Anger om den valda enhetens underenheter ska inkluderas. OrganizationalUnitName: Namnet på enheten där händelserna ska hämtas. Blank = hela organisationen. User: Servicekontots namn och lösenord. Exempeldata: <GetFlaggedOccurrences> <req> <OccurrencePeriodEnd>2012-04-27</OccurrencePeriodEnd> <OccurrencePeriodStart>2012-01-01</OccurrencePeriodStart> <IncludeSubUnits>true</IncludeSubUnits> <OrganizationalUnitName /> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> </req> </GetFlaggedOccurrences> Webbservicen skickar ett XML-svarsobjekt som innehåller resultatet för anropet. Följande element finns i svarsobjektet: ErrorText: Feltext, blank = OK. FlagText: Flaggningstexten. FlagTitle: Flaggningens rubrik. OccurrenceDate: Händelsedatum. OccurrenceDescription: Händelseförloppet. OccurrenceID: Händelsens interna ID. OccurrenceNumber: Händelsens löpnummer. OccurrenceTitle: Händelserubriken. OrganizationalUnitName: Namnet på enheten där händelsen inträffat. Sida 18 av 32 Exempeldata: <GetFlaggedOccurrencesResponse> <GetFlaggedOccurrencesUnitResult> <ErrorText /> <FlaggedOccurence> <FlagText>Idag inträffade en allvarlig händelse med…</FlagText > <FlagTitle>Allvarlig händelse</FlagTitle> <OccurrenceDate>2016-06-01</OccurrenceDate> <OccurrenceDescription>Skulle ta loss en…</OccurrenceDescription> <OccurrenceID>1</OccurrenceID> <OccurrenceNumber>123</OccurrenceNumber> <OccurrenceTitle>Skada då…</OccurrenceTitle> <OrganizationalUnitName>Enhet 1</OrganizationalUnitName> </FlaggedOccurence> </GetFlaggedOccurrencesResult> </GetFlaggedOccurrencesResponse> Sida 19 av 32 5. SKICKA DATA TILL IA-SYSTEMET 5.1. IMPORTERA ORGANISATIONEN Metod: SaveOrganizationalUnitsWithLogin Organisationen består av hierarkisk information om enheter. En enhet kan vara en anställningsenhet, en händelseenhet eller både anställnings- och händelseenhet. En enhet kan ha enheter hierarkiskt över och under sig. En organisation importeras på något av följande sätt: Förändring (Change): De enheter som finns i anropet uppdateras eller läggs till i IAsystemet. De enheter som finns i IA-systemet men som inte finns i anropet påverkas inte av importen. Förkommer det enheter som valideras fel kommer dessa enheter inte att importeras. Total (Total): De enheter som finns i anropet uppdateras eller läggs till i IA-systemet. De enheter som finns i IA-systemet men som inte finns i anropet tas bort. Har de händelser, riskhanteringar eller användare kopplade till sig inaktiveras dem i stället. Förekommer det en eller flera enheter som valideras fel kommer ingen enhet att importeras. Det måste finnas minst en enhet i anropet som har en referens till rotnoden, d.v.s. den högsta nivån i organisationsträdet, genom att ExternalIdParent sätts till 0. Vid en organisationsimport så får det inte förekomma: Fler än 99 nivåer i trädet för att förhindra evig loop. Anställningsenhet under en händelseenhet och vice versa. Aktiv enhet under en inaktiv enhet. Aktiv enhet eller inaktiv enhet under en raderad enhet. Webbservicen anropas med ett XML-objekt som innehåller följande element: User: Servicekontots namn och lösenord. ImportType: Typ av import, antingen Total eller Change. OrganizationalUnits: Anger en eller flera enheter som ska importeras. Varje enhet (OrganizationalUnit) beskrivs med följande element: ExternalId: ExternID, ett unikt ID för enheten. Det är en textsträng som är 1-50 tecken lång. Name: En textsträng som är 1-100 tecken och som anger enhetens namn. Namnet måste vara unikt i hela organisationen. ExternalIdParent: Ett unikt ID för den enhet som ligger över den aktuella enheten. o Anges 0 ska den aktuella enheten ligga under den högsta noden i trädet. Sida 20 av 32 o ExternalIdParent får inte vara detsamma som den aktuella enhetens ExternalId. o ExternalIdParent måste vara ett ExternalId för en annan enhet som finns i trädet eller 0 för att peka på översta nivån i trädet. Type: Anger om enheten är en händelseenhet, anställningsenhet eller båda. CFarNr: Enhetens CFAR-nummer. Det är en textsträng med 7 siffror. Det är valfritt men behövs för anmälningar till Försäkringskassan. Om du inte vet ert/era CFAR-nummer kan du söka upp dem på www.cfarnrsok.scb.se. Status: Enhetens status. För totalimport ska status anges som Active, för förändringsimport anges någon av följande: o Active: Skapar en ny eller uppdaterar en befintlig enhet, och sätter den som aktiv. o Inactive: Skapar en ny eller uppdaterar en befintlig enhet, och sätter den som inaktiv. o Deleted: Raderar enheten. Har enheten händelser, användare eller riskhanteringar kopplat till sig, inaktiveras den i stället för att tas bort. Exempeldata: <SaveOrganizationalUnitsWithLogin> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> <ImportType>Total</ImportType> <OrganizationalUnits> <OrganizationalUnit> <ExternalId>1</ExternalId> <Name>Enhet 1</Name> <CfarNr>12345678</CfarNr> <ExternalIdParent>0</ExternalIdParent> <Type>Both</Type> <Status>Active</Status> </OrganizationalUnit> <OrganizationalUnit> <ExternalId>1.1</ExternalId> <Name>Enhet 1.1</Name> <ExternalIdParent>1</ExternalIdParent> <Type>Employment</Type> <Status>Active</Status> </OrganizationalUnit> <OrganizationalUnit> <ExternalId>1.2</ExternalId> <Name>Enhet 1.2</Name> <ExternalIdParent>1</ExternalIdParent> Sida 21 av 32 <Type>Occurrence</Type> <Status>Active</Status> </OrganizationalUnit> </OrganizationalUnits> </SaveOrganizationalUnitsWithLogin> Webbservicen skickar ett XML-svarsobjekt som innehåller ett eller flera resultat för varje enhet i organisationsimporten. Följande element finns i svarsobjektet: ErrorText: Feltext, blank = OK. ExternalId: Enhetens ExternID. Message: Ett meddelande eller felmeddelande för varje enhet. Status: OK eller Error för enheten. Exempeldata: <SaveOrganizationalUnitsResponse> <ErrorText /> <Result> <ImportResult> <ExternalId>1</ExternalId> <Message>Changed</Message> <Status>Ok</Status> </ImportResult> <ImportResult> <ExternalId>1.1</ExternalId> <Message>No change</Message> <Status>Ok</Status> </ImportResult> <ImportResult> <ExternalId>1.2</ExternalId> <Message>No change</Message> <Status>Ok</Status> </ImportResult> </Result> </SaveOrganizationalUnitsResponse> Sida 22 av 32 5.2. IMPORTERA ANVÄNDARE – HIERARKISK DATASTRUKTUR Metod: SaveUsers Denna import används om ni har informationen om era användare i en hierarkisk datastruktur, till exempel i ert personalsystem. Ni kan skapa, radera eller uppdatera användarkonton i IAsystemet genom denna tjänst. Ni måste ha angett ett förvalt lösenord för hela organisationen för 4 att kunna importera användare. Alla nya användare måste byta lösenordet vid första inloggningen. Alla uppgifter om användaren måste skickas varje gång. Det betyder att även om bara namnet har ändrats måste behörigheterna skickas igen. Användare importeras på något av följande sätt: Förändring (Change): De användare som finns i anropet uppdateras eller läggs till i IAsystemet. De användare som finns i IA-systemet men som inte finns i anropet påverkas inte av importen. Förkommer det användare som valideras fel kommer dessa användare inte att importeras. Total (Total): De användare som finns i anropet uppdateras eller läggs till i IA-systemet. De användare som finns i IA-systemet men som inte finns i anropet tas bort. Har de ansvar för händelser eller riskhanteringar inaktiveras dem i stället. Förekommer det en eller flera användare som valideras fel kommer ingen användare att importeras. Har ni angett en e-postadress för serviceanvändaren i IA-systemet skickas en lista över de nya användarkontona efter avslutad import. Följande fyra roller kan konfigureras för varje användare genom importen: Chef (Manager) Händelseansvarig (OccurrenceManager) Skyddsombud (OHSRepresentative) Utredare och åtgärdsutförare (InvestigatorAndActionOwner) 5 Roller som finns med i importen måste ha minst en förvald händelsetyp i IA-systemet. En användare kan ha flera roller samtidigt, men rollen skyddsombud kan inte kombineras med någon av rollerna chef eller händelseansvarig. Roller som inte hanteras av importen kommer inte att beröras av importen. Om en användare t.ex. har rollen utredare i IA-systemet och importeras som chef ska rollen utredare inte ändras. Däremot kommer rollen chef att läggas till eller ändras. För varje användare som förekommer i importen görs följande validering: 4 5 Kontroll att varje roll endast förekommer en gång. Kontroll att varje enhet bara förekommer en gång för varje roll. Läs mer om hur du anger ett förvalt lösenord i avsnitt 3.3. Läs mer om hur du anger förvalda händelsetyper i avsnitt 3.2. Sida 23 av 32 Om användarens status är Active måste information om behörigheten (roller och enheter där rollerna gäller) vara angiven. Om användarens status är Deleted tillåts att information om behörigheten saknas (gäller vid förändringsimport). Om användarnamnet inte är unikt kommer IA-systemet att föreslå ett nytt unikt användarnamn. Om detta inte är möjligt genereras ett felmeddelande. ExternID för användarens anställningsenhet och för enheten där användaren har sin roll måste finnas. Vid uppdatering av användare gäller följande: Om användaren finns sedan tidigare men är inaktiv, aktiveras användaren och få de nya rollerna. Om användaren finns sedan tidigare men är spärrad (p.g.a. felaktiga lösenord) blir användarkontot upplåst. Om användarkontot finns sedan tidigare med samma användarnamn men utan ExternID kommer det att uppdateras med ExternID:t som finns i anropet. Om användarkontot finns på ett annat företag i samma koncern kommer det kontot att kopplas till företaget som anropet görs ifrån. Vid radering av användare gäller följande: Om en användare som tidigare importerats saknas i anropet för totalimport raderas användaren. Har användaren roller som inte hanteras av importen så ligger dessa kvar på användaren. I så fall raderas användarkontot inte, men de roller som hanteras av importen tas bort från användaren. Om en användare som tidigare importerats har status Deleted vid förändringsimport raderas användarkontot. Det gäller även om användaren har roller som inte hanteras av importen. Finns händelser kopplade till användarkontot inaktiveras kontot i stället för att raderas. När en användare med rollen chef eller händelseansvarig inaktiveras, flyttas i vissa fall händelser som inte är klara över till en ny händelseansvarig. Det gäller: o om det finns en, och endast en, användare med rollen chef eller händelseansvarig på samma enhet. o om det finns flera användare med rollen chef eller händelseansvarig på samma enhet men en utav dem, och endast en, är angiven som förvald händelseansvarig för enheten. I annat fall kan IA-systemet inte sätta en ny händelseansvarig för dessa händelser. Händelseansvaret kommer då att ligga kvar på den inaktiverade personen. Webbservicen anropas med ett XML-objekt som innehåller följande element: User: Servicekontots namn och lösenord. ImportType: Typ av import, antingen Total eller Change. Sida 24 av 32 IAUsers: Anger en eller flera användare som ska importeras. Varje användare (IAUser) beskrivs med följande element: ExternalId: ExternID, ett unikt ID för användaren, 1-50 tecken lång. Firstname: Förnamn, 1-50 tecken lång. Surename: Efternamn, 1-50 tecken lång. Username: Användarnamn, 1-50 tecken lång. Måste vara unikt i hela IA-systemet. Status: Användarens status, Active eller Deleted. Email: E-postadress, 0-50 tecken lång. Kan utelämnas. EmploymentUnitExternalId: ExternID för enheten där användaren är anställd, 0-50 tecken lång. Kan utelämnas. Authorizations: Rollerna som användaren har samt på vilka enheter de gäller. Kan vara 0-2 roller. Behörigheten (Authorizations) för användaren beskrivs med följande element: Role: Rollen som användaren har i IA-systemet. Kan vara chef (Manager), händelseansvarig (OccurrenceManager), skyddsombud (OHSRepresentative) eller Utredare och åtgärdsutförare (InvestigatorAndActionOwner). Units: Lista över enheter där rollen gäller. Enheterna listas med sitt ExternID. ExternalId: ExternID för enheten där rollen gäller, 0-50 tecken lång. Blank = hela organisationen. Enheten kan vara inaktiv, och den kan vara händelse- eller anställningsenhet eller både och. Exempeldata för import av två användarkonton, observera att den andra användaren raderas från IA-systemet: <SaveUsers> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> <ImportType>Change</ImportType> <IAUsers> <IAUser> <ExternalId>User 1</ExternalId> <FirstName>Agnes</FirstName> <SurName>Larsson</SurName> <UserName>Agnes123</UserName> <Status>Active</Status> <Email>[email protected]</Email> <EmploymentUnitExternalId>Unit 1</EmploymentUnitExternalId> <Authorizations> Sida 25 av 32 <Authorization> <Role>Manager</Role> <Units> <ExternalId>Unit 1</ExternalId> <ExternalId>Unit 2</ExternalId> </Units> </Authorization> <Authorization> <Role>OccurrenceManager</Role> <Units> <ExternalId>Unit 3</ExternalId> </Units> </Authorization> </Authorizations> </IAUser> <IAUser> <ExternalId>User 2</ExternalId> <FirstName>Anders</FirstName> <SurName>Johansson</SurName> <UserName>Anders123</UserName> <Status>Deleted</Status> <Email></Email> <EmploymentUnitExternalId></EmploymentUnitExternalId> <Authorizations></Authorizations> </IAUser> </IAUsers> </SaveUser> Webbservicen skickar ett XML-svarsobjekt som innehåller ett eller flera resultat för varje användare i importen. Följande element finns i svarsobjektet: ErrorText: Feltext, blank = OK. ExternalId: Användarens ExternID. Message: Ett meddelande eller felmeddelande för varje användare. Status: OK eller Error för användaren. Exempeldata: <SaveUser> <ErrorText /> <Result> <ImportResult> <ExternalId>User 1</ExternalId> <Message>Changed</Message> <Status>Ok</Status> Sida 26 av 32 </ImportResult> <ImportResult> <ExternalId>User 2</ExternalId> <Message>Deleted</Message> <Status>Ok</Status> </ImportResult> </Result> </SaveUser> Sida 27 av 32 5.3. IMPORTERA ANVÄNDARE – FLAT DATASTRUKTUR Metod: SaveUsersFlat Denna import används om ni har informationen om era användare i en platt datastruktur, till exempel i ett Excel-ark. I det här fallet innehåller datastrukturen ingen hierarkisk uppsättning av ert organisationsträd. Reglerna för denna import är dock desamma som för användarimporten som beskrivs i avsnitt 5.2. Observera! Om en användare har behörigheter på flera avdelningar anges användaren flera gånger, men med olika data i elementen Role och/eller OccurrenceUnitExternalId. Om en användare förekommer flera gånger men med olika uppgifter i ett och samma element, t.ex. Email, kommer endast den sista förekomsten av det elementet sparas i IAsystemet. Undantaget från detta är elementen Role och OccurrenceUnitExternalId. Varje användare (IAUser) beskrivs med följande element: ExternalId: ExternID, ett unikt ID för användaren, 1-50 tecken lång. Firstname: Förnamn, 1-50 tecken lång. Surename: Efternamn, 1-50 tecken lång. Username: Användarnamn, 1-50 tecken lång. Måste vara unikt i hela IA-systemet. Status: Användarens status, Active eller Deleted. Email: E-postadress, 0-50 tecken lång. Kan utelämnas. EmploymentUnitExternalId: ExternID för enheten där användaren är anställd, 0-50 tecken lång. Kan utelämnas. Role: Rollen som användaren har i IA-systemet. Kan vara chef (Manager), händelseansvarig (OccurrenceManager), skyddsombud (OHSRepresentative) eller Utredare och åtgärdsutförare (InvestigatorAndActionOwner). OccurrenceUnitExternalId: ExternID för enheten där rollen gäller, 0-50 tecken lång. Blank = hela organisationen. Enheten kan vara inaktiv, och den kan vara händelse- eller anställningsenhet eller både och. Sida 28 av 32 Exempeldata för import av två användarkonton, observera att den första användaren förekommer flera gånger och att den andra användaren raderas från IA-systemet: <SaveUsersFlat> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> <ImportType>Change</ImportType> <IAUsers> <IAUserFlat> <ExternalId>User 1</ExternalId> <FirstName>Agnes</FirstName> <SurName>Larsson</SurName> <UserName>Agnes123</UserName> <Status>Active</Status> <Email>[email protected]</Email> <EmploymentUnitExternalId>Unit 1</EmploymentUnitExternalId> <Role>Manager</Role> <OccurrenceUnitExternalId>Unit 1</OccurrenceUnitExternalId> </IAUserFlat> <IAUserFlat> <ExternalId>User 1</ExternalId> <FirstName>Agnes</FirstName> <SurName>Larsson</SurName> <UserName>Agnes123</UserName> <Status>Active</Status> <Email>[email protected]</Email> <EmploymentUnitExternalId>Unit 1</EmploymentUnitExternalId> <Role>Manager</Role> <OccurrenceUnitExternalId>Unit 2</OccurrenceUnitExternalId> </IAUserFlat> <IAUserFlat> <ExternalId>User 1</ExternalId> <FirstName>Agnes</FirstName> <SurName>Larsson</SurName> <UserName>Agnes123</UserName> <Status>Active</Status> <Email>[email protected]</Email> <EmploymentUnitExternalId>Unit 1</EmploymentUnitExternalId> <Role>OccurrenceManager</Role> <OccurrenceUnitExternalId>Unit 3</OccurrenceUnitExternalId> </IAUserFlat> <IAUserFlat> <ExternalId>User 2</ExternalId> <FirstName>Anders</FirstName> Sida 29 av 32 <SurName>Johansson</SurName> <UserName>Anders123</UserName> <Status>Deleted</Status> <Email></Email> <EmploymentUnitExternalId></EmploymentUnitExternalId> <Authorizations></Authorizations> </IAUserFlat> </IAUsers> </SaveUserFlat> Webbservicen skickar ett XML-svarsobjekt som innehåller ett eller flera resultat för varje användare i importen. Följande element finns i svarsobjektet: ErrorText: Feltext, blank = OK. ExternalId: Användarens ExternID. Message: Ett meddelande eller felmeddelande för varje användare. Status: OK eller Error för användaren. Exempeldata: <SaveUsersFlat> <ErrorText /> <Result> <ImportResult> <ExternalId>User 1</ExternalId> <Message>Changed</Message> <Status>Ok</Status> </ImportResult> <ImportResult> <ExternalId>User 2</ExternalId> <Message>Deleted</Message> <Status>Ok</Status> </ImportResult> </Result> </SaveUsersFlat> Sida 30 av 32 5.4. IMPORTERA ÅTGÄRDER Metod: SaveAction Denna tjänst används för att kunna uppdatera en eller flera åtgärder i IA-systemet med information från ett externt system. Detta förutsätter att de åtgärder som ska importeras tidigare 6 har exporterats från IA-systemet. Tjänsten kan användas för att integrera med ett arbetsordersystem. Åtgärder som har behandlats i arbetsordersystemet kan sedan åter importeras till IA-systemet. Observera! Vid import av en klarmarkerad åtgärd där datumet är senare än dagens datum så sätter importen alltid klardatum till dagens datum i IA-systemet. Är klardatumet tidigare än dagens datum sätts det datumet som skickas med importen. Blir sista åtgärden i en händelse klarmarkerad genom importen uppdateras händelsens status. I IA-systemet kan man ange följande åtgärdssteg för varje åtgärd: Eliminering Utbyte Tekniska skyddsåtgärder Utmärkning, varning, rutiner Personlig skyddsutrustning Webbservicen anropas med ett XML-objekt som innehåller följande element: User: Servicekontots namn och lösenord. Actions: Anger en eller flera åtgärder som ska importeras. Varje åtgärd (Action) beskrivs med följande element: 6 ActionId: ÅtgärdsID, ett unikt referensnummer för åtgärden i IA-systemet. ActionOwnerExternalId: ExternID, ett unikt ID för den användare i IA-systemet som står som utförare av åtgärden. ActionOwnerOther: Annan utförare, om en sådan har angetts i IA-systemet. ActionStep: Åtgärdssteg. ActionText: Åtgärdstext. EstimatedCompletionDate: Datum då åtgärden är beräknad att vara klar. Om åtgärden är klar anger EstimatedCompletionDate i stället datumet då åtgärden blev klar. Läs mer om att exportera åtgärder i avsnitt 4.3. Sida 31 av 32 Completed: 0 anger att åtgärden inte är klar, 1 anger att åtgärden är klar. WorkOrderNumber: Arbetsordernummer. Exempeldata: <SaveAction> <User> <Name>Servicekontots användarnamn</Name> <PassWord>Servicekontots lösenord</PassWord> </User> <Actions> <Action> <ActionId>800200</ActionId> <WorkOrderNumber>ABC3828-Y162</WorkOrderNumber> <ActionStep>Elimination</ActionStep> <ActionText>Beskrivning</ActionText> <EstimatedCompletionDate>2013-10-01</EstimatedCompletionDate> <ActionOwnerExternalId>PelleJohansson</ActionOwnerExternalId> <ActionOwnerOther>Pelle Johansson</ActionOwnerOther> <Completed>1</Completed> </Action> <Action> <ActionId>800300</ActionId> <WorkOrderNumber>XUAYA-Y162</WorkOrderNumber> <ActionStep>Exchange</ActionStep> <ActionText>Beskrivning</ActionText> <EstimatedCompletionDate>2013-12-01</EstimatedCompletionDate> <ActionOwnerExternalId>AndersJohansson</ActionOwnerExternalId> <ActionOwnerOther>Anders Johansson</ActionOwnerOther> <Completed>0</Completed> </Action> </Actions> </SaveAction> Webbservicen skickar ett XML-svarsobjekt som innehåller ett eller flera resultat för varje åtgärd i importen. Följande element finns i svarsobjektet: ErrorText: Feltext, blank = OK. ExternalId: ÅtgärdsID. Message: Ett meddelande eller felmeddelande för varje åtgärd. Status: OK eller Error för åtgärden. Sida 32 av 32 Exempeldata: <SaveAction> <ErrorText /> <Result> <ImportResult> <ExternalId>800200</ExternalId> <Message>Changed</Message> <Status>Ok</Status> </ImportResult> <ImportResult> <ExternalId>800300</ExternalId> <Message>Changed</Message> <Status>Ok</Status> </ImportResult> </Result> </SaveAction>