Overblik

Behandlingstestamenteregistret (BTR) er én applikation men udadtil to services, der håndterer data for henholdsvis livstestamenteregistreringer og behandlingstestamenteregistreringer. Begge services har operationer til registrering og udstilling af borgerens oplysninger i disse registre. Servicerne beskrives i det følgende, som forudsætter kendskab til HL7 CDA og webservices.

Ændringslog

Version

Dato

Ændring

Ansvarlig

1.0.1

2018-08-09

Initialt dokument

Trifork

-2018-08-10Tilføjelser til snitfladebeskrivelseTrifork
1.0.22018-08-31Ny releaseTrifork
1.0.32018-09-06Endpoints ændret fra /ltr-btr til /btrTrifork
1.0.62018-10-15

Tilføjet data-elementet noForcedTreatmentIfIncapable

Fjernet elementet relativeAcceptanceRequired og indført acceptanceNeeded for alle 4 Behandlingstestamente-spørgsmål

Opdateret request/response XML-eksempler

Trifork

HL7 CDA

Modellen der anvendes til at repræsentere livs- og behandlingstestamentedata 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 servicen. 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 data der kræves og returneres af de forskellige operationer. CDA-terminologien gør, at man kan kvalificere de forskellige begreber gennem attributter (f.eks. at et id er et CPR nummer ved at angive assigningAuthorityName="CPR"), og derfor valideres der i servicen, at disse attributter anvendes korrekt, så der ikke er tvivl om hvordan data skal fortolkes. Dvs. i praksis sker der en strengere validering end WSDL og XSDer dikterer.

Data i begge servicer består kort fortalt af et person id (CPR-Nummer) med tilhørende værdier for besvarelser på forskellige spørgsmål vedrørende livsforlængende behandling. Servicen indeholder operationer til vedligehold og udstilling af disse data.

Anvendelse

I begge servicer repræsenteres en livs- eller behandlingstestamenteregistrering i et ClinicalDocument, som er grundpillen i CDA. Heri indgår en CDA header og en StructuredBody. I forbindelse med begge servicer er der lavet en "extension" til CDA, hvori det er muligt at repræsentere henholdsvis en livs- eller behandlingstestamenteregistrering som observation-type i dokumentets StructuredBody, som vist på figuren nedenunder. Figuren giver et overblik over de væsentligste elementer der anvendes i CDA.

Selve dokumentets CDA Header (som ligger i ClinicalDocument før StructuredBody) indeholder information om borgerens person id (CPR-nr.) og hvem der er ophavsmand på den pågældende registreringen, hvilken kun kan være borgeren selv.

De egentlige data for borgerens registrering forefindes under StructuredBody, som indeholder en liste af Entry-elementer, dog eksisterer der kun én Entry eftersom en borger kun kan have én gyldig registrering ad gangen. Entry indholder en Observation, som reelt er det CDA element, hvor data om en livs- eller behandlingstestamenteregistrering forefindes.

OID

Ifm. HL7 CDA er der defineret en række OID'er, 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 livs- og behandlingstestamenteregistreringer er følgende OID'er aktuelle:

Type

OID

Beskrivelse

Eksempel

CPR1.2.208.176.1.2CPR-nummer

<ns2:id assigningAuthorityName="CPR" extension="0501792275" root="1.2.208.176.1.2"/>

DK MedCom (member body)1.2.208.184Id på ClinicalDocument. Ikke aktual ifm. denne service (extension=NA)

<ns2:id assigningAuthorityName="MedCom" extension="NA" root="1.2.208.184"/>

Fortrolighed2.16.840.1.113883.5.25Altid N (for "Normal") ifm. denne service

<ns2:confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>

Dokument type-id2.16.840.1.113883.1.3HL7-registreret RMIM (HL7 internal)

<ns2:typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/>

Code system1.2.208.184.15.1*Kodesystem

<ns2:code code="LivingWill" displayName="Livstestamente" codeSystem="1.2.208.184.15.1"/>

Code system1.2.208.184.15.1*Kodesystem

<ns2:code code="TreatmentWill" displayName="Behandlingstestamente" 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 OID'er, fx  http://oidref.com/2.16.840.1.113883.1.3

Snitflade

Sundhedsfaglige anvender begge servicer gennem en DGWS­-snitflade, som skal kaldes med et MOCES niveau 4 medarbejdercertifikat. Via DGWS er der udelukkende adgang til at se om et registrering eksisterer, samt se detaljer om registreringen.

Borgere anvender servicerne gennem en IDWS­-snitflade og har adgang til alle operationer. Der understøttes ikke fuldmagter.

Snitfladerne skal kaldes skal kaldes gennem NSP'ens DCC endpoint (afkoblingskomponenten).

Server-URL'er for de forskellige test-miljøer kan findes på Endpoints for eksterne testmiljøer.

Pt findes der 2 sæt af snit flader til Behandlingstestamenteregistret. Forskellen er, at for noLifeProlongingIfDying kan der i version 2 ikke angives om der skal gives yderligere accept fra nærmest pårørende, værge eller fremtidsfuldmægtig.


WSDL-filer
HTML-side med overblik
<server>/btr/wsdl
Livstestamenteregister DGWS
<server>/btr/wsdl/ltr/dgws
Livstestamenteregister IDWS
<server>/btr/wsdl/ltr/idws

Behandlingstestamenteregister DGWS

<server>/btr/wsdl/btr/dgws
Behandlingstestamenteregister IDWS
<server>/btr/wsdl/btr/idws
Behandlingstestamenteregister DGWS v2<server>/btr/wsdl/btrV2/dgws
Behandlingstestamenteregister IDWS v2<server>/btr/wsdl/btrV2/idws


WSDL Livstestamenteregistret

Operation

Beskrivelse

DGWSIDWS

CreateLivingWillRequest_2018_05_01

Opret en livstestamenteregistrering for en specifik borger

NejJa

UpdateLivingWillRequest_2018_05_01

Opdatér en borgers livstestamenteregistrering

NejJa

DeleteLivingWillRequest_2018_05_01

Slet en borgers livstestamenteregistrering

NejJa

GetLivingWillRequest_2018_05_01

Hent en livstestamenteregistrering for en specifik borger

JaJa

HasLivingWillRequest_2018_05_01

Hent om en specifik borger har en livstestamenteregistrering

JaJa

WSDL Behandlingstestamenteregistret

Operation

Beskrivelse

DGWSIDWS

CreateTreatmentWill_2018_05_01

Opret en behandlingstestamenteregistrering for en specifik borger

NejJa

UpdateTreatmentWill_2018_05_01

Opdatér en borgers behandlingstestamenteregistrering

NejJa

DeleteTreatmentWill_2018_05_01

Slet en borgers behandlingstestamenteregistrering

NejJa

GetTreatmentWill_2018_05_01

Hent en behandlingstestamenteregistrering for en specifik borger

JaJa

HasTreatmentWill_2018_05_01

Hent om en specifik borger har en behandlingstestamenteregistrering

JaJa

WSDL Behandlingstestamenteregistret version 2

Operation

Beskrivelse

DGWSIDWS

CreateTreatmentWill_2020_03_16

Opret en behandlingstestamenteregistrering for en specifik borger

NejJa

UpdateTreatmentWill_2020_03_16

Opdatér en borgers behandlingstestamenteregistrering

NejJa

DeleteTreatmentWill_2020_03_16

Slet en borgers behandlingstestamenteregistrering

NejJa

GetTreatmentWill_2020_03_16

Hent en behandlingstestamenteregistrering for en specifik borger

JaJa

HasTreatmentWill_2020_03_16

Hent om en specifik borger har en behandlingstestamenteregistrering

JaJa

Serviceoperationer Livstestamenteregistret

Nedenfor beskrives de forskellige operationer i servicen. For hver operation gives eksempler på request/response hvis aktuelle (for simpelhedens skyld uden DGWS/IDWS headers). Eksemplerne tjener dels til formål at give overblik over hvad der skal til for at bruge en operation, men demonstrerer samtidigt hvilke attributter der er krævet. Dvs. de forskellige requests angiver hvad der som minimum skal angives.

CreateLivingWill

Request-eksempel: CreateLivingWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

livingWill


Data for en livstestamenteregistrering. Type er LivingWill. Se tabel under afsnittet Typer.

-

Nej

Response-eksempel (indeholder ingen data): CreateLivingWillResponse.xml

UpdateLivingWill

Request-eksempel: UpdateLivingWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

livingWill

Data for en livstestamenteregistrering. Type er LivingWill. Se tabel under afsnittet Typer.

-

Nej

Response-eksempel (indeholder ingen data): UpdateLivingWillResponse.xml

DeleteLivingWill

Request-eksempel: DeleteLivingWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

Response-eksempel (indeholder ingen data): DeleteLivingWillResponse.xml

GetLivingWill

Request-eksempel: GetLivingWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

Response-eksempel: GetLivingWillResponse.xml

Element

Beskrivelse

Type

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

Krævet pr. standard, fast værdi


ConfidentialityCode

Krævet pr. standard, fast værdi


languageCode

Krævet pr. standard, fast værdi


versionNumber

Versionsnummer for en registrering


recordTarget.patient Role.id

Borgerens CPR-nr i "extension"-attribut


author.time

Dato/tid. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200


author.assignedAuthor.id

Borgerens CPR-nr i "extension"-attribut


Nedenstående elementer hører alle under component.structuredBody.component.section.entry.observation

code

Krævet pr. standard, fast værdi


value

Data for en livstestamenteregistrering

LivingWill. Se tabel under afsnittet Typer.

HasLivingWill

Request-eksempel: HasLivingWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

Response: HasLivingWillResponse.xml

Element

Beskrivelse

Type

willExists

Eksisterer der en livstestamenteregistrering for den pågældende person der laves en forespørgsel for.

hl7:bl

Serviceoperationer Behandlingstestamenteregistret

I det følgende foreståes følgende, når der angives treatmentWill som element. For oprindelig version anvendes treatmentWill, for version 2 af servicen anvendes treatmentWillV2.

Der er request og response eksempler for både oprindelig og version 2.

CreateTreatmentWill

Request-eksempel: CreateTreatmentWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

treatmentWill


Data for en behandlingstestamenteregistrering. Type er TreatmentWill. Se tabel under afsnittet Typer.

-

Nej

Response-eksempel (indeholder ingen data): CreateTreatmentWillResponse.xml

UpdateTreatmentWill

Request-eksempel: UpdateTreatmentWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

treatmentWill

Data for en behandlingstestamenteregistrering. Type er TreatmentWill. Se tabel under afsnittet Typer.

-

Nej

Response-eksempel (indeholder ingen data): UpdateTreatmentWillResponse.xml

DeleteTreatmentWill

Request-eksempel: DeleteTreatmentWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

Response-eksempel (indeholder ingen data): DeleteTreatmentWillResponse.xml

GetTreatmentWill

Request-eksempel: GetTreatmentWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

Response-eksempel: GetTreatmentWillResponse.xml

Element

Beskrivelse

Type

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

Krævet pr. standard, fast værdi


ConfidentialityCode

Krævet pr. standard, fast værdi


languageCode

Krævet pr. standard, fast værdi


versionNumber

Versionsnummer for en registrering


recordTarget.patient Role.id

Borgerens CPR-nr i "extension"-attribut


author.time

Dato/tid. Format: yyyyMMddHHmmssZ, fx. 20171024143445+0200


author.assignedAuthor.id

Borgerens CPR-nr i "extension"-attribut


Nedenstående elementer hører alle under component.structuredBody.component.section.entry.observation

for version 2 sendes value ikke retur for noLifeProlongingIfDying.

code

Krævet pr. standard, fast værdi


value

Data for en behandlingstestamenteregistrering

TreatmentWill. Se tabel under afsnittet Typer.

HasTreatmentWill

Request-eksempel: HasTreatmentWillRequest.xml

Element

Beskrivelse

Type

Optionel

id

Som attribut "extension" angives personens CPR-nummer (uden bindestreg)

varchar(30)

Nej

Response: HasTreatmentWillResponse.xml

Element

Beskrivelse

Type

willExists

Eksisterer der en behandlingstestamenteregistrering for den pågældende person der laves en forespørgsel for.

hl7:bl

Typer

LivingWill

Den generelle struktur der anvendes på create- og update-requests, samt på get-responses, ser ud som følger:

Element

Beskrivelse

Type

Optionel

noLifeProlongingIfDying

Livstestamente tilkendegivelse

Boolean

Nej

noLifeProlongingIfSeverelyDegraded

Livstestamente tilkendegivelse

Boolean

Nej

TreatmentWill

Den generelle struktur der anvendes på create- og update-requests, samt på get-responses, ser ud som følger:

Element

Beskrivelse

Type

Optionel

noLifeProlongingIfDying

Behandlingstestamente tilkendegivelse

TreatmentWillValueType

Nej

noLifeProlongingIfSeverelyDegraded

Behandlingstestamente tilkendegivelse

TreatmentWillValueType

Nej

noLifeProlongingIfSeverePainBehandlingstestamente tilkendegivelseTreatmentWillValueTypeNej
noForcedTreatmentIfIncapableBehandlingstestamente tilkendegivelseTreatmentWillValueTypeNej

TreatmentWillV2

Den generelle struktur der anvendes på create- og update-requests, samt på get-responses, ser ud som følger:

Element

Beskrivelse

Type

Optionel

noLifeProlongingIfDying

Behandlingstestamente tilkendegivelse

TreatmentWillValueTypeWithoutAcceptanceNeeded

Nej

noLifeProlongingIfSeverelyDegraded

Behandlingstestamente tilkendegivelse

TreatmentWillValueTypeWithAcceptanceNeeded

Nej

noLifeProlongingIfSeverePainBehandlingstestamente tilkendegivelseTreatmentWillValueTypeWithAcceptanceNeededNej
noForcedTreatmentIfIncapableBehandlingstestamente tilkendegivelseTreatmentWillValueTypeWithAcceptanceNeededNej

TreatmentWillValueType/TreatmentWillValueTypeWithAcceptanceNeeded

Elementets er en standard boolean, hvis indhold kan være "true" eller "false".

Elementet har en optionel attribut, acceptanceNeeded, som er en enumeration, der kan indeholde én af følgende strenge:

Hvis denne attribut udelades, angiver dette, at der ikke er angivet nogen værdi for denne data. Bemærk, at attributten kun må angives såfremt elementets indhold er "true"; denne validering foregår i servicen og kan ikke ses ud fra XML Schema'et.

TreatmentWillValueTypeWithoutAcceptanceNeeded

Elementets er en standard boolean, hvis indhold kan være "true" eller "false".

Tilstande i servicen

Migrering af livstestamente til behandlingstestamente

Det er kun muligt for en borger at have enten ét livstestamente eller ét behandlingstestamente, eller ingen af delene. Det forventes at Livstestamenteregistret lukkes for oprettelser og opdateringer d. 1. januar 2019, og derefter vil kun udstilling og sletning af data være muligt.

Hvis en borger forsøger at oprette et behandlingstestamente, og der samtidigt allerede eksisterer et livstestamente for denne borger, fejler kaldet. Anvendere skal derfor først slette livstestamentet for borgeren, og dernæst oprette behandlingstestamentet.