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> |
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 [YDER] |
| ”medcom:pnumber”: CVR-P [CVR] | |
| ”medcom:skscode”: SHAK kode [SKS] | |
| ”medcom:cvrnumber”: CVR nummer [CVR] | |
| ”medcom:communalnumber”: Kommunekode [KOMMKODE] | |
| ”medcom:sor”: SOR kode [SOR] | |
| 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).
