SQL-eksempel 04

<< Click to Display Table of Contents >>

Navigation:  NeoBase SQL-eksempler >

SQL-eksempel 04

Previous pageReturn to chapter overviewNext page

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