Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added information on mapping of the SOR datafields to the created eHealth organisation

...

Excerpt

The eHealth Infrastructure performs import of organizations information from Sundhedsvæsnets Organisationsregister (SOR) and KOMBIT Fælleskommunalt (FK) Organisation (formerly Støttesystemet Organisation (STS-ORG)) to the eHealth Infrastructure on a daily basis.

During the import new or updated information in SOR and FK Organisation is updated in the eHealth Infrastructure.

...

The SOR data file contains all organizations in SOR. The data file is published at http://filer.nsi.dk/sor/data/sor/sorxml/v_2_0_0/Sor.zip and is used in all FUT environments (exttest, test002 (education), pre-prod, production).

Info

The import exclude excludes the organization tree below 'Sundhedsdatastyrelsen' (SOR Identifier 634491000016008), and all children found below the organization.

...

The import respects the address inheritance rules defined by SOR by copying the relevant addresses from parents if not available for the current organization.
The import does not copy other attributes and values from the parent, and the current organizations are imported as-is.

Data mapping from SOR data to FHIR Organization of profile ehealth-organization:

...

The following table explains how each of the attributes on the FHIR resource is mapped from the SOR data model.

ehealth-organization element

Source from SOR

Description

id

N/A

Generated by FHIR server

meta.*

N/A

Generated by FHIR server

implicitRules

N/A

text

N/A

contained

N/A

extension

N/A

ehealth-organization-relatedTo

N/A

modifierExtension

N/A

identifier[0].use

Always set to official

identifier[0].type

N/A

identifier[0].system

always set to 'urn:oid:1.2.208.176.1.1'

identifier[0].code

SorIdentifier

The SOR identifier is stored in eHealth Infrastructure

identifier[0].period.start

SorStatus.FirstFromDate

identifier[0].period.end

SorStatus.ToDate

identifier[0].assigner

N/A

active

Computed based on SorStatus.ToDate and SorStatus.FirstFromDate

Set to true when:

sor1:ToDate is not set or is in the future and sor1:FirstFromDate is not a future date.

Set to false when

sor1:ToDate is in the past or sor1:FirstFromDate is a future date.

We will be using FirstFromDate as this is the flag used in SOR to set organizations active - FromDate is set when other data on the organization changes.

type

EntityTypeIdentifier

name

EntityName

alias

Concatenation of entityName from the top of the tree down to and including the current entity.

Example: For SorIdentifier=914571000016002 with name "KOL Klinik" the constructed alias will be:

"Region Midtjylland, Aarhus Universitetshospital, Lungesygdomme, Lungesygdomme Klinik, KOL Klinik"

cvrNumber

CVRNumberIdentifier

If the SOR organization has a CVR number

...

, it is stored

...

.

Only if available on the current SOR entity. (no inheritance)

Source

Always set to SOR.

See Organization Source - eHealth Infrastructure v3.0.0 (sundhed.dk)

partOf

Calculated from ParentSorIdentifier

Relationships defining the organization trees are reflected in the Organization.partOf element.

FHIR id for the parent organization according to the SOR hierarchy.

telecom[n].value

  • VirtualAddressInformation.EmailAddressIdentifier

  • VirtualAddressInformation.Website

  • VirtualAddressInformation.TelephoneNumberIdentifier

  • VirtualAddressInformation.FaxNumberIdentifier

telecom[n].system

Code calculated from

  • VirtualAddressInformation.EmailAddressIdentifier

  • VirtualAddressInformation.Website

  • VirtualAddressInformation

...

  • .TelephoneNumberIdentifier

  • VirtualAddressInformation.FaxNumberIdentifier

Stored as ContactPoints

See https://hl7.org/fhir/R4/valueset-contact-point-system.html

If not present on the current element the VirtualAddressInformation are inherited from the SOR parent.

address[n]

Two addresses will be stored in FHIR.

PostalAddressInformation

And either an

VisitingAddressInformation or ActivityAddressInformation

PostalAddressInformation are mapped to an address using type = 'postal'.

Then a prioritized select of VisitingAddressInformation, ActivityAddressInformation is stored with type = 'physical'

http://filer.sst.dk/sor/docs/sorxml/v_2_0_0/SorXmlDocumentationV2.html describes inheritance of addresses in the SOR structure (translated to english):

  • If "HealthInstitution" doesn't have a "PostalAddressInformation" the address is inherited from the parent.

  • If "HealthInstitution" doesn't have a "VisitingAddresseInformation" the unit's "PostalAddressInformation" is used.

  • If "OrganizationalUnit" doesn't have a "PostalAddressInformation" the address is inherited from the parent (either a HI or OU).

  • If "OrganizationalUnit" doesn't have a "VisitingAddressInformation" the unit's "PostalAddressInformation" is used.

  • If "OrganizationalUnit" doesn't have a "AcvitivityAddressInformation" the unit's "VisitingAddressInformation" is used.

After applying the inheritance logic the values are copied to the FHIR model. Ie. addresses are not left blank in the FHIR model.

address[0].type

PostalAddressInformation are mapped to an FHIR address using type = 'postal'.

address[0].text

PostalAddressInformation.AdditionalAddressInformationText

address[1].type

Either an VisitingAddressInformation or ActivityAddressInformation stored with type = 'physical'

contact

N/A

Not created during import.

municipalityCode

PostalAddressInformation.MunicipalityCode

regionCode

PostalAddressInformation.RegionCode

providerIdentifier

ProviderIdentifier

Translates to the danish 'Ydernummer'

specialty

SpecialityIdentifier

eHealth Infrastructure imports from KOMBIT Fælleskommunalt (FK) Organisation

...

eHealth Environment

Service Agreements in place

KOMBIT Environment imported from

FK Organisation Service

Production

For all municipalities

PROD

https://prod.serviceplatformen.dk/service/Organisation

Non-production (e.g. EXTTEST)

For fewer municipalities (at the time of writing)

TEST

https://exttest.serviceplatformen.dk/service/Organisation

...

  • The Organisation identifier is stored as an Organization.identifier with system 'https://www.kombit.dk/sts/organisation'.

  • The OrganisationEnhed identifier is stored as an Organization.identifier with system 'https://www.kombit.dk/sts/organisation'.

  • The CVR Number defined on the Virksomhed is copied to all children in the organizational tree.

  • Relationships defining the organization trees are reflected in the Organization.partOf element.

  • (upcoming functionality) Address: Adresse resources with Rolle 'SOR-ID' a relationship to the related SOR organization is reflected in the Organization.relatedTo element.

  • Telecom: Adresse resources with Rolle 'Email' or 'Telefon' are stored as ContactPoints under the organization.telecom element.

  • Address: Adresse resources with Rolle 'Postadresse' are stored as Organization.address.

Info

In case the resolution of the Address and telecom fails, it is logged and processing continues. This leaves the Address and telecom unchanged.

...