...
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 the 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 is inherited from the SOR parent. |
address[n]
| Two addresses will be stored in FHIR. PostalAddressInformation
And either an VisitingAddressInformation or ActivityAddressInformation
| PostalAddressInformation is 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 the 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 an "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 is mapped to an FHIR address using type = 'postal'.
| |
address[0].text
| PostalAddressInformation.AdditionalAddressInformationText
| |
address[1].type
| Either a 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
| |
...
Data mapping from FK Organisation objects to FHIR Organization of profile https://docs.ehealth.sundhed.dk/latest-released/igfhir/StructureDefinition-ehealth-organization.html :
The following table explains how each of the attributes on the FHIR resource is mapped from the FK Organisation data model
ehealth-organization element | FK Organisation Source | Comment |
---|
id
| | Generated by FHIR server |
meta.*
| | Generated by FHIR server |
implicitRules
| | N/A |
language
| | N/A |
text
| | N/A |
contained
| | N/A |
extension
| | N/A |
relatedTo
| Adresse resources with Rolle 'SOR-ID '
| A relation to corresponding FHIR Organisations with the given SOR Id is established. Adresse resources with Rolle 'SOR-ID ' a relationship to the related SOR organization is reflected in the Organization.relatedTo element. |
modifierExtension
| | N/A |
identifier[0].use
| | Always set to official |
identifier[0].type
| | Not used |
identifier[0].system
| | For FK Organisation always https://www.kombit.dk/sts/organisation |
identifier[0].value
| If Organisation
//element(*,tns:ListResponseType)/org:ListOutput/org:FiltreretOejebliksbillede/org:ObjektType/sd:UUIDIdentifikator If OrganisationEnhed
tns:ListResponse/orgenhed:ListOutput/orgenhed:FiltreretOejebliksbillede/orgenhed:ObjektType/sd:UUIDIdentifikator | |
identifier[0].period.start
| If Organisation
//element(*,tns:ListResponseType)/org:ListOutput/org:FiltreretOejebliksbillede/org:Registrering/org:TilstandListe/orgfaelles:Gyldighed/sd:Virkning/sd:FraTidspunkt If OrganisationEnhed
tns:ListResponse/orgenhed:ListOutput/orgenhed:FiltreretOejebliksbillede/orgenhed:Registrering/orgenhed:TilstandListe/orgfaelles:Gyldighed/sd:Virkning/sd:FraTidspunkt | |
identifier[0].period.end
| if Organisation
//element(*,tns:ListResponseType)/org:ListOutput/org:FiltreretOejebliksbillede/org:Registrering/org:TilstandListe/orgfaelles:Gyldighed/sd:Virkning/sd:TilTidspunkt If OrganisationEnhed
tns:ListResponse/orgenhed:ListOutput/orgenhed:FiltreretOejebliksbillede/orgenhed:Registrering/orgenhed:TilstandListe/orgfaelles:Gyldighed/sd:Virkning/sd:TilTidspunkt | |
identifier[0].assigner
| | Not used |
type
| Organisation or OrganisationEnhed
| See https:// |
docs.latest-released/igfhir/CodeSystem-ehealth-oio-organization-type.html |
active
| If Organisation
//element(*,tns:ListResponseType)/org:ListOutput/org:FiltreretOejebliksbillede/org:Registrering/org:TilstandListe/orgfaelles:Gyldighed/orgfaelles:GyldighedStatusKode If OrganisationEnhed
tns:ListResponse/orgenhed:ListOutput/orgenhed:FiltreretOejebliksbillede/orgenhed:Registrering/orgenhed:TilstandListe/orgfaelles:Gyldighed/orgfaelles:GyldighedStatusKode | Has to be Aktiv for active to be true. If value is “Inaktiv”, then active is set to false. |
name
| Organisation
//element(*,tns:ListResponseType)/org:ListOutput/org:FiltreretOejebliksbillede/org:Registrering/org:AttributListe/org:Egenskab/sd:OrganisationNavn OrganisationEnhed
tns:ListResponse/orgenhed:ListOutput/orgenhed:FiltreretOejebliksbillede/orgenhed:Registrering/orgenhed:AttributListe/orgenhed:Egenskab/sd:EnhedNavn | |
alias
| | Concatenation of 'name' from the top of the tree down to and including the current entity. |
partOf
| OrganisationEnhed.Overordnet Target: tns:ListResponse/orgenhed:ListOutput/orgenhed:FiltreretOejebliksbillede/orgenhed:Registrering/orgenhed:RelationListe/sd:Overordnet/sd:ReferenceID/sd:UUIDIdentifikator (translated to a FHIR Organization reference) .. or if Overordnet isn't set: OrganisationEnhed.Tilhoerer Target: tns:ListResponse/orgenhed:ListOutput/orgenhed:FiltreretOejebliksbillede/orgenhed:Registrering/orgenhed:RelationListe/sd:Tilhoerer/sd:ReferenceID/sd:UUIDIdentifikator (translated to a FHIR Organization reference) | Relationships defined in the organization trees from FK Organisation are reflected in the Organization.partOf element. FHIR id for the parent organization according to the OIO hierarchy. |
address[0]
| The first found entry in ../x:Registrering/x:RelationListe/x:Adresser with the Rolle = 'Postadresse' is mapped to a FHIR Address. | Address: Adresse resources with Rolle 'Postadresse ' are stored as Organization.address . |
address[0].use
| Always "work" | In case of a STS ORG Adresse |
address[0].type
| Always "postal" | In case of a STS ORG Adresse |
address[0].text
| From Adresse service ../x:Registrering/x:AttributListe/x:Egenskab/x:AdresseTekst
| In case of a STS ORG Adresse |
address[0].period.start
| From Organisation|OrganisationEnhed service ../x:Registrering/x:RelationList/x:Adresser/x:Virkning/x:FraTidspunkt/x:TidsstempelDatoTid
| In case of a STS ORG Adresse |
address[0].period.end
| From Organisation|OrganisationEnhed service ../x:Registrering/x:RelationList/x:Adresser/x:Virkning/x:TilTidspunkt/x:TidsstempelDatoTid
| In case of a STS ORG Adresse |
address[0].use
| Always "work" | In case of a DAR address |
address[0].type
| Always "postal" | In case of a DAR address |
address[0].line
| adresse.adgangsadresse.vejstykke.navn adresse.adgangsadresse.husnr[, adresse.etage adresse.dør]
| In case of a DAR address |
address[0].city
| adresse.adgangsadresse.postnummer.navn
| In case of a DAR address |
address[0].postalCode
| adresse.adgangsadresse.postnummer.nr
| In case of a DAR address |
address[0].country
| Always "DK" | In case of a DAR address |
address[0].regionCode
| adresse.adgangsadresse.region.kode
| In case of a DAR address |
address[0].municipalityCode
| adresse.adgangsadresse.kommune.kode
| In case of a DAR address |
telecom[0]
| The first found entries in ../x:Registrering/x:RelationListe/x:Adresser for each of the 'Telefon ' and 'Email ' roles is mapped to a FHIR telecom. | Telecom: Adresse resources with Rolle 'Email' or 'Telefon' are stored as ContactPoints under the organization.telecom element. |
telecom[0].use
| Always "work " | |
telecom[0].system
| "phone " or "email " depending on the Rolle | |
telecom[0].value
| From Adresse service ../x:Registrering/x:AttributListe/x:Egenskab/x:AdresseTeks t
| |
telecom[0].period.start
| From Organisation|OrganisationEnhed service ../x:Registrering/x:RelationList/x:Adresser/x:Virkning/x:FraTidspunkt/x:TidsstempelDatoTid
| |
telecom[0].period.end
| From Organisation|OrganisationEnhed service ../x:Registrering/x:RelationList/x:Adresser/x:Virkning/x:FraTidspunkt/x:TidsstempelDatoTid
| |
contact
| | Not set by import |
source
| | STS-ORG for an organisation imported from STS-ORG
|
cvrNumber
| tns:ListResponse/virksomhed:ListOutput/virksomhed:FiltreretOejebliksbillede/virksomhed:Registrering/virksomhed:AttributListe/virksomhed:Egenskab/stsBrugervendtNoegleTekst .
| The CVR Number defined on the Virksomhed is copied to all children in the organizational tree. This CVR number is taken from the Organisation-associated Virksomheds object and applied to all Organisation and OrganisationEnhed in the tree. The top-level Organisation in a hierarchy is accessed with the "tilhører" relation in an OrganisationEnhed |
regionCode
| Not available in FK Org. | This information does not exist for address in OIO Organisation (Adresse). RegionCode for addresses is read from DAR: adresse.adgangsadresse.region.kode |
municipalityCode
| Not available in FK Org. | This information does not exist for address in OIO Organisation (Adresse). Municipality code for addresses is read from DAR: adresse.adgangsadresse.kommune.kode |
providerIdentifier
| Not available in FK Org. | |
specialty
| Not available in FK Org. | |
Note |
---|
In case the resolution of the Address and telecom fails, it is logged and processing continues. This leaves the Address and telecom unchanged. |
...