SQL-eksempel 04
|
<< Click to Display Table of Contents >> SQL-eksempel 04 |
![]() ![]()
|
Check for duplikate indlæggelses-nummereringer
For baggrund - se NeoBase opgørelser - definitioner og konventioner.
==================================================================================
/* Finder patienter med duplikate indlæggelsesnummereringer i det givne årstal */
SELECT
np.PersonId
, np.Fodselsdato
, np."GA hele uger" AS "GAuger"
, np."GA + dage" AS "GA+dage"
, np.Fodselsvaegt
, n2."Indlaeggelses Nr"
, COUNT(n2.PersonId) AS "Antal registr"
FROM NeoPers np, Neobase2 n2
WHERE
n2.PersonId = np.PersonId
AND
(np.PersonId IN
(SELECT npy.PersonId
FROM NeoPers npy, Neobase2 n2y
WHERE
(n2y.PersonId = npy.PersonId)
AND (EXTRACT(YEAR FROM npy.Fodselsdato) > 0)
AND (EXTRACT(YEAR FROM n2y.Indlaeggelsesdato) > 0)
AND (EXTRACT(YEAR FROM n2y.Udskrivelsesdato) = '2004')
)
)
GROUP BY
np.PersonId
, np.Fodselsdato
, [GA hele uger]
, [GA + dage]
, np.Fodselsvaegt
, n2."Indlaeggelses Nr"
HAVING
COUNT(n2.PersonId) > 1
ORDER BY
np.PersonId
, np.Fodselsdato
, [GAuger]
, [GA+dage]
, np.Fodselsvaegt
, n2."Indlaeggelses Nr"
, [Antal registr];
==================================================================================
SQL-eksemplet
Specifikke målsætning: finder patienter der i NeoBasen er registreret med anvendelse flere gange af samme indlæggelsesnummerering, der vil give fejl ved opgørelser over antallet af lokalfødte i sig selv eller lokalfødte med givne tilstande eller forløb.
Bør kombineres med SQL tjek overfor registrering med indlæggelsesnumre, der er sprunget over - dvs. hvor højeste indlæggelsesnummer for den givne patient afviger fra barnets antal af indlæggelser.
Sammenlign evt. med programmets paradox LocalSQL syntaks anvendt fra programmets Data-tjek-menu.
_____________________________
27-10-2017 - © 2003-2017 Niels Knabe