Verifiera krav för civilståndstabellen

Kontroll av kohorten

I civilståndstabellen ingår alla personer vars projekt har genomgått fasen relationslänkning och har minst en observationsperiod i husförhör. HL-notering som varken har start- eller slutdatum exkluderas. Överblivna och överstrukna noteringar exkluderas.
Detta villkor är uppfyllt... ...om denna SQL... ...returnerar ... och eventuell kommentar.
Alla DDBID finns i församlingar som har genomgått FAS 7 (relationslänkning)
with temp as (
select projektid, max(fas) maxfas
from reg.projektfas
group by projektid
having max(fas) >= 7
),
get_kalla as (
select i.ddbid, p.projektid, p.frs NOFRS, 
(select dediknmn from kod.DEDIKKATALOG where dedik = p.frs) dediknmn
from sv.INDIVID i
join sv.NOTERING n on n.postnr = i.postnr
join reg.KBSID ks on ks.kbsidid = n.kbsidid
join reg.KBKALLA kk on kk.kbkallaid = ks.kbkallaid
join reg.KYRKBOK k on k.kyrkbokid = kk.kyrkbokid
join reg.PROJEKT p on p.projektid = k.projektid
)
select count(*)
from K136.CIVILSTAND c
left join GET_KALLA v on c.ddbid = v.ddbid
where v.projektid not in (select projektid from temp) 
            
0
Alla församlingar som finns representerade i CIVILSTAND ska ha genomgått FAS 7 (relationslänkning)
with temp as (
select projektid, max(fas) maxfas
from reg.projektfas pf
group by projektid
having max(fas) >= 7
),
get_kalla as (
select i.ddbid, p.projektid, p.frs NOFRS, 
(select dediknmn from kod.DEDIKKATALOG where dedik = p.frs) dediknmn
from sv.INDIVID i
join sv.NOTERING n on n.postnr = i.postnr
join reg.KBSID ks on ks.kbsidid = n.kbsidid
join reg.KBKALLA kk on kk.kbkallaid = ks.kbkallaid
join reg.KYRKBOK k on k.kyrkbokid = kk.kyrkbokid
join reg.PROJEKT p on p.projektid = k.projektid
),
jmfr as (
select projektid
from K136.CIVILSTAND c
left join GET_KALLA v on c.ddbid = v.ddbid
except
select projektid from temp
)
select Count(*)
from jmfr
            
0
Alla personer har HL-notering (MATERIALTYP = 1)
with temp as (
select ddbid 
from sv.INDIVID i 
join sv.NOTERING n on i.postnr = n.postnr
where n.MATERIALTYP = 1
)
select count(*)
from K136.CIVILSTAND
where ddbid not in (select ddbid from temp)
            
0
Alla personer har HL-notering (finns i HL)
with temp as (
select ddbid 
from sv.HL h 
join sv.INDIVID i on h.postnr = i.postnr
)
select count(*)
from K136.CIVILSTAND
where ddbid not in (select ddbid from temp)
            
0
Alla personer ska:
  • finnas i församlingar som genomgått relationslänkning,
  • ha HL-notering där
  • HL-notering har startdatum eller slutdatum,
  • startdatumet ligger före eller är lika med dödsdatumet,
  • slutdatumet ligger efter eller är lika med födelsedatumet.
Överblivna och överstrukna noteringar har exkluderats.
with projekt_fas as (
select projektid, max(fas) maxfas
from reg.projektfas
group by projektid
), 
get_kalla as (
select i.ddbid, p.projektid, p.frs NOFRS, n.MATERIALTYP,
n.OVERBLIVENIND,n.OVERSTRUKENIND,h.NOBDAT,h.NOSDAT,
p.DODDAT, p.FODDAT,
(select dediknmn from kod.DEDIKKATALOG where dedik = p.frs) dediknmn
from sv.INDIVID i
join sv.NOTERING n on n.postnr = i.postnr
left join sv.HL h on h.postnr = i.postnr
left join sv.PERSON p on p.ddbid = i.ddbid
join reg.KBSID ks on ks.kbsidid = n.kbsidid
join reg.KBKALLA kk on kk.kbkallaid = ks.kbkallaid
join reg.KYRKBOK k on k.kyrkbokid = kk.kyrkbokid
join reg.PROJEKT p on p.projektid = k.projektid
),
jmfr_except as (
select ddbid 
from GET_KALLA n
left join PROJEKT_FAS pf on n.projektid = pf.PROJEKTID
where n.MATERIALTYP = 1 and maxfas >= 7 
  and overstrukenind = 0 and overblivenind = 0
  and ( 
        ( n.nobdat > 0 and n.nosdat >= n.nobdat) 
     or ( n.nosdat > 0 and n.nosdat >= n.nobdat ) 
      ) 
  and ( ddbid in ( select ddbid from sv.lv  ) 
     or ddbid in ( select ddbid from sv.hlciv) 
      )
  and n.doddat >= n.nobdat
  and n.nosdat >= n.foddat  
except
select ddbid 
from K136.CIVILSTAND
)
select count(*)
from jmfr_except
            
0