Bruger-SQL div. eksempler

<< Click to Display Table of Contents >>

Navigation:  Programmets anvendelse > Udtræk > Bruger-SQL >

Bruger-SQL div. eksempler

Previous pageReturn to chapter overviewNext page

Eksempel-samling for bruger-definerede SQL-udtræk

Medicin ATC-koder, der er nyoprettede inden for det sidste år og fortsat aktive

/* Nyoprettede ATC medicin-kodenumre inden for de sidste 12 måneder
og som ikke har afløst tidligere kodning med samme kodenummer */

 

/* Henter alle koder, der er udgået før d.d.
Mellemlagres i "SKStemp" */
DROP TABLE IF EXISTS SKStemp;

CREATE TEMPORARY TABLE SKStemp AS
SELECT SKSkode

FROM SKScomplete

WHERE DatoSlut < CURRENT_DATE

;

 

/* Udtræk på specifikke parametre
og tjekker at nye koder ikke tidligere har eksisteret

ved at samme koder IKKE genfindes i "Temp" */

SELECT sks.*

FROM SKScomplete AS sks

LEFT JOIN SKStemp AS mt

ON sks.SKSkode = mt.SKSkode

WHERE
JULIANDAY(DatoIKraft) > (JULIANDAY(CURRENT_DATE) - 365*1)
AND DatoSlut > CURRENT_DATE

AND Kat = 'atc'

AND mt.SKSkode IS NULL

;

 

Medicin ATC-koder, der er udgået inden for det sidste år og ikke erstattet med samme SKS-kode

/* Udgåede ikke er erstattede ATC medicin-kodenumre inden for de sidste 12 måneder */

 

/* Henter alle nugældende koder, dvs. som har fremtidig udgå-dato.
Mellemlagres i "Temp" */

DROP TABLE IF EXISTS SKStemp;

CREATE TEMPORARY TABLE SKStemp AS
SELECT SKSkode
FROM SKScomplete

WHERE DatoSlut > CURRENT_DATE

;

 

/* Udtræk på specifikke parametre
og tjekker at de udgåede koder ikke er erstattet

med nugældende koder med samme SKS-numre

ved at samme koder IKKE genfindes i "Temp" */

SELECT sks.*

FROM SKScomplete AS sks

LEFT JOIN SKStemp AS mt

ON sks.SKSkode = mt.SKSkode

WHERE
JULIANDAY(DatoSlut) > (JULIANDAY(CURRENT_DATE) - 365*1)

AND sks.Kat = 'atc'

AND mt.SKSkode IS NULL

;

 

Nye diagnosekoder det sidste år, som fortsat er gældene og erstatter tidligere kodning med samme SKS-kodenummer, og som i realiteten blot er redigering af præeksisterende kode

/* Nyoprettede diagnosekoder inden for det sidste år,
som fortsat er gældende og som blot har afløst tidligere kodning med samme kodenummer */

 

/* Henter alle SKS-kodenumre, der er udgået inden for det sidste år.
Mellemlagres i "Temp" */

SELECT SKSkode

INTO MEMORY Temp

FROM SKScomplete

WHERE

JULIANDAY(DatoSlut) < (JULIANDAY(CURRENT_DATE) - 365*1)

;

 

/* Udtræk på specifikke parametre = nye diagnose-koder det sidste år,
der undersøges for om de samme kodenumre har eksisteret før og udgået i samme tidsrum som de nye koder,
ved at de samme koder også findes i "Temp" */

SELECT DISTINCT sks.*

FROM SKScomplete AS sks

LEFT JOIN MEMORY Temp AS mt

ON sks.SKSkode = mt.SKSkode

WHERE

JULIANDAY(DatoIKraft) > (JULIANDAY(CURRENT_DATE) - 365*1)

AND DatoSlut > CURRENT_DATE

AND Kat = 'dia'

AND mt.SKSkode IS NOT NULL

;

 

Tilsvarende udtræk fra andre kodekataloger eller dele af katologer (f.eks. obstetriske diagnoser: WHERE SKSkode LIKE 'DO%') eller for andre årsintervaller (multipla af 365 (dage)) kan nemt oprettes udfra kopi og modifikationer af ovenstående.

__________________________
Online hjælp 10. juni 2026; Copyright © 2017-2026 Niels Knabe