Introduktion

Dette dokument beskriver formatet til Healthcare Service User Identification (HSUID) header. HSUID-headeren er designet til at vedligeholde oplysninger om en bruger af sundhedstjenester, uanset om brugeren er borger eller sundhedsfaglig.

Dokument historik

VersionDateResponsibleBeskrivelse
1.028.03.2022KITFlyttet fra MinSpærring-dokumentation.

Format af Healthcare Service User Identification Header

Healthcare Service User Identification header består af et HsuidHeader-element, der indeholder en Security Assertion Markup Language-lignende påstand, der i sig selv indeholder et enkelt AttributeStatement-element.

<hsuid:HsuidHeader xmlns:hsuid="http://www.nsi.dk/hsuid/2016/08/hsuid-1.1.xsd">
  <hsuid:Assertion IssueInstant=Insert time of call here Version="2.0" id="HSUID">
    <hsuid:Issuer>Mit anvendersystem</hsuid:Issuer>
    <hsuid:AttributeStatement id="HSUIDdata">
      <hsuid:Attribute Name=Insert attribute name here
            NameFormat=Insert possible format here>
        <hsuid:AttributeValue>Insert attribute value here</hsuid:AttributeValue>
      </hsuid:Attribute>
      Insert additional attributes and attribute values here
    </hsuid:AttributeStatement>
  </hsuid:Assertion>
</hsuid:HsuidHeader>

I AttributeStatement findes oplysninger om brugeren som attributter beskrevet nedenfor.

Bemærk, at hvilke og hvor mange forekomster af de enkelte attributter, der er tilladt, afhænger af den specifikke kontekst, hvor HSUID-headeren anvendes.

Attributter i HSUID-headeren

De attributter, der kan og skal bruges i HSUID-header i kald til de enkelte sundhedstjenester, skal specificeres af snitfladebeskrivelsen for tjenesten. Nedenfor er listen over etablerede attributter.

Attributten nsi:UserType

Attributten nsi:UserType angiver, om brugeren er statsborger eller sundhedsprofessionel.

XMl-attribut Name

nsi:UserType

XML-attribut NameFormat

Ikke brugt

Påkrævet

Ja

Værdisæt

nsi:Citizen betyder borger, nsi:HealthcareProfessional betyder sundhedsfaglig

Eksempel

<hsuid:Attribute Name="nsi:UserType">

<hsuid:AttributeValue>nsi:Citizen</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:ActingUserCivilRegistrationNumber

Attributten nsi:ActingUserCivilRegistrationNumber identificerer brugeren udfra personnummer.

XMl-attribut Name

nsi:ActingUserCivilRegistrationNumber

XML-attribut NameFormat

Ikke brugt

Påkrævet

Ja

Værdisæt

CPR-nummer

Eksempel

<hsuid:Attribute Name="nsi:ActingUserCivilRegistrationNumber">

<hsuid:AttributeValue>1212124321</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:OrgUsingID

Attributten nsi:OrgUsingID beskriver identifikationen af den organisation, som en bruger, der er sundhedsfaglig er tilknyttet på brugstidspunktet.

XMl-attribut Name

nsi:OrgUsingID

XML-attribut NameFormat

nsi:sor indikerer at organisationen er identificeret via en SOR-kode.

nsi:skskode indikerer at organisationen er identificeret via en SHAK-kode.

nsi:ynumber indikerer at organisationen er identificeret via ydernummer.

Påkrævet

Kun hvis bruger er sundhedsfaglig.

Værdisæt

Afhænger af klassifikationssystemet anvendt i NameFormat attributten.

Eksempel

<hsuid:Attribute Name="nsi:OrgUsingID" NameFormat="nsi:sor">

<hsuid:AttributeValue>440081000016006</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:ResponsibleUserCivilRegistrationNumber

Attributten nsi:ResponsibleUserCivilRegistrationNumber identificerer den sundhedsfagligeperson under hvis ansvar brugeren handler.

Hvis brugeren handler under en anden sundhedsfagligs ansvar, skal sidstnævnte have en dansk autorisation i sundhedsmyndighedens autorisationsregister. Dette  autorisationsnummer skal angives i attributten nsi: ResponsibleUserAuthorizationCode.

Hvis brugeren ikke handler under en anden sundhedsprofessionals ansvar, skal den samme værdi angives i attributterne nsi: ActingUserCivilRegistrationNumber og nsi:ResponsibleUserCivilRegistrationNumber.

XMl-attribut Name

nsi:ResponsibleUserCivilRegistrationNumber

XML-attribut NameFormat

Ikke brugt

Påkrævet

Kun hvis bruger er sundhedsfaglig.

Værdisæt

CPR-nummer

Eksempel

<hsuid:Attribute Name="nsi: ResponsibleUserCivilRegistrationNumber">

<hsuid:AttributeValue>1111112222</hsuid:AttributeValue>

</hsuid:Attribute>

Eksempler på brug er vidst i nedenstående tabel:

Brugertype

Eksempel

nsi:ActingUserCivilRegistrationNumber

nsi:ResponsibleUserCivilRegistrationNumber

nsi:ResponsibleUserAuthorizationCode

Sundhedsfaglig på vegne af sundhedsfaglig med autorisation

Lægesekretær (se: https://sundhedsdatastyrelsen.dk/media/15285/Maalbillede_Samtykke_Frabedelse.pdf figur 9)

Sundhedsfagliges eget CPR-nummer

CPR-nummer på sundhedsfaglig der arbejdes på vegne af

Autorisationsnummer på sundhedsfaglig der arbejdes på vegne af

Sundhedsfaglig med autorisation

Læge, sygeplejerske

Sundhedsfagliges CPR-nummer

Sundhedsfagliges CPR-nummer

Sundhedsfagliges autorisationsnummer

Sundhedsfaglig uden autorisationsnummer

Sosu-assistent, Transplantationskoordinator

Sundhedsfagliges CPR-nummer

Sundhedsfagliges eget CPR-nummer

 Nihil

Attributten nsi:ResponsibleUserAuthorizationCode

Attributten nsi:ResponsibleUserAuthorizationCode angiver autorisationsnummeret registreret i Sundhedsstyrelsens autorisationsregister for den sundhedsperson, under hvis ansvar brugeren handler.

XMl-attribut Name

nsi:ResponsibleUserAuthorizationCode

XML-attribut NameFormat

Ikke brugt

Påkrævet

Kun hvis bruger er sundhedsfaglig.

Værdisæt

Autorisationsnummer registreret i Sundhedsstyrelsens autorisationsregister.

Hvis brugeren handler under eget ansvar, og brugeren ikke har et autorisationsnummer, angives ”-” (uden anførselstegn).

Eksempel

<hsuid:Attribute Name="nsi: ResponsibleUserAuthorizationCode">

<hsuid:AttributeValue>12345</hsuid:AttributeValue>

</hsuid:Attribute>

Hvis brugeren handler under en anden sundhedsfagligs ansvar, skal den anden sundhedsfaglige have et autorisationsnummer registreret i Sundhedsstyrelsens autorisationsregister.

Attributten nsi:ConsentOverride

Attributten nsi:ConsentOverride angiver, om værdispring bruges eller ej. Hvis attributten udelades, betyder det, at værdispring ikke er udført.

XMl-attribut Name

nsi:ConsentOverride

XML-attribut NameFormat

Ikke brugt

Påkrævet

Nej

Værdisæt

True indikerer at der er anvendt værdispring og false indikerer at der ikke er anvendt værdispring.

Eksempel

<hsuid:Attribute Name="nsi:ConsentOverride">

<hsuid:AttributeValue>true</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:SystemOwnerName

Attributten nsi:SystemOwnerName angiver navnet på systemejeren af anvendersystemet.

XMl-attribut Name

nsi:SystemOwnerName

XML-attribut NameFormat

Ikke brugt

Påkrævet

Ja

Værdisæt

Angives af systemejer

Eksempel

<hsuid:Attribute Name="nsi:SystemOwnerName">

<hsuid:AttributeValue>Region Midt</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:SystemName

Attributten nsi:Systemnavn angiver navnet på anvendersystemet

XMl-attribut Name

nsi:SystemName

XML-attribut NameFormat

Ikke brugt

Påkrævet

Ja

Værdisæt

Angives af systemejer

Eksempel

<hsuid:Attribute Name="nsi:SystemName">

<hsuid:AttributeValue>MidtEPJ</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:SystemVersion

Attrbutten nsi:SystemVersion angiver navnet på anvendersystemet.

XMl-attribut Name

nsi:SystemVersion

XML-attribut NameFormat

Ikke brugt

Påkrævet

Ja

Værdisæt

Angives af systemejer

Eksempel

<hsuid:Attribute Name="nsi:SystemVersion">

<hsuid:AttributeValue>9</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:OrgResponsibleName

Attributen nsi:OrgResponsibleName angiver organisationen ansvarlig for anvendersystemet.

XMl-attribut Name

nsi:OrgResponsibleName

XML-attribut NameFormat

Ikke brugt

Påkrævet

Ja

Værdisæt

Angives af den ansvarlige organisation

Eksempel

<hsuid:Attribute Name="nsi:OrgResponsibleName">

<hsuid:AttributeValue>Driftsafdeling Vest</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:CitizenCivilRegistrationNumber

Attributten nsi:CitizenCivilRegistrationNumber angiver CPR-nummer på patient.

XMl-attribut Name

nsi:CitizenCivilRegistrationNumber

XML-attribut NameFormat

Ikke brugt

Påkrævet

Nej

Værdisæt

CPR-nummer

Eksempel

<hsuid:Attribute Name="nsi:CitizenCivilRegistrationNumber">

<hsuid:AttributeValue>1212124321</hsuid:AttributeValue>

</hsuid:Attribute>

Attributten nsi:CitizenUserRelation

Attributten nsi:CitizenCivilUserRelation indikerer forholdet mellem brugeren og patienten. Tilstedeværelsen af denne attribut kræver ikke tilstedeværelsen af attributten nsi:CitizenCivilRegistrationNumber.

XMl-attribut Name

nsi:CitizenUserRelation

XML-attribut NameFormat

Ikke brugt

Påkrævet

Nej

Værdisæt

nsi:Citizen indikerer at bruger er patient

nsi:ChildCustodyHolder indikerer bruger er forældremyndighedsindehaver.

nsi:Guardian indikerer bruger er værge for patienten.

nsi:ProxyHolder indikerer patient har givet bruger fuldmagt.

Eksempel

<hsuid:Attribute Name="nsi:CitizenUserRelation">

<hsuid:AttributeValue>nsi:ChildCustodyHolder</hsuid:AttributeValue>

</hsuid:Attribute>

Eksempel

Følgende er et eksempel på et HSUID-header for en bruger, der:


<?xml version="1.0" encoding="UTF-8" ?>
<hsuid:HsuidHeader xmlns:hsuid="http://www.nsi.dk/hsuid/2016/08/hsuid-1.1.xsd">
	<hsuid:Assertion IssueInstant="2016-08-24T08:26:17.183Z"
		Version="2.0" id="HSUID">
		<hsuid:Issuer>my-issuer</hsuid:Issuer>
		<hsuid:AttributeStatement id="HSUIDdata">
			<hsuid:Attribute Name="nsi:UserType">
				<hsuid:AttributeValue>nsi:HealthcareProfessional</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:ActingUserCivilRegistrationNumber">
				<hsuid:AttributeValue>2202222222</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:OrgUsingID"
				NameFormat="nsi:sor">
				<hsuid:AttributeValue>440081000016006</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:OrgUsingID"
				NameFormat="nsi:skskode">
				<hsuid:AttributeValue>6620151</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:ResponsibleUserCivilRegistrationNumber">
				<hsuid:AttributeValue>1404444444</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:ResponsibleUserAuthorizationCode">
				<hsuid:AttributeValue>12345</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:SystemOwnerName">
				<hsuid:AttributeValue>Region Midt</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:SystemName">
				<hsuid:AttributeValue>MidtEPJ</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:SystemVersion">
				<hsuid:AttributeValue>9</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:OrgResponsibleName">
				<hsuid:AttributeValue>Driftsafdeling Vest</hsuid:AttributeValue>
			</hsuid:Attribute>
			<hsuid:Attribute Name="nsi:CitizenCivilRegistrationNumber">
				<hsuid:AttributeValue>1212124321</hsuid:AttributeValue>
			</hsuid:Attribute>
		</hsuid:AttributeStatement>
	</hsuid:Assertion>
</hsuid:HsuidHeader>

Afvigelser fra HSUID XML Schema

HSUID-headerens format er formelt specificeret med et XML Schema, som er gengivet nedenfor (version 1.1). Det er kun nødvendigt at angive attributten NameFormat, når Name er 'nsi:OrgUsingID'.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://www.nsi.dk/hsuid/2016/08/hsuid-1.1.xsd" xmlns:tns="http://www.nsi.dk/hsuid/2016/08/hsuid-1.1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="Assertion" type="tns:AssertionType"/>

  <xs:element name="Attribute">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="AttributeValue" type="xs:string"/>
      </xs:sequence>
      <xs:attribute name="Name" type="tns:nameConstraint" use="required"/>
      <xs:attribute name="NameFormat" type="tns:subjectIdentifierType" />
    </xs:complexType>
  </xs:element>

  <xs:element name="AttributeValue" type="xs:string"/>

  <xs:element name="HsuidHeader" type="tns:hsuidHeader"/>

  <xs:element name="Issuer" type="xs:string"/>

  <xs:complexType name="AssertionType">
    <xs:sequence>
      <xs:element name="Issuer" type="xs:NCName"/>
      <xs:element name="AttributeStatement">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:Attribute" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="id" type="tns:attributeStatementId" use="required"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="IssueInstant" type="xs:dateTime" use="required"/>
    <xs:attribute name="Version" type="xs:decimal" use="required"/>
    <xs:attribute name="id" type="tns:assertionTypeId" use="required"/>
  </xs:complexType>

  <xs:complexType name="hsuidHeader">
    <xs:sequence>
      <xs:element name="Assertion" type="tns:AssertionType"/>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="nameConstraint">
    <xs:restriction base="xs:string">
      <xs:enumeration value="nsi:UserType"/>
      <xs:enumeration value="nsi:ActingUserCivilRegistrationNumber"/>
      <xs:enumeration value="nsi:ResponsibleUserCivilRegistrationNumber"/>
      <xs:enumeration value="nsi:ResponsibleUserAuthorizationCode"/>
      <xs:enumeration value="nsi:OrgUsingID"/>
      <xs:enumeration value="nsi:ConsentOverride"/>
      <xs:enumeration value="nsi:SystemOwnerName"/>
      <xs:enumeration value="nsi:SystemName"/>
      <xs:enumeration value="nsi:SystemVersion"/>
      <xs:enumeration value="nsi:OrgResponsibleName"/>
      <xs:enumeration value="nsi:CitizenCivilRegistrationNumber"/>
      <xs:enumeration value="nsi:CitizenUserRelation"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="subjectIdentifierType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="nsi:ynumber"/>
      <xs:enumeration value="nsi:skskode"/>
      <xs:enumeration value="nsi:sor"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="attributeStatementId">
    <xs:restriction base="xs:string">
      <xs:enumeration value="HSUIDdata"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="assertionTypeId">
    <xs:restriction base="xs:string">
      <xs:enumeration value="HSUID"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>