Medical Intelligence in de praktijk Een kijkje in de MI straat in het UMCU Aafke Jongsma & Michiel Vuurboom
Visie Het uitwisselen van oplossingen en ervaringen ten behoeve van het verzamelen en ontsluiten van klinische gegevens, voor stuurinformatie en wetenschappelijk onderzoek. 15 oktober 2013 pagina 2
Architectuur Staging Integratie Transformatie Uitgifte Registratie Tijdelijk klaarzetten Historisch verankeren Schone vijver Gegevensportaal Analyse 1-op-1 Bronformaat Archief ZIS-onafhankelijk Standaarden Autorisatie Multi-format End-user 15 oktober 2013 pagina 3
Rollen en tooling Beheerder Ontwikkelaar Datamanager/ Onderzoeker Eindgebruiker 15 oktober 2013 pagina 4
Keuze Data Vault Waarom Data Vault HUBS, SAT en LINKS Integratie, historiciteit, procesmodellering 15 oktober 2013 pagina 5
Aantallen per component Component Aantallen Allergie/Alert 56.709 Biobank 317.000 Diagnose (dossier) 3.841.323 ECG 865.294 ECHO 1.306.666 Lab uitslagen 96.336.986 Medicatie 2.093.808 Metingen (incl. app.) ± 18.000.000 Patient 1.916.964 Radiologie 4.613.945 Vragenlijsten Per vragenlijst extractie 15 oktober 2013 pagina 6
Proces nieuwe data aanvraag Intake Scope/domein/bron/Ezis Datakwaliteit Patientselectie Pseudonimisatie/privacy Uitgifte Biobank Informed consent Baseline vragenlijst 15 oktober 2013 pagina 7
Medicatie in MI Medicatie ontsluiten via de MI straat Stap 1: Bron analyse Biobank ECG ECHO Teleform Ezis Staging Integratie Transformatie Uitgifte Ond. pagina 8
Bron analyse Bron Ezis Ezis bevat ruim 1900 tabellen Gegroepeerd per domein Geen documentatie, dus gokken/aannames/situaties naspelen Voor Medicatie: alleen voorschriften van belang Staging Integratie Transformatie Uitgifte Ond. pagina 9
Staging Staging: het tijdelijk klaarzetten voor verdere verwerking Database server SQL 2008, dedicated voor het RDP Ezis bron: Staging geautomatiseerd. Metadatadriven (stuurtabellen) SSIS package (parallel) bulk copy SQL - stored procedures Kleine transformaties: ntext -> nvarchar(max) Niet Ezis bron: Maatwerk Sas jobs Staging Integratie Transformatie Uitgifte Ond. pagina 10
Staging Staging van Medicatie Stuurtabel SSIS verwerking Staging Integratie Transformatie Uitgifte Ond. pagina 11
Data Vault - SQL Data Vault in SQL Generieke SQL Perfect te automatiseren Load Hub INSERT INTO hub_med_eenheid SELECT DISTINCT source.[load_dts], source.[rcrd_src], FROM Ltrim(Cast(source.[code] AS NVARCHAR)) [EZIS_Staging].[dbo].[sta_med_medicat_eenheid] AS source LEFT OUTER JOIN hub_med_eenheid AS hub ON ( hub.[code] = Ltrim(Cast(source.[code] AS NVARCHAR)) ) WHERE hub.[hub_med_eenheid_sqn] IS NULL AND source.[code] IS NOT NULL AND Ltrim(Cast(source.[code] AS NVARCHAR)) <> ''; Staging Integratie Transformatie Uitgifte Ond. pagina 12
Data Vault - SQL Load Satellite insert new and updated INSERT INTO sat_med_eenheid ([hub_med_eenheid_sqn], [sat_med_eenhe id_ledts], [sat_med_eenheid_ldts], [ ]) SELECT newrecords.[sqn],null, Cast('2013-10- 03T16:00:09' AS datetime), 'EZIS', newrecords.[ ], FROM (SELECT hub1.[hub_med_eenheid_sqn] AS sqn, source.[ ], FROM [EZIS_Staging].[dbo].[sta_med_medicat_eenheid] AS s ource INNER JOIN hub_med_eenheid AS hub1 ON ( CASE WHEN source.[code] IS NULL THEN '?' WHEN Ltrim(Cast(source.[code] AS NVA RCHAR)) = '' THEN '?' ELSE Ltrim(Cast(source.[code] AS NVA RCHAR)) END = hub1.[code] ) EXCEPT SELECT sat.[hub_med_eenheid_sqn] AS sqn, sat.[ ], FROM sat_med_eenheid AS sat WHERE sat.[sat_med_eenheid_ledts] IS NULL) AS newrecords; Source SAT Staging Integratie Transformatie Uitgifte Ond. pagina 13
Data Vault - SQL Load Satellite close updated UPDATE sat_med_eenheid SET sat_med_eenheid_ledts = C.[sat_med_eenheid_ledts] FROM sat_med_eenheid AS D INNER JOIN (SELECT A.[hub_med_eenheid_sqn], A.[sat_med_eenheid_ldts], Min(B.[sat_med_eenheid_ldts]) AS SAT_MED_ EENHEID_LEDTS FROM sat_med_eenheid AS A INNER JOIN sat_med_eenheid AS B ON A.[hub_med_eenheid_sqn] = B.[hub_med_eenheid_sqn] AND A.[sat_med_eenheid_ldts] < B.[sat_med_eenheid_ldts] WHERE A.[sat_med_eenheid_ledts] IS NULL AND B.[sat_med_eenheid_ledts] IS NULL GROUP BY A.[hub_med_eenheid_sqn], A.[sat_med_eenheid_ldts]) AS C ON D.[hub_med_eenheid_sqn] = C.[hub_med_eenheid_sqn] AND D.[sat_med_eenheid_ldts] = C.[sat_med_eenheid _ldts] WHERE D.[sat_med_eenheid_ledts] IS NULL AND C.[sat_med_eenheid_ledts] IS NOT NULL; Source SAT Staging Integratie Transformatie Uitgifte Ond. pagina 14
Medicatie in Data Vault Data Vault modelleren Werk processen. Unit of work Een medicatievoorschrift is de handeling: het voorschrijven van een bepaald medicijn, met een bepaald doseerschema, door een bepaalde arts en aan een bepaalde patient. Staging Integratie Transformatie Uitgifte Ond. pagina 15
Data Vault techniek SAS Data Integration Studio (DI Studio) ETL tool Sas Base onder water SAS CT (Custom Transform) Resultaat komt in SQL database Staging Integratie Transformatie Uitgifte Ond. pagina 16
Schone vijver De schone vijver Data loskoppelen van de bron Alles bronnen integreren Pseudonimiseren DCM Detailed Clinical Model Nationaal vastgelegd door Nictiz in Generiek Overdrachts Dossier Staging Integratie Transformatie Uitgifte Ond. pagina 17
Medicatie in de schone vijver - 1 Logisch model: Staging Integratie Transformatie Uitgifte Ond. pagina 18
Medicatie in de schone vijver - 2 Logisch model vertalen naar fysiek model: Staging Integratie Transformatie Uitgifte Ond. pagina 19
Medicatie in de schone vijver - 3 DCM s genereren met SAS DI Studio jobs: Bewerkelijk proces Resultaat in SAS datasets Staging Integratie Transformatie Uitgifte Ond. pagina 20
Uitgifte Onderzoeksspecifieke datamarts Verzamelen alle benodigde data uit de verschillende DCM s van een beperkte groep patienten SAS DI Studio jobs Onwikkelaar maakt deze ism Datamanager/onderzoekers Resultaat in SAS Datasets Staging Integratie Transformatie Uitgifte Ond. pagina 21
Analyse Resultaat Datamart over de schutting Datamanager/Onderzoeker kan zelf met de datasets aan de gang Gebruikt SAS Enterprise Guide Kan queries maken, filteren, aggregeren, etc. Process flows kunnen worden vastgelegd Staging Integratie Transformatie Uitgifte Ond. pagina 22
Analyse in SAS Enterprise Guide Staging Integratie Transformatie Uitgifte Ond. pagina 23
Samenvatting MI straat Staging Integratie Transformatie Uitgifte Registratie Tijdelijk klaarzetten Historisch verankeren Schone vijver Gegevensportaal Analyse 1-op-1 Bronformaat Archief ZIS-onafhankelijk Standaarden Autorisatie Multi-format End-user Tool: SQL/SAS SAS/SQL SAS SAS SAS DB: SQL Server 2008 SAS datasets SAS Metadata 15 oktober 2013 pagina 24
Kijk ook eens op: www.medicalintelligence.info 15 oktober 2013 pagina 25