666.2 Optimering af PHS - fase 2

666.2 Optimering af PHS - fase 2
Beskrivelse af epic af it-understøttelse af Styrelsen for Arbejdsmarked og Rekrutterings forretning
(Skabelon af dato 17/12-2015)

STAR Projektleder (PL)Forretningsanalytiker (FA)STAR ReleaseEpic statusEksterne snitflader


2017-2

1.0KSS (t.o.), A-kasse (t.o.)

Indholdsfortegnelse
1 Ændringslog
2 Afgrænsning af epic
3 Oversigt over berørte web services
3.1 Fogbugzsager som løses
4 Beskrivelse af epic
4.1 666.2.1 Som Landssupport og kommunal sagsbehandler vil jeg gerne have adgang til historik på frister, bookninger og samtaler
4.2 666.2.2 Som del af beskæftigelsessamarbejdet vil jeg gerne have serviceunderstøttelse for data som i dag tilgås i AMPortal
4.3 Overblik over PHS collection-brug i LSS
4.3.1 PersonHistoryService GetPersonHistory
4.4 Generelle DFDG ændringer for understøttelse af historikken
4.4.1 Ændret registreringspraksis i DFDG for understøttelse af metadata
4.4.2 Funktionsbeskrivelse for understøttelse af historikudtræk
4.4.3 Initialisering
5 Særlige krav til test
6 Kendte udeståender fra udviklingsfasen
7 User stories


Ændringslog

Dato

Version

Forfatter

Berørte afsnit

23.11.2016

0.01

Jesper Brunholm

Grundlagt epic med oplæg til acceptkriterier 666.2.1 og 666.2.2

25.11.2016

0.01

Jesper Brunholm

Tilføjet afsnit 4.3 med overblik over nuværende PHS-brug i LSS.

16.12.2016

0.1

Jesper Brunholm

Resterne fra 666.1 flyttet til denne. Løftet til version 0.1

13.01.2016

0.1

Jesper Brunholm

Foreløbig oprydning i usikkert indhold

08.02.2017

0.5

Jesper Brunholm

Løftet til 0.5. Snitflader justeret: der kommer ikke en serviceversion, så alt tilsagn er til orientering om den valgte arkitektur.

22.03.2017

1.0

Jesper Brunholm

Løftet til 1.0

Afgrænsning af epic

Afgrænsning



Som sagsbehandler i Landssupporten, KS Systemer eller A-kasser vil jeg have en opdateret historikservice med historik på centrale datadomæner på beskæftigelsesområdet.For at have et fuldt grundlag at lave sagsbehandling på.



Acceptkriterier



Nr.

Beskrivelse

Relevant for Beskriver hvilke af STARs leverandører som skal løse dette acceptkriterie


666.2.1

Som Landssupport og kommunal sagsbehandler vil jeg gerne have adgang til historik på frister, bookninger og samtaler

DFDG, LSS


666.2.2

Som del af beskæftigelsessamarbejdet vil jeg gerne have serviceunderstøttelse for data som i dag tilgås i AMPortal

DFDG, LSS


666.2.3

Som supporter i landssupporten vil jeg i LSS gerne kunne se en historik for borgerens historiske adresser, for at jeg kan genskabe forløb ifm. sagsudredningerOBS husk historik på borgere, der har flyttet jobcenter
[Fogbugz 39218]

DFDG


666.2.4

Som supporter i landssupporten vil jeg i LSS gerne kunne se

  1. Fremtidige afmeldinger (afmeldinger der har en dato senere end i dag). Herunder hvem der har foretaget registreringen, dato for registrering, samt årsag til afmelding
  2. Om sletning af fremtidige afmeldinger. Herunder hvem der har foretaget registreringen, dato for registrering, samt årsag til afmelding

    for at jeg kan genskabe forløb ifm. sagsudredninger
    [Fogbugz 51079 og 69499]

DFDG, LSS


666.2.5

Som supporter i landssupporten vil jeg i LSS gerne kunne se historik på mødedeltagerfravalg i LSS, for at jeg kan udrede sager hvor en part (borger eller a-kasse) tidligere har fravalgt deltagelse

DFDG


666.2.6

Som i landssupporten vil jeg i LSS gerne kunne se historik på aftalefeltet for afholdte samtaler
[Fogbugz 57327 og 88920]

DFDG







Kriterier for tilsagn til serviceaftager i forhold til STARs snitflader

Berørte acceptkriterier







Bemærkninger



Acceptkriterie <nr.>

Acceptkriterie <nr.>

Acceptkriterie <nr.>

Acceptkriterie <nr.>

Acceptkriterie <nr.>

Acceptkriterie <nr.>

Acceptkriterie <nr.>


























Oversigt over berørte web services

Snitflade

Serviceaftager der er berørt








Bemærkninger



DFDG

Jobnet

Plannersystemer

KSS

A-kasse

Ydelsessystem

JobKon

Andet




PersonHistoryService (Version 4)

X



t.o.

t.o.





Der kommer ikke en serviceversion ud i 2017-2


  • AbsenceHistory










































































Fogbugzsager som løses

LJU: Vi har en række Fogbugz, vi gerne vil have løst som en del af denne epic
Nedenstående liste er fra en gl. LB 413 (med LSS ønsker) som vi aldrig er nået til:

FB

Titel

Prio

Note

Status 21.09.2016

39218

Historik på opholdsadresse
(ud over aktuel / seneste opholdsadresse ønskes også vist tidligere opholdsadresser)

2

Historik findes i DFDG, men det skal udstilles over en web service
3 story points

Pia har 24.02.2016 oplyst at ønsket fortsat er aktuelt

42562 \\

Sluthistorik på bevillinger
Under bevillinger af kontanthjælp får vi i historikken oplyst, hvornår en bevilling er oprettet med dato, klokkeslet og af hvem. Når bevillingen derimod ophører modtager vi ikke oplysning om dato tid og af hvem.Derfor et ønske om at få historik på stop for bevillinger.

3

Historik findes i DFDG, men det skal udstilles over en web service
3 story points

Fortsat relevant 19/9 2016, Pia Poulsen

51079

Historik på fremtidige afmeldinger og bekræftelse af tilmelding i LSS

2

2 story points

Med i epic 666.1 (PHS optimering).




Beskrivelse af epic

Denne epic til denne ISB: 666 ISB Optimering af PHS PersonHistoryService
Der laves en ny version af PersonHistoryService, version 4. Denne laves fra grunden, med nye collections og ny datastruktur. For et givent objekt vil alle objektets "tilstands-snapshots" som de på et tidspunkt undervejs har kunnet ses i PersonStatusService være udstillet i en fortløbende række med metadata.
Det kan illustreres som følger:
Blokkene til venstre er objekter i en collection, hvor A, B og C er hver sit objekt med repræsentationer for forskellige tidspunkter. Det nederste objekt er "sluttilstanden" som vil være synlig i PersonStatus-Service – med undtagelse af B objektet som er blevet slettet.
Hver blok repræsenterer således et snapshot for hvilket, der i PHS vil være et objekt med tilhørende metadata om, hvem der har lavet ændringen hvornår m.v.
De nye collections vil blive baseret på PersonStatusService collections.
Strukturen med snapshots gør det billigere at vedligeholde og udvikle servicen.
Der har været drøftet en servicemodel hvor man GUID-baseret kan hente historik for et objekt. Dette er uhensigtsmæssigt ift. flere aftagere af servicen, og fordyrende for udviklingen, og skrinlægges derfor.
Der laves af hensyn til brugsperformance en begrænsning så man som ekstern aftager kun kan hente 1 collection ad gangen.
A-kasser har kun adgang til servicens collections i samme omfang som de har til de tilsvarende collections med eventuelle filtreringer som de har adgang til i PSS (jf. bl.a. epic 738.1).
Servicen må kun kaldes af jobcentre (og AA som jobcenter), kommuner, a-kasser og STAR.

666.2.1 Som Landssupport og kommunal sagsbehandler vil jeg gerne have adgang til historik på frister, bookninger og samtaler





666.2.2 Som del af beskæftigelsessamarbejdet vil jeg gerne have serviceunderstøttelse for data som i dag tilgås i AMPortal

Dette for at understøtte nedlukning af AMPortalen


Overblik over PHS collection-brug i LSS

Bruttoliste over PHS input parametre ift. collections

Anvendes i LSS

JobcenterHistory

X

UnemploymentFundHistory

X

EnrollmentHistory

X

ConfirmActiveJobSeekingHistory

X

ConfirmActiveJobSeekingWarningHistory

X

CvStatusHistory

X

SocialAidHistory

X

IllnessBenefitHistory

 

ContactGroupHistory

X

AbsenceHistory

X

HealthLimitationHistory

X

PersonGroupMarkingHistory

X

RunHistory

X

BookingHistory

X

PersonInterviewHistory

 

ActivitySupplementHistory

X

CvInterviewHistory

 

CivicConsentHistory

X

CommentHistory

X




PersonHistoryService GetPersonHistory

En "TASS" gruppe: Enrollment, SocialAid, Absence, ContactGroup og PersonComment
En samling af PHS collectioner som lægger sig op ad PSS-collectionen "TASS": EnrollmentCollection, SocialAidCollection, AbsenceCollection, ContactGroupCollection, PersonCommentCollection.
Dertil: en længe ventet opdatering af historik på a-kassemedlemsskab.
Der medtages alle objekter i collectionerne (også de som ikke endnu kategoriseres som historiske).

PersonHistoryService (Version 4) GetPersonHistoryRequest

Navn

Type

Detaljer

PersonCivilRegistrationIdentifier

PersonCivilRegistrationIdentifierType

Borgers personnummer. Forekomst: 1

RequestHistory

RequestHistoryType

Liste af variable, der benyttes til at styre, hvilken personhistorik der ønskes
Forekomst: 1

RequestHistoryType

Navn

Type

Detaljer

AbsenceHistory

boolean

Hent fraværshistorik Forekomst: 0-1

ContactGroupHistory

boolean

kontaktgruppehistorik Forekomst: 0-1

EnrollmentHistory

boolean

Hent tilmeldehistorik Forekomst: 0-1

PersonCommentHistory

boolean

Hent kommentarhistorik Forekomst: 0-1

SocialAidHistory

boolean

Hent kontanthjælps bevillingshistorik Forekomst: 0-1

UnemploymentFundHistory

boolean

Hent historik for a-kassemedlemsskab
Forekomst: 0-1




Bemærk at af hensyn til dokumentationens overskuelighed skal collections sorteres alfabetisk i WSDL. Collections som ikke er til rådighed i output vil enten have forekomst 0 eller ikke være medtaget i WSDL'en (de er lagt i WSDL i et tidligt stadie af udviklingen hvor man forventede at kunne tage mere med i release 2017-1)

PersonHistoryService GetPersonHistoryResponse

Navn

Type

Detaljer

PersonCivilRegistrationIdentifier

PersonCivilRegistrationIdentifierType

Borgers personnummer. Forekomst: 1

AbsenceHistory

AbsenceHistoryCollection

Fraværshistorik Forekomst: 0-1

ContactGroupHistory

¤¤

Kontaktgruppehistorik Forekomst: 0-1

EnrollmentHistoryCollection

¤¤

Tilmeldehistorik Forekomst: 0-1

PersonCommentHistory

¤¤

Kommentarhistorik Forekomst: 0-1

SocialAidHistoryCollection


Kontanthjælps bevillingshistorik Forekomst: 0-1

UnemploymentFundHistory


A-kassemedlemsskab
Forekomst: 0-1










Rækker med gråt forventes medtaget i release 2017-2. Bemærk at af hensyn til dokumentationens overskuelighed skal collections sorteres alfabetisk i WSDL.

AbsenceHistoryCollection

Navn

Type

Detaljer

Forekomst

Beskrivelse

AbsenceHistoryCollection

AbsenceHistoryCollection


1

Collection med alle absenceobjekter

    AbsenceIdentifier

GUID


1


- AbsenceEntryCollection

AbsenceEntryCollectionType




       StartDateTime

dateTime


1


      EndDateTime

dateTime


0 - 1


      AbsenceTypeIdentifier

GetAbsenceTypeIdentifierCodeList

MaxInclusive: 10000000

1


       AbsenceComment

AbsenceCommentType Base: string

Length: 0 - 1500

0 - 1


       NotificationDateTime

dateTime


1


       IsActiveAbsence

boolean


1


       AbsenceCauseTypeIdentifier

GetAbsenceCauseTypeIdentifierCodeList

MaxInclusive: 10000000

0 - 1


- - CorrectionComment

CorrectionCommentType Base: string

Length: 0 - 1500

0 - 1


      NemRefusionIdentifier

guid Base: string


0 - 1

Identifikation af om der er abonnement på sygemelding fra ydelse.

       CurrentUnemploymentStatusTypeIdentifier

GetCurrentUnemploymentStatusTypeIdentifierCodeList

MaxInclusive: 10000

0 - 1


      CompanyIdentifier

CompanyIdentifierType


0 - 1


         - ProductionUnitIdentifier

ProductionUnitIdentifierType Base: string


0 - 1


        -  CVRnumberIdentifier

CVRnumberIdentifierType Base: string


1


     - AdditionalInformationOnAbsenceTypeCollection

AdditionalInformationOnAbsenceTypeCollectionType


0 - 1


         - AdditionalInformationOnAbsence

AdditionalInformationOnAbsenceType


0 - *


            -  MessageIdentifier

guid Base: string

Pattern: [0-9a-fA-F]{8}[0-9a-fA-F]{4}[0-9a-fA-F]{4}[0-9a-fA-F]{4}[0-9a-fA-F]{12}

1


             - AdditionalInformationOnAbsenceTypeIdentifier

GetAdditionalInformationOnAbsenceTypeIdentifierCodeList

MaxInclusive: 10000

1


             - StartDateTime

dateTime


1


                EndDateTime

dateTime


0 - 1


               RegistrationDate

dateTime


1


               CorrectionComment

CorrectionCommentType Base: string

Length: 0 - 1500

0 - 1


       RegistrationMetadata

RegistrationMetadataType


1


UnemploymentFundHistory

Skal bl.a. understøtte visning af tilbagekaldt A-kassemedlemskab på LSS.
Collectionen der returneres fra PHS skal udvides med boolean feltet "IsRecalled"

Navn

Type

Detaljer

Forekomst

Beskrivelse

UnemploymentFundCollection

UnemploymentFundCollection


1

Collection med alle absenceobjekter

   UnemploymentFund

UnemploymentFund


0-*


      UnemploymentFundCode

Integer, 0-99


1

Kode for A-kasse

      UnemploymentFundName

String


1

Navn på A-kasse

      UnemploymentFundBranchCode

Integer, 0-999999


1

Kode for afdeling, inkl. A-kasse kode

      UnemploymentFundBranchName

string


1

Navn på afdeling

      UnemploymentInsuranceCategoryTypeIdentifier

UnemploymentInsuranceCategoryTypeIdentifier


1

Ledighedsgrad

      UnemploymentFundMembershipRegistrationDate

DateTime


1

Dato og tid for start af medlemskab

      UnemploymentFundMembershipCancellationDate

DateTime


0-1

Dato og tid for afmelding

      UnemploymentFundMembershipCancellationCodeTypeIdentifier

UnemploymentFundMembershipCancellationCodeTypeIdentifier


0-1

Afmeldingsårsag

      IsRecalled

Boolean


1

Er medlemskab tilbagekaldt


Yderligere skal feltet "IsRecalled" inkluderes i fra tabellen "tblUnemploymentFundMembershipArchive" i changeloggen.

RegistrationMetadataType

IsDeleted og samme indhold som RequestUserMetadataType

Navn

Type

Detaljer

Forekomst

Beskrivelse

IsDeleted

Boolean


1

Angiver om registreringen er sletning

    RequestUserStructure

RequestUserStructureType


1

Struktur der indeholder beskrivelse af brugeren

        UserFullName

UserFullNameType
Base: String

Length: 1-140

1

Brugers fulde navn, ved systemkald angives systemets og jobbets navn her.

        RequestUserTypeIdentifier

RequestUserTypeIdentifierType
Base: Integer


1

Kodeliste med brugertyperne:

  1. Citizen - Borger, f.eks. i selvbetjeningsløsninger
  2. CaseWorker - Sagsbehandler
    System - En systemproces, som f.eks. et batchjob, eller noget andet automatiseret der ikke kan henledes til en brugerhandling.

        UserIdentifier

UserIdentifierType
Base: String

Length: 1-255

1

Unik identifikation af brugeren, f.eks. en GUID, et medarbejder ID, system ID, bruger ID, certifikat ID, cpr-nummer, email (hvis den er unik) o.l.
Afhængigt af RequestUserTypeIdentifier udfyldes feltet med:

  1. Borgers CPR nummer eller et andet unikt ID der identificerer borgeren
  2. Sagsbehandler ID, der kan spores tilbage i til brugeren, kan være en e-mail, et medarbejder id, eller lign
    System ID, unik identifikation af den proces eller batchjob der foretog handlingen.

        UserEmail

EmailAddressIdentifierType
String (E-mail)

Length: 2-256
Pattern: ([>()\\[\\]\\,;:@\s]{0,191}@[>()\\[\\]\\,;:@\s]{1,64})

0-1

Brugerens e-mail adresse

    RequestOrganisationStructure

RequestOrganisationStructureType


1

Information om den organisation som kaldet foretages på vegne af.

        OrganisationTypeIdentifier

OrganisationTypeIdentifierType
Base: Integer


1

Kodeliste. Identificerer den type af organisations som brugeren hører til. Dette er en kodeliste, dog som integer af historiske årsager.

        OrganisationCode

String


1

Koden som identificerer organisationen. Det kan være et Jobcenternummer, CVR nummer, en a-kassekode eller en kommunekode.

    RegistrationDateTime

DateTime


1

Registreringstidspunkt i kaldende system


MeetingParticipationHistoryCollection

Denne collection indeholder en historik for indberetninger af deltagelsvalg. Eftersom man ikke kan rette i en eksisterende indberetning, men kun lave en ny indberetning er der ikke brug for en changelog for denne slags indberetninger.

Navn

Type

Detaljer

Forekomst

Beskrivelse

MeetingParticipationHistoryCollection

MeetingParticipationHistoryCollection


1

Collection med alle meeting particitipation objekter

  • MeetingParticipationHistory

MeetingPartticipation


0-*


  • - Identifier

GUID


1

Guid for the entry

  • - CivilRegistrationIdentifier

CVRnumberIdentifierTypeBase: string


1


  • - MeetingParticipationAuthorityTypeId

Integer


1

AuthorityType for hvem samtalen er med

  • - MeetingParticipationAuthorityCode

Integer


1

AuthorityCode for hvem samtalen er med

  • - MeetingParticipationChoiceType

MeetingParticipationChoiceTypeIdentifier Base: Integer


1

Borgers eller A-kasses valg

  • - MeetingParticipation

Boolean


1

Deltager eller ej

  • - MeetingParticipationIncidentTime

DateTime


1

Tidspunkt hvor valget gælder fra

  • - AuthorityTypeId

Integer


1

Authoritytypeid for indberetningen

  • - AuthorityCode

Integer


1

Authoritytypecode for indberetningen

  • - EventDate

DateTime


1

Timestamp for indberetningen


Generelle DFDG ændringer for understøttelse af historikken

Ændret registreringspraksis i DFDG for understøttelse af metadata

På datadomæner hvor der ikke er skiftet til brug af DFDGUser i forbindelse med overgang til ny sikkerhedsmodel skiftes der til at bruge DFDGUser på det primære registreringsflow (fx den direkte registreringsservice). Batchjobs og øvrige services som benytter sig af de services hvor der rettes (indirekte brug) vil ikke blive rettede til at bruge DFDGUser (da vi så hurtigt når til at skulle rette i hele DFDG), men vil i stedet kalde med en inkomplet DFDGUser baseret på den CaseWorker der er til rådighed.
Forskellen på CaseWorker og DFDGUser:
¤¤¤

Funktionsbeskrivelse for understøttelse af historikudtræk

Ved opdatering af en entry til et givet dataområde (dvs. der foreligger en entry med samme GUID) føres det nuværende indhold til historiktabel incl. RequestUserMetadata.
Hvis opdateringen er en sletning føres både den eksisterende række og den nye række i historiktabel, idet der sættes IsDeleted markering på opdateringen som sletter.
Ved udtræk af historik trækkes der både fra aktuel tabel og fra historisk, så man har et komplet billede af en given GUIDs forløb.

Initialisering

En del collections har i dag slettemarkering liggende på den seneste opdaterede række. Her skal der – for at sikre mulighed for ensartet udtræk – flyttes data til at der oprettes en ny række med metadata fra agerende user for sletningen.

Overvej for hvert acceptkriterie hvilke systemer der berøres af ændringen:

  • DFDG
    • Services
    • WSRMer
    • Kodelister
  • Jobnet
  • VITAS
  • JobKon
  • JobAG
  • BI integrationsplatform
  • Kommunalt sagsbehandlingssystem
  • A-kasse sagsbehandlingssystem
  • Kommunalt bookingsystem
    • Planner
  • Kommunalt ydelsessystem
  • LSS (Landssupportsystem)


Særlige krav til test

Testscenarie

Berørte systemområder

Identificeret af







Kendte udeståender fra udviklingsfasen

Link til søgeresultat fra FogBugz på epic-nummer:

User stories

User stories er kun til interne brug for STAR's leverandører.