SQL-eksempel 06-b
|
<< Click to Display Table of Contents >> SQL-eksempel 06-b |
![]() ![]()
|
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