This is an old revision of the document!
Table of Contents
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 MedCom - Den gode Webservice, og er under standardisering i NSI regi. RequestedRole elementet er beskrevet i afsnittet Roller. Rettigheder for de enkelte roller er beskrevet 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 | <SystemOwnerName>Pharma</SystemOwnerName> |
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 | <SystemName>Medicinmodulet</SystemName> |
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 | <SystemVersion>1.0</SystemVersion> |
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 | <OrgUsingName>ROS Infektionsmedicinsk Amb.</OrgUsingName> |
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.
| Navn | sdsd:OrgUsingID |
| Type | xs:string |
| Aritet | 1 |
| Eksempel | <OrgUsingID NameFormat=“medcom:ynumber”>400777</OrgUsingID> |
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å 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 | SKS, 6 eller 7 ciffer. Nogle regioner har selv opfundet 8. og 9. ciffer. Disse ekstra ciffer ignoreres af FMK og kun de første 7 anvendes. SKS valideres op imod SOR og SHAK. |
| Privatklinik med SKS kode | SKS, 6 eller 7 ciffer. SKS valideres op imod SOR og SHAK. |
| LPS Ydernummer | valideres op imod yderregisteret |
| LPS uden Ydernummer | ? |
| Vagtlæge systemer | ? |
| Kommunalt EOJ | Kommunekode, valideres op imod kendte kommunekoder |
| Regionalt EOJ | ? |
| Privatejet EOJ | CVR |
| 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 | Kommunekode, valideres op imod kendte kommunekoder |
| Regionalt bostedssystem | ? |
| Special klinikker uden yder eller SKS | ? |
| Systemkald, regional PAS systemer | SKS, 4, 6 eller 7 ciffer, valideres op imod SOR og SHAK. |
| Borgerrettede systemer | Ingen krav om angivelse af organisatorisk tilknytning. Anvend <BorgerOpslag> |
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 | <OrgUsingID NameFormat=“medcom:skscode”>650402</OrgUsingID> |
BorgerOpslag
BorgerOpslag angiver der er tale om et borger opslag.
| Navn | sdsd:BorgerOpslag |
| Aritet | 1 |
| Eksempel | <BorgerOpslag/> |
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.
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dkma.dk/medicinecard/xml.schema/2009/01/01" xmlns:ns1="http://www.dkma.dk/medicinecard/xml.schema/2008/06/01" xmlns:sdsd="http://www.sdsd.dk/dgws/2010/08" xmlns:sdsd20120601="http://www.sdsd.dk/dgws/2012/06" xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <soapenv:Header> <sdsd201206:WhitelistingHeader> <sdsd:SystemOwnerName>Leverandør A</sdsd:SystemOwnerName> <sdsd:SystemName>System A</sdsd:SystemName> <sdsd:SystemVersion>1.5</sdsd:SystemVersion> <sdsd:OrgResponsibleName>ROS IT-afdeling</sdsd:OrgResponsibleName> <sdsd:OrgUsingName>Alb Plastikkirurgisk Dagafdeling</sdsd:OrgUsingName> <sdsd:OrgUsingID NameFormat="medcom:skscode">8001506</sdsd:OrgUsingID> <sdsd:RequestedRole>Læge</sdsd:RequestedRole> </sdsd201206:WhitelistingHeader> <!-- ... --> </soapenv:Header> <soapenv:Body> <!-- ... --> </soapenv:Body> </soapenv:Envelope>
For et system der giver borgeren adgang til FMK vil WhitelistingHeaderen se således ud:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.dkma.dk/medicinecard/xml.schema/2009/01/01" xmlns:ns1="http://www.dkma.dk/medicinecard/xml.schema/2008/06/01" xmlns:sdsd="http://www.sdsd.dk/dgws/2010/08" xmlns:sdsd20120601="http://www.sdsd.dk/dgws/2012/06" xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <soapenv:Header> <sdsd201206:WhitelistingHeader> <sdsd:SystemOwnerName>Sundhed.dk</sdsd:SystemOwnerName> <sdsd:SystemName>Sundhedsjournalen</sdsd:SystemName> <sdsd:SystemVersion>1.0</sdsd:SystemVersion> <sdsd:BorgerOpslag /> <sdsd:RequestedRole>Borger</sdsd:RequestedRole> </sdsd201206:WhitelistingHeader> <!-- ... --> </soapenv:Header> <soapenv:Body> <!-- ... --> </soapenv:Body> </soapenv:Envelope>
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).
