Page History
Navitabs | ||||||
---|---|---|---|---|---|---|
| ||||||
Ændringslog
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
1.0 | 2018-08-16 | Initialt dokument | Trifork |
1.1 | 2018-09-11 | Præciseret hvilke delte strukturer der henvises til. | Trifork |
1.2 | 2018-09-13 | Tilføjet manglende beskrivelse af ID-attribut for Language-struktur (UUID) | Trifork |
1.3 | 2018-10-11 | Præcisering omkring antal midlertidige adresser, så der altid kun er én Rettelse af tekst omkring periode for midlertidig adresse, så det matcher den der står i SKR | SDS |
1.4 | 2018-12-05 | Pårørendes telefonnummer (associatedEntity.telecom) stod fejlagtigt som optionelt. Pårørendes telefonnummer skal angives, da sundhedsfaglige ikke ønsker en liste af pårørende, de ikke kan kontakte. | SDS |
1.5 | 2019-01-04 | Borgere med beskyttede adresser i CPR registeret bliver markeret i CDA-headeren (Gældende fra release 2.0.4) | SDS |
Generelt
Fælles Stamkort (FSK) er en service der udstiller borgeres stamdata fra udvalgte registre. Dette inkluderer pårørende, midlertidige adresser, sprog, kontaktoplysninger, tandlæge, livstestamente-, behandlingstestamente, og organdonorregistrering. FSKs dataformat beskrives i det følgende, som forudsætter kendskab til XML og HL7 CDA.
Modellen der anvendes til at repræsentere stamdata er HL7 CDA (se evt. http://www.hl7.org/implement/standards/product_brief.cfm?product_id=7), som er en XML-baseret standard til repræsentation af kliniske data. HL7 CDA er et begrebsapparat, som kan repræsentere en enorm mængde af forskelligartede data, hvoraf kun en lille delmængde anvendes i FSK. Det anbefales derfor at studere eksemplerne der refereres her på siden frem for modellen der defineres af HL7 CDA, da de giver et mere præcist billede af hvilke dele der benyttes.
Et stamkort kan indeholde følgende (såfremt det er registreret):
- borgerens navn- og adresseoplysninger
- egen læge, inkl. adresse og kontaktoplysninger
- sygesikringsgruppe
- et antal pårørende (med tilhørende kontakt- og fritekstoplysninger)
- eventuelle midlertidig(e) adresse(r)
- borgerens sprog
- borgerens kontaktoplysninger (telefonnumre)
- tandlæges stamdata
- indikator for livstestamente
- indikator for behandlingstestamente
- indikator for organdonorregistrering
Der sker registrering af, hvem der gennem tiden har opdateret de forskellige elementer af borgerens stamkort, og disse oplysninger udstilles på stamkortet.
Begreber
Et stamkort repræsenteres som et "ClinicalDocument", som er grundpillen i CDA. Ifm. FSK er der lavet en extension til CDA, som gør det muligt at repræsentere pårørende, midlertidige adresse, sprog samt indikation for livstestamente, behandlingstestamente og organdonorregistrering som entry-typer i dokumentets "structuredBody". Nedenfor ses ClinicalDocument-strukturen som det benyttes i FSK:
Gliffy Diagram | ||||||
---|---|---|---|---|---|---|
|
Selve dokumentets "header" indeholder (udover personen der senest har opdateret stamkortet) data fra CPR-registeret. De øvrige stamkort-data ligger under "StructuredBody", som indeholder en liste af "entry"-sektioner. Disse kan i FSK-sammenhæng have indhold af typen relatedPerson, temporaryAddress, language, healthProvider og observation. Ifm. HL7 CDA er der defineret en række "OIDer", som hver især definerer et udfaldsrum for forskellige id/kode-typer. Meningen er, at der til et id (på fx en person, altså CPR-nummer) defineres et OID, som kan betragtes som en type-erklæring. For FSK er følgende OID'er aktuelle:
Type | OID | Beskrivelse | Eksempel |
---|---|---|---|
Patientkontakt | 1.3.6.1.4.1.19376.1.5.3.1.2.4 | Template-id på participant (se evt. https://wiki.ihe.net/index.php/1.3.6.1.4.1.19376.1.5.3.1.2.4) | <ns2:participant typeCode="IND"> <ns2:templateId root="1.3.6.1.4.1.19376.1.5.3.1.2.4"/> |
SOR | 1.2.208.176.1.1 | Type af organisations-ID baseret på SOR. | <id extension="368061000016003" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/> |
SKS | 2.16.840.1.113883.3.4208.100.5 | Type af organisations-ID baseret på SKS. | <id extension="368061000016003" root="2.16.840.1.113883.3.4208.100.5" assigningAuthorityName="SKS"/> |
CVR-P | 1.2.208.184.15.9* | Type af organisations-ID baseret på CVR-P. | <id extension="368061000016003" root="1.2.208.184.15.9" assigningAuthorityName="CVR-P"/> |
CVR | 1.2.208.184.15.10* | Type af organisations-ID baseret på CVR. | <id extension="368061000016003" root="1.2.208.184.15.10" assigningAuthorityName="CVR"/> |
Ydernummer | 1.2.208.184.15.8* | Type af organisations-ID baseret på Ydernummer. | <id extension="368061000016003" root="1.2.208.184.15.8" assigningAuthorityName="Yder"/> |
Kommunekode | 1.2.208.184.15.11* | Type af organisations-ID baseret på Kommunekode. | <id extension="3680610000" root="1.2.208.184.15.11" assigningAuthorityName="Kommunekode"/> |
CPR | 1.2.208.176.1.2 | CPR-nummer | <id extension="2512489996" root="1.2.208.176.1.2" assigningAuthorityName="CPR"/> |
DK MedCom (member body) | 1.2.208.184 | Id på ClinicalDocument. Ikke aktual ifm. FSK (extension=NA) | <ns2:id assigningAuthorityName="MedCom" extension="NA" root="1.2.208.184"/> |
Fortrolighed | 2.16.840.1.113883.5.25 | Altid N=Normal ifm. FSK | <ns2:confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/> |
ISO-angivelse af sprog | 1.0.639.1 | ISO-639-1 formatteret sprog | <ns4:languageCode codeSystem="1.0.639.1">de</ns4:languageCode> |
ISO-angivelse af køn | 2.16.840.1.113883.5.1 | En borgers køn (M/F) | <ns2:administrativeGenderCode code="F" codeSystem="2.16.840.1.113883.5.1"/> |
Dokument type-id | 2.16.840.1.113883.1.3 | HL7-registreret RMIM (HL7 internal) | <ns2:typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/> |
Stamkode code system | 1.2.208.184.15.1* | Kodesystem, ikke aktuel ifm. FSK (code=NA) | <ns2:code code="NA" codeSystem="1.2.208.184.15.1" displayName="Stamkort"/> |
Midlertidig adresse | 1.2.208.184.15.2* | IDer (UUID) på midlertidige adresse | <ns4:temporaryAddress> |
Pårørende | 1.2.208.184.15.3* | IDer (UUID) på pårørende | <ns4:relatedPerson> |
Pårørende type | 1.2.208.184.15.4* | Følger MedCom-definerede typer for pårørende: uspec_paaroerende, barn, aegtefaelle, forældre, barnebarn, svigerbarn, ingen_relationer, nabo, samboende, registreret_partner, søskende, øvrig_familie | <ns2:code code="uspec_paaroerende" codeSystem="1.2.208.184.15.4"/> |
Uddannelseskode | 1.2.208.184.15.5* | IDer (UUID) på uddannelseskoder | <ns2:id assigningAuthorityName="UDDANNELSESKODE" extension="7170" root="1.2.208.184.15.5"/> |
Autorisationsid | 1.2.208.184.15.6* | IDer (UUID) på autorisationskoder | <ns2:id assigningAuthorityName="AUTORISATION" extension="09YM8" root="1.2.208.184.15.6"/> |
Livstestamente code system | 1.2.208.184.15.1* | Kodesystem | <ns2:code code="LivingWill" displayName="Livstestamente" codeSystem="1.2.208.184.15.1"/> |
Behandlingstestamente code system | 1.2.208.184.15.1* | Kodesystem | <ns2:code code="TreatmentWill" displayName="Behandlingstestamente" codeSystem="1.2.208.184.15.1"/> |
Organdonor code system | 1.2.208.184.15.1* | Kodesystem | <ns2:code code="OrganDonor" displayName="OrganDonorRegistration" codeSystem="1.2.208.184.15.1"/> |
* id defineres endeligt af MedCom.
På oidref.com kan man i øvrigt se betydningen af enkeltcifre i de fleste OIDer, fx http://oidref.com/2.16.840.1.113883.1.3
Serviceoperationer
FSK indeholder ingen serviceoperationer, som er direkte tilgængelige for klienter. Derimod udstilles FSKs data som et "on demand"-dokument i dokumentdelingsservicen (DDS). Dette betyder at klienter skal anvende services fra DDS til fremsøgning af data fra FSK. Disse services er beskrevet her: Dokumentdelingsservice (DDS), og nedenfor beskrives hvilke data der skal til ifm. anvendelsen af DDS, samt formatet af det returnerede dokument.
DDS konfiguration
Proceduren er, at FSK registrerer metadata i DDS om det "on demand"-dokument der for hver borger kan trækkes fra FSK. Efterfølgende kan klienter fx lave en "AdhoqQuery" for at fremsøge hvilke dokumenter der findes for fx et givet CPR-nummer.
For at kunne benytte DDS til fremsøgning af oplysninger i FSK er det dog nødvendigt at kende følgende stamdata om FSK's "on demand"-dokumenter:
FSK HomeCommunityId: 1.2.208.176.8.1.12
Miljø | RepositoryUniqueId |
---|---|
Test1 | 1.2.208.176.43210.8.10.12 |
Test2 | 1.2.208.176.43210.8.20.12 |
ProdTest | 1.2.208.176.43210.8.30.12 |
Uddannelse | 1.2.208.176.43210.8.40.12 |
Produktion | 1.2.208.176.8.1.12 |
For en detaljeret oversigt over, hvilke metadata der registreres i DDS registry henvises til denne side.
Dokumentformat
Nedenfor beskrives formatet af "on demand"-dokumentet, som returneres fra FSK. For hard-kodede værdier angives ikke en type.
Et eksempel ses her: FSK15_ClinicalDocument_Example.xml
Element | Beskrivelse | Type | Optionel | ||
---|---|---|---|---|---|
realmCode | Krævet pr. standard, fast værdi | - | - | ||
typeId | Krævet pr. standard, fast værdi | - | - | ||
templateId | Krævet pr. standard, fast værdi | - | - | ||
id | Krævet pr. standard, fast værdi | - | - | ||
code | Krævet pr. standard, fast værdi | - | - | ||
title | Krævet pr. standard, fast værdi | - | - | ||
effectiveTime | Tidspunkt for generering af svar | - | - | ||
confidentialityCode | Krævet pr. standard, fast værdi | - | - | ||
languageCode | Krævet pr. standard, fast værdi | - | - | ||
versionNumber | Stamkortets versionsnummer | int(11) | Nej | ||
recordTarget.patientRole.typeId | Borgerens sygesikringsgruppe (i attributten extension). Følgende værdisæt er muligt: sygesikringsgruppe_1: Gruppe 1 dækning | - | Ja | ||
recordTarget.patientRole.id | Borgerens CPR-nr i "extension"-attribut | int(10) | Nej | ||
recordTarget.patientRole.addr | Borgerens adresse. Se tabel længere nede (delt struktur Addr)
| - | Nej | ||
recordTarget.patientRole.patient.name.given | Borgers fornavn | varchar(50) | Nej | ||
recordTarget.patientRole.patient.name.family | Borgers mellem- og efternavn | varchar(81) | Nej | ||
author.time | Dato/tid. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200 | varchar(19) | Nej | ||
author.assignedAuthor.assignedPerson.name.given | Seneste stamkort-modifikator, fornavn | varchar(80) | Ja | ||
author.assignedAuthor.assignedPerson.name.family | Seneste stamkort-modifikator, efternavn | varchar(80) | Ja | ||
custodian.assignedCustodian.representedCustodianOrganization.id | Krævet pr. standard, fast værdi | - | - | ||
participant.templateId | Krævet pr. standard, fast værdi | - | - | ||
participant.associatedEntity.id | Pårørendes CPR (angives i extension-attribut) | varchar(10) | Nej | ||
participant.associatedEntity.classCode | Angiver den associeredes rolle. PRS = pårørende, CAREGIVER = egen læge | - | Nej | ||
participant.associatedEntity.code | Den pårørendes type (i code-attribut). Pt. enten YDERNUMMER (hvis egen læge, hvor codeSystem så er '1.2.208.184.15.8') eller "uspec_paaroerende", men kan i princippet også være en vilkårlig af følgende MedCom-typer: barn, aegtefaelle, forældre, barnebarn, svigerbarn, ingen_relationer, nabo, samboende, registreret_partner, søskende, øvrig_familie | varchar(20) | Ja | ||
participant.associatedEntity.addr | Se tabel længere nede (delt struktur Addr) | - | Ja | ||
participant.associatedEntity.telecom | 0-3 forekomster med attribut use=H/MP/WP (H=home, MP=mobile phone, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622" | varchar(45) | Ja | ||
participant.associatedEntity.associatedPerson.name.given | Pårørendes fornavn | varchar(50) | Ja | ||
participant.associatedEntity.associatedPerson.name.family | Pårørendes mellem- og efternavn | varchar(81) | Ja | ||
participant.associatedEntity.scopingOrganization | Udfyldes kun ifm. egen læge. Indeholder i så fald lægens adresse/kontaktoplysninger. Se tabel længere nede (delt struktur Organization) | - | Ja | ||
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.relatedPerson: | |||||
id | Pårørendes id (UUID) | varchar(36) | Nej | ||
associatedEntity.addr | Se tabel længere nede (delt struktur Addr) | - | Ja | ||
associatedEntity.telecom | 0-3 forekomster med attribut use=H/MP/WP (H=home, MP=mobile phone, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622" | varchar(45) | Nej | ||
associatedEntity.associatedPerson.name.given | Pårørendes for- og mellemnavn | varchar(80) | Nej | ||
associatedEntity.associatedPerson.name.family | Pårørendes efternavn | varchar(80) | Ja | ||
relationshipType | Pårørendes type (en af følgende MedCom-typer: uspec_paaroerende, barn, aegtefaelle, forældre, barnebarn, svigerbarn, ingen_relationer, nabo, samboende, registreret_partner, søskende, øvrig_familie) | varchar(20) | Ja | ||
note | Fritekstbeskrivelse af den pårørendes rolle i forhold til borgeren, hvilke opgaver personen kan være behjælpelig med osv. | varchar(1000) | Ja | ||
dataEnterer | Se tabel længere nede (delt struktur DataEnterer) | - | Nej | ||
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.temporaryAddress: | |||||
id | Midlertidig adresses id (UUID) | varchar(36) | Nej | ||
addr | Se tabel længere nede (delt struktur Addr) | - | Nej | ||
dataEnterer | Se tabel længere nede (delt struktur DataEnterer) | - | Nej | ||
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.patientContact: | |||||
telecom | 0-3 forekomster med attribut use=H/MP/WP (H=home, MP=mobile phone, WP=work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622" | varchar(45) | Ja | ||
dataEnterer | Se tabel længere nede (delt struktur DataEnterer) | n | Nej | ||
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.language: | |||||
id | Sprog id (UUID) | varchar(36) | Nej | ||
languageCode | Sprogkode (kan være tom for fx spædbørn, borgere uden taleevne mm). Format: ISO-639-1 | char(2) | Ja | ||
dataEnterer | Se tabel længere nede (delt struktur DataEnterer) | - | Nej | ||
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.healthProvider: | |||||
id | Tandlæges id (UUID) | varchar(36) | Nej | ||
providerType | Indeholder sundhedspersonens type. Pt. altid code/displayName=tandlæge. | - | Nej | ||
organization | Se tabel længere nede (delt struktur Organization) | - | Ja | ||
dataEnterer | Se tabel længere nede (delt struktur DataEnterer) | - | Nej | ||
Nedenstående elementer hører alle under component.structuredBody.component.section.entry.observation: | |||||
code | Typen af indikation. Kan antage værdierne LivingWill, TreatmentWill, OrganDonor | - | Nej | ||
value | Indholdet af attributten "value" indeholder true/false hvis der hhv. findes eller ikke findes en registrering af typen angivet under code. Fx således hvis der ikke findes en organdorregistrering: <observation moodCode="EVN" classCode="OBS"> | Boolean, true/false | Nej |
Addr
Bemærk at der på en "addr"-struktur anvendes attribut isNotOrdered="false", da funktionalitet afhænger af en bestemt rækkefølge af streetAddressLine.
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
streetAddressLine | Adresselinje, 0-4 forekomster | varchar(80) | Ja |
postalCode | Postnummer | varchar(10) | Ja |
city | By | varchar(80) | Ja |
country | Land | varchar(80) | Ja |
useablePeriod | 1 eller 2 forekomster. 1 til at indikere en periode gældende fra et givet tidpunkt og fremad, eller 2 til at angive et datointerval, f.eks. således (værdien operator="I" betyder "intersection"): <cda:useablePeriod value="20140106" operator="I"/> Format for value-attributten er yyyyMMdd | varchar(8) for value-attribut | Ja |
Organization
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
id | Indeholder pt. pågældendes ydernummer i extension-attributten | varchar(6) | Ja |
name | Sundhedspersonens praksisbetegnelse | varchar(50) | Ja |
telecom | 0-2 forekomster med attribut use=WP (work place). Telefonnummer angives i attributten "value" med præfix "tel:", fx value="tel:01123622", og email med præfix "mailto:", fx value="mailto:test@testyder.dk" | varchar(57) | Ja |
addr | Se tabel ovenfor (delt struktur) | - | Ja |
DataEnterer
Den generelle dataEnterer-struktur der anvendes på diverse request, samt på relatedPerson, temporaryAddress og language, ser ud som følger (organisationsoplysninger skal angives hvis der er tale om en sundhedsperson):
Element | Beskrivelse | Type | Optionel |
---|---|---|---|
time | Tidspunkt for opdatering. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200 | varchar(19) | Nej |
assignedAuthor.id | En eller flere forekomster med værdi i attribut "extension" og type (fx CPR/AUTORISATION/UDDANNELSESKODE) i attribut "assigningAuthorityName" | extension varchar(10), assigningAuthorityName varchar(30) | Nej |
assignedAuthor.assigningPerson.name.given | For- og mellemnavn på person bag opdatering | varchar(80) | Nej |
assignedAuthor.assigningPerson.name.family | Efternavn på person bag opdatering | varchar(80) | Nej |
assignedAuthor.representedOrganization.id | Organisations id, såfremt der er tale om en sundhedsperson. Værdi findes i attribut "extension", type i attribut "assigningAuthorityName" | extension varchar(80), assigningAuthorityName varchar(30) | Ja |
assignedAuthor.representedOrganization.name | Organisations navn | varchar(30) | Ja |