Indledning

Denne side skitserer de forventede snitflader (metoder) som udstilles på den kommende NSP ddtv-service. Den endelige snitfladebeskrivelse vil blive offentliggjort sammen med servicen på NSP Test-miljøerne som en del af leverancebeskrivelsen hørende til servicen.

Siden indledes med at definere nogle datatyper, som bruges af flere metoder nedenfor.

Fælles datatyper

PersonID Element

Element

Beskrivelse

Type

Obligatorisk

id

Angiver borgerens ID (CPR-nummer uden bindestreg).

string

Ja

classification

Typen af ID. Gyldige værder er: 'CPR'

string

Ja

Bemærk, person-id'et er type-klassificeret, så der i fremtiden kan understøttes flere person-id typer, f.eks. eCPR, EU person id, etc.

DentistID Element

Element

Beskrivelse

Type

Obligatorisk

id

Angiver tandlægeklinikkens ID i den valgte klassifikation.

string

Ja

classification

Typen af ID. Gyldige værder er: 'SOR'

string

Ja

Bemærk, id'et er type-klassificeret, så der i fremtiden kan understøttes flere id typer.

ddtvDentistContact Element

Element

Beskrivelse

Type

Obligatorisk

time

Tidspunkt for afsendelse af besked

DateTime

Ja

type

0: Anmodning om optagelse

1: Påmindelse

2: Ignorer tidligere henvendelser

int

Ja

ddtvStatus Element

Element

Beskrivelse

Type

Obligatorisk

exists

Borgeren findes i databasen.

bool

Ja, og  ikke være None/Null.

dentistChosen

Borgeren har valgt tandlæge.

Sættes til 'None', hvis borgeren ikke har valgt tandlæge.

DentistID / None

Ja, og må ikke være None/Null.

dentistMayBeContacted

Den valgte tandlæge må kontaktes af DDTV

bool

Ja, og må ikke være None/Null.

reminderList

Borgeren er blevet påmindet om at vælge tandlæge

Liste af ddtvReminder elementer

Ja. Skal være tom liste ([ ]), hvis der endnu ikke er sendt påmindelse. Må ikke være None/Null.

dentistContactedList

Tidspunkter og typer af beskeder til den valgte tandlæge

Liste af ddtvDentistContact elementer

Ja, men skal være liste ([ ]), hvis tandlægen endnu ikke er blevet kontaktet. Må ikke være None/Null.

noMoreReminders

Borgeren ønsker ikke flere påmindelser,

eller maksimalt antal reminders afsendt.

bool

Ja, og  ikke være None/Null.

OptOut

Borgeren ønsker ikke at bruge ddtv

bool

Ja, og  ikke være None/Null.

Operatione

ddtvCheckStatus(...)

Returnerer statusinformation for en borgers tandlægevalg.

Input:

Element/ParameterTypeBeskrivelseevt. note
personIDPersonIDCPR nummer på den der ønskes status for

I normaltilfældet vil personID være lig ID'et i IDWS Identititokenet, hvor der efterspørges status for personen selv.

Hvis den kaldende person gør brug af fuldmagt eller forældremyndighed, vil personID være på hhv. fuldmagtsgiver eller barnet.
I disse tilfælde skal hhv. OIO-BPP eller OIO-SRP elementet i headeren inspiceres for om der reelt er fuldmagt / forældremyndighed.

Elementet er type-klassificeret, så der på sigt kan understøttes andre person-id typer (se datatypebeskrivelsen ovenfor)

Output:

ElementTypeBeskrivelseevt. note
statusddtvStatusStatus for Borgerens ddtv forløb

ddtvApplyForNewDentist(...)

Registrerer et tandlægevalg. Hvis borgeren allerede har en registreret tandlæge overskrives denne. Der gemmes historik i databasen.

Input:

Element/ParameterTypeBeskrivelseevt. note
personIDPersonIDID på borgeren (CPR)

I normaltilfældet vil personID være lig ID'et i IDWS Identititokenet, hvor der efterspørges status for personen selv.

Hvis den kaldende person gør brug af fuldmagt eller forældremyndighed, vil personID være på hhv. fuldmagtsgiver eller barnet.
I disse tilfælde skal hhv. OIO-BPP eller OIO-SRP elementet i headeren inspiceres for om der reelt er fuldmagt / forældremyndighed.

Elementet er type-klassificeret, så der på sigt kan understøttes andre person-id typer (se datatypebeskrivelsen ovenfor)

dentistIDDentistIDID på tandlægeklinikken (SOR)


Output:

ElementTypeBeskrivelseevt. note
statusddtvStatusStatus for Borgerens ddtv forløb

status: {exists = true,

dentistChosen = dentistID

dentistMayBeContacted = true (med mindre andet er valgt)

reminderList = None eller []

dentistContactedList = None eller [] (lagt på kø)

noMoreReminders = false

optOut = false}

ddtvDisregardApplicationForNewDentist(...)

Registrerer at borgeren fortryder tandlægevalg. Der gemmes historik i databasen.

Input:

Element/ParameterTypeBeskrivelseevt. note
personIDPersonIDID på borgeren (CPR)

I normaltilfældet vil personID være lig ID'et i IDWS Identititokenet, hvor der efterspørges status for personen selv.

Hvis den kaldende person gør brug af fuldmagt eller forældremyndighed, vil personID være på hhv. fuldmagtsgiver eller barnet.
I disse tilfælde skal hhv. OIO-BPP eller OIO-SRP elementet i headeren inspiceres for om der reelt er fuldmagt / forældremyndighed.

Elementet er type-klassificeret, så der på sigt kan understøttes andre person-id typer (se datatypebeskrivelsen ovenfor)

Output:

ElementTypeBeskrivelseevt. note
statusddtvStatusStatus for Borgerens ddtv forløb

status: {exists = true,

dentistChosen = None

dentistMayBeContacted = false

reminderList = None eller []

dentistContactedList = None eller []

noMoreReminders = false

optOut = false}

ddtvOptOut(...)

Registrerer at borgeren ikke ønsker at indgå i tandlægevalg løsningen. Der gemmes historik i databasen.

Input:

Element/ParameterTypeBeskrivelseevt. note
personIDPersonIDID på borgeren (CPR)

I normaltilfældet vil personID være lig ID'et i IDWS Identititokenet, hvor der efterspørges status for personen selv.

Hvis den kaldende person gør brug af fuldmagt eller forældremyndighed, vil personID være på hhv. fuldmagtsgiver eller barnet.
I disse tilfælde skal hhv. OIO-BPP eller OIO-SRP elementet i headeren inspiceres for om der reelt er fuldmagt / forældremyndighed.

Elementet er type-klassificeret, så der på sigt kan understøttes andre person-id typer (se datatypebeskrivelsen ovenfor)

Output:

ElementTypeBeskrivelseevt. note
statusddtvStatusStatus for Borgerens ddtv forløb

status: {exists = true,

dentistChosen = None

dentistMayBeContacted = false

reminderList = None eller []

dentistContactedList = None eller []

noMoreReminders = false

optOut = true}

ddtvNoMoreReminders(...)

Registrerer at borgeren stadig ønsker at benytte løsningen, men ikke ønsker (flere) reminders.

Input:

Element/ParameterTypeBeskrivelseevt. note
personIDPersonIDID på borgeren (CPR)

I normaltilfældet vil personID være lig ID'et i IDWS Identititokenet, hvor der efterspørges status for personen selv.

Hvis den kaldende person gør brug af fuldmagt eller forældremyndighed, vil personID være på hhv. fuldmagtsgiver eller barnet.
I disse tilfælde skal hhv. OIO-BPP eller OIO-SRP elementet i headeren inspiceres for om der reelt er fuldmagt / forældremyndighed.

Elementet er type-klassificeret, så der på sigt kan understøttes andre person-id typer (se datatypebeskrivelsen ovenfor)

Output:

ElementTypeBeskrivelseevt. note
statusddtvStatusStatus for Borgerens ddtv forløb

status: {exists = true,

dentistChosen = (som i databasen nu)

dentistMayBeContacted = (som i databasen nu)

reminderList = (som i databasen nu)

dentistContactedList = (som i databasen nu)

noMoreReminders = true

optOut = true}

ddtvNewDentistFullStop(...)

Registrerer at borgeren stadig ønsker at benytte løsningen, men ikke ønsker (flere) reminders.

Input:

Element/ParameterTypeBeskrivelseevt. note
personIDPersonIDID på borgeren (CPR)

I normaltilfældet vil personID være lig ID'et i IDWS Identititokenet, hvor der efterspørges status for personen selv.

Hvis den kaldende person gør brug af fuldmagt eller forældremyndighed, vil personID være på hhv. fuldmagtsgiver eller barnet.
I disse tilfælde skal hhv. OIO-BPP eller OIO-SRP elementet i headeren inspiceres for om der reelt er fuldmagt / forældremyndighed.

Elementet er type-klassificeret, så der på sigt kan understøttes andre person-id typer (se datatypebeskrivelsen ovenfor)

dentistIDDentistIDID på tandlægeklinikken (SOR)


Output:

ElementTypeBeskrivelseevt. note
statusddtvStatusStatus for Borgerens ddtv forløb

status: {exists = true,

dentistChosen = dentistID

dentistMayBeContacted = false

reminderList = None eller []

dentistContactedList = None eller []

noMoreReminders = true

optOut = false}