Toelichting Validatieregels DBC GGZ RG12 Versie 20111201 Ingangsdatum: 1 januari 2012
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
I nh ou dsopgave 1 2 3 4 5
Inleiding ..................................................................................................................................3 Algemene gegevens van de tabel ..........................................................................................4 Specificatie van de validatieregels .........................................................................................6 De validatieregels ...................................................................................................................8 Tabelspecificaties .................................................................................................................64
© DBC-Onderhoud
Pagina 2 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
1 INLEIDING 1.1 Voor wie is dit document bedoeld Dit document is bedoeld voor alle gebruikers van de Validatieregels GGZ. In dit document vindt u een toelichting op de validatieregels en de specificatie van de validatieregels. Daarnaast geeft dit document informatie over de functie van de validatieregels, het “als-dan”principe en algemene zaken als het aantal validatieregels en de implementatieperiode en ingangsdatum.
1.2 Wat is de functie van de tabel De ggz-validatieregels zijn een set van regels die u in het validatiesysteem kunt inbouwen om uw DBC-registratie te toetsen op juistheid en volledigheid. Het toetsen op juistheid en volledigheid is een verplicht onderdeel van de validatie. Meer informatie over validatie vindt u in het “Gebruikersdocument Deel 3 ICT-eisen”, te downloaden via www.dbconderhoud.nl.
1.3 Leeswijzer Hoofdstuk 2 bevat algemene informatie van de validatieregels. Hoofdstuk 3 omschrijft de specificatie van de validatieregels. In hoofdstuk 4 vindt u alle validatieregels en de tabelspecificaties vindt u in hoofdstuk 5.
© DBC-Onderhoud
Pagina 3 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
2 ALGEMENE GEGEVENS VAN DE TABEL 2.1 Validatiecodes In de validatieregels zijn validatiecodes opgenomen (kolomnaam: “code”). Deze validatiecodes zijn bedoeld om het document technisch goed te kunnen verwerken. Er zijn twee soorten validatietypen en vier verschillende validatiecategorieën, te weten: 1.
• •
Technische validatie: Code = val11xx : primaire sleutel (entiteit_identificatienummer) moet ingevuld zijn en uniek zijn. Code = val22xx : verwijzing op (CL_xxxxx_xxxxx) moet correct zijn. Code = val33xx : verplicht veld (Entiteit_xxxxx) moet zijn ingevuld.
•
Inhoudelijke validatie: Code = val66xx : Overige regels op inhoudelijke gronden.
•
2.
2.2 Het “als-dan”-principe De technische en inhoudelijke validatieregels zijn volgens het “als-dan”-principe opgebouwd. Het “als-dan”-principe geeft de oorzaken van een uitval-DBC aan. Een voorbeeld van een inhoudelijke validatieregel volgens het “als-dan”-principe: “Als bij een DBC dagbestedingsactiviteiten worden geregistreerd en het aantal geregistreerde uren “0” is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit.” Bij iedere validatieregel waar een fout geconstateerd wordt, verschijnt een melding waarin staat wat u kunt doen om de opgetreden fout te herstellen. Uitgaande van bovenstaand voorbeeld zou de volgende melding kunnen verschijnen: “Bij dagbesteding is het aantal geregistreerde uren meer dan 0. Verwijder de activiteiten waarbij het aantal uren dagbesteding 0 is of corrigeer het aantal geregistreerde uren.”
2.3 Geldigheid validatieregels De ingangsdatum van de validatieregels bepaalt of de regel mag worden toegepast. Bij de validatie mag u alleen validatieregels toepassen die op het moment van openen van de DBC geldig zijn. Dit houdt dus in dat u alleen validatieregels mag toepassen met een begindatum op of vóór de ingangsdatum van de DBC en waarvan de einddatum ligt ná de ingangsdatum van de DBC.
© DBC-Onderhoud
Pagina 4 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
2.4 Totaal aantal validatieregels Er zijn in totaal 159 unieke validatieregels waarvan er 121 de einddatum 31-12-9999 hebben. Deze regels gelden voor DBC’s met een ingangsdatum in 2012. Overzicht van de aantallen gewijzigde en ongewijzigde records in de validatietabel voor 2012. Type validatieregel
Ongewijzigde
Nieuwe
Afgesloten
Gewijzigde
records
records
records
records
Totaal
11xx
13
0
0
0
13
22xx
27
0
0
0
27
33xx
53
0
0
0
53
66xx
58
4
3
1
66
Kopregel
-
-
-
-
1 160
2.5 Ingangsdatum validatieregels Met de uitlevering van de release RG12a stelt DBC-Onderhoud de nieuwe validatieregels beschikbaar om te implementeren in uw systeem. De tabel is geldig met ingang van 1 januari 2012. Tot die datum gelden de voorgaande formeel uitgeleverde validatieregels.
© DBC-Onderhoud
Pagina 5 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
3 SPECIFICATIE VAN DE VALIDATIEREGELS 3.1 Inleiding De validatieregels en de daarbij behorende SQL-code die in de bijlage zijn opgenomen, zijn getest op het datamodel dat in het “Gebruikersdocument Deel 3: ICT-eisen” staat beschreven. Als u het registratiesysteem inricht volgens dat datamodel, dan kunt u de validatieregels gebruiken voor het inrichten van het validatiesysteem. De technische en inhoudelijke validatie sluiten aan bij dit datamodel. De documentatie en specificatie van de validatieregels en het achterliggende datamodel dienen om de eigen code te controleren. Het is dus niet bedoeld om deze geheel over te nemen. Bij elke validatieregel wordt de “als-dan”-regel getoond. Daarnaast is in het blauw de bijbehorende code aangegeven om deze “als-dan”-regel af te dwingen en te controleren. In de specificaties van de validatieregels vindt u een overzicht van de kolommen en de daarbij behorende kenmerken. Voor een eenduidige interpretatie van de validatieregels worden verderop in dit document SQL-codes behandeld.
3.2 Tabelspecificatie van de validatieregels
Type
Omschrijving
1.
Code
Kolomnr.
In onderstaand overzicht worden de tabelspecificaties van de validatieregels weergegeven.
Begindatum
Numeriek
Datum begin geldigheid in notatievorm EEJJMMDD
2.
Einddatum
Numeriek
Datum eind geldigheid in notatievorm EEJJMMDD
3.
Code
Alfanumeriek
Code van de validatieregel. Samen met bijbehorende begindatum is dit een unieke combinatie
4.
Onderwerp
Alfanumeriek
Entiteit waar de validatieregel op van toepassing is
5.
Type Validatie
Alfanumeriek
Type is altijd afkeurend
6.
Naam
Alfanumeriek
Stelt de validatieregel vast
7.
Conditie
Alfanumeriek
Conditie beschrijft het “als”-principe (zie §2.2.2)
8.
Aktie
Alfanumeriek
Actie beschrijft het “ dan”-principe (zie §2.2.2)
9.
Hint
Alfanumeriek
Geeft een oplossingsrichting bij uitval
© DBC-Onderhoud
Pagina 6 van 73
Type
Omschrijving
10.
Code
Kolomnr.
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Branche Indicatie
Numeriek
0=Beide 1=GGZ 2=FZ
© DBC-Onderhoud
Pagina 7 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
4 DE VALIDATIEREGELS 4.1 Val1101 t/m val1121 Val1101 Als de primaire sleutel “Dagbesteding-identificatienummer” niet ingevuld is of niet uniek is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val1101' AS VALCODE , 'E' AS VALSTATUS , D.DAGBESTEDING_IDENTIFICATIENUMMER FROM DBO.DAGBESTEDING D WHERE ISNULL(LEN(LTRIM(RTRIM(DAGBESTEDING_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1101' AS VALCODE , 'E' AS VALSTATUS , D.DAGBESTEDING_IDENTIFICATIENUMMER FROM DBO.DAGBESTEDING D INNER JOIN ( SELECT DISTINCT COUNT(*) as aantal , D.DAGBESTEDING_IDENTIFICATIENUMMER FROM dbo.DAGBESTEDING D WHERE LEN(ISNULL(LTRIM(RTRIM(DAGBESTEDING_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.DAGBESTEDING_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on d.DAGBESTEDING_IDENTIFICATIENUMMER = K.DAGBESTEDING_IDENTIFICATIENUMMER
Val1102 Als de primaire sleutel “DBC-identificatienummer” niet ingevuld is of niet uniek is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val1102' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.DBC D WHERE ISNULL(LEN(LTRIM(RTRIM(DBC_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1102' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.DBC D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.DBC_IDENTIFICATIENUMMER FROM dbo.DBC D WHERE LEN(ISNULL(LTRIM(RTRIM(DBC_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.DBC_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on D.DBC_IDENTIFICATIENUMMER = K.DBC_IDENTIFICATIENUMMER
© DBC-Onderhoud
Pagina 8 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val1103 Als de primaire sleutel “DBC-identificatienummer, Diagnosecode uit Overige Diagnose_As1tmAs5” niet is ingevuld of niet uniek is, dan wordt het record afgekeurd en vallen alle bijbehorende zorgtrajecten en daarmee de DBC’s uit. SELECT DISTINCT 'val1103' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER, D.CL_DIAGNOSE_CODE FROM DBO.OVERIGEDIAGNOSE_AS1_TM_AS5 D WHERE ISNULL(LEN(LTRIM(RTRIM(DBC_IDENTIFICATIENUMMER))),0) = 0 OR ISNULL(LEN(LTRIM(RTRIM( CL_DIAGNOSE_CODE))),0) = 0 UNION ALL SELECT DISTINCT 'val1103' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER, D.CL_DIAGNOSE_CODE FROM DBO.OVERIGEDIAGNOSE_AS1_TM_AS5 D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.DBC_IDENTIFICATIENUMMER, D.CL_DIAGNOSE_CODE FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 D WHERE LEN(ISNULL(LTRIM(RTRIM(DBC_IDENTIFICATIENUMMER)),'')) != 0 AND LEN(ISNULL(LTRIM(RTRIM( CL_DIAGNOSE_CODE)),'')) != 0 GROUP BY D.DBC_IDENTIFICATIENUMMER, D.CL_DIAGNOSE_CODE HAVING COUNT(*)>1 ) K on D.DBC_IDENTIFICATIENUMMER = K.DBC_IDENTIFICATIENUMMER AND D.CL_DIAGNOSE_CODE = K.CL_DIAGNOSE_CODE
Val1109 Als de primaire sleutel “Patiënt-identificatienummer uit Patiënt” niet is ingevuld of niet uniek is, dan wordt het record afgekeurd en vallen bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'val1109' AS VALCODE , 'E' AS VALSTATUS , D.PATIENT_IDENTIFICATIENUMMER FROM DBO.PATIENT D WHERE ISNULL(LEN(LTRIM(RTRIM(PATIENT_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1109' AS VALCODE , 'E' AS VALSTATUS , D.PATIENT_IDENTIFICATIENUMMER FROM DBO.PATIENT D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.PATIENT_IDENTIFICATIENUMMER FROM dbo.PATIENT D WHERE LEN(ISNULL(LTRIM(RTRIM(PATIENT_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.PATIENT_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on D.PATIENT_IDENTIFICATIENUMMER = K.PATIENT_IDENTIFICATIENUMMER
© DBC-Onderhoud
Pagina 9 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val1110 Als de primaire sleutel “Behandelaar-identificatienummer” niet is ingevuld of niet uniek is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val1110' AS VALCODE , 'E' AS VALSTATUS , D.BEHANDELAAR_IDENTIFICATIENUMMER FROM DBO.BEHANDELAAR D WHERE ISNULL(LEN(LTRIM(RTRIM(BEHANDELAAR_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1110' AS VALCODE , 'E' AS VALSTATUS , D.BEHANDELAAR_IDENTIFICATIENUMMER FROM DBO.BEHANDELAAR D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.BEHANDELAAR_IDENTIFICATIENUMMER FROM DBO.BEHANDELAAR D WHERE LEN(ISNULL(LTRIM(RTRIM(BEHANDELAAR_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.BEHANDELAAR_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on D.BEHANDELAAR_IDENTIFICATIENUMMER = K.BEHANDELAAR_IDENTIFICATIENUMMER
Val1112 Als de primaire sleutel “Tijdschrijven-identificatienummer” niet is ingevuld of niet uniek is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val1112' AS VALCODE , 'E' AS VALSTATUS , D.TIJDSCHRIJVEN_IDENTIFICATIENUMMER FROM DBO.TIJDSCHRIJVEN D WHERE ISNULL(LEN(LTRIM(RTRIM(TIJDSCHRIJVEN_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1112' AS VALCODE , 'E' AS VALSTATUS , D.TIJDSCHRIJVEN_IDENTIFICATIENUMMER FROM DBO.TIJDSCHRIJVEN D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.TIJDSCHRIJVEN_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D WHERE LEN(ISNULL(LTRIM(RTRIM(TIJDSCHRIJVEN_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.TIJDSCHRIJVEN_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on D.TIJDSCHRIJVEN_IDENTIFICATIENUMMER = K.TIJDSCHRIJVEN_IDENTIFICATIENUMMER
© DBC-Onderhoud
Pagina 10 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val1115 Als de primaire sleutel “Verblijf-identificatienummer” niet ingevuld is of niet uniek is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val1115' AS VALCODE , 'E' AS VALSTATUS , D.VERBLIJFSDAG_IDENTIFICATIENUMMER FROM DBO.VERBLIJFSDAG D WHERE ISNULL(LEN(LTRIM(RTRIM(VERBLIJFSDAG_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1115' AS VALCODE , 'E' AS VALSTATUS , D.VERBLIJFSDAG_IDENTIFICATIENUMMER FROM DBO.VERBLIJFSDAG D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.VERBLIJFSDAG_IDENTIFICATIENUMMER FROM dbo.VERBLIJFSDAG D WHERE LEN(ISNULL(LTRIM(RTRIM(VERBLIJFSDAG_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.VERBLIJFSDAG_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on D.VERBLIJFSDAG_IDENTIFICATIENUMMER = K.VERBLIJFSDAG_IDENTIFICATIENUMMER
Val1116 Als de primaire sleutel “Zorgtraject-identificatienummer” niet is ingevuld of niet uniek is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val1116' AS VALCODE , 'E' AS VALSTATUS , D.ZORGTRAJECT_IDENTIFICATIENUMMER FROM DBO.ZORGTRAJECT D WHERE ISNULL(LEN(LTRIM(RTRIM(ZORGTRAJECT_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1116' AS VALCODE , 'E' AS VALSTATUS , D.ZORGTRAJECT_IDENTIFICATIENUMMER FROM DBO.ZORGTRAJECT D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.ZORGTRAJECT_IDENTIFICATIENUMMER FROM dbo.ZORGTRAJECT D WHERE LEN(ISNULL(LTRIM(RTRIM(ZORGTRAJECT_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.ZORGTRAJECT_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on D.ZORGTRAJECT_IDENTIFICATIENUMMER = K.ZORGTRAJECT_IDENTIFICATIENUMMER
© DBC-Onderhoud
Pagina 11 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val1118 Als de primaire sleutel “Verrichting-identificatienummer” niet ingevuld is of niet uniek is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val1118' AS VALCODE , 'E' AS VALSTATUS , D.VERRICHTING_IDENTIFICATIENUMMER FROM DBO.VERRICHTING D WHERE ISNULL(LEN(LTRIM(RTRIM(VERRICHTING_IDENTIFICATIENUMMER))),0) = 0 UNION ALL SELECT DISTINCT 'val1118' AS VALCODE , 'E' AS VALSTATUS , D.VERRICHTING_IDENTIFICATIENUMMER FROM DBO.VERRICHTING D INNER JOIN ( SELECT DISTINCT count(*) as aantal , D.VERRICHTING_IDENTIFICATIENUMMER FROM dbo.VERRICHTING D WHERE LEN(ISNULL(LTRIM(RTRIM(VERRICHTING_IDENTIFICATIENUMMER)),'')) != 0 GROUP BY D.VERRICHTING_IDENTIFICATIENUMMER HAVING COUNT(*)>1 ) K on D.VERRICHTING_IDENTIFICATIENUMMER = K.VERRICHTING_IDENTIFICATIENUMMER
© DBC-Onderhoud
Pagina 12 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
4.2 Val2201 t/m val2241 Val2201 Als de verwijzende code “Dagbesteding.CL_ACTIVITEIT_CODE” een niet bestaande “CL_ACTIVITEIT_CODE” is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2201' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.DAGBESTEDING D LEFT OUTER JOIN DBO.CL_ACTIVITEIT LU ON LU.CL_ACTIVITEIT_CODE = D.CL_ACTIVITEIT_CODE AND LU.CL_ACTIVITEIT_SOORT='dagbesteding' AND DAGBESTEDING_ACTIVITEITENDATUM BETWEEN CL_ACTIVITEIT_BEGINDATUM AND CL_ACTIVITEIT_EINDDATUM AND CL_ACTIVITEIT_SELECTEERBAAR > 0 WHERE LU.CL_ACTIVITEIT_CODE IS NULL AND D.CL_ACTIVITEIT_CODE IS NOT NULL
Val2202 Als u bij de verwijzende sleutel “Dagbesteding.DBC-identificatienummer” een niet bestaand DBC-identificatienummer selecteert, dan wordt het record afgekeurd en vallen alle bijbehorende DBC's uit. SELECT DISTINCT 'VAL2202' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.DAGBESTEDING D LEFT OUTER JOIN dbo.DBC FK ON FK.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER WHERE FK.DBC_IDENTIFICATIENUMMER IS NULL AND D.DBC_IDENTIFICATIENUMMER IS NOT NULL
Val2203 Als u bij de verwijzende sleutel “DBC.CL_CIRCUIT_CODE” een verkeerde waarde selecteert, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2203' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.DBC D LEFT OUTER JOIN DBO.CL_CIRCUIT LU ON LU.CL_CIRCUIT_CODE = D.CL_CIRCUIT_CODE AND DBC_BEGINDATUM BETWEEN CL_CIRCUIT_BEGINDATUM AND CL_CIRCUIT_EINDDATUM WHERE LU.CL_CIRCUIT_CODE IS NULL AND D.CL_CIRCUIT_CODE IS NOT NULL
© DBC-Onderhoud
Pagina 13 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val2204 Als u bij de verwijzende sleutel “.CL_CL_DIAGNOSE_CODE” een verkeerde waarde selecteert, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2204' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN dbo.CL_DIAGNOSE LU ON LU.CL_DIAGNOSE_CODE = D.CL_DIAGNOSE_CODE AND CL_DIAGNOSE_SELECTEERBAAR > 0 AND D.DBC_BEGINDATUM BETWEEN CL_DIAGNOSE_BEGINDATUM AND CL_DIAGNOSE_EINDDATUM WHERE LU.CL_DIAGNOSE_CODE IS NULL AND D.CL_DIAGNOSE_CODE IS NOT NULL
Val2205 Als u bij de verwijzende sleutel “DBC.CL_REDENSLUITEN_CODE” een verkeerde waarde selecteert, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2205' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.DBC D LEFT OUTER JOIN DBO.CL_REDENSLUITEN LU ON LU.CL_REDENSLUITEN_CODE = D.CL_REDENSLUITEN_CODE AND DBC_BEGINDATUM BETWEEN CL_REDENSLUITEN_BEGINDATUM AND CL_REDENSLUITEN_EINDDATUM WHERE LU.CL_REDENSLUITEN_CODE IS NULL AND D.CL_REDENSLUITEN_CODE IS NOT NULL
Val2206 Als u bij de verwijzende sleutel “DBC.CL_ZORGTYPE_CODE” een verkeerde waarde selecteert, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2206' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DBC D LEFT OUTER JOIN dbo.CL_ZORGTYPE LU ON LU.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE /* optionele_restrictie */ /* tijdsafhankelijkheid */ AND DBC_BEGINDATUM BETWEEN CL_ZORGTYPE_BEGINDATUM AND CL_ZORGTYPE_EINDDATUM AND CL_ZORGTYPE_SELECTEERBAAR > 0 WHERE LU.CL_ZORGTYPE_CODE IS NULL AND D.CL_ZORGTYPE_CODE IS NOT NULL
© DBC-Onderhoud
Pagina 14 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val2207 Als u bij de verwijzende sleutel “DBC.Behandelaar-identificatienummer” een verkeerde waarde kiest, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2207' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DBC D LEFT OUTER JOIN dbo.BEHANDELAAR FK ON FK.BEHANDELAAR_IDENTIFICATIENUMMER = D.BEHANDELAAR_IDENTIFICATIENUMMER WHERE FK.BEHANDELAAR_IDENTIFICATIENUMMER IS NULL AND D.BEHANDELAAR_IDENTIFICATIENUMMER IS NOT NULL
Val2208 Als u bij de verwijzende sleutel “DBC.Zorgtraject-identificatienummer” een verkeerde waarde kiest, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2208' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DBC D LEFT OUTER JOIN dbo.ZORGTRAJECT FK ON FK.ZORGTRAJECT_IDENTIFICATIENUMMER = D.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE FK.ZORGTRAJECT_IDENTIFICATIENUMMER IS NULL AND D.ZORGTRAJECT_IDENTIFICATIENUMMER IS NOT NULL
Val2209 Als de verwijzende code “OverigeDiagnose_As1tmAs5.CL_DIAGNOSE_CODE” een niet bestaande “CL_DIAGNOSE_CODE” is, dan wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL2209' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 D JOIN DBC ON D.DBC_IDENTIFICATIENUMMER = DBC.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN dbo.CL_DIAGNOSE LU ON LU.CL_DIAGNOSE_CODE = D.CL_DIAGNOSE_CODE /* optionele_restrictie */ /* tijdsafhankelijkheid */ AND DBC.DBC_BEGINDATUM BETWEEN CL_DIAGNOSE_BEGINDATUM AND CL_DIAGNOSE_EINDDATUM AND CL_DIAGNOSE_SELECTEERBAAR > 0 WHERE LU.CL_DIAGNOSE_CODE IS NULL AND D.CL_DIAGNOSE_CODE IS NOT NULL
© DBC-Onderhoud
Pagina 15 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val2215 Als de verwijzende code “Behandelaar.CL_BEROEP_CODE” een niet bestaande “CL_BEROEP_CODE” is, dan wordt het record afgekeurd en vallen bijbehorende tijdschrijfrecords en de DBC uit. SELECT DISTINCT 'VAL2215' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.BEHANDELAAR D JOIN DBC ON DBC.BEHANDELAAR_IDENTIFICATIENUMMER = D.BEHANDELAAR_IDENTIFICATIENUMMER LEFT OUTER JOIN dbo.CL_BEROEP LU ON LU.CL_BEROEP_CODE = D.CL_BEROEP_CODE /* optionele_restrictie */ /* tijdsafhankelijkheid */ AND CL_BEROEP_SELECTEERBAAR > 0 AND DBC.DBC_BEGINDATUM BETWEEN LU.CL_BEROEP_BEGINDATUM AND LU.CL_BEROEP_EINDDATUM WHERE LU.CL_BEROEP_CODE IS NULL AND D.CL_BEROEP_CODE IS NOT NULL
Val2218 Als de verwijzende code “Tijdschrijven.CL_ACTIVITEIT_CODE” een niet bestaande “CL_ACTIVITEIT_CODE” is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2218' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D LEFT OUTER JOIN dbo.CL_ACTIVITEIT LU ON LU.CL_ACTIVITEIT_CODE = D.CL_ACTIVITEIT_CODE /* optionele_restrictie */ AND LU.CL_ACTIVITEIT_SOORT='tijdschrijven' /* tijdsafhankelijkheid */ AND TIJDSCHRIJVEN_ACTIVITEITENDATUM BETWEEN CL_ACTIVITEIT_BEGINDATUM AND CL_ACTIVITEIT_EINDDATUM AND CL_ACTIVITEIT_SELECTEERBAAR > 0 WHERE LU.CL_ACTIVITEIT_CODE IS NULL AND D.CL_ACTIVITEIT_CODE IS NOT NULL
Val2219 Als u bij de verwijzende sleutel “Tijdschrijven.DBC-identificatienummer” voor een niet bestaand DBC-identificatienummer kiest, dan wordt het record afgekeurd en vallen alle bijbehorende DBC's uit. SELECT DISTINCT 'VAL2219' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D LEFT OUTER JOIN dbo.DBC FK ON FK.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER WHERE FK.DBC_IDENTIFICATIENUMMER IS NULL AND D.DBC_IDENTIFICATIENUMMER IS NOT NULL
© DBC-Onderhoud
Pagina 16 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val2220 Als u bij de verwijzende sleutel “Tijdschrijven.Behandelaar-identificatienummer” een verkeerde waarde kiest, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2220' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D LEFT OUTER JOIN dbo.BEHANDELAAR FK ON FK.BEHANDELAAR_IDENTIFICATIENUMMER = D.BEHANDELAAR_IDENTIFICATIENUMMER WHERE FK.BEHANDELAAR_IDENTIFICATIENUMMER IS NULL AND D.BEHANDELAAR_IDENTIFICATIENUMMER IS NOT NULL
Val2223 Als de verwijzende code “Verblijfsdag.CL_ACTIVITEIT_CODE” op de ingangsdatum van de DBC een niet bestaande “CL_ACTIVITEIT_CODE” is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'val2223' AS valcode, 'E' AS valstatus, tra.dbc_identificatienummer FROM dbo.dbc AS tra JOIN dbo.verblijfsdag AS vbl ON tra.dbc_identificatienummer = vbl.dbc_identificatienummer LEFT JOIN dbo.cl_activiteit AS cl_act ON vbl.cl_activiteit_code = cl_act.cl_activiteit_code AND tra.dbc_begindatum BETWEEN cl_act.cl_activiteit_begindatum AND cl_act.cl_activiteit_einddatum WHERE cl_act.cl_activiteit_code IS NULL
Val2224 Als de verwijzende code “Verrichting.CL_ACTIVITEIT_CODE” een niet bestaande “CL_ACTIVITEIT_CODE” is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2224' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.VERRICHTING D LEFT OUTER JOIN dbo.CL_ACTIVITEIT LU ON LU.CL_ACTIVITEIT_CODE = D.CL_ACTIVITEIT_CODE /* optionele_restrictie */ AND LU.CL_ACTIVITEIT_SOORT='verrichting' /* tijdsafhankelijkheid */ AND VERRICHTING_ACTIVITEITENDATUM BETWEEN CL_ACTIVITEIT_BEGINDATUM AND CL_ACTIVITEIT_EINDDATUM AND CL_ACTIVITEIT_SELECTEERBAAR > 0 WHERE LU.CL_ACTIVITEIT_CODE IS NULL AND D.CL_ACTIVITEIT_CODE IS NOT NULL
© DBC-Onderhoud
Pagina 17 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val2225 Als u bij de verwijzende sleutel “Zorgtraject.PATIENT_IDENTIFICATIENUMMER” een verkeerde waarde kiest, dan wordt het record afgekeurd en vallen de bijbehorende DBC's uit. SELECT DISTINCT 'VAL2225' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.ZORGTRAJECT D JOIN DBC ON D.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER LEFT OUTER JOIN dbo.PATIENT FK ON FK.PATIENT_IDENTIFICATIENUMMER = D.PATIENT_IDENTIFICATIENUMMER WHERE FK.PATIENT_IDENTIFICATIENUMMER IS NULL AND D.PATIENT_IDENTIFICATIENUMMER IS NOT NULL
Val2226 Als bij de verwijzende sleutel “Zorgvraag.CL_ZORGVRAAG_CODE” een verkeerde waarde kiest, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL2226' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM ZORGVRAAG D JOIN DBC ON D.DBC_IDENTIFICATIENUMMER = DBC.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN CL_ZORGVRAAG LU ON LU.CL_ZORGVRAAG_CODE = D.CL_ZORGVRAAG_CODE /* optionele_restrictie */ /* tijdsafhankelijkheid */ AND CL_ZORGVRAAG_SELECTEERBAAR > 0 AND DBC.DBC_BEGINDATUM BETWEEN LU.CL_ZORGVRAAG_BEGINDATUM AND LU.CL_ZORGVRAAG_EINDDATUM WHERE LU.CL_ZORGVRAAG_CODE IS NULL AND D.CL_ZORGVRAAG_CODE IS NOT NULL
Val2228 Als u bij de verwijzende sleutel “Verrichting.DBC-identificatienummer” voor een niet bestaand DBC-identificatienummer kiest, dan wordt het record afgekeurd en vallen alle bijbehorende DBC's uit. SELECT DISTINCT 'VAL2228' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.VERRICHTING D LEFT OUTER JOIN dbo.DBC FK ON FK.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER WHERE FK.DBC_IDENTIFICATIENUMMER IS NULL AND D.DBC_IDENTIFICATIENUMMER IS NOT NULL
© DBC-Onderhoud
Pagina 18 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val2231 Als u bij de verwijzende sleutel “Zorgtraject.CL_CL_DIAGNOSE_CODE” een verkeerde waarde kiest, dan wordt het record afgekeurd en vallen de bijbehorende DBC's uit. SELECT DISTINCT 'VAL2231' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.ZORGTRAJECT D JOIN DBC ON D.ZORGTRAJECT_IDENTIFICATIENUMMER = D.ZORGTRAJECT_IDENTIFICATIENUMMER LEFT OUTER JOIN dbo.CL_DIAGNOSE LU ON LU.CL_DIAGNOSE_CODE = D.CL_DIAGNOSE_CODE /* optionele_restrictie */ AND (CL_DIAGNOSE_AS='1' OR CL_DIAGNOSE_AS='2') /* tijdsafhankelijkheid */ AND DBC.DBC_BEGINDATUM BETWEEN CL_DIAGNOSE_BEGINDATUM AND CL_DIAGNOSE_EINDDATUM AND CL_DIAGNOSE_SELECTEERBAAR > 0 WHERE LU.CL_DIAGNOSE_CODE IS NULL AND D.CL_DIAGNOSE_CODE IS NOT NULL
Val2236 Als u bij de verwijzende sleutel “OverigeDiagnose_As1_tm_As5.DBC-identificatienummer” een verkeerde waarde kiest, dan wordt het record afgekeurd en vallen alle bijbehorende DBC's uit. SELECT DISTINCT 'VAL2236' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 D LEFT OUTER JOIN dbo.DBC FK ON FK.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER WHERE FK.DBC_IDENTIFICATIENUMMER IS NULL AND D.DBC_IDENTIFICATIENUMMER IS NOT NULL
Val2237 Als u bij de verwijzende sleutel “Verblijfsdag.DBC-identificatienummer” voor een niet bestaand DBC-identificatienummer kiest, dan wordt het record afgekeurd en vallen alle bijbehorende DBC's uit. SELECT DISTINCT 'VAL2237' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.VERBLIJFSDAG D LEFT OUTER JOIN dbo.DBC FK ON FK.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER WHERE FK.DBC_IDENTIFICATIENUMMER IS NULL AND D.DBC_IDENTIFICATIENUMMER IS NOT NULL
Val2238 Als bij de verwijzende sleutel “Patiënt.PATIENT_LANDCODE” een verkeerde waarde kiest, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. Het datamodel bevat de entiteit “patiënt” niet, dus deze regel wordt niet opgenomen als code in de beschrijving.
© DBC-Onderhoud
Pagina 19 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val2239 Als u bij de verwijzende sleutel “Patiënt.PATIENT_GESLACHT” een verkeerde waarde kiest, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. Het datamodel bevat de entiteit “patiënt” niet, dus deze regel wordt niet opgenomen als code in de beschrijving. Val2240 Als u bij de verwijzende sleutel “Patient.CL_INSTELLING_CODE” een verkeerde waarde kiest, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. Het datamodel bevat de entiteit “patiënt” niet, dus deze regel wordt niet opgenomen als code in de beschrijving. Val2241 Als u bij de verwijzende sleutel “Patient.LOCATIE_CODE” een verkeerde waarde kiest, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. Het datamodel bevat de entiteit “patiënt” niet, dus deze regel wordt niet opgenomen als code in de beschrijving.
© DBC-Onderhoud
Pagina 20 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
4.3 Val3301 t/m val3391 Val3301 Als het standaard verplicht veld “Dagbesteding.Aantal_uren” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3301' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DAGBESTEDING D WHERE DAGBESTEDING_AANTAL_UUR IS NULL
Val3302 Als het standaard verplicht veld “Dagbesteding.Activiteitendatum” niet is ingevuld, wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL3302' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DAGBESTEDING D WHERE DAGBESTEDING_ACTIVITEITENDATUM IS NULL
Val3304 Als het standaard verplicht veld “Dagbesteding.CL_ACTIVITEIT_CODE” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3304' AS VALCODE ,'E' AS VALSTATUS ,D. DBC_IDENTIFICATIENUMMER FROM dbo.DAGBESTEDING D WHERE CL_ACTIVITEIT_CODE IS NULL
Val3305 Als het standaard verplicht veld “DBC.CL_CIRCUIT_CODE” niet is ingevuld bij een gesloten DBC, dan valt de DBC uit. SELECT DISTINCT 'VAL3305' AS VALCODE ,'E' AS VALSTATUS ,D. DBC_IDENTIFICATIENUMMER FROM DBC D WHERE CL_CIRCUIT_CODE IS NULL AND (DBC_EINDDATUM IS NOT NULL AND DBC_EINDDATUM <> '99991231')
© DBC-Onderhoud
Pagina 21 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3306 Als het standaard verplicht veld “DBC.Nieuwe_Patiënt_JN” niet is ingevuld, dan valt de DBC uit. Het datamodel bevat de entiteit “patiënt” niet, dus deze regel wordt niet opgenomen als code in de beschrijving. Val3307 Als het standaard verplicht veld “DBC.DBC_BEGINDATUM” niet is ingevuld, dan valt de DBC uit. SELECT DISTINCT 'VAL3307' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DBC D WHERE DBC_BEGINDATUM IS NULL
Val3308 Als het standaard verplicht veld “DBC.DBC_einddatum” niet is ingevuld bij een gesloten DBC, dan valt de DBC uit. SELECT DISTINCT 'VAL3308' AS VALCODE ,'E' AS VALSTATUS ,D. DBC_IDENTIFICATIENUMMER FROM DBC D WHERE (DBC_EINDDATUM IS NULL OR DBC_EINDDATUM = '99991231')
Val3309 Als het standaard verplicht veld “DBC.Zorgtraject-identificatienummer” niet is ingevuld, dan valt de DBC uit. SELECT DISTINCT 'VAL3309' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DBC D WHERE ZORGTRAJECT_IDENTIFICATIENUMMER IS NULL
Val3310 Als het standaard verplicht veld “OverigeDiagnose_As1_tm_As5.CL_DIAGNOSE_CODE” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3310' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 D WHERE CL_DIAGNOSE_CODE IS NULL
© DBC-Onderhoud
Pagina 22 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3311 Als het standaard verplicht veld “OverigeDiagnose_As1tmAs5.DBC-identificatienummer” niet is ingevuld, dan wordt het record afgekeurd en vallen alle bijbehorende DBC's uit. SELECT DISTINCT 'VAL3311' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 D WHERE DBC_IDENTIFICATIENUMMER IS NULL
Val3329 Als het standaard verplicht veld “Behandelaar.CL_BEROEP_CODE” niet is ingevuld, dan wordt het record afgekeurd. SELECT DISTINCT 'VAL3329' AS VALCODE ,'E' AS VALSTATUS ,D.BEHANDELAAR_IDENTIFICATIENUMMER FROM dbo.BEHANDELAAR D WHERE CL_BEROEP_CODE IS NULL
Val3337 Als het standaard verplicht veld “Tijdschrijven.Activiteitcode” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3337' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D WHERE CL_ACTIVITEIT_CODE IS NULL
Val3339 Als het standaard verplicht veld “Tijdschrijven.Behandelaar-identificatienummer” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3339' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D WHERE BEHANDELAAR_IDENTIFICATIENUMMER IS NULL
© DBC-Onderhoud
Pagina 23 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3340 Als het standaard verplicht veld “Tijdschrijven.Activiteitendatum” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3340' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D WHERE TIJDSCHRIJVEN_ACTIVITEITENDATUM IS NULL
Val3341 Als het standaard verplicht veld “Tijdschrijven.TIJDSCHRIJVEN_DIRECTE_MINUTEN” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3341' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D WHERE TIJDSCHRIJVEN_DIRECTE_MINUTEN IS NULL
Val342 Als het standaard verplicht veld “Tijdschrijven.TIJDSCHRIJVEN_INDIRECTE_MINUTEN_ALG” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3342' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D WHERE TIJDSCHRIJVEN_INDIRECTE_MINUTEN_ALG IS NULL
Val3343 Als het standaard verplicht veld “Tijdschrijven.TIJDSCHRIJVEN_INDIRECTE_MINUTEN_REIS” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3343' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.TIJDSCHRIJVEN D WHERE TIJDSCHRIJVEN_INDIRECTE_MINUTEN_REIS IS NULL
© DBC-Onderhoud
Pagina 24 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3351 Als het standaard verplicht veld “Verblijfsdagen.Activiteitcode” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3351' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.VERBLIJFSDAG D WHERE CL_ACTIVITEIT_CODE IS NULL
Val3353 Als het standaard verplicht veld “Verblijfsdagen.Aantal_dagen” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3353' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.VERBLIJFSDAG D WHERE VERBLIJFSDAG_AANTAL_DAGEN IS NULL
Val3354 Als het standaard verplicht veld “Verblijfsdagen.Activiteitendatum” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3354' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.VERBLIJFSDAG D WHERE VERBLIJFSDAG_ACTIVITEITENDATUM IS NULL
Val3356 Als het standaard verplicht veld “Zorgtraject.PATIENT_IDENTIFICATIENUMMER” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende DBC's uit. SELECT DISTINCT 'VAL3356' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.ZORGTRAJECT ZTJ JOIN DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_IDENTIFICATIENUMMER IS NULL
© DBC-Onderhoud
Pagina 25 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3357 Als het standaard verplicht veld “Zorgtraject.ZORGTRAJECT_BEGINDATUM” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende DBC’s uit. SELECT DISTINCT 'VAL3357' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.ZORGTRAJECT ZTJ JOIN DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE ZTJ.ZORGTRAJECT_BEGINDATUM IS NULL
Val3362 Als het standaard verplicht veld “DBC.CL_REDENSLUITEN_CODE” niet is ingevuld bij een gesloten DBC, dan valt de DBC uit. SELECT DISTINCT 'VAL3362' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM DBC D WHERE CL_REDENSLUITEN_CODE IS NULL AND (DBC_EINDDATUM IS NOT NULL AND
DBC_EINDDATUM <> 99991231)
Val3363 Als het standaard verplicht veld “DBC.CL_ZORGTYPE_CODE” niet is ingevuld, dan valt de DBC uit. SELECT DISTINCT 'VAL3363' AS VALCODE ,'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM dbo.DBC D WHERE CL_ZORGTYPE_CODE IS NULL
Val3365 Als het standaard verplicht veld “Patient_PATIENT_NAAM_1” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3365' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_NAAM_1 IS NULL
© DBC-Onderhoud
Pagina 26 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3366 Als het standaard verplicht veld “Patient_PATIENT_NAAMCODE_1” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3366' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_NAAMCODE_1 IS NULL
Val3367 Als het standaard verplicht veld “Patiënt.PATIENT_VOORLETTERS” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3367' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_VOORLETTERS IS NULL
Val3368 Als het standaard verplicht veld “Patiënt.PATIENT_HUISNUMMER” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3368' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_HUISNUMMER IS NULL
© DBC-Onderhoud
Pagina 27 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3369 Als het standaard verplicht veld “Patiënt.PATIENT_LANDCODE” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3369' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_LANDCODE IS NULL
Val3371 Als het standaard verplicht veld “Patiënt.PATIENT_GESLACHT” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3371' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_GESLACHT IS NULL
Val3372 Als het standaard verplicht veld “Patiënt. Geboortedatum” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3372' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE PATIENT_GEBOORTEDATUM IS NULL
© DBC-Onderhoud
Pagina 28 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3373 Als het standaard verplicht veld “Patiënt. declarerende instelling” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3373' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE CL_INSTELLING_CODE IS NULL
Val3374 Als het standaard verplicht veld “Patiënt. locatie declarerende zorginstelling” niet is ingevuld, dan wordt het record afgekeurd en vallen de bijbehorende zorgtrajecten en DBC's uit. SELECT DISTINCT 'VAL3374' AS VALCODE ,'E' AS VALSTATUS ,DBC.DBC_IDENTIFICATIENUMMER FROM dbo.PATIENT PAT JOIN dbo.ZORGTRAJECT ZTJ ON PAT.PATIENT_IDENTIFICATIENUMMER = ZTJ.PATIENT_IDENTIFICATIENUMMER JOIN dbo.DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE LOCATIE_CODE IS NULL
Val3385 Als het standaard verplicht veld “Verrichting.aantal verrichtingen” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3385' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.VERRICHTING D WHERE D.VERRICHTING_AANTAL IS NULL
Val3386 Als het standaard verplicht veld “Verrichting.Activiteitendatum” niet is ingevuld, dan wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL3386' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.VERRICHTING D WHERE D.VERRICHTING_ACTIVITEITENDATUM IS NULL
© DBC-Onderhoud
Pagina 29 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3387 Als het standaard verplicht veld “Verrichting.CL_ACTIVITEIT_CODE” niet is ingevuld, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL3387' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.VERRICHTING D WHERE D.CL_ACTIVITEIT_CODE IS NULL
Val3388 Als het standaard verplicht veld “Verrichting.DBC-identificatienummer” niet is ingevuld, dan wordt het record afgekeurd en vallen alle bijbehorende DBC's uit. SELECT DISTINCT 'VAL3388' AS VALCODE , 'E' AS VALSTATUS , D.VERRICHTING_IDENTIFICATIENUMMER FROM DBO.VERRICHTING D WHERE D.DBC_IDENTIFICATIENUMMER IS NULL
Val3389 Als het standaard verplicht veld “Verblijfsdag.DBC-identificatienummer” niet is ingevuld, dan wordt het record afgekeurd en vallen alle DBC's uit. SELECT DISTINCT 'VAL3389' AS VALCODE , 'E' AS VALSTATUS , D.VERBLIJFSDAG_IDENTIFICATIENUMMER FROM DBO.VERBLIJFSDAG D WHERE D.DBC_IDENTIFICATIENUMMER IS NULL
Val3390 Als het standaard verplicht veld “Tijdschrijven.DBC-identificatienummer” niet is ingevuld, dan wordt het record afgekeurd en vallen alle DBC's uit. SELECT DISTINCT 'VAL3390' AS VALCODE , 'E' AS VALSTATUS , D.TIJDSCHRIJVEN_IDENTIFICATIENUMMER FROM DBO.TIJDSCHRIJVEN D WHERE D.DBC_IDENTIFICATIENUMMER IS NULL
© DBC-Onderhoud
Pagina 30 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val3391 Als het standaard verplicht veld “Dagbesteding.DBC-identificatienummer” niet is ingevuld, dan wordt het record afgekeurd en vallen alle DBC's uit. SELECT DISTINCT 'VAL3391' AS VALCODE , 'E' AS VALSTATUS , D.DAGBESTEDING_IDENTIFICATIENUMMER FROM DBO.DAGBESTEDING D WHERE D.DBC_IDENTIFICATIENUMMER IS NULL
© DBC-Onderhoud
Pagina 31 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
4.4 Val6600 t/m val6697 Val6600 Als een DBC het initiële zorgtype “Inbewaringstelling” heeft en er is geen activiteit geregistreerd door een beroep uit het beroepencluster Medische Beroepen, dan valt de DBC uit. /* INITIEEL ZORGTYPE IBS HEEFT ACTIVITEITEN UIT BEROEPENCLUSTER MEDISCHE BEROEPEN */ WITH DBC_AGGR_CTE (DBC_IDENTIFICATIENUMMER,TSAANTALACT) AS ( SELECT T.DBC_IDENTIFICATIENUMMER, COUNT(TIJDSCHRIJVEN_IDENTIFICATIENUMMER) AS TSAANTALACT FROM TIJDSCHRIJVEN T INNER JOIN DBC D ON D.DBC_IDENTIFICATIENUMMER=T.DBC_IDENTIFICATIENUMMER INNER JOIN BEHANDELAAR P ON P.BEHANDELAAR_IDENTIFICATIENUMMER = T.BEHANDELAAR_IDENTIFICATIENUMMER INNER JOIN CL_BEROEP CL ON CL.CL_BEROEP_CODE = P.CL_BEROEP_CODE AND CL.CL_BEROEP_CODE LIKE 'MB.%' AND D.DBC_BEGINDATUM BETWEEN CL.CL_BEROEP_BEGINDATUM AND CL.CL_BEROEP_EINDDATUM GROUP BY T.DBC_IDENTIFICATIENUMMER ) SELECT DISTINCT 'VAL6600' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN DBC_AGGR_CTE ON DBC_AGGR_CTE.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE = '111' AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE ISNULL(DBC_AGGR_CTE.TSAANTALACT,0) = 0
© DBC-Onderhoud
Pagina 32 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6601 Als bij een DBC alleen activiteit verblijf zonder overnachting (alle codes binnen act_8.x.6) zijn geregistreerd of als deze in combinatie voorkomt met pré-intake (act_1) en/of Algemeen indirecte tijd (act_7*) en/of Ondersteunende begeleidingscontacten (act_4.2*) en/of Dagbesteding (act_9*), dan valt de DBC uit.
© DBC-Onderhoud
Pagina 33 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6606 Als een DBC het initiële zorgtype “Inbewaringstelling” heeft en er zijn geen verblijfsdagen uit categorie 1 t/m 5 geregistreerd, dan valt de DBC uit. SELECT DISTINCT 'VAL6601' AS VALCODE , 'E' AS VALSTATUS , DBC.DBC_IDENTIFICATIENUMMER FROM DBC DBC LEFT OUTER JOIN ( SELECT D.DBC_IDENTIFICATIENUMMER ,ISNULL(COUNT(D.DBC_IDENTIFICATIENUMMER),0) AS TOTAL FROM DBC D INNER JOIN dbo.VERBLIJFSDAG T ON T.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN DBO.CL_ACTIVITEIT CLT ON CLT.CL_ACTIVITEIT_CODE = T.CL_ACTIVITEIT_CODE AND T.VERBLIJFSDAG_ACTIVITEITENDATUM BETWEEN CL_ACTIVITEIT_BEGINDATUM AND CL_ACTIVITEIT_EINDDATUM WHERE CLT.CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%.6' GROUP BY D.DBC_IDENTIFICATIENUMMER ) MUSTHAVE ON MUSTHAVE.DBC_IDENTIFICATIENUMMER = DBC.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN ( SELECT DBC_IDENTIFICATIENUMMER, MAX( TOTAL ) AS TOTAL FROM ( SELECT D.DBC_IDENTIFICATIENUMMER , Count(*) AS TOTAL FROM DBC AS D INNER JOIN DBO.VERBLIJFSDAG AS VBD ON VBD.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN DBO.CL_ACTIVITEIT AS CLT ON CLT.CL_ACTIVITEIT_CODE = VBD.CL_ACTIVITEIT_CODE AND VBD.VERBLIJFSDAG_ACTIVITEITENDATUM BETWEEN CL_ACTIVITEIT_BEGINDATUM AND CL_ACTIVITEIT_EINDDATUM WHERE CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_9%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_1' -- geen 1% ivm act_10 AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_7%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_4.2%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT[_]8.%.6' GROUP BY D.DBC_IDENTIFICATIENUMMER UNION ALL SELECT D.DBC_IDENTIFICATIENUMMER , Count(*) AS TOTAL FROM DBC AS D INNER JOIN DBO.DAGBESTEDING AS DBS ON DBS.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN DBO.CL_ACTIVITEIT AS CLT ON CLT.CL_ACTIVITEIT_CODE = DBS.CL_ACTIVITEIT_CODE AND DBS.DAGBESTEDING_ACTIVITEITENDATUM BETWEEN CL_ACTIVITEIT_BEGINDATUM AND CL_ACTIVITEIT_EINDDATUM WHERE CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_9%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_1' -- geen 1% ivm act_10 AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_7%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_4.2%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT[_]8.%.6' GROUP BY D.DBC_IDENTIFICATIENUMMER UNION ALL SELECT D.DBC_IDENTIFICATIENUMMER , Count(*) AS TOTAL FROM DBC AS D INNER JOIN DBO.TIJDSCHRIJVEN AS T ON T.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN DBO.CL_ACTIVITEIT AS CLT ON CLT.CL_ACTIVITEIT_CODE = T.CL_ACTIVITEIT_CODE AND T.TIJDSCHRIJVEN_ACTIVITEITENDATUM BETWEEN CL_ACTIVITEIT_BEGINDATUM AND CL_ACTIVITEIT_EINDDATUM WHERE CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_9%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_1' -- geen 1% ivm act_10 AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_7%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT_4.2%' AND CLT.CL_ACTIVITEIT_CODE NOT LIKE 'ACT[_]8.%.6' GROUP BY D.DBC_IDENTIFICATIENUMMER ) AS DQ GROUP BY DBC_IDENTIFICATIENUMMER ) OTHER ON OTHER.DBC_IDENTIFICATIENUMMER = DBC.DBC_IDENTIFICATIENUMMER WHERE MUSTHAVE.TOTAL >= 1 AND MUSTHAVE.DBC_IDENTIFICATIENUMMER IS NOT NULL AND (OTHER.TOTAL = 0 OR OTHER.TOTAL IS NULL )
© DBC-Onderhoud
Pagina 34 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
SELECT DISTINCT 'VAL6606' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN ( SELECT VBD.DBC_IDENTIFICATIENUMMER, COUNT(VERBLIJFSDAG_IDENTIFICATIENUMMER) AS VBDAANTALACT FROM VERBLIJFSDAG VBD INNER JOIN CL_ACTIVITEIT CLA ON CLA.CL_ACTIVITEIT_CODE= VBD.CL_ACTIVITEIT_CODE AND VBD.VERBLIJFSDAG_ACTIVITEITENDATUM BETWEEN CLA.CL_ACTIVITEIT_BEGINDATUM AND CLA.CL_ACTIVITEIT_EINDDATUM AND CLA.CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%' AND CLA.CL_ACTIVITEIT_CODE NOT LIKE 'ACT[_]8.%.6' GROUP BY VBD.DBC_IDENTIFICATIENUMMER ) AGGR ON AGGR.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE = '111' AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE ISNULL(AGGR.VBDAANTALACT,0) = 0
Val6607 Als een DBC het initiële of vervolg zorgtype “Ondertoezichtstelling” heeft en de patiënt op het moment dat de DBC wordt geopend 18 jaar of ouder is, dan valt de DBC uit. SELECT DISTINCT 'VAL6607' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D JOIN ZORGTRAJECT Z ON Z.ZORGTRAJECT_IDENTIFICATIENUMMER = D.ZORGTRAJECT_IDENTIFICATIENUMMER JOIN PATIENT P ON P.PATIENT_IDENTIFICATIENUMMER = Z.PATIENT_IDENTIFICATIENUMMER INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE IN ('115','210') AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE /* OOK FOUT LATEN GAAN WANNEER LEEFTIJD NIET WORDT GEGEVEN */ DATEADD(YEAR, 18, ISNULL(PATIENT_GEBOORTEDATUM, GETDATE())) + CASE WHEN MONTH(ISNULL(PATIENT_GEBOORTEDATUM, GETDATE())) = 2 AND DAY(ISNULL(PATIENT_GEBOORTEDATUM, GETDATE())) = 29 THEN 1 ELSE 0 END > DBC_BEGINDATUM
© DBC-Onderhoud
Pagina 35 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6608 Als een DBC het initiële zorgtype “Eenmalig spoedeisend consult/crisisinterventie” heeft en er zijn verblijfsdagen uit categorie 1 t/m 6 geregistreerd, dan valt de DBC uit. SELECT DISTINCT 'VAL6608' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN ( SELECT VBD.DBC_IDENTIFICATIENUMMER, COUNT(VERBLIJFSDAG_IDENTIFICATIENUMMER) AS VBDAANTAL FROM VERBLIJFSDAG VBD INNER JOIN CL_ACTIVITEIT CLA ON CLA.CL_ACTIVITEIT_CODE= VBD.CL_ACTIVITEIT_CODE AND VBD.VERBLIJFSDAG_ACTIVITEITENDATUM BETWEEN CLA.CL_ACTIVITEIT_BEGINDATUM AND CLA.CL_ACTIVITEIT_EINDDATUM AND CLA.CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%' GROUP BY VBD.DBC_IDENTIFICATIENUMMER ) A ON A.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND D.CL_ZORGTYPE_CODE ='102' AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE ISNULL(A.VBDAANTAL,0) > 0
Val6610 Als bij een DBC dagbestedingsactiviteiten worden geregistreerd en het aantal geregistreerde uren 0 is, dan wordt het record afgekeurd en valt de bijbehorende DBC uit. SELECT DISTINCT 'VAL6610' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DAGBESTEDING D WHERE ISNULL(D.DAGBESTEDING_AANTAL_UUR,0) <= 0
© DBC-Onderhoud
Pagina 36 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6611 Als een DBC gesloten is en er is een tijdschrijfactiviteit, dagbesteding, verblijfsdag of verrichting geregistreerd met een registratiedatum na de sluitdatum van de DBC of voor de opendatum van de DBC, dan valt de DBC uit. with cte_ts(DBC_IDENTIFICATIENUMMER) as ( SELECT DISTINCT D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN TIJDSCHRIJVEN TS ON D.DBC_IDENTIFICATIENUMMER = TS.DBC_IDENTIFICATIENUMMER WHERE TIJDSCHRIJVEN_ACTIVITEITENDATUM > DBC_EINDDATUM OR TIJDSCHRIJVEN_ACTIVITEITENDATUM < DBC_BEGINDATUM ) ,cte_vbd(DBC_IDENTIFICATIENUMMER) as ( SELECT DISTINCT D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN VERBLIJFSDAG VBD ON D.DBC_IDENTIFICATIENUMMER = VBD.DBC_IDENTIFICATIENUMMER WHERE VBD.VERBLIJFSDAG_ACTIVITEITENDATUM > DBC_EINDDATUM OR VBD.VERBLIJFSDAG_ACTIVITEITENDATUM < DBC_BEGINDATUM ) ,cte_DBS(DBC_IDENTIFICATIENUMMER) as ( SELECT DISTINCT D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN DAGBESTEDING DBS ON D.DBC_IDENTIFICATIENUMMER = DBS.DBC_IDENTIFICATIENUMMER WHERE DAGBESTEDING_ACTIVITEITENDATUM > DBC_EINDDATUM OR DAGBESTEDING_ACTIVITEITENDATUM < DBC_BEGINDATUM ) ,cte_ver(DBC_IDENTIFICATIENUMMER) as ( SELECT DISTINCT D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN VERRICHTING VER ON D.DBC_IDENTIFICATIENUMMER = VER.DBC_IDENTIFICATIENUMMER WHERE VERRICHTING_ACTIVITEITENDATUM > DBC_EINDDATUM OR VERRICHTING_ACTIVITEITENDATUM < DBC_BEGINDATUM ) SELECT DISTINCT 'VAL6611' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM ( (select DBC_IDENTIFICATIENUMMER from cte_ts) union (select DBC_IDENTIFICATIENUMMER from cte_vbd) union (select DBC_IDENTIFICATIENUMMER from cte_DBS) union (select DBC_IDENTIFICATIENUMMER from cte_ver) ) D
© DBC-Onderhoud
Pagina 37 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6612 Als een DBC gesloten is en de looptijd van de DBC was langer dan 365 dagen of de sluitdatum ligt voor de opendatum, dan valt de DBC uit. SELECT DISTINCT 'val6612' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBO.DBC D WHERE DATEADD(day, 365, D.DBC_BEGINDATUM) < ISNULL(D.DBC_EINDDATUM, GETDATE()) OR D.DBC_EINDDATUM < D.DBC_BEGINDATUM
Val6614 Als een DBC gesloten is en de DBC heeft een start- of sluitdatum die in de toekomst ligt, dan valt de DBC uit. SELECT DISTINCT 'VAL6614' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D WHERE DBC_BEGINDATUM > GETDATE() OR D.DBC_EINDDATUM > GETDATE()
Val6617 Als een DBC gesloten is en er is niet minimaal een activiteit (tijdschrijfactiviteit, dagbesteding, verblijfsdag of verrichting) op de DBC geregistreerd, dan valt de DBC uit.
SELECT DISTINCT 'VAL6617' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D WHERE DBC_EINDDATUM IS NOT NULL AND DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT DBC_IDENTIFICATIENUMMER FROM TIJDSCHRIJVEN ACT WHERE D.DBC_IDENTIFICATIENUMMER = ACT.DBC_IDENTIFICATIENUMMER ) AND DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT DBC_IDENTIFICATIENUMMER FROM VERBLIJFSDAG ACT WHERE D.DBC_IDENTIFICATIENUMMER = ACT.DBC_IDENTIFICATIENUMMER ) AND DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT DBC_IDENTIFICATIENUMMER FROM DAGBESTEDING ACT WHERE D.DBC_IDENTIFICATIENUMMER = ACT.DBC_IDENTIFICATIENUMMER ) AND DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT DBC_IDENTIFICATIENUMMER FROM VERRICHTING ACT WHERE D.DBC_IDENTIFICATIENUMMER = ACT.DBC_IDENTIFICATIENUMMER )
© DBC-Onderhoud
Pagina 38 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6618 Als u bij een gesloten DBC de typeringselementen “zorgtype” en “afsluitreden” niet registreert, dan valt de DBC uit. SELECT DISTINCT 'VAL6618' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN CL_ZORGTYPE CLZT ON D.CL_ZORGTYPE_CODE = CLZT.CL_ZORGTYPE_CODE LEFT OUTER JOIN CL_REDENSLUITEN CLRS ON D.CL_REDENSLUITEN_CODE = CLRS.CL_REDENSLUITEN_CODE WHERE DBC_EINDDATUM IS NOT NULL AND ( ( D.CL_REDENSLUITEN_CODE IS NULL OR CLZT.CL_ZORGTYPE_CODE IS NULL ) OR ( D.CL_REDENSLUITEN_CODE IS NULL OR CLRS.CL_REDENSLUITEN_CODE IS NULL ) )
Val 6619 Als een DBC gesloten is en er is naast de primaire diagnose niet op de overige assen van de DSM IV een geldige diagnose geregistreerd, dan valt de DBC uit. Uitzondering: bij sluitreden pre-intake/intake/diagnostiek hoeft de diagnose op As 1-5 van de DSMIV niet ingevuld te worden. Tweede uitzondering: bij kinderen jonger dan 4 jaar hoeft de As 5 van de DSMIV niet ingevuld te worden.
© DBC-Onderhoud
Pagina 39 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
SELECT DISTINCT 'VAL6619' AS VALCODE , 'E' AS VALSTATUS , dbc.DBC_IDENTIFICATIENUMMER FROM DBC dbc WHERE dbc.DBC_EINDDATUM IS NOT NULL AND dbc.CL_REDENSLUITEN_CODE <> '5' AND ( dbc.DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT dia.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 dia JOIN CL_DIAGNOSE ref_dia ON dia.CL_DIAGNOSE_CODE = ref_dia.CL_DIAGNOSE_CODE WHERE ref_dia.CL_DIAGNOSE_AS = '1' UNION SELECT DISTINCT dbc.DBC_IDENTIFICATIENUMMER FROM dbo.ZORGTRAJECT ztj JOIN DBC dbc ON ztj.ZORGTRAJECT_IDENTIFICATIENUMMER = dbc.ZORGTRAJECT_IDENTIFICATIENUMMER JOIN CL_DIAGNOSE ref_dia ON ztj.CL_DIAGNOSE_CODE = ref_dia.CL_DIAGNOSE_CODE WHERE ref_dia.CL_DIAGNOSE_AS = '1' ) OR dbc.DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT dia.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 dia JOIN CL_DIAGNOSE ref_dia ON dia.CL_DIAGNOSE_CODE = ref_dia.CL_DIAGNOSE_CODE WHERE ref_dia.CL_DIAGNOSE_AS = '2' UNION SELECT DISTINCT dbc.DBC_IDENTIFICATIENUMMER FROM dbo.ZORGTRAJECT ztj JOIN DBC dbc ON ztj.ZORGTRAJECT_IDENTIFICATIENUMMER = dbc.ZORGTRAJECT_IDENTIFICATIENUMMER JOIN CL_DIAGNOSE ref_dia ON ztj.CL_DIAGNOSE_CODE = ref_dia.CL_DIAGNOSE_CODE WHERE ref_dia.CL_DIAGNOSE_AS = '2' ) OR dbc.DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT dia.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 dia JOIN CL_DIAGNOSE ref_dia ON dia.CL_DIAGNOSE_CODE = ref_dia.CL_DIAGNOSE_CODE WHERE ref_dia.CL_DIAGNOSE_AS = '3' ) OR dbc.DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DISTINCT dia.DBC_IDENTIFICATIENUMMER FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 dia JOIN CL_DIAGNOSE ref_dia ON dia.CL_DIAGNOSE_CODE = ref_dia.CL_DIAGNOSE_CODE WHERE ref_dia.CL_DIAGNOSE_AS = '4' ) OR ( dbc.DBC_IDENTIFICATIENUMMER NOT IN ( SELECT DBC_IDENTIFICATIENUMMER FROM ( SELECT dia.DBC_IDENTIFICATIENUMMER, LEFT(dia.CL_DIAGNOSE_CODE, 7) AS diagnosecode FROM dbo.OVERIGEDIAGNOSE_AS1_TM_AS5 dia JOIN CL_DIAGNOSE ref_dia ON dia.CL_DIAGNOSE_CODE = ref_dia.CL_DIAGNOSE_CODE WHERE ref_dia.CL_DIAGNOSE_AS = '5' GROUP BY dia.DBC_IDENTIFICATIENUMMER, LEFT(dia.CL_DIAGNOSE_CODE, 7) ) diagnoses GROUP BY DBC_IDENTIFICATIENUMMER HAVING COUNT(*) = 3 UNION SELECT DISTINCT dbc.DBC_IDENTIFICATIENUMMER FROM DBC dbc JOIN ZORGTRAJECT ztj ON dbc.ZORGTRAJECT_IDENTIFICATIENUMMER = ztj.ZORGTRAJECT_IDENTIFICATIENUMMER JOIN PATIENT pat ON ztj.PATIENT_IDENTIFICATIENUMMER = pat.PATIENT_IDENTIFICATIENUMMER WHERE DATEDIFF( dd, pat.PATIENT_GEBOORTEDATUM, dbc.DBC_BEGINDATUM ) < 1462 --1461 dagen is 4 jaar + 1 schrikkeldag ) ) )
© DBC-Onderhoud
Pagina 40 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6621 Als u bij een zorgtraject op As 1 of As 2 één van de volgende codes als primaire diagnose registreert: as1_18.02, as1_18.03, as2_18.02, as2_18.03, as2_17.01, as2_01.01.01, as2_01.01.02, as2_01.01.03, as2_01.01.04 en as2_01.01.05, dan wordt het zorgtraject afgekeurd en vallen bijbehorende DBC's uit. SELECT DISTINCT 'VAL6621' AS VALCODE , 'E' AS VALSTATUS , DBC.DBC_IDENTIFICATIENUMMER FROM ZORGTRAJECT ZT JOIN DBC ON ZT.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE ZT.CL_DIAGNOSE_CODE in ( SELECT CL.CL_DIAGNOSE_CODE FROM CL_DIAGNOSE CL WHERE CL_DIAGNOSE_CODE in ( 'as1_18.02','as1_18.03','as2_18.02' ,'as2_18.03','as2_17.01','as2_01.01.01' ,'as2_01.01.02','as2_01.01.03','as2_01.01.04' ,'as2_01.01.05' ) AND ZT.ZORGTRAJECT_BEGINDATUM BETWEEN CL_DIAGNOSE_BEGINDATUM AND CL_DIAGNOSE_EINDDATUM )
Val6624 Als bij een DBC verblijfsdagen zijn geregistreerd en het aantal dagen is niet meer dan 0, dan wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL6624' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM VERBLIJFSDAG D WHERE ISNULL(VERBLIJFSDAG_AANTAL_DAGEN,0) <= 0
© DBC-Onderhoud
Pagina 41 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6626 Als er bij een gesloten DBC een overige diagnose wordt geregistreerd met een registratiedatum na de sluitdatum van de DBC, dan valt de DBC uit. SELECT DISTINCT 'VAL6626' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN DBO.OVERIGEDIAGNOSE_AS1_TM_AS5 DIAG ON D.DBC_IDENTIFICATIENUMMER = DIAG.DBC_IDENTIFICATIENUMMER WHERE DBC_EINDDATUM IS NOT NULL AND DIAGNOSE_DATUM_DIAGNOSE > DBC_EINDDATUM
Val6627 Als u bij een zorgtraject een primaire diagnose registreert met een registratiedatum na de sluitdatum van de gesloten initiële DBC, dan wordt het zorgtraject afgekeurd en vallen bijbehorende DBC's uit. SELECT DISTINCT 'VAL6627' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D WHERE D.ZORGTRAJECT_IDENTIFICATIENUMMER IN ( SELECT ztj.ZORGTRAJECT_IDENTIFICATIENUMMER FROM ZORGTRAJECT ztj JOIN DBC ON ztj.ZORGTRAJECT_IDENTIFICATIENUMMER = dbc.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE dbc.CL_ZORGTYPE_CODE LIKE '1%' AND ztj.ZORGTRAJECT_PRIMAIREDIAGNOSE_DATUM > ISNULL(dbc.DBC_EINDDATUM, '99991231') )
Val6633 Als er bij een DBC tijdschrijfactiviteiten zijn geregistreerd waarbij het totale aantal minuten (directe tijd+indirecte tijd+reistijd) niet groter is dan 0 minuten, dan wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL6633' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM TIJDSCHRIJVEN D WHERE ISNULL(TIJDSCHRIJVEN_DIRECTE_MINUTEN,0)+ ISNULL(TIJDSCHRIJVEN_INDIRECTE_MINUTEN_ALG,0)+ ISNULL(TIJDSCHRIJVEN_INDIRECTE_MINUTEN_REIS,0)<= 0
© DBC-Onderhoud
Pagina 42 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6634 Als er bij een DBC activiteiten zijn geregistreerd uit de groepen Algemeen Indirecte tijd en/of Pre-intake en er is directe tijd geregistreerd op deze activiteiten, dan wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL6634' AS VALCODE , 'E' AS VALSTATUS , TS.DBC_IDENTIFICATIENUMMER FROM TIJDSCHRIJVEN TS INNER JOIN CL_ACTIVITEIT CLACT ON CLACT.CL_ACTIVITEIT_CODE = TS.CL_ACTIVITEIT_CODE AND (CLACT.CL_ACTIVITEIT_CODE = 'ACT_1' OR CLACT.CL_ACTIVITEIT_CODE LIKE 'ACT_7%' ) AND TS.TIJDSCHRIJVEN_ACTIVITEITENDATUM BETWEEN CLACT.CL_ACTIVITEIT_BEGINDATUM AND CLACT.CL_ACTIVITEIT_EINDDATUM WHERE TIJDSCHRIJVEN_DIRECTE_MINUTEN > 0 OR TIJDSCHRIJVEN_INDIRECTE_MINUTEN_REIS > 0
Val6636 Als bij een tijdschrijfactiviteit “CL_ACTIVITEIT_MAG_REISTIJD = 'N'” staat en er is wel reistijd geschreven, dan wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL6636' AS VALCODE , 'E' AS VALSTATUS , TS.DBC_IDENTIFICATIENUMMER FROM TIJDSCHRIJVEN TS INNER JOIN CL_ACTIVITEIT CLACT ON CLACT.CL_ACTIVITEIT_CODE = TS.CL_ACTIVITEIT_CODE AND CLACT.CL_ACTIVITEIT_MAG_REISTIJD='N' AND TS.TIJDSCHRIJVEN_ACTIVITEITENDATUM BETWEEN CLACT.CL_ACTIVITEIT_BEGINDATUM AND CLACT.CL_ACTIVITEIT_EINDDATUM WHERE TIJDSCHRIJVEN_INDIRECTE_MINUTEN_REIS > 0
Val6638 Als er op een zorgtraject een primaire diagnose is geregistreerd met het kenmerk “Trekken van” en de diagnose niet komt uit de groep Persoonlijkheidsstoornissen op As2, dan wordt het zorgtraject afgekeurd en vallen bijbehorende DBC's uit. SELECT DISTINCT 'VAL6638' AS VALCODE , 'E' AS VALSTATUS , DBC.DBC_IDENTIFICATIENUMMER FROM ZORGTRAJECT ZT JOIN DBC ON ZT.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CLD ON CLD.CL_DIAGNOSE_CODE = ZT.CL_DIAGNOSE_CODE AND CLD.CL_DIAGNOSE_CODE NOT LIKE 'AS2_16%' AND ZT.ZORGTRAJECT_BEGINDATUM BETWEEN CLD.CL_DIAGNOSE_BEGINDATUM AND CLD.CL_DIAGNOSE_EINDDATUM /* Puur voor ZTJ evt zonder DBCs */ WHERE ZORGTRAJECT_AS2_TREKKENVAN = 'J'
© DBC-Onderhoud
Pagina 43 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6639 Als het aantal initiële DBC’s binnen een zorgtraject ongelijk is aan een, dan wordt het zorgtraject afgekeurd en vallen bijbehorende DBC's uit. SELECT DISTINCT 'VAL6639' AS VALCODE , 'E' AS VALSTATUS , DBC.DBC_IDENTIFICATIENUMMER FROM ZORGTRAJECT ZT JOIN DBC ON ZT.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN ( SELECT ZORGTRAJECT_IDENTIFICATIENUMMER, COUNT(A.CL_ZORGTYPE_CODE) AS AANTALINI FROM DBC A INNER JOIN CL_ZORGTYPE CL ON CL.CL_ZORGTYPE_CODE = A.CL_ZORGTYPE_CODE AND CL.CL_ZORGTYPE_CODE LIKE '1%' AND A.DBC_BEGINDATUM BETWEEN CL.CL_ZORGTYPE_BEGINDATUM AND CL.CL_ZORGTYPE_EINDDATUM GROUP BY ZORGTRAJECT_IDENTIFICATIENUMMER ) AGGR ON AGGR.ZORGTRAJECT_IDENTIFICATIENUMMER=ZT.ZORGTRAJECT_IDENTIFICATIENUMMER AND AGGR.AANTALINI<>1
Val6640 Als er binnen een zorgtraject meerdere DBC’s geregistreerd zijn en de tijdsperiode tussen de open- en sluitdatum van een DBC overlapt met de open- en sluitdatum van een andere DBC in het zorgtraject, dan wordt het record afgekeurd en vallen bijbehorende zorgtrajecten uit. SELECT DISTINCT 'val6640' AS valcode , 'E' AS valstatus , DBC.DBC_IDENTIFICATIENUMMER FROM DBC DBC11 WHERE EXISTS ( SELECT * FROM DBC DBC2 WHERE DBC1.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC2.ZORGTRAJECT_IDENTIFICATIENUMMER AND DBC1.DBC_IDENTIFICATIENUMMER <> DBC2.DBC_IDENTIFICATIENUMMER AND ( DBC1.DBC_BEGINDATUM BETWEEN DBC2.DBC_BEGINDATUM AND dbc2.DBC_EINDDATUM OR DBC1.DBC_EINDDATUM BETWEEN DBC2.DBC_BEGINDATUM AND DBC2.DBC_EINDDATUM
© DBC-Onderhoud
Pagina 44 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6641 Als een zorgtraject geen primaire diagnose heeft op As1 of As2, dan wordt het zorgtraject afgekeurd en vallen bijbehorende DBC's uit. Uitzondering: bij sluitreden pre-intake/intake/diagnostiek/crisisinterventie van initiële DBC hoeft u de primaire diagnose niet in te vullen. SELECT DISTINCT 'VAL6641' AS VALCODE , 'E' AS VALSTATUS , DBC.DBC_IDENTIFICATIENUMMER FROM ZORGTRAJECT ZTJ JOIN DBC ON ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER = DBC.ZORGTRAJECT_IDENTIFICATIENUMMER LEFT OUTER JOIN DBC D ON D.ZORGTRAJECT_IDENTIFICATIENUMMER = ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER LEFT OUTER JOIN PATIENT PAT ON ZTJ.PATIENT_IDENTIFICATIENUMMER = PAT.PATIENT_IDENTIFICATIENUMMER LEFT OUTER JOIN CL_ZORGTYPE ZT ON ZT.CL_ZORGTYPE_CODE= D.CL_ZORGTYPE_CODE LEFT OUTER JOIN CL_REDENSLUITEN CRN ON CRN.CL_REDENSLUITEN_CODE = D.CL_REDENSLUITEN_CODE /* OM TE VERHINDEREN DAT NIET UIT DE LIJST WORDT GEKOZEN: */ LEFT OUTER JOIN CL_DIAGNOSE CLDIA ON ZTJ.CL_DIAGNOSE_CODE = CLDIA.CL_DIAGNOSE_CODE AND CLDIA.CL_DIAGNOSE_SELECTEERBAAR>0 AND ( CLDIA.CL_DIAGNOSE_CODE LIKE 'AS1%' OR CLDIA.CL_DIAGNOSE_CODE LIKE 'AS2%' ) AND D.DBC_BEGINDATUM BETWEEN CLDIA.CL_DIAGNOSE_BEGINDATUM AND CLDIA.CL_DIAGNOSE_EINDDATUM WHERE D.DBC_EINDDATUM IS NOT NULL AND ZTJ.CL_DIAGNOSE_CODE IS NULL AND NOT ((ZT.CL_ZORGTYPE_CODE > '100' AND ZT.CL_ZORGTYPE_CODE < '200') AND D.CL_REDENSLUITEN_CODE='5')
© DBC-Onderhoud
Pagina 45 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6642 Als een patiënt parallelle zorgtrajecten heeft met dezelfde primaire diagnose, dan wordt het zorgtraject afgekeurd en vallen bijbehorende DBC's uit. SELECT DISTINCT 'VAL6642' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM ZORGTRAJECT Z JOIN DBC D ON D.ZORGTRAJECT_IDENTIFICATIENUMMER = Z.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN PATIENT P ON P.PATIENT_IDENTIFICATIENUMMER=Z.PATIENT_IDENTIFICATIENUMMER WHERE Z.CL_DIAGNOSE_CODE IN ( SELECT ANDEREZ.CL_DIAGNOSE_CODE FROM ZORGTRAJECT ANDEREZ WHERE ANDEREZ.PATIENT_IDENTIFICATIENUMMER=Z.PATIENT_IDENTIFICATIENUMMER AND ANDEREZ.ZORGTRAJECT_IDENTIFICATIENUMMER <> Z.ZORGTRAJECT_IDENTIFICATIENUMMER AND ( ( ANDEREZ.ZORGTRAJECT_BEGINDATUM <= isnull(Z.ZORGTRAJECT_EINDDATUM,'99991231') AND ANDEREZ.ZORGTRAJECT_BEGINDATUM >= Z.ZORGTRAJECT_BEGINDATUM ) OR ( isnull(ANDEREZ.ZORGTRAJECT_EINDDATUM,'99991231') >= Z.ZORGTRAJECT_BEGINDATUM AND isnull(ANDEREZ.ZORGTRAJECT_EINDDATUM,'99991231') <= isnull(Z.ZORGTRAJECT_EINDDATUM,'99991231') ) ) )
Val6643 Als er in een zorgtraject meer dan één DBC openstaat, dan moeten de openstaande DBC’s uitvallen. SELECT DISTINCT 'VAL6643' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN ( SELECT ZORGTRAJECT_IDENTIFICATIENUMMER, COUNT (DBC_IDENTIFICATIENUMMER) AS AANTALOPENDBCS FROM DBC WHERE ISNULL(DBC_EINDDATUM,0) <= 0 GROUP BY ZORGTRAJECT_IDENTIFICATIENUMMER ) OPENINZTJ ON D.ZORGTRAJECT_IDENTIFICATIENUMMER = OPENINZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER WHERE OPENINZTJ.AANTALOPENDBCS>1
© DBC-Onderhoud
Pagina 46 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6644 Als er binnen een instelling meer dan drie zorgtrajecten openstaan van een patiënt, dan wordt het zorgtraject afgekeurd en vallen bijbehorende DBC's uit. SELECT DISTINCT 'VAL6644' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM ZORGTRAJECT Z JOIN DBC D ON D.ZORGTRAJECT_IDENTIFICATIENUMMER = Z.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN PATIENT P ON P.PATIENT_IDENTIFICATIENUMMER=Z.PATIENT_IDENTIFICATIENUMMER where (SELECT COUNT(DISTINCT ANDEREZ.ZORGTRAJECT_IDENTIFICATIENUMMER) as TOTAL_ANDERE_ZT FROM ZORGTRAJECT ANDEREZ WHERE ANDEREZ.PATIENT_IDENTIFICATIENUMMER=Z.PATIENT_IDENTIFICATIENUMMER AND ANDEREZ.ZORGTRAJECT_IDENTIFICATIENUMMER <> Z.ZORGTRAJECT_IDENTIFICATIENUMMER AND ((ANDEREZ.ZORGTRAJECT_BEGINDATUM <= ISNULL(Z.ZORGTRAJECT_EINDDATUM,'99991231') AND ANDEREZ.ZORGTRAJECT_BEGINDATUM >= Z.ZORGTRAJECT_BEGINDATUM) OR (ISNULL(ANDEREZ.ZORGTRAJECT_EINDDATUM,'99991231') >= Z.ZORGTRAJECT_BEGINDATUM AND ISNULL(ANDEREZ.ZORGTRAJECT_EINDDATUM,'99991231') <= ISNULL(Z.ZORGTRAJECT_EINDDATUM,'99991231')) ) ) >2
Val6645 Als de openingsdatum van de DBC met genoemde zorgtypes (201, 202, 203) niet aansluit op de sluitdatum van de vorige DBC, dan valt de DBC uit. SELECT DISTINCT 'VAL6645' AS VALCODE, 'E' AS VALSTATUS, dbc1.DBC_IDENTIFICATIENUMMER FROM DBC dbc1 WHERE CL_ZORGTYPE_CODE in ( '201', '202', '203' ) AND ( SELECT count(*) FROM DBC dbc2 WHERE dbc1.ZORGTRAJECT_IDENTIFICATIENUMMER = dbc2.ZORGTRAJECT_IDENTIFICATIENUMMER AND dbc1.DBC_IDENTIFICATIENUMMER <> dbc2.DBC_IDENTIFICATIENUMMER AND ( dbc1.DBC_BEGINDATUM - 1 = dbc2.DBC_EINDDATUM OR dbc1.DBC_BEGINDATUM = dbc2.DBC_EINDDATUM ) ) <> 1
© DBC-Onderhoud
Pagina 47 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6648 Als een DBC het initiële zorgtype Inbewaringstelling heeft en het instellingstype is zelfstandig gevestigde praktijk, dan valt de DBC uit. SELECT DISTINCT 'VAL6648' AS VALCODE , 'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE ='111' AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE (SELECT COUNT(I.CL_INSTELLING_CODE) FROM CL_INSTELLING I INNER JOIN CL_TYPE_INSTELLING CLIT ON CLIT.CL_TYPE_INSTELLING_CODE = I.CL_TYPE_INSTELLING_CODE AND Cast( Convert( VARCHAR(10), GetDate(), 112 ) AS INT ) BETWEEN CLIT.CL_TYPE_INSTELLING_BEGINDATUM AND CLIT.CL_TYPE_INSTELLING_EINDDATUM AND CLIT.CL_TYPE_INSTELLING_CODE = '10' ) > 0
Val6649 Als een DBC het initiële zorgtype “Rechtelijke Machtiging“ heeft en er zijn geen verblijfsdagen uit categorie 1 t/m 5 geregistreerd, dan valt de DBC uit. SELECT DISTINCT 'VAL6649' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN ( SELECT VBD.DBC_IDENTIFICATIENUMMER, COUNT(VERBLIJFSDAG_IDENTIFICATIENUMMER) AS VBDAANTALACT FROM VERBLIJFSDAG VBD INNER JOIN CL_ACTIVITEIT CLA ON CLA.CL_ACTIVITEIT_CODE= VBD.CL_ACTIVITEIT_CODE AND VBD.VERBLIJFSDAG_ACTIVITEITENDATUM BETWEEN CLA.CL_ACTIVITEIT_BEGINDATUM AND CLA.CL_ACTIVITEIT_EINDDATUM AND CLA.CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%' AND CLA.CL_ACTIVITEIT_CODE NOT LIKE 'ACT[_]8.%.6' GROUP BY VBD.DBC_IDENTIFICATIENUMMER ) AGGR ON AGGR.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE = '110' AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE ISNULL(AGGR.VBDAANTALACT,0) = 0
© DBC-Onderhoud
Pagina 48 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6650 Als een DBC het initiële of vervolg-zorgtype “Rechtelijke Machtiging of Rechtelijke Machtiging” met voorwaarden heeft en er is geen activiteit geregistreerd door een beroep uit het beroepencluster Medische beroepen, dan valt de DBC uit. SELECT DISTINCT 'VAL6650' AS VALCODE , 'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE IN ('110','206','116','211') AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM LEFT OUTER JOIN ( SELECT T.DBC_IDENTIFICATIENUMMER, COUNT(TIJDSCHRIJVEN_IDENTIFICATIENUMMER) AS TSAANTALACT FROM TIJDSCHRIJVEN T INNER JOIN DBC A ON A.DBC_IDENTIFICATIENUMMER = T.DBC_IDENTIFICATIENUMMER INNER JOIN BEHANDELAAR P ON P.BEHANDELAAR_IDENTIFICATIENUMMER = T.BEHANDELAAR_IDENTIFICATIENUMMER INNER JOIN CL_BEROEP CLB ON CLB.CL_BEROEP_CODE = P.CL_BEROEP_CODE AND A.DBC_BEGINDATUM BETWEEN CLB.CL_BEROEP_BEGINDATUM AND CL_BEROEP_EINDDATUM AND CLB.CL_BEROEP_CODE LIKE 'MB.%' GROUP BY T.DBC_IDENTIFICATIENUMMER ) AGGR ON AGGR.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER WHERE ISNULL(AGGR.TSAANTALACT,0) = 0
Val6657 Als een DBC het initiële zorgtype Acute opname heeft en het aantal verblijfsdagen uit categorie 1 t/m 5 is kleiner dan 1 of groter dan 27.
SELECT DISTINCT 'VAL6657' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE = '103' AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM LEFT OUTER JOIN ( SELECT DBC_IDENTIFICATIENUMMER, SUM(VERBLIJFSDAG_AANTAL_DAGEN) AS AANTALVBD FROM VERBLIJFSDAG VBD INNER JOIN CL_ACTIVITEIT CLA ON CLA.CL_ACTIVITEIT_CODE = VBD.CL_ACTIVITEIT_CODE AND VBD.VERBLIJFSDAG_ACTIVITEITENDATUM BETWEEN CLA.CL_ACTIVITEIT_BEGINDATUM AND CLA.CL_ACTIVITEIT_EINDDATUM AND CLA.CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%' AND CLA.CL_ACTIVITEIT_CODE NOT LIKE 'ACT[_]8.%.6' GROUP BY DBC_IDENTIFICATIENUMMER ) AGGR ON D.DBC_IDENTIFICATIENUMMER = AGGR.DBC_IDENTIFICATIENUMMER WHERE ISNULL(AGGR.AANTALVBD,0) < 1 OR AGGR.AANTALVBD > 27
© DBC-Onderhoud
Pagina 49 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6660 Als een DBC het zorgtype “Second opinion” heeft en er zijn tijdschrijfactiviteiten vastgelegd waarbij het totale aantal minuten directe tijd groter is dan 250 minuten, dan valt de DBC uit. SELECT DISTINCT 'VAL6660' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE = '106' AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM INNER JOIN ( SELECT DBC_IDENTIFICATIENUMMER, SUM(TIJDSCHRIJVEN_DIRECTE_MINUTEN) AS AANTALDIRMIN FROM TIJDSCHRIJVEN GROUP BY DBC_IDENTIFICATIENUMMER ) AGGR ON D.DBC_IDENTIFICATIENUMMER = AGGR.DBC_IDENTIFICATIENUMMER WHERE AGGR.AANTALDIRMIN>250
Val6661 Als een DBC het initiële of vervolg-zorgtype “Rechtelijke Machtiging met voorwaarden” heeft en er zijn verblijfsdagen uit categorie 1 t/m 5 geregistreerd, dan valt de DBC uit.
SELECT DISTINCT 'VAL6661' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN ( SELECT VBD.DBC_IDENTIFICATIENUMMER, COUNT(VERBLIJFSDAG_IDENTIFICATIENUMMER) AS VBDAANTALACT FROM VERBLIJFSDAG VBD INNER JOIN CL_ACTIVITEIT CLA ON CLA.CL_ACTIVITEIT_CODE = VBD.CL_ACTIVITEIT_CODE AND VBD.VERBLIJFSDAG_ACTIVITEITENDATUM BETWEEN CLA.CL_ACTIVITEIT_BEGINDATUM AND CLA.CL_ACTIVITEIT_EINDDATUM AND CLA.CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%' AND CLA.CL_ACTIVITEIT_CODE NOT LIKE 'ACT[_]8.%.6' GROUP BY VBD.DBC_IDENTIFICATIENUMMER ) AGGR ON AGGR.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND (CLZ.CL_ZORGTYPE_CODE = '116' OR CLZ.CL_ZORGTYPE_CODE = '211') AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE ISNULL(AGGR.VBDAANTALACT,0) > 0
© DBC-Onderhoud
Pagina 50 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6662 Als een DBC het initiële of vervolg-zorgtype “Jeugdstrafrecht” heeft en de patiënt is op het moment dat u de DBC opent 24 jaar of ouder, dan valt de DBC uit. SELECT DISTINCT 'VAL6662' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN ZORGTRAJECT Z ON Z.ZORGTRAJECT_IDENTIFICATIENUMMER = D.ZORGTRAJECT_IDENTIFICATIENUMMER LEFT OUTER JOIN PATIENT P ON P.PATIENT_IDENTIFICATIENUMMER = Z.PATIENT_IDENTIFICATIENUMMER INNER JOIN CL_ZORGTYPE CLZ ON CLZ.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND CLZ.CL_ZORGTYPE_CODE IN ('117','212') AND D.DBC_BEGINDATUM BETWEEN CLZ.CL_ZORGTYPE_BEGINDATUM AND CLZ.CL_ZORGTYPE_EINDDATUM WHERE /* OOK FOUT LATEN GAAN WANNEER LEEFTIJD NIET WORDT GEGEVEN */ DATEADD(YEAR, 24, ISNULL(PATIENT_GEBOORTEDATUM, GETDATE())) + CASE WHEN MONTH(ISNULL(PATIENT_GEBOORTEDATUM, GETDATE())) = 2 AND DAY(ISNULL(PATIENT_GEBOORTEDATUM, GETDATE())) = 29 THEN 1 ELSE 0 END >= DBC_BEGINDATUM
© DBC-Onderhoud
Pagina 51 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6673 Als op een DBC meerdere begin-, hoogste of eindscores op As 5 staan geregistreerd, dan valt bijbehorende DBC uit.
with dubbele_as5_cte (VALCODE,DBC_IDENTIFICATIENUMMER) as ( SELECT 'VAL6673' AS VALCODE , D.DBC_IDENTIFICATIENUMMER FROM DBO.OVERIGEDIAGNOSE_AS1_TM_AS5 DIA inner JOIN DBC D ON D.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER inner JOIN CL_DIAGNOSE CDE ON CDE.CL_DIAGNOSE_CODE = DIA.CL_DIAGNOSE_CODE AND D.DBC_BEGINDATUM BETWEEN CL_DIAGNOSE_BEGINDATUM AND CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE LIKE 'AS5_01%' GROUP BY D.DBC_IDENTIFICATIENUMMER --,CL_DIAGNOSE_CODE HAVING COUNT(*) > 1 UNION ALL SELECT DISTINCT 'VAL6673' AS VALCODE , D.DBC_IDENTIFICATIENUMMER FROM DBO.OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D ON D.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON CDE.CL_DIAGNOSE_CODE = DIA.CL_DIAGNOSE_CODE AND D.DBC_BEGINDATUM BETWEEN CL_DIAGNOSE_BEGINDATUM AND CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE LIKE 'AS5_02%' GROUP BY D.DBC_IDENTIFICATIENUMMER --,CL_DIAGNOSE_CODE HAVING COUNT(*) > 1 UNION ALL SELECT DISTINCT 'VAL6673' AS VALCODE , D.DBC_IDENTIFICATIENUMMER FROM DBO.OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D ON D.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON CDE.CL_DIAGNOSE_CODE = DIA.CL_DIAGNOSE_CODE AND D.DBC_BEGINDATUM BETWEEN CL_DIAGNOSE_BEGINDATUM AND CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE LIKE 'AS5_03%' GROUP BY D.DBC_IDENTIFICATIENUMMER --,CL_DIAGNOSE_CODE HAVING COUNT(*) > 1 ) SELECT DISTINCT VALCODE , 'E' AS VALSTATUS , DBC_IDENTIFICATIENUMMER FROM dubbele_as5_cte
© DBC-Onderhoud
Pagina 52 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6675 Als u op een DBC op As 1, As 2, As 3 of As 4 van de DSMIV kiest voor de diagnosecode “Geen diagnose” en er zijn op de betreffende as andere diagnoses geregistreerd, dan valt bijbehorende DBC uit.
© DBC-Onderhoud
Pagina 53 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
SELECT DISTINCT 'VAL6675' AS VALCODE , 'E' AS VALSTATUS ,D.DBC_IDENTIFICATIENUMMER FROM DBC D LEFT OUTER JOIN (SELECT DBC_IDENTIFICATIENUMMER, COUNT(DBC_IDENTIFICATIENUMMER) AS TELPD1GEEN FROM DBC D2 INNER JOIN ZORGTRAJECT ZTJ ON D2.ZORGTRAJECT_IDENTIFICATIENUMMER = ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON ZTJ.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE IN ('AS1_18','AS1_18.02','AS1_18.03') GROUP BY DBC_IDENTIFICATIENUMMER ) AGGRPD1GEEN ON D.DBC_IDENTIFICATIENUMMER = AGGRPD1GEEN.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT DBC_IDENTIFICATIENUMMER, COUNT(DBC_IDENTIFICATIENUMMER) AS TELPD1WEL FROM DBC D2 INNER JOIN ZORGTRAJECT ZTJ ON D2.ZORGTRAJECT_IDENTIFICATIENUMMER = ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON ZTJ.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE LIKE 'AS1%' AND CDE.CL_DIAGNOSE_CODE NOT IN ('AS1_18','AS1_18.02','AS1_18.03') GROUP BY DBC_IDENTIFICATIENUMMER ) AGGRPD1WEL ON D.DBC_IDENTIFICATIENUMMER = AGGRPD1WEL.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT D2.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(DBC_IDENTIFICATIENUMMER),0) AS TELPD2GEEN FROM DBC D2 INNER JOIN ZORGTRAJECT ZTJ ON D2.ZORGTRAJECT_IDENTIFICATIENUMMER = ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON ZTJ.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE IN ('AS2_18','AS2_18.02','AS2_18.03') GROUP BY D2.DBC_IDENTIFICATIENUMMER ) AGGRPD2GEEN ON D.DBC_IDENTIFICATIENUMMER = AGGRPD2GEEN.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT D2.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(DBC_IDENTIFICATIENUMMER),0) AS TELPD2WEL FROM DBC D2 INNER JOIN ZORGTRAJECT ZTJ ON D2.ZORGTRAJECT_IDENTIFICATIENUMMER = ZTJ.ZORGTRAJECT_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON ZTJ.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE LIKE 'AS2%' AND CDE.CL_DIAGNOSE_CODE NOT IN ('AS2_18','AS2_18.02','AS2_18.03') GROUP BY D2.DBC_IDENTIFICATIENUMMER ) AGGRPD2WEL ON D.DBC_IDENTIFICATIENUMMER = AGGRPD2WEL.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV1GEEN FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE IN ('AS1_18','AS1_18.02','AS1_18.03') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV1GEEN ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV1GEEN.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV1WEL FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE DIA.CL_DIAGNOSE_CODE LIKE 'AS1%' AND DIA.CL_DIAGNOSE_CODE NOT IN ('AS1_18','AS1_18.02','AS1_18.03') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV1WEL ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV1WEL.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV2GEEN FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE DIA.CL_DIAGNOSE_CODE IN ('AS2_18','AS2_18.02','AS2_18.03') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV2GEEN ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV2GEEN.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN(SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV2WEL FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE DIA.CL_DIAGNOSE_CODE LIKE 'AS2%' AND DIA.CL_DIAGNOSE_CODE NOT IN ('AS2_18','AS2_18.02','AS2_18.03') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV2WEL ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV2WEL.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV3GEEN FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE DIA.CL_DIAGNOSE_CODE = ('AS3_200') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV3GEEN ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV3GEEN.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV3WEL FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE DIA.CL_DIAGNOSE_CODE LIKE 'AS3%' AND DIA.CL_DIAGNOSE_CODE NOT IN ('AS3_200') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV3WEL ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV3WEL.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN(SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV4GEEN FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE DIA.CL_DIAGNOSE_CODE = ('AS4_110') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV4GEEN ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV4GEEN.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN (SELECT DIA.DBC_IDENTIFICATIENUMMER, ISNULL(COUNT(CDE.CL_DIAGNOSE_CODE),0) AS TELNEV4WEL FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D2 ON D2.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D2.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE DIA.CL_DIAGNOSE_CODE LIKE 'AS4%' AND DIA.CL_DIAGNOSE_CODE NOT IN ('AS4_110') GROUP BY DIA.DBC_IDENTIFICATIENUMMER ) AGGRNEV4WEL ON D.DBC_IDENTIFICATIENUMMER = AGGRNEV4WEL.DBC_IDENTIFICATIENUMMER /* GEZIEN DE REGEL ALLEEN CONTROLEREN ALS EEN DBC GESLOTEN IS */ --WHERE D.DBC_EINDDATUM > 0 WHERE ( ((ISNULL(TELNEV1GEEN,0) + ISNULL(TELPD1GEEN,0))>0 AND (ISNULL(TELNEV1WEL,0) + ISNULL(TELPD1WEL,0))>0) OR ((ISNULL(TELNEV2GEEN,0) + ISNULL(TELPD2GEEN,0))>0 AND (ISNULL(TELNEV2WEL,0) + ISNULL(TELPD2WEL,0))>0) OR (ISNULL(TELNEV3GEEN,0)>0 AND ISNULL(TELNEV3WEL,0)>0) OR (ISNULL(TELNEV4GEEN,0)>0 AND ISNULL(TELNEV4WEL,0)>0) )
© DBC-Onderhoud
Pagina 54 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6676 Als op een DBC diagnoses zijn geregistreerd met het kenmerk “Trekken van” en de diagnose komt niet uit de groep Persoonlijkheidsstoornissen op As2, dan wordt het record afgekeurd en valt bijbehorende DBC uit. SELECT DISTINCT 'VAL6676' AS VALCODE , 'E' AS VALSTATUS , DIA.DBC_IDENTIFICATIENUMMER , DIA.CL_DIAGNOSE_CODE FROM OVERIGEDIAGNOSE_AS1_TM_AS5 DIA INNER JOIN DBC D ON D.DBC_IDENTIFICATIENUMMER = DIA.DBC_IDENTIFICATIENUMMER INNER JOIN CL_DIAGNOSE CDE ON DIA.CL_DIAGNOSE_CODE = CDE.CL_DIAGNOSE_CODE AND D.DBC_BEGINDATUM BETWEEN CDE.CL_DIAGNOSE_BEGINDATUM AND CDE.CL_DIAGNOSE_EINDDATUM WHERE CDE.CL_DIAGNOSE_CODE NOT LIKE 'AS2_16%' AND DIA.DIAGNOSE_AS2_TREKKENVAN='J'
© DBC-Onderhoud
Pagina 55 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
VAL6677 Een DBC bevat geen activiteiten waarop alleen reistijd is geregistreerd, tenzij het gaat om No show (act(7.2).
SELECT DISTINCT 'VAL6677' AS valcode , 'E' AS valstatus , tyd_per_dbc.dbc_identificatienummer FROM ( SELECT tyd.dbc_identificatienummer, SUM(tyd.tijdschrijven_directe_minuten) AS tijdschrijven_directe_minuten, SUM(tyd.tijdschrijven_indirecte_minuten_alg) AS tijdschrijven_indirecte_minuten_alg, SUM(tyd.tijdschrijven_indirecte_minuten_reis) AS tijdschrijven_indirecte_minuten_reis FROM dbo.dbc AS tra JOIN dbo.tijdschrijven AS tyd ON tra.dbc_identificatienummer = tyd.dbc_identificatienummer LEFT JOIN ( SELECT DISTINCT cl_act.cl_activiteit_code FROM dbo.cl_activiteit AS cl_act WHERE cl_act.cl_activiteit_mag_direct = 'N' AND cl_act.cl_activiteit_mag_groep = 'N' AND cl_act.cl_activiteit_mag_reistijd = 'J' ) uitsluiten ON tyd.cl_activiteit_code = uitsluiten.cl_activiteit_code WHERE uitsluiten.cl_activiteit_code IS NULL GROUP BY tyd.dbc_identificatienummer ) tyd_per_dbc WHERE tyd_per_dbc.tijdschrijven_directe_minuten = 0 AND tyd_per_dbc.tijdschrijven_indirecte_minuten_alg = 0 AND tyd_per_dbc.tijdschrijven_indirecte_minuten_reis > 0
© DBC-Onderhoud
Pagina 56 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6679 Als bij een DBC het aantal dagen verblijf de loopduur van een DBC overschrijdt, dan valt de DBC uit. SELECT DISTINCT 'VAL6679' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN (SELECT DBC_IDENTIFICATIENUMMER, SUM(ISNULL(VERBLIJFSDAG_AANTAL_DAGEN,0)) AS SOMVBDDAGEN FROM VERBLIJFSDAG GROUP BY DBC_IDENTIFICATIENUMMER) AGGRVBD ON D.DBC_IDENTIFICATIENUMMER = AGGRVBD.DBC_IDENTIFICATIENUMMER -- doordat er 2 datums worden geconverteerd naar 12.00 uur dient men er altijd 24 h bij op te tellen -- Immers 20051114 - 20051114 = 0 en kan 24 uur zijn!! WHERE DATEDIFF(DAY, DBC_BEGINDATUM, DATEADD(DAY,1,DBC_EINDDATUM)) < SOMVBDDAGEN and SOMVBDDAGEN <> 0
Val6680 Als bij een DBC met afsluiden pré-intake, intake/diagnostiek/ crisisopvang activiteiten zijn geschreven anders dan pré intake, intake/diagnostiek, crisisopvang, verblijf en/of algemeen indirecte tijd, dan valt de DBC uit. WITH CANDIDATE_DBC (DBC_IDENTIFICATIENUMMER,HAS_BAD_VERRICHTING,HAS_BAD_DAGBESTEDING,HAS_BAD_TIJDSCHRIJVEN) AS (SELECT DISTINCT D.DBC_IDENTIFICATIENUMMER ,HAS_BAD_VERRICHTING=(SELECT TOP 1 1 FROM VERRICHTING V WHERE V.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER) ,HAS_BAD_DAGBESTEDING=(SELECT TOP 1 1 FROM DAGBESTEDING DAG WHERE DAG.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER) ,HAS_BAD_TIJDSCHRIJVEN=(SELECT TOP 1 1 FROM TIJDSCHRIJVEN T WHERE T.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER AND (T.CL_ACTIVITEIT_CODE NOT LIKE 'act_1' /* geen 1% ivm act_10 */ AND T.CL_ACTIVITEIT_CODE NOT LIKE 'act_2%' AND T.CL_ACTIVITEIT_CODE NOT LIKE 'act_6%' AND T.CL_ACTIVITEIT_CODE NOT LIKE 'act_7%') ) FROM DBC D WHERE CL_REDENSLUITEN_CODE = 5 ) SELECT DISTINCT 'VAL6680' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM CANDIDATE_DBC D WHERE HAS_BAD_VERRICHTING=1 OR HAS_BAD_DAGBESTEDING=1 OR HAS_BAD_TIJDSCHRIJVEN=1
© DBC-Onderhoud
Pagina 57 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6682 Als een DBC met zorgtype ‘eenmalig spoedeisend consult/crisisinterventie’ of acute opname een doorlooptijd van meer dan 28 dagen heeft valt de DBC uit. SELECT DISTINCT 'VAL6682' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN CL_ZORGTYPE CZE ON CZE.CL_ZORGTYPE_CODE = D.CL_ZORGTYPE_CODE AND DBC_BEGINDATUM BETWEEN CL_ZORGTYPE_BEGINDATUM AND CL_ZORGTYPE_EINDDATUM WHERE CZE.CL_ZORGTYPE_CODE in ('102',103) AND DATEDIFF(DAY, DBC_BEGINDATUM, DBC_EINDDATUM) > 28
Val6685 Als bij een DBC alleen ondersteunende begeleiding (alle codes onder act_4.2) is geregistreerd of als deze in combinatie voorkomt met pré-intake (act_1) en/of diagnostiek (act_2) en/of Algemeen indirecte tijd (act_7*) en/of Dagbesteding (act_9*), dan valt de DBC uit. WITH CANDIDATE_DBC (DBC_IDENTIFICATIENUMMER,HAS_OTHER_VERRICHTING,HAS_OTHER_DAGBESTEDING,HAS_OTHER_TIJDSCHRIJVEN,HAS_OTH ER_VERBLIJFSDAG) AS (SELECT DISTINCT D.DBC_IDENTIFICATIENUMMER ,HAS_OTHER_VERRICHTING=(SELECT TOP 1 1 FROM VERRICHTING V WHERE V.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER) ,HAS_OTHER_DAGBESTEDING=(SELECT TOP 1 1 FROM DAGBESTEDING DAG WHERE DAG.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_9%' ) ,HAS_OTHER_TIJDSCHRIJVEN=(SELECT TOP 1 1 FROM TIJDSCHRIJVEN T WHERE T.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_4.2%' AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_1' /* geen 1% ivm act_10 */ AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_2%' AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_7%' ) ,HAS_OTHER_VERBLIJFSDAG=(SELECT TOP 1 1 FROM VERBLIJFSDAG V WHERE V.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%.6' ) FROM DBC D INNER JOIN DBO.TIJDSCHRIJVEN T ON T.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER AND T.CL_ACTIVITEIT_CODE LIKE 'ACT_4.2%' ) SELECT DISTINCT 'VAL6685' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM CANDIDATE_DBC D WHERE HAS_OTHER_VERRICHTING IS NULL AND HAS_OTHER_DAGBESTEDING IS NULL AND HAS_OTHER_TIJDSCHRIJVEN IS NULL AND HAS_OTHER_VERBLIJFSDAG IS NULL
© DBC-Onderhoud
Pagina 58 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6686 Als er bij een DBC alleen activiteit Dagbesteding (alle codes onder act_9) is geregistreerd of als deze in combinatie voorkomt met pré-intake (act_1) en/of diagnostiek (act_2) en/of Algemeen indirecte tijd (act_7*) en/of Ondersteunende begeleidingscontacten (act_4.2*), dan valt de DBC uit. WITH CANDIDATE_DBC ( DBC_IDENTIFICATIENUMMER, HAS_OTHER_VERRICHTING, HAS_OTHER_TIJDSCHRIJVEN, HAS_OTHER_VERBLIJFSDAG ) AS ( SELECT DISTINCT D.DBC_IDENTIFICATIENUMMER ,HAS_OTHER_VERRICHTING= ( SELECT TOP 1 1 FROM VERRICHTING V WHERE V.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER ) ,HAS_OTHER_TIJDSCHRIJVEN= ( SELECT TOP 1 1 FROM TIJDSCHRIJVEN T WHERE T.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_4.2%' AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_1' /* geen 1% ivm act_10 */ AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_2%' AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT_7%' ) ,HAS_OTHER_VERBLIJFSDAG=( SELECT TOP 1 1 FROM VERBLIJFSDAG V WHERE V.DBC_IDENTIFICATIENUMMER=D.DBC_IDENTIFICATIENUMMER AND NOT CL_ACTIVITEIT_CODE LIKE 'ACT[_]8.%.6' ) FROM DBC D INNER JOIN DBO.DAGBESTEDING DAG ON DAG.DBC_IDENTIFICATIENUMMER = D.DBC_IDENTIFICATIENUMMER AND DAG.CL_ACTIVITEIT_CODE LIKE 'ACT_9%' ) SELECT DISTINCT 'VAL6686' AS VALCODE ,'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM CANDIDATE_DBC D WHERE HAS_OTHER_VERRICHTING IS NULL AND HAS_OTHER_TIJDSCHRIJVEN IS NULL AND HAS_OTHER_VERBLIJFSDAG IS NULL
© DBC-Onderhoud
Pagina 59 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
Val6693 Als er bij de verrichting “ambulante methadon” (act_10.2) geen tijd is geregistreerd op activiteit farmacotherapie (act_3.2), dan valt de DBC uit. SELECT DISTINCT 'VAL6693' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D INNER JOIN VERRICHTING VER ON D.DBC_IDENTIFICATIENUMMER = VER.DBC_IDENTIFICATIENUMMER INNER JOIN CL_ACTIVITEIT CLA ON CLA.CL_ACTIVITEIT_CODE= VER.CL_ACTIVITEIT_CODE AND VER.VERRICHTING_ACTIVITEITENDATUM BETWEEN CLA.CL_ACTIVITEIT_BEGINDATUM AND CLA.CL_ACTIVITEIT_EINDDATUM AND CLA.CL_ACTIVITEIT_CODE = 'ACT_10.2' LEFT OUTER JOIN TIJDSCHRIJVEN TIJD ON D.DBC_IDENTIFICATIENUMMER = TIJD.DBC_IDENTIFICATIENUMMER LEFT OUTER JOIN CL_ACTIVITEIT CLAT ON CLAT.CL_ACTIVITEIT_CODE= TIJD.CL_ACTIVITEIT_CODE AND TIJD.TIJDSCHRIJVEN_ACTIVITEITENDATUM BETWEEN CLAT.CL_ACTIVITEIT_BEGINDATUM AND CLAT.CL_ACTIVITEIT_EINDDATUM AND CLAT.CL_ACTIVITEIT_CODE = 'ACT_3.2' WHERE TIJD.CL_ACTIVITEIT_CODE IS NULL
Val6694 Als er bij een gesloten DBC geen hoofdbehandelaar is geregistreerd, dan valt de DBC uit. SELECT DISTINCT 'VAL6694' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC AS D WHERE D.DBC_EINDDATUM IS NOT NULL AND D.BEHANDELAAR_IDENTIFICATIENUMMER IS NULL
© DBC-Onderhoud
Pagina 60 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
VAL6695 Een vervolg DBC geopend binnen 365 dagen na openingsdatum van de voorgaande DBC mag niet alleen indirecte tijd bevatten. SELECT DISTINCT 'VAL6695' AS VALCODE 'E' AS VALSTATUS, tra2.dbc_identificatienummer FROM dbo.dbc AS tra1, ( SELECT tra.zorgtraject_identificatienummer, tra.dbc_identificatienummer, tra.dbc_begindatum FROM dbo.dbc AS tra JOIN ( SELECT tyd.dbc_identificatienummer, SUM ( tyd.tijdschrijven_directe_minuten ) AS directe_minuten, SUM ( tyd.tijdschrijven_indirecte_minuten_alg + tyd.tijdschrijven_indirecte_minuten_reis ) AS indirecte_minuten FROM dbo.tijdschrijven AS tyd GROUP BY tyd.dbc_identificatienummer ) AS minuten ON tra.dbc_identificatienummer = minuten.dbc_identificatienummer WHERE tra.cl_zorgtype_code LIKE '2%' ) tra2 WHERE tra1.zorgtraject_identificatienummer = tra2.zorgtraject_identificatienummer AND tra1.dbc_identificatienummer <> tra2.dbc_identificatienummer AND DATEDIFF(DAY, tra1.dbc_begindatum, tra2.dbc_begindatum) BETWEEN 0 AND 364 from tijdschrijven group by dbc_identificatienummer ) tijd on tijd.dbc_identificatienummer = dbc2.dbc_identificatienummer and tijd.tijdschrijven_indirecte_minuten > 0 And tijd.tijdschrijven_directe_minuten = 0
© DBC-Onderhoud
Pagina 61 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
VAL6696 Een initiele DBC, onafhankelijk van het zorgtraject, geopend binnen 365 dagen na openingsdatum van de voorgaande DBC, behorende bij deze patient, mag niet alleen indirecte tijd bevatten. SELECT distinct 'VAL6696' AS VALCODE , 'E' AS VALSTATUS , DBC2.dbc_identificatienummer from ( select ztj.patient_identificatienummer , ztj.zorgtraject_identificatienummer , dbc.dbc_identificatienummer , dbc.dbc_begindatum , dbc.cl_zorgtype_code from zorgtraject ztj join dbc on ztj.zorgtraject_identificatienummer = dbc.zorgtraject_identificatienummer and dbc.cl_zorgtype_code like '1%' ) dbc1 , ( select ztj1.patient_identificatienummer , ztj1.zorgtraject_identificatienummer , dbc.dbc_identificatienummer , dbc.dbc_begindatum , dbc.cl_zorgtype_code from zorgtraject ztj1 join dbc on ztj1.zorgtraject_identificatienummer = dbc.zorgtraject_identificatienummer and dbc.cl_zorgtype_code like '%1%' join ( select dbc_identificatienummer , sum(tijdschrijven_directe_minuten) as tijdschrijven_directe_minuten , sum ( tijdschrijven_indirecte_minuten_reis + tijdschrijven_indirecte_minuten_alg ) as tijdschrijven_indirecte_minuten FROM tijdschrijven GROUP BY dbc_identificatienummer ) tijd on tijd.dbc_identificatienummer = dbc.dbc_identificatienummer where dbc.cl_zorgtype_code like '1%' and tijdschrijven_indirecte_minuten > 0 and tijdschrijven_directe_minuten = 0 ) dbc2 where datediff(day,dbc1.dbc_begindatum,dbc2.dbc_begindatum) between 0 and 364 and dbc1.dbc_begindatum <> dbc2.dbc_begindatum and dbc1.patient_identificatienummer = dbc2.patient_identificatienummer
© DBC-Onderhoud
Pagina 62 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
VAL6697 Als een DBC het initiële zorgtype ‘Second opinion’ heeft en er zijn geen diagnostische activiteiten ( act_2% ) geregistreerd valt de DBC uit. SELECT DISTINCT 'VAL6697' AS VALCODE , 'E' AS VALSTATUS , D.DBC_IDENTIFICATIENUMMER FROM DBC D left JOIN ( select count(ts.cl_activiteit_code) AS AANTAL , ts.dbc_identificatienummer from TIJDSCHRIJVEN TS WHERE ts.cl_activiteit_code like 'act_2%' group by ts.dbc_identificatienummer ) ts1 on D.DBC_IDENTIFICATIENUMMER = ts1.dbc_identificatienummer where d.cl_zorgtype_code = 106 and isnull(AANTAL,0) = 0
© DBC-Onderhoud
Pagina 63 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5 TABELSPECIFICATIES Hieronder staan de tabelspecificaties die corresponderen met de gebruikte verwijzingen in de SQL-codes.
5.1 Behandelaar omschrijving
default_waarde
verplicht
sleutel
datatype
kolom
Tabelnaam BEHANDELAAR
BEHANDELAAR_IDENTIFICATIENUMMER
int
J
Unieke idenitifcatie van de werknemer. Moet numeriek zijn.
BEHANDELAAR
CL_BEROEP_CODE
varchar(20)
N
Cono van de werknemer. Koppeling met CL_BEROEP.
© DBC-Onderhoud
Pagina 64 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.2 Dagbesteding omschrijving
default_waarde
verplicht
sleutel
kolom DAGBESTEDING_IDENTIFICATIENUMMER
int
J
De unieke identifier voor de dagbestedings.
DAGBESTEDING
DBC_IDENTIFICATIENUMMER
int
J
DAGBESTEDING
CL_ACTIVITEIT_CODE
varchar(20)
J
De unieke identifier voor de DBC record die behoort bij het dagbestedings record. De activiteitcode die hoort bij het dagbestedings record. Zorgt voor de koppeling met de codelijst CL_ACTIVITEIT.
DAGBESTEDING
DAGBESTEDING_ACTIVITEITENDATUM
datetime
J
Datum dat de dagbesteding plaatsvond.
DAGBESTEDING
DAGBESTEDING_AANTAL_UUR
int
J
Totaal aantal uur dat deze dagbesteding plaatsvond
© DBC-Onderhoud
datatype
Tabelnaam DAGBESTEDING
Pagina 65 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.3 DBC
DBC_IDENTIFICATIENUMMER
int
J
DBC
ZORGTRAJECT_IDENTIFICATIENUMMER
int
J
DBC
DBC_BEGINDATUM
datetime
J
DBC
DBC_EINDDATUM
datetime
J
DBC
CL_ZORGTYPE_CODE
varchar(20)
J
DBC
CL_DIAGNOSE_CODE
varchar(20)
J
DBC
DBC_PRIMAIREDIAGNOSE_DATUM
datetime
J
DBC
CL_CIRCUIT_CODE
varchar(20)
J
DBC
CL_REDENSLUITEN_CODE
varchar(20)
J
DBC
BEHANDELAAR_IDENTIFICATIENUMMER
int
J
DBC
CL_PRODUCTGROEP_CODE
varchar(20)
J
DBC
CM_PRODUCTGROEPCODE_AFGELEID
varchar(6)
J
('-')
DBC
CM_PRODUCTGROEPCODE_AFGELEID_SYSID
int
J
((0))
© DBC-Onderhoud
omschrijving
default_waarde
verplicht
sleutel
datatype
kolom
tabelnaam DBC
Unieke identifier per DBC-record Unieke identifier voor het zorgtraject record waar deze DBC-record bij hoort Openingsdatum van de DBC Sluitingsdatum van de DBC Zorgtype code die hoort bij dit DBC-record. Koppeling met CL_ZORGTYPE Primaire diagnose-code die behoort bij het DBCrecord. Dit zorgt voor de koppeling met CL_DIAGNOSE, geeft de hoofddiagnose van de DBC weer. Datum van het registreren van de primaire diagnose behorende bij dit DBCrecord Circuitcode die behoort bij dit DBC-record. Koppeling met CL_CIRCUIT Geeft de Reden sluiten code van dit DBC record. Koppeling met CL_REDENSLUITEN. Dit is de hoofd verantwoordelijke voor de DBC. Geeft de Productgroepcode van de DBC. Koppeling met CL_PRODUCTGROEP
Pagina 66 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.4 Kostprijs
int
J
KOSTPRIJS
CL_ACTIVITEIT_CODE
varchar(20)
J
KOSTPRIJS
KOSTPRIJS_BEGINDATUM
smalldatetime
J
KOSTPRIJS
KOSTPRIJS_EINDDATUM
smalldatetime
N
KOSTPRIJS
KOSTPRIJS_DIRECTE_KOSTEN
int
J
KOSTPRIJS
KOSTPRIJS_INDIRECTE_KOSTEN1
int
J
KOSTPRIJS
KOSTPRIJS_INDIRECTE_KOSTEN2
int
J
© DBC-Onderhoud
omschrijving
DECLARERENDE_INSTELLING
default_waarde
verplicht
sleutel
datatype
kolom
tabelnaam KOSTPRIJS
Pagina 67 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.5 Overige Diagnose as1 t/m as5
int
J
OVERIGEDIAGNOSE_AS1_TM_AS 5
CL_DIAGNOSE_CODE
varchar(20 )
N
OVERIGEDIAGNOSE_AS1_TM_AS 5
DIAGNOSE_DATUM_DIAGNOS E
datetime
N
OVERIGEDIAGNOSE_AS1_TM_AS 5
DIAGNOSE_AS2_TREKKENVAN
char(1)
N
© DBC-Onderhoud
omschrijving
DBC_IDENTIFICATIENUMMER
default_waarde
verplicht
sleutel
datatype
kolom
tabelnaam OVERIGEDIAGNOSE_AS1_TM_AS 5
DBC-code behorende bij dit diagnoserecord De diagnoscode , zorgt voor de koppeling met CL_DIAGN OSE Datum van het registreren van de diagnose Is dit een "Trekken van"diagnose
Pagina 68 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.6 Patiënt omschrijving
default_waarde
verplicht
sleutel
kolom PATIENT_IDENTIFICATIENUMMER
int
J
PATIENT
PATIENT_NAAM_1
varchar(25)
N
PATIENT
PATIENT_NAAMCODE_1
varchar(1)
N
PATIENT
PATIENT_VOORLETTERS
varchar(6)
N
PATIENT
PATIENT_HUISNUMMER
numeric
N
PATIENT
PATIENT_LANDCODE
varchar(2)
N
PATIENT
PATIENT_GEBOORTEDATUM
datetime
N
Volgens COD032-NEN van Vektis (ISO landcode 3166-1) - NL - DE - BE - etc De landcode is verplicht omdat anders buitenlandse codes in een Nederlands gebied terecht kunnen komen omdat slechts vier posities worden opgeslagen. Geboortedatum van de patiënt
PATIENT
PATIENT_POSTCODENUMMER
smallint
N
Postcodenummer veld.
PATIENT
PATIENT_GESLACHT
numeric
N
PATIENT
CL_INSTELLING_CODE
varchar(8)
N
PATIENT
LOCATIE_CODE
varchar(8)
N
Conform Vektis Codelijst Definitief 25 patiënt COD046_VEKT. Bijvoorbeeld 0 = Onbekend, 1 = Mannelijk, 2 = Vrouwelijk, 9 = Niet gespecificeerd Relatie naar instellingsnummer van patiënt Zie beschrijving bij entiteit Instelling
© DBC-Onderhoud
datatype
tabelnaam PATIENT
Unieke identificatie van het patiënt-record. Moet numeriek zijn
Pagina 69 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.7 Tijdschrijven
int
J
TIJDSCHRIJVEN
DBC_IDENTIFICATIENUMMER
int
J
TIJDSCHRIJVEN
CL_ACTIVITEIT_CODE
varchar(20)
N
TIJDSCHRIJVEN
TIJDSCHRIJVEN_ACTIVITEITENDATUM
datetime
N
TIJDSCHRIJVEN
TIJDSCHRIJVEN_DIRECTE_MINUTEN
int
N
TIJDSCHRIJVEN
TIJDSCHRIJVEN_INDIRECTE_MINUTEN_REIS
int
N
TIJDSCHRIJVEN
TIJDSCHRIJVEN_INDIRECTE_MINUTEN_ALG
int
N
TIJDSCHRIJVEN
BEHANDELAAR_IDENTIFICATIENUMMER
varchar(20)
N
TIJDSCHRIJVEN
CL_BEROEP_CODE
varchar(20)
N
© DBC-Onderhoud
omschrijving
TIJDSCHRIJVEN_IDENTIFICATIENUMMER
default_waarde
verplicht
sleutel
datatype
kolom
tabelnaam TIJDSCHRIJVEN
Unieke identifier voor het tijdschrijven record. DBC-record identifier die hoort bij het tijdschrijven record Geleverde activiteit. Koppeling met CL_ACTIVITEIT. Datum van de geleverde activiteit Hoeveelheid geschreven directe tijd voor de activiteit. Hoeveelheid geschreven indirecte reistijd voor de activiteit. Hoeveelheid geschreven indirecte tijd voor de activiteit. Werknemer die het tijdschrijfrecord heeft geleverd.
Pagina 70 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.8 Verblijfsdag
int
J
VERBLIJFSDAG
DBC_IDENTIFICATIENUMMER
int
J
VERBLIJFSDAG
CL_ACTIVITEIT_CODE
varchar(20)
N
VERBLIJFSDAG
VERBLIJFSDAG_ACTIVITEITENDATUM
datetime
N
VERBLIJFSDAG
VERBLIJFSDAG_AANTAL_DAGEN
int
N
VERBLIJFSDAG
DECLARERENDE_INSTELLING
int
N
omschrijving
VERBLIJFSDAG_IDENTIFICATIENUMMER
default_waarde
verplicht
sleutel
datatype
kolom
tabelnaam VERBLIJFSDAG
Unieke identifier voor het verblijfsdagrecord. DBC-ID die behoort bij de verblijfsdag. Activiteitscode die is uitgevoerd. Koppeling me CL_ACTIVITEIT. Datum van het verblijfsdagrecord. Aantal dagen dat het verblijf heeft plaatsgevonden.
5.9 Verrichting
J
VERRICHTING
CL_ACTIVITEIT_CODE
varchar(20)
N
VERRICHTING
DBC_IDENTIFICATIENUMMER
int
J
VERRICHTING
VERRICHTING_ACTIVITEITENDATUM
datetime
N
VERRICHTING
VERRICHTING_AANTAL
int
J
omschrijving
int
default_waarde
verplicht
sleutel
kolom VERRICHTING_IDENTIFICATIENUMMER
© DBC-Onderhoud
datatype
tabelnaam VERRICHTING
Unieke identifier voor het verrichtingsrecord. Activiteitcode die is uitgevoerd. Koppeling met CL_ACTIVITEIT. DBC-ID die behoort bij de verrichting. Datum van het verblijfsdag record. Aantal keer dat de verrichting heeft plaatsgevonden.
Pagina 71 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.10 Zorgtraject
int
J
ZORGTRAJECT
ZORGTRAJECT_BEGINDATUM
datetime
N
ZORGTRAJECT
ZORGTRAJECT_EINDDATUM
datetime
N
ZORGTRAJECT
PATIENT_IDENTIFICATIENUMMER
int
J
ZORGTRAJECT
CL_DIAGNOSE_CODE
varchar(20)
N
ZORGTRAJECT
ZORGTRAJECT_PRIMAIREDIAGNOSE_DATUM
datetime
N
ZORGTRAJECT
ZORGTRAJECT_AS2_TREKKENVAN
char(1)
N
© DBC-Onderhoud
omschrijving
ZORGTRAJECT_IDENTIFICATIENUMMER
default_waarde
verplicht
sleutel
datatype
kolom
tabelnaam ZORGTRAJECT
Unieke identifier voor het zorgtraject Datum dat de eerste activiteit plaatsvindt van de behandeling. Datum dat de laatste activiteit plaatsvindt van de behandeling. Patient op wie dit zorgtraject betrekking heeft. Primaire diagnose waarvoor het zorgtraject is geopend. De datum waarop de primaire diagnose is vastgesteld. Indicatie of dit een “trekken van”zorgtraject is.
Pagina 72 van 73
TOELICHTING VALIDATIEREGELS DBC GGZ V20111201
5.11 Zorgvraag
J
ZORGVRAAG
CL_ZORGVRAAG_CODE
varchar(20)
N
omschrijving
int
default_waarde
verplicht
sleutel
Kolom DBC_IDENTIFICATIENUMMER
© DBC-Onderhoud
datatype
tabelnaam ZORGVRAAG
Het DBC-traject dat bij de zorgvraag hoort. Zorgvraag-code van de zorgvraag die behoort bij de DBC. Koppeling met CL_ZORGVRAAG.
Pagina 73 van 73