====== Systemautorisation ====== Der foretages autorisation af klient systemer. Denne er whitelist-baseret, og skal sikre at kun software, der er godkendt til at benytte medicinkortet, kan kalde dets services. Konkret skal der tilføjes SOAP header blocks, der unikt identificerer det software, der ønsker at kalde medicinkortet. Bemærk at denne identifikation ikke er en del af ID kortet, men implementeres som selvstændige XML-elementer i SOAP headeren indkapslet i et WhitelistingHeader element. Det er derfor ikke bundet til en session, men kan variere fra en forespørgsel til næste. ===== SOAP Headers til system autorisation ===== Der tilføjes et WhitelistingHeader element med flg. XML elementer til SOAP headeren. Alle (på nær BorgerOpslag) er af type xs:string: - SystemOwnerName - SystemName - SystemVersion - OrgResponsibleName - OrgUsingName - OrgUsingID - BorgerOpslag - RequestedRole Systemautorisation er tænkt som en udvidelse af [[http://www.medcom.dk/wm110731|MedCom - Den gode Webservice]], og er under standardisering i SDS regi. RequestedRole elementet er beskrevet i afsnittet [[Roller]]. Rettigheder for de enkelte roller er beskrevet [[Rettigheder|her]]. Er der tale om borger opslag skal OrgResponsibleName, OrgUsingName og OrgUsingID ikke angives. ==== SystemOwnerName ==== SystemOwnerName elementet indeholder det entydige navn på leverandøren af afsendersystemet. | Navn | sdsd:SystemOwnerName | | Type | xs:string | | Aritet | 1 | | Værdisæt | Udfaldsrummet dikteres via det Centrale Virksomheds Register | | Eksempel | Pharma | ==== SystemName ==== SystemName elementet indeholder navnet på afsendersystemet. | Navn | sdsd:SystemName | | Type | xs:string | | Aritet | 1 | | Værdisæt | Udfaldsrummet dikteres alene af leverandøren af afsendersystemet | | Eksempel | Medicinmodulet | ==== SystemVersion ==== SystemVersion elementet indeholder versionen på afsendersystemet. | Navn | sdsd:SystemVersion | | Type | xs:string | | Aritet | 1 | | Værdisæt | Udfaldsrummet dikteres alene af leverandøren af afsendersystemet | | Eksempel | 1.0 | ==== OrgResponsibleName ==== OrgResponsibleName indeholder det entydige navn på den organisation, der har ansvaret for it-systemet. Det bemærkes, at organisationen meget vel kan være en ikke-sundhedsfaglig organisation der måske endda ikke engang kan identificeres via en klassifikation som CVR som i tilfældet en driftsafdeling i en region. Derfor anvendes der ikke klassifikationer for denne attribut. OrgResponsibleName er entydig. | Navn | sdsd:OrgUsingName | | Type | xs:string | | Aritet | 1 | | Værdisæt | Udfaldsrummet dikteres af den i OrgUsingID anvendte klassifikation | | Eksempel | ROS Infektionsmedicinsk Amb. | ==== OrgUsingID ==== OrgUsingID indeholder det entydige id på den organisation, hvor brugeren aktuelt befinder sig når webservice kaldet udføres. Klassifikationen hvortil id’et hører er angivet i attributten OrgUsingID@NameFormat og headeren OrgUsingName angiver navnet på organisationen hørende til id’et. Hvilke typer der supporteres af FMK er dokumenteret på [[fmk:generel:organisations_koder|Organisationskoder i FMK]] | Navn | sdsd:OrgUsingID | | Type | xs:string | | Aritet | 1 | | Eksempel | 400777 | Nedenstående tabel angiver hvilken type OrgUsingID, der skal anvendes for de forskellig typer systemer. Såfremt der er systemer, der ikke er angivet i nedenstående tabel, kan man lave en supportsag på [[http://www.nspop.dk|NSPOP]] for at få afklaret hvilken type der skal anvendes. De systemer der er angivet med et ?, angiver at det korrekte Id er under afklaring, og afventer beslutning fra de respektive organisationer. Indtil det er afklaret skal CVR anvendes. | **System** | **Identifier** | | Regionalt EPJ system | Sor id | | Privatklinik | SOR id | | LPS Ydernummer | valideres op imod yderregisteret | | LPS uden Ydernummer | SOR Id | | Vagtlæge systemer | SOR Id | | Kommunalt EOJ | SOR id | | Regionalt EOJ | SOR Id | | Privatejet EOJ | SOR Id | | Tandlægesystemer | Ydernummer, der valideres op imod yderregisteret. For klinikker uden ydernummer anvendes CVR, der valideres op imod det anvendte certifikat. | | Apoteker systemer | EAN Lokationsnummer, valideres op mod SOR | | Kommunalt bostedssystem | SOR Id | | Regionalt bostedssystem | SOR Id | | Special klinikker uden yder eller SKS | SOR Id | | Systemkald, regional PAS systemer | SOR Id | | Borgerrettede systemer | Ingen krav om angivelse af organisatorisk tilknytning. Anvend | ==== OrgUsingID@NameFormat ==== Klassifikationssættet i attributten OrgUsingID@NameFormat angiver den klassifikation, som attributterne OrgUsingID og OrgUsingName henter sine værdier fra. Bemærk at attributten skal anvendes i XML dokumenter uden namespace prefix, selvom det selvfølgelig er defineret i et namespace. | Navn | sdsd:OrgUsingID@NameFormat | | Type | xs:string | | Aritet | 1 | | Format | ”medcom:ynumber”: Yderregisteret | | ::: | ”medcom:pnumber”: CVR-P nummer | | ::: | ”medcom:skscode”: SHAK kode | | ::: | ”medcom:cvrnumber”: CVR nummer | | ::: | ”medcom:communalnumber”: Kommunekode | | ::: | ”medcom:sor”: SOR kode | | ::: | ”medcom:locationnumber”: EAN Lokationsnummer | | Eksempel | 650402 | ==== BorgerOpslag ==== BorgerOpslag angiver der er tale om et borger opslag. | Navn | sdsd:BorgerOpslag | | Aritet | 1 | | Eksempel | | ==== Eksempel ==== Alle XML elementer i WhitelistingHeader elementet er fra namespace: http://www.sdsd.dk.dgws/2010/08. WhitelistingHeader elementet er fra namespace: http://www.sdsd.dk/dgws/2012/06 Nedenstående eksempel er en typisk WhitelistingHeader for et regionalt system. Leverandør A System A 1.5 ROS IT-afdeling Alb Plastikkirurgisk Dagafdeling 8001506 Læge For et system der giver borgeren adgang til FMK vil WhitelistingHeaderen se således ud: Sundhed.dk Sundhedsjournalen 1.0 Borger ===== Fejlmeddelser for systemautorisation ===== Hvis en af de krævede elementer mangler, eller det kaldende system ikke er autoriseret til at kalde FMK, returneres en SOAP fault med fejlkode 4300 (Manglende system autorisation).