Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleRegler och rekommendationer

För att stödja livscykelhantering av attributprofiler utan att störa verksamheters behov av robust digital samverkan, bör man tillämpa följande rekommendationer:

  1. Det SKA för varje domän etableras minst en attributprofil för SAML och en attributprofil för OIDC.
  2. Attributprofiler BÖR revideras med bakåtkompabilitet, dvs man bör i stort sett aldrig ersätta attribut eller genomföra andra icke bakåtkompatibla förändringar.
  3. Kompabilitetsbrytande revideringar av attributprofiler BÖR genomföras genom en övergångsperiod av bakåtkompatibla förändringar och parallellt stöd för äldre och nyare behörighetsattribut i tjänsteproducenters behörighetskontroll.

Notera att det för specifika situationer där förutsättningar finns för att driva igenom brytande revideringar av attributprofiler utan negativ verksamhetspåverkan för samverkande parter, kan det vara att föredra.

...

Modell

Image Added

Länk till editor för att editera modell...

Exempel läkare

Expand
Code Block
languagejson
{
    "subject": {
        "type": "Human",
        "name": "Anna Andersson",
        "given_name": "Anna",
        "family_name": "Andersson",
        "eID": {
            "prid": "SE:NO:199001011234",
            "pridPersistence": "A",
            "x509SubjectName": "CN=Anna Andersson,SERIALNUMBER=199001011234,C=SE",
            "x509IssuerName": "CN=SITHS e-id Function CA v1,O=Inera AB,C=SE",
            "credentialGivenName": "Anna",
            "credentialSurname": "Andersson",
            "credentialPersonalIdentityNumber": "199001011234",
            "credentialCertificate": "MIIGHz...",
            "credentialDisplayName": "Anna Andersson",
            "credentialOrganizationName": "Region Stockholm",
            "credentialCertificatePolicies": [
                "1.2.752.26.11.1.15.4",
                "1.2.752.26.11.1.15.14"
            ]
        },
        "credentials": {
            "email": "anna.andersson@regionstockholm.se"
        },
        "affiliations": [
            {
                "type": "Employment",
                "orgAffiliation": "SE2321000016-5BCD",
                "employeeIdentifier": "SE2321000016-ABC123",
                "telephoneNumber": "+4608123456",
                "mobile": "+46701234567",
                "mail": "anna.andersson@regionstockholm.se",
                "cFARUnit": "12345678",
                "organizationalUnitAssignment": "Akutmottagningen",
                "financialResponsibilityCode": "1234",
                "jobTitle": "Läkare",
                "facility": "Karolinska Universitetssjukhuset",
                "responsibilityArea": "Akut",
                "workLocation": "Huddinge"
            },
            {
                "type": "Commission",
                "orgAffiliation": "SE2321000016-5BCD",
                "commissionIdentifier": "SE2321000016-COMM01",
                "commissionName": "Förskrivare",
                "commissionPurpose": "Vård och behandling",
                "aidCode": "000",
                "aidLabel": "Läkare",
                "responsibilityCode": "1",
                "function": "Behandlande läkare",
                "domain": "Vård",
                "validFrom": "2025-01-01",
                "validTo": "2026-12-31",
                "principalIdentifier": "SE2321000016-VARD01",
                "principalName": "Region Stockholm Vård AB",
                "commissionRights": [
                    {
                        "activity": "Förskriva",
                        "scope": "Slutenvård",
                        "informationClass": "Läkemedel"
                    },
                    {
                        "activity": "Läsa",
                        "scope": "Öppenvård",
                        "informationClass": "Journal"
                    }
                ],
                "authorizationScope": {
                    "facility": "Karolinska Universitetssjukhuset",
                    "responsibilityArea": "Akut",
                    "workLocation": "Huddinge"
                }
            }
        ]
    }
}



Exempel Lärare

Expand
Code Block
languagejson
{
    "subject": {
        "type": "Human",
        "name": "Maria Lindström",
        "given_name": "Maria",
        "family_name": "Lindström",
        "eID": {
            "prid": "SE:SE:197505152345",
            "pridPersistence": "A",
            "x509SubjectName": "CN=Maria Lindström,SERIALNUMBER=197505152345,C=SE",
            "x509IssuerName": "CN=SITHS e-id Person CA v2,O=Inera AB,C=SE",
            "credentialGivenName": "Maria",
            "credentialSurname": "Lindström",
            "credentialPersonalIdentityNumber": "197505152345",
            "credentialCertificate": "MIIGHz...",
            "credentialDisplayName": "Maria Lindström",
            "credentialOrganizationName": "Värmdö kommun",
            "credentialCertificatePolicies": [
                "1.2.752.26.11.1.15.4"
            ]
        },
        "credentials": {
            "email": "maria.lindstrom@varmdo.se"
        },
        "affiliations": [
            {
                "type": "Employment",
                "orgAffiliation": "SE212000028-AB12",
                "employeeIdentifier": "SE212000028-EMP456",
                "telephoneNumber": "+4608570800",
                "mobile": "+46709876543",
                "mail": "maria.lindstrom@varmdo.se",
                "cFARUnit": "87654321",
                "organizationalUnitAssignment": "Gustavsbergsskolan",
                "financialResponsibilityCode": "2210",
                "jobTitle": "Lärare",
                "facility": "Gustavsbergsskolan",
                "responsibilityArea": "Grundskola år 7-9",
                "workLocation": "Gustavsberg"
            },
            {
                "type": "Commission",
                "orgAffiliation": "SE212000028-AB12",
                "commissionIdentifier": "SE212000028-COMM01",
                "commissionName": "Klasslärare 8B",
                "commissionPurpose": "Undervisning och elevvård",
                "aidCode": "310",
                "aidLabel": "Lärare grundskola",
                "responsibilityCode": "1",
                "function": "Klasslärare",
                "domain": "Utbildning",
                "validFrom": "2025-08-15",
                "validTo": "2026-06-15",
                "principalIdentifier": "SE212000028-NÄMND01",
                "principalName": "Värmdö kommuns barn- och ungdomsnämnd",
                "commissionRights": [
                    {
                        "activity": "Registrera",
                        "scope": "Elevdokumentation",
                        "informationClass": "Betyg"
                    },
                    {
                        "activity": "Läsa",
                        "scope": "Elevdokumentation",
                        "informationClass": "Åtgärdsprogram"
                    }
                ],
                "authorizationScope": {
                    "facility": "Gustavsbergsskolan",
                    "responsibilityArea": "Grundskola år 7-9",
                    "workLocation": "Gustavsberg"
                }
            }
        ]
    }
}



Exempel student

Expand
Code Block
languagejson
{
    "subject": {
        "type": "Human",
        "name": "Erik Johansson",
        "given_name": "Erik",
        "family_name": "Johansson",
        "credentials": {
            "email": "erik.johansson@elev.skola.se"
        },
        "affiliations": [
            {
                "type": "Student",
                "orgAffiliation": "SE212000028-AB12",
                "eduPersonPrincipalName": "erik.johansson@skola.se",
                "eduPersonScopedAffiliation": "student@skola.se",
                "organizationName": "Värmdö kommuns skolor",
                "organizationNumber": "212000-0028",
                "sisSchoolUnitCode": "53513510",
                "sisSchoolUnitName": "Gustavsbergsskolan",
                "schoolType": "Grundskola",
                "schoolYear": "8",
                "studentGroup": "8B",
                "educationRole": "student"
            }
        ]
    }
}



Bakgrundmaterial

Expand
titleBakgrundsmaterial

Inom hälsosektorn används en attributprofil, i vilken man kan uttrycka att en användare kan ha ett antal olika systemspecifika rolltilldelningar (SystemRole), vårdspecifika uppdrag (Commission), samt så kallade administrativa uppdrag (AdminCommission) inom ett visst organisatoriskt omfång (AuthorizationScope).

Notera att Ineras IdP låter användaren välja vilken av uppdragen som ska representeras som "aktivt" och då få sina claims kopierade till rotnivån i intyget. Alla uppdrag kan även bifogas (allCommissions) och då kan eTjänsten låta användaren välja vilket uppdrag som ska användas för åtkomstbeslut, loggning,

...

m.m. i e-tjänsten.

Code Block
languagejson
{
    

Attributprofil skapad utifrån exempel från Inera Idp (inklippt nedan). Bilden länkar till en online-editor Image Removed

Expand
titleExempelintyg
{
   
"commissionPurpose": "Administration",


    "at_hash": "qEj37dgo2bQEyePuzqDyNQ",


    "pharmacyIdentifier": "731.1337.1337:Apotek",


    "sub": "1a400571-a2d0-4b28-b9da-11400ba496e1",


    "healthCareUnitName": "Admin",


    "credentialCertificatePolicies": [


        "2.23.140.1.2.3",


        "1.2.752.74.8.506"


    ],


    "amr": [


        "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient"


    ],


    "iss": "https://idp.dev.inera.test:8443/oidc",


    "credentialGivenName": "Olof",


    "healthcareProviderId": "2321000214",


    "commissionHsaId": "SE111-UPPDRAG-JLL-TEKSYSADMIN",


    "acr": "http://id.sambi.se/loa/loa3",


    "systemRole": [


        {


            "systemId": "BIF",


            "role": "Loggadministratör"


        },


        {


            "systemId": "BIF",


            "role": "Administrator"


        },


        {


            "systemId": "PU",


            "role": "Administratör"


        }


    ],


    "organizationIdentifier": "2321000214",


    "credentialSurname": "Olsson",


    "auth_time": 1610616929,


    "healthCareProviderName": "SE111-JLL",


    "exp": 1610618196,


    "healthCareProviderHsaId": "SE111-JLL",


    "iat": 1610617896,


    "commissionRight": [


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "dia"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "fun"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "lkf"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "lkm"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "lko"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "pad"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "pat"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "und"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "upp"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "vbe"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "vko"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "voo"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "vot"


        },


        {


            "activity": "Läsa",


            "scope": "VG",


            "informationClass": "vpo"


        }


    ],


    "organizationName": "SE111-JLL",


    "healthCareUnitHsaId": "SE111-ADMIN",


     "authorizationScope": [


        {


            "authorizationScopePropertyName": "Tjänstesupport",


            "authorizationScopeName": "Hitta och jämför vård",


            "authorizationScopeCode": "HJV",


            "authorizationScopePropertyCode": "HJV;003",


            "authorizationScopeDescription": "Hitta och jämför vård är den del  1177.se som presenterar kontaktinformation till landets     vårdmottagningar, deras vårdutbud och vårdkvalitet.Varje enskild mottagning har ett eget ”kontaktkort” där kontaktuppgifter, e-tjänster och övrigt utbud presenteras.",


            "authorizationScopePropertyDescription": "Tjänstesupport Beskrivning",


            "adminCommissions": [


                {


                    "adminCommissionHsaId": "TNT4477663322-1021",


                    "sector": [


                        {


                            "sectorFlag": true,


                            "feignedUnit": null,


                            "name": "CGI Östersund",


                            "unitHsaId": "TNT4477663322-101Q"


                        }


                    ],


                    "adminCommissionResponsibleOrganisation": "447766-3323",


                    "feignedAdminCommission": null


                }


            ]


        },


        {


            "authorizationScopePropertyName": "Redaktör kontaktkort",


            "authorizationScopeName": "Hitta och jämför vård",


            "authorizationScopeCode": "HJV",


            "authorizationScopePropertyCode": "HJV;001",


            "authorizationScopeDescription": "Hitta och jämför vård är den del  1177.se som presenterar kontaktinformation till landets vårdmottagningar, deras vårdutbud och vårdkvalitet.Varje enskild mottagning har ett eget ”kontaktkort” där kontaktuppgifter, e-tjänster och övrigt utbud presenteras.",


            "authorizationScopePropertyDescription": "Redaktör kontaktkort får administrera information  kontaktkorten förutom kontaktkorten.",


            "adminCommissions": [


                {


                    "adminCommissionHsaId": "TNT4477663322-1021",


                    "sector": [


                        {


                            "sectorFlag": true,


                            "feignedUnit": null,


                            "name": "CGI Östersund",


                            "unitHsaId": "TNT4477663322-101Q"


                        }


                    ],


                    "adminCommissionResponsibleOrganisation": "447766-3323",


                    "feignedAdminCommission": null


                }


            ]


        }


    ],


    "x509SubjectName": "EMAILADDRESS=olof.olsson@inera.test, SERIALNUMBER=TNT4477663322-1046, GIVENNAME=Olof, SURNAME=Olsson, CN=Olof Olsson, O=Inera AB, L=SITHS, C=SE",


    "given_name": "Olof",


    "x509IssuerName": "CN=TEST SITHS e-id Person HSA-id 3 CA v1,O=Inera AB,C=SE",


    "aud": "https://sp.dev.inera.test:8881",


    "commissionName": "Teknisk Systemadministratör JLL",


    "credentialPersonalIdentityNumber": "TNT4477663322-1046",


    "credentialCertificate": "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",


    "employeeHsaId": "TNT4477663322-1046",


    "name": "Olof Olsson",


    "credentialDisplayName": "Olof Olsson",


    "credentialOrganizationName": "Inera AB",


    "family_name": "Olsson",


    "authenticationMethod": "SITHS_EID_SAME_DEVICE",


    "allEmployeeHsaIds": [


          "TSTNMT2321000156-10NG",


          "TSTNMT2321000156-10NX"


    ],  


    "allCommissions": "[{\"employeeHsaId\":\"TSTNMT2321000156-10NG\",\"commissionName\":\"Teknisk Systemadministratör JLL\",\"commissionHsaId\":\"SE111-UPPDRAG-JLL-TEKSYSADMIN\",\"commissionPurpose\":\"Administration\",\"healthCareUnitHsaId\":\"SE111-ADMIN\",\"healthCareUnitName\":\"Admin\",\"healthCareProviderHsaId\":\"SE111-JLL\",\"healthCareProviderName\":\"SE111-JLL\",\"healthCareProviderOrgNo\":\"2321000214\",\"commissionRights\":[{\"activity\":\"Läsa\",\"informationClass\":\"dia\",\"scope\":\"VG\"},{\"activity\":\"Läsa\",\"informationClass\":\"fun\",\"scope\":\"VG\"}]},{\"employeeHsaId\":\"TSTNMT2321000156-10NX\",\"commissionName\":\"Teknisk Systemadministratör SLL\",\"commissionHsaId\":\"SE222-UPPDRAG-SLL-TEKSYSADMIN\",\"commissionPurpose\":\"Administration\",\"healthCareUnitHsaId\":\"SE222-ADMIN\",\"healthCareUnitName\":\"Admin\",\"healthCareProviderHsaId\":\"SE222-SLL\",\"healthCareProviderName\":\"SE222-SLL\",\"healthCareProviderOrgNo\":\"2321000214\",\"commissionRights\":[{\"activity\":\"Läsa\",\"informationClass\":\"dia\",\"scope\":\"VG\"},{\"activity\":\"Läsa\",\"informationClass\":\"fun\",\"scope\":\"VG\"}]}]",


    "allCommissionOrgAffiliations": [


      "TSTNMT2321000156-10NG@123456-7890",


      "TSTNMT2321000156-10NX@654321-0987"


    ],


    "userOrganizationHsaId": "SE2321000156-0001",


    "sithsEidChallenge": "b90fc25314de41ffaf88c03677e2caac"
}

Attributprofil skapad utifrån exempel från Inera Idp (inklippt nedan). Bilden länkar till en online-editor Image Added
}



Förvaltningsstruktur

För att säkerställa långsiktig hållbarhet, interoperabilitet och tydligt ansvar behöver attributsdefinitioner och attributprofiler förvaltas i en definierad struktur med tydliga roller och mandat.

...