SQL-eksempel 06-b

<< Click to Display Table of Contents >>

Navigation:  NeoBase SQL-eksempler >

SQL-eksempel 06-b

Previous pageReturn to chapter overviewNext page

CPAP-børn år xx

For baggrund - se NeoBase opgørelser - definitioner og konventioner.

==================================================================================
/* Viser antal n-CPAP beh. børn hvor mindst en af barnets udskrivelser har ligget
indenfor valgte årgang baseret på udskrivelsesdato og fordelt på GA grupper */

 

SELECT

CASE

WHEN np."GA hele uger" < 28 THEN '0: GA < 28'

WHEN np."GA hele uger" >= 28 AND np."GA hele uger" < 32 THEN '1: GA 28-31'

WHEN np."GA hele uger" >= 32 AND np."GA hele uger" < 37 THEN '2: GA 32-36'

WHEN np."GA hele uger" >= 37 AND np."GA hele uger" < 99 THEN '3: GA >= 37'

WHEN np."GA hele uger" = 99 THEN '4: GA ukendt'

END AS "GA gruppe",

np.PersonId

INTO MEMORY Temp

FROM NeoPers np;

--------------------------------------------------------------------------

SELECT

mt."GA gruppe", COUNT(n2.PersonId) AS "CPAP-børn 2004"

FROM

(SELECT DISTINCT mt."GA gruppe", n2.PersonId

FROM MEMORY Temp mt

  JOIN Neobase2 n2

  ON (mt.PersonId = n2.PersonId)

WHERE

  EXTRACT(YEAR FROM n2.Udskrivelsesdato) = '2004'

  AND

   (n2.PersonId IN

    (SELECT n22.PersonId FROM NeoBase2 n22

    WHERE (n22."Nasal CPAP, paabeg dage" < 999) AND (n22."Nasal CPAP, paabeg dage" > 0))

    )

)

GROUP BY

[GA gruppe]

UNION

SELECT

[GA gruppe], COUNT(n2.PersonId)

FROM

(SELECT DISTINCT '5: Sum' AS [GA gruppe], n2.PersonId

FROM Neobase2 n2

WHERE

  EXTRACT(YEAR FROM n2.Udskrivelsesdato) = '2004'

  AND

   (n2.PersonId IN

    (SELECT n22.PersonId FROM NeoBase2 n22

    WHERE (n22."Nasal CPAP, paabeg dage" < 999) AND (n22."Nasal CPAP, paabeg dage" > 0))

    )

)

GROUP BY

[GA gruppe]

ORDER BY

[GA gruppe];

==================================================================================

SQL-eksemplet (inklusion, grafisk)

Specifikke målsætning: opgørelse af antal børn, der har været beh. med n-CPAP under mindst en af barnets indlæggelser på nærværende afdeling, og som har mindst en udskrivelse indenfor det valgte årstal. Opgørelse fordelt på gestationsalder-grupper og baseret på udskrivelsesdato.
N.B.: Vær opmærksom på den specifikke formulering, hvor alle børn, der har været udskrevet indenfor den valgte årgang, tælles med, hvis blot de har været behandlet med n-CPAP under een af deres indlæggelser inklusiv indlæggelser (udskrivelser) udenfor den valgte årgang. Læg mærke til, hvordan selektionen for evt. n-CPAP behandling derfor her er lagt ud i en særskilt sub-query.
Se også SQL-udtrykket for udtræk af børn, der alene har fået n-CPAP indenfor indlæggelser med udskrivelse indenfor den valgte udskrivelsesårgang:
SQL-eksempel - CPAP-børn (a).
Det kan dog anmærkes, at det kun sjældent giver nogen forskel i det udtrukne resultat, da det jo er sjældent at børn både er udskrevet og har fået n-CPAP indenfor det foregående år samtidigt med at de har været genindlagt og udskrevet i det opgjorte år uden at have fået n-CPAP indenfor indlæggelser hørende til dette udskrivningsår.
Når det drejer sig om opgørelser over små men alligevel betydende størrelser som f.eks. mortalitet, er det alligevel værd at gøre sig denne forskel bevidst.

Se også og sammenlign med opgørelse over CPAP-dage. Læg specielt mærke til forskellen ved som hér anvendelsen af sub-queries.

_____________________________

27-10-2017 - © 2003-2017 Niels Knabe