User Tools

Site Tools


fmk:generel:sikkerhedsmodel

This is an old revision of the document!


Sikkerhedsmodel

Sikkerhedsmodellen for det fælles medicinkort er baseret på MedComs “Den Gode Webservice” og SOSI projektet.

Se mere herom på:

Data, der anvendes forretningsmæssigt, f.eks. sygehusafdelingsnummer, ydernummer og autorisations­nummer, bør medsendes i den forretningsmæssige del af dokumentet, og ikke hentes fra dokumentheaderen. Det kan ikke udelukkes at f.eks.:

  • En sekretær på en sygehusafdeling logger ind med SKS-sygehusafdelingsnummer med 6 cifre og foretager en opdatering af data på et afsnit angivet med 7 cifre.
  • En lægepraksis har to ydernumre, der logges ind med det ene men sendes data for begge.

Skal der senere opstilles regler for hvorvidt dette skal være muligt bør valideringen af disse regler holdes adskilt fra den forretningsmæssige implementering. Dette bør ske for at minimere risikoen for at ændringer i sikkerhedsmodellen påvirker denne.

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 er af type xs:string:

  1. SystemOwnerName
  2. SystemName
  3. SystemVersion
  4. OrgResponsibleName
  5. OrgUsingName
  6. OrgUsingID
  7. 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 og rettigheder.

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:sor”>348211000016001</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>

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

<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>ROS Infektionsmedicinsk Amb.</sdsd:OrgUsingName>
			<sdsd:OrgUsingID NameFormat="medcom:skscode">3800A0J</sdsd:OrgUsingID>
			<sdsd:RequestedRole>Læge</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).

fmk/generel/sikkerhedsmodel.1385463118.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki