Datatemplate voor het patiënttraject
Datatemplate voor het patiënttraject
- Aanbevolen klinische attributen
- Essentiële procesmijlpalen
- Richtlijnen voor data-extractie uit MEDITECH
Attributen van het patiënttraject
| Naam | Beschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De specifieke klinische of administratieve handeling die is uitgevoerd. | ||
| Beschrijving Dit attribuut bevat de naam van de gebeurtenis of taak in het patiënttraject. Het legt afzonderlijke stappen vast, zoals 'Patiënt geregistreerd', 'Medicatie toegediend' of 'Ontslagopdracht ingevoerd'. Activiteiten moeten correct worden herkend om de processtroom in kaart te brengen. De waarden zijn vaak afkomstig uit transactiecodes, opdrachtstatussen of vastgelegde interventies in het elektronisch patiëntendossier. Waarom dit belangrijk is Beschrijft de processtappen en is nodig om de proceskaart te visualiseren. Waar vind je dit? Afgeleid uit verschillende transactielogs (OE Orders, NUR Interventions, ADM Events). Voorbeelden Patiënt geregistreerdTriage afgerondMedicatie toegediendDiagnostische uitslag gecontroleerd | |||
| Bronsysteem SourceSystem | De identificatie van het systeem waaruit de data afkomstig is. | ||
| Beschrijving Geeft aan uit welke MEDITECH-instantie of specifieke module de eventdata zijn gehaald. In omgevingen met meerdere ziekenhuizen helpt dit om data van verschillende locaties of systeemversies uit elkaar te houden. Dit attribuut blijft gelijk bij een extractie uit één systeem, maar is essentieel wanneer je data samenvoegt tot één overzicht van een ziekenhuisnetwerk. Waarom dit belangrijk is Zorgt voor herkomstinformatie en traceerbaarheid in omgevingen met meerdere systemen. Waar vind je dit? Vast ingesteld tijdens de extractie of bij de configuratie van de systeem-ID. Voorbeelden MEDITECH_ExpanseMEDITECH_6.1Hospital_A_Main | |||
| Laatste data-update LastDataUpdate | Het timestamp waarop de data voor het laatst zijn geëxtraheerd of vernieuwd. | ||
| Beschrijving Geeft aan wanneer de registratie voor het laatst is verwerkt of in de process mining-tool is geladen. Zo kun je controleren hoe actueel de data zijn en of de analyse de meest recente systeemstatus weergeeft. Dit verschilt van de Event Timestamp: het gaat om het tijdstip in de technische datapijplijn, niet om het tijdstip van de klinische gebeurtenis. Waarom dit belangrijk is Belangrijk voor datagovernance en om analyses uit te voeren met actuele data. Waar vind je dit? Systeemdatum op het moment dat ETL wordt uitgevoerd. Voorbeelden 2023-11-01T00:00:00Z2023-11-02T12:00:00Z | |||
| Patiënttraject PatientEpisode | De unieke identificatie van een specifieke periode van zorg of een bezoek van een patiënt. | ||
| Beschrijving Het patiënttraject is de centrale case-ID voor de procesanalyse. Het groepeert alle klinische, administratieve en financiële gebeurtenissen van één ziekenhuisopname of poliklinisch bezoek in één samenhangend traject. In MEDITECH-systemen komt dit vaak overeen met het rekeningnummer of bezoek-ID. Dit attribuut is nodig om het patiënttraject van registratie tot ontslag te reconstrueren, de opnameduur te berekenen en klinische zorgpaden te analyseren. Waarom dit belangrijk is Dit is de verplichte case-sleutel waarmee je afzonderlijke gebeurtenissen aan één procesinstantie koppelt. Waar vind je dit? MEDITECH-module Admissions of Registration, meestal het veld Account Number. Voorbeelden V100938475AC29384755E993847211O229384711 | |||
| Timestamp van gebeurtenis EventTimestamp | De datum en tijd waarop de activiteit plaatsvond. | ||
| Beschrijving Dit attribuut legt het exacte moment vast waarop een activiteit plaatsvond. Je gebruikt het om gebeurtenissen chronologisch te ordenen en de tijd tussen processtappen te berekenen. Nauwkeurige timestamps zijn nodig om wachttijden goed te analyseren, bijvoorbeeld de tijd tussen triage en beoordeling of de doorlooptijd van diagnostische uitslagen. Waarom dit belangrijk is Nodig om gebeurtenissen te ordenen en doorlooptijden en doorvoer te berekenen. Waar vind je dit? Kolommen met de transactie- en tijdgegevens in brontabellen. Voorbeelden 2023-10-15T08:30:00Z2023-10-15T09:15:22Z2023-10-16T14:45:00Z | |||
| Behandelend zorgverlener AttendingProvider | De hoofdbehandelaar of zorgverlener die verantwoordelijk is voor de activiteit. | ||
| Beschrijving Legt de naam of ID vast van de arts, verpleegkundige of technicus die de taak uitvoert of de zorg coördineert. Met dit attribuut kun je in het dashboard ‘Snelheid van behandelplanontwikkeling’ snelheids- en efficiëntiemaatstaven koppelen aan specifieke medewerkers of rollen. Bronanalyse helpt om de werkdruk te verdelen en opleidingsbehoeften bij zorgmedewerkers vast te stellen. Waarom dit belangrijk is Maakt analyse van bronprestaties en een evenwichtige verdeling van de werkdruk mogelijk. Waar vind je dit? Velden voor zorgverlener of gebruiker in activiteitenlogboeken. Voorbeelden Dr. SmithVerpleegkundige JonesTechnicus Adams | |||
| Bestemming na ontslag DischargeDisposition | De bestemming of status van de patiënt na ontslag. | ||
| Beschrijving Geeft aan waar de patiënt na de episode naartoe ging, bijvoorbeeld naar huis, een verpleeginstelling, thuiszorg of overleden. Dit is een belangrijke uitkomstmaat voor het dashboard ‘Optimalisatie van ontslagplanning’. Met deze analyse kun je nagaan of vertraging bij het regelen van vervolgzorg leidt tot een langere opnameduur. Waarom dit belangrijk is Belangrijke uitkomstmaat voor de analyse van opnameduur en heropnamerisico. Waar vind je dit? Schermen voor ontslagregistratie of dossiercodering. Voorbeelden Ontslagen naar huisOvergeplaatst naar een algemeen ziekenhuis voor kort verblijfOverledenVertrokken tegen medisch advies in | |||
| Is heropname IsReadmission | Markering die aangeeft of deze episode binnen 30 dagen na een eerder ontslag plaatsvond. | ||
| Beschrijving Een booleaans attribuut dat true retourneert als de huidige registratiedatum van de patiënt binnen 30 dagen na de ontslagdatum van een eerdere episode valt. Dit ondersteunt het dashboard ‘Heropnames en kwaliteit van zorg’. Door heropnames te herkennen, kunnen analisten de eerdere episode terugzoeken en nagaan of er iets ontbrak in de ontslagplanning of nazorg. Waarom dit belangrijk is Belangrijke kwaliteitsmaatstaf die gevolgen heeft voor vergoedingen en patiëntuitkomsten. Waar vind je dit? Berekend door de huidige StartTime te vergelijken met de vorige Case EndTime voor hetzelfde MedicalRecordNumber. Voorbeelden truefalse | |||
| Medisch dossiernummer MedicalRecordNumber | Een unieke identificatie van de patiënt voor alle bezoeken. | ||
| Beschrijving Het medisch dossiernummer (MRN) identificeert een patiënt uniek binnen de zorgorganisatie. Het verschilt van de ID die bij een specifieke opname hoort. Zo kunnen analisten meerdere episodes van dezelfde patiënt in de loop van de tijd aan elkaar koppelen. Dit attribuut is essentieel voor het dashboard ‘Heropnames en kwaliteit van zorg’. Hiermee kun je patiënten opsporen die binnen 30 dagen na ontslag terugkeren naar het ziekenhuis. Waarom dit belangrijk is Maakt analyses over meerdere episodes en patiëntgerichte overzichten mogelijk. Waar vind je dit? Patiëntenindex of registratietabel. Voorbeelden MRN-100293MRN-55928388291002 | |||
| Patiënttype PatientType | Indeling van het patiëntbezoek, bijvoorbeeld klinisch, poliklinisch of spoedeisend. | ||
| Beschrijving Classificeert het type ziekenhuisbezoek. Veelvoorkomende waarden zijn ‘Klinisch’, ‘Poliklinisch’, ‘Spoedeisend’ en ‘Observatie’. Deze indeling is belangrijk om processen te filteren en te vergelijken, omdat de zorgstandaard en verwachte duur sterk per type verschillen. In het dashboard ‘Optimalisatie van ontslagplanning’ kun je hiermee de verwachte opnameduur uitsplitsen. Waarom dit belangrijk is Essentiële indeling om processen te vergelijken, bijvoorbeeld klinisch en poliklinisch. Waar vind je dit? Opname- of bezoektabellen, bijvoorbeeld AdmVisits.Status. Voorbeelden KlinischSpoedeisendPoliklinische chirurgieObservatie | |||
| Primaire diagnose PrimaryDiagnosis | De belangrijkste medische aandoening die voor de patiënt-episode is vastgesteld. | ||
| Beschrijving Bevat de ICD-10-code of omschrijving van de belangrijkste reden voor het bezoek. Dit vormt de basis voor de ‘Analyse van varianten in klinische zorgpaden’. Door cases op primaire diagnose te groeperen, kunnen klinisch managers de werkelijke behandelroutes vergelijken met het ideale zorgpad voor die aandoening. Waarom dit belangrijk is Essentieel om cases te groeperen en klinische zorgpaden te analyseren. Waar vind je dit? Medische dossiers of de module voor dossiercodering. Voorbeelden J18.9 - LongontstekingI21.9 - Acuut myocardinfarctS72.0 - Dijbeenbreuk | |||
| Urgentieniveau triage TriageAcuityLevel | De ernstscore die tijdens de triage aan een patiënt wordt toegekend. | ||
| Beschrijving Geeft aan hoe dringend de toestand van de patiënt is, meestal op een schaal (bijvoorbeeld 1-5, waarbij 1 kritiek is). Dit attribuut staat centraal in de ‘Analyse van de patiëntenstroom op de spoedeisende hulp’. Analisten kunnen wachttijden vergelijken met de ernst van de patiënttoestand en nagaan of de meest urgente patiënten voorrang krijgen. Waarom dit belangrijk is Belangrijk voor de analyse van prioritering op de spoedeisende hulp en naleving van veiligheidsnormen. Waar vind je dit? Beoordelingsschermen voor verpleegkundigen op de spoedeisende hulp of bij triage. Voorbeelden 1 - Reanimatie2 - Zeer urgent3 - Urgent4 - Minder urgent | |||
| Ziekenhuisafdeling HospitalDepartment | De specifieke afdeling of eenheid waar de activiteit plaatsvond. | ||
| Beschrijving Geeft aan welke afdeling, zoals ‘Spoedeisende hulp’, ‘Radiologie’, ‘IC’ of ‘Algemene verpleegafdeling’, verantwoordelijk was voor de activiteit. Dit attribuut is belangrijk voor het dashboard ‘Doorvoer van afdelingsbronnen’. Je kunt prestatiemaatstaven per afdeling uitsplitsen en zo bottlenecks bij interne overplaatsingen en het gebruik van middelen opsporen. Waarom dit belangrijk is Belangrijk voor organisatieanalyses en het opsporen van bottlenecks op specifieke afdelingen. Waar vind je dit? Velden voor locatie of afdeling in transactietabellen. Voorbeelden Spoedeisende hulpRadiologieIntensivecareafdelingChirurgische afdeling 3 | |||
| Herkomst van opname AdmitSource | Waar de patiënt vandaan kwam, bijvoorbeeld thuis, via overplaatsing of na verwijzing. | ||
| Beschrijving Beschrijft de herkomst van de opname, zoals ‘Verwijzing door arts’, ‘Spoedeisende hulp’ of ‘Overplaatsing vanuit een ander ziekenhuis’. Dit geeft context bij de manier waarop patiënten het systeem binnenkomen. Dit helpt om instroompatronen en hun invloed op de ‘Analyse van de patiëntenstroom op de spoedeisende hulp’ en de planning van middelen te begrijpen. Waarom dit belangrijk is Geeft context bij de instroom van patiënten en de kanalen waarlangs de vraag binnenkomt. Waar vind je dit? Registratiegegevens van opnames. Voorbeelden Spoedeisende hulpVerwijzing vanuit de kliniekOverplaatsing vanuit een verpleeghuis | |||
| Is er een afwijking van het zorgpad IsAdherenceViolation | Markering die aangeeft of de case afwijkt van het standaardzorgpad. | ||
| Beschrijving Een booleaanse markering die op true staat als de volgorde van activiteiten niet overeenkomt met het vastgestelde referentiemodel voor de primaire diagnose van de patiënt. Dit ondersteunt de ‘Analyse van varianten in klinische zorgpaden’. Je kunt cases die niet aan het zorgpad voldoen snel filteren en onderzoeken waarom de standaardzorg niet is gevolgd. Waarom dit belangrijk is Spoort procesafwijkingen en variaties snel op. Waar vind je dit? Berekend met algoritmen voor conformancechecks. Voorbeelden truefalse | |||
| Kostenbedrag ChargeAmount | De financiële waarde van een specifieke activiteit of dienst. | ||
| Beschrijving Geeft de kosten of het bedrag weer dat voor een specifieke gebeurtenis is geboekt, zoals een test of kamer. Hoewel dit vooral financiële data zijn, geven ze ook een beeld van het middelengebruik. Door deze bedragen samen te nemen, kun je de financiële gevolgen van procesvarianten begrijpen. De gevraagde weergave richt zich echter vooral op het klinische verloop. Waarom dit belangrijk is Voegt een financiële dimensie toe aan de procesanalyse. Waar vind je dit? De module voor facturering of BAR (Billing/Accounts Receivable). Voorbeelden 150.001200.5045.00 | |||
| Naam medicijn MedicationName | De naam van het toegediende geneesmiddel. | ||
| Beschrijving Legt vast om welk geneesmiddel het gaat bij activiteiten van het type ‘Medicatie toegediend’. Dit is nodig voor het dashboard ‘Naleving van medicatietoediening’. De verpleegkundige leiding kan hiermee controleren of specifieke risicovolle of tijdkritische medicijnen, zoals antibiotica bij sepsis, binnen de juiste behandeltermijn worden toegediend. Waarom dit belangrijk is Nodig voor analyses van klinische naleving en patiëntveiligheid. Waar vind je dit? De modules Pharmacy (PHA) of Bedside Verification (BMV). Voorbeelden ParacetamolVancomycineHeparineInsuline | |||
| Ordercategorie OrderCategory | Indeling van klinische orders, bijvoorbeeld laboratorium, radiologie of consult. | ||
| Beschrijving Groepeert orders in bredere categorieën, zoals ‘Laboratorium’, ‘Radiologie’, ‘Voeding’ of ‘Consult’. Dit is essentieel voor het dashboard ‘Doorlooptijd van diagnostische diensten’. Je kunt workflows apart analyseren en de doorlooptijden voor beeldvorming vergelijken met die voor bloedonderzoek. De bottlenecks verschillen vaak per type onderzoek. Waarom dit belangrijk is Deelt diagnostische en behandelworkflows op in categorieën. Waar vind je dit? Categorievelden in de module Order Entry (OE). Voorbeelden LaboratoriumRadiologieVerpleegkundeApotheek | |||
| Wachttijd bij triage TriageWaitTime | De tijd tussen registratie en afronding van de triage. | ||
| Beschrijving De berekende tijd tussen de gebeurtenis ‘Patiënt geregistreerd’ en ‘Triage afgerond’. Deze waarde wordt gebruikt voor de KPI ‘Gemiddelde doorlooptijd van triage’. Door deze tijd te volgen, kunnen managers van de spoedeisende hulp de personeelsbezetting tijdens piekuren aanpassen en de patiëntveiligheid bewaken. Waarom dit belangrijk is Belangrijke operationele maatstaf voor spoedeisende hulp. Waar vind je dit? Berekend verschil tussen timestamps van specifieke activiteiten. Voorbeelden 15 minuten1 uur en 20 minuten | |||
Activiteiten in het patiënttraject
| Activiteit | Beschrijving | ||
|---|---|---|---|
| Diagnose vastgelegd | Het moment waarop een zorgverlener een gecodeerde diagnose (ICD-10) invoert in het patiëntendossier. Dit leidt vaak tot specifieke klinische zorgpaden. | ||
| Waarom dit belangrijk is Maakt analyse van varianten in klinische zorgpaden mogelijk door de case in te delen. Essentieel om patiënten met elkaar te vergelijken. Waar vind je dit? MEDITECH ABS-module (Abstracting) of Medical Records. Vastgelegd wanneer diagnosecodes aan de rekening worden gekoppeld. Vastleggen Geregistreerd wanneer de transactie Diagnosis Enter wordt uitgevoerd Gebeurtenistype explicit | |||
| Diagnostische uitslag gecontroleerd | Geeft aan dat een diagnostisch onderzoek, zoals laboratoriumonderzoek of radiologie, is uitgevoerd en dat een technicus of radioloog de uitslag heeft goedgekeurd. Hiermee is de aanvraag afgehandeld. | ||
| Waarom dit belangrijk is Vormt het eindpunt voor de KPI 'Doorlooptijd diagnostische diensten'. Essentieel om bottlenecks bij ondersteunende afdelingen te analyseren. Waar vind je dit? MEDITECH LAB- of ITS-module (Imaging and Therapeutic Services). Vastgelegd wanneer de status van de uitslag verandert in Verified of Signed. Vastleggen Geregistreerd wanneer het statusveld verandert in Verified Gebeurtenistype explicit | |||
| Medicatie toegediend | Legt vast wanneer verpleegkundigen de medicatie daadwerkelijk aan de patiënt toedienen. Meestal geregistreerd door een barcode aan het bed te scannen. | ||
| Waarom dit belangrijk is Ondersteunt de analyse van naleving van medicatieprotocollen. Maakt veiligheidsrisico’s en onderbrekingen in workflows op verpleegafdelingen zichtbaar. Waar vind je dit? MEDITECH PHA-module (Pharmacy) of eMAR (Electronic Medication Administration Record). Het veld 'AdminDateTime' in de toedieningsgeschiedenis. Vastleggen Geregistreerd wanneer de transactie Med Admin wordt uitgevoerd Gebeurtenistype explicit | |||
| Ontslagopdracht ingevoerd | De timestamp waarop de arts de opdracht voor ontslag ondertekent. Dit markeert het begin van de ontslagplanning. | ||
| Waarom dit belangrijk is Vormt het startpunt voor de doorlooptijd van de ontslagplanning. De tijd tussen dit moment en het daadwerkelijke vertrek laat zien waar het proces inefficiënt is. Waar vind je dit? MEDITECH OE-module (Order Entry). Filter Orders op Category = Discharge. Vastleggen Geregistreerd wanneer de transactie Order Enter wordt uitgevoerd Gebeurtenistype explicit | |||
| Opdracht ingevoerd | Legt vast dat een zorgverlener een dienst, medicijn of diagnostisch onderzoek aanvraagt. Deze gebeurtenis start de volgende klinische activiteiten. | ||
| Waarom dit belangrijk is Vormt het startpunt voor de KPI 'Doorlooptijd diagnostische diensten'. Door deze tijd te vergelijken met de uitvoeringstijd worden vertragingen in de dienstverlening zichtbaar. Waar vind je dit? MEDITECH OE-module (Order Entry). Vastgelegd in de tabel 'OeOrders' met het veld Order Date/Time. Vastleggen Geregistreerd wanneer de transactie Order Enter wordt uitgevoerd Gebeurtenistype explicit | |||
| Patiënt geregistreerd | Deze gebeurtenis markeert de administratieve aanmaak van het patiënttraject of bezoek in het systeem. Dit is het eerste registratiemoment in de MEDITECH ADM-module (Admissions). | ||
| Waarom dit belangrijk is Markeert het begin van het patiënttraject en vormt de basis voor de berekening van doorlooptijden. Nodig om de totale opnameduur te berekenen. Waar vind je dit? MEDITECH ADM-module. Afkomstig uit de tabel 'Admissions', met name uit 'AdmitDateTime' of de timestamp waarop het transactielog is aangemaakt. Vastleggen Geregistreerd wanneer de transactie New Visit wordt uitgevoerd Gebeurtenistype explicit | |||
| Patiënt ontslagen | De administratieve afsluiting van het bezoek. De patiënt is vertrokken en het bed is vrijgekomen. | ||
| Waarom dit belangrijk is Het formele einde van het proces. Wordt gebruikt om de uiteindelijke opnameduur te berekenen en de periode van 30 dagen voor heropname vast te stellen. Waar vind je dit? MEDITECH ADM-module (Admissions). Het veld 'DischargeDateTime' in het bezoekrecord. Vastleggen Geregistreerd wanneer de transactie Discharge Patient wordt uitgevoerd Gebeurtenistype explicit | |||
| Patiënt overgeplaatst | Geeft aan dat een patiënt fysiek van de ene locatie, afdeling, kamer of het ene bed naar een andere wordt verplaatst. Hiermee volg je de patiëntenstroom door het ziekenhuis. | ||
| Waarom dit belangrijk is Belangrijk voor het opsporen van bottlenecks bij interne overplaatsingen. Lange overplaatsingen wijzen op schaarse middelen of vertraging bij het vervoer van patiënten. Waar vind je dit? MEDITECH ADM-module (Admissions). Afkomstig uit de transactielogs 'Location History' of 'RoomBed'. Vastleggen Geregistreerd wanneer de transactie Transfer Patient wordt uitgevoerd Gebeurtenistype explicit | |||
| Triage afgerond | Geeft aan dat de eerste verpleegkundige beoordeling op de spoedeisende hulp is afgerond. Hiermee worden de urgentie en ernst van de toestand van de patiënt bepaald. | ||
| Waarom dit belangrijk is Essentieel voor het dashboard voor analyse van de doorstroom op de spoedeisende hulp. Hiermee meet je de doorvoer en wachttijden. Waar vind je dit? MEDITECH EDM-module (Emergency Department Management). Afgeleid van statuswijzigingen in de EDM-tracker of de timestamp van het triagebeoordelingsdocument. Vastleggen Geregistreerd wanneer het statusveld verandert in Triaged Gebeurtenistype explicit | |||
| Consult aangevraagd | Een specifieke aanvraag voor een beoordeling door een specialist. Hiermee start de tijdmeting op het dashboard voor de reactietijd van specialistische consulten. | ||
| Waarom dit belangrijk is Maakt bottlenecks in de coördinatie van multidisciplinaire zorg zichtbaar. Lange wachttijden verlengen de opnameduur. Waar vind je dit? MEDITECH OE-module (Order Entry). Te vinden door in 'OeOrders' te filteren op Category = Consult. Vastleggen Geregistreerd wanneer de transactie Order Enter wordt uitgevoerd Gebeurtenistype explicit | |||
| Consult afgerond | De specialistische beoordeling is afgerond. Dit wordt vaak afgeleid uit het indienen van een specifiek documenttype, zoals 'Cardiology Consult Note'. | ||
| Waarom dit belangrijk is Vormt het eindpunt voor het meten van de reactietijd van specialisten. Essentieel om de zorg op tijd voort te zetten. Waar vind je dit? MEDITECH PCM-module (Provider Order Management) of EMR. Afgeleid van timestamps waarop documenten met specifieke titels zijn aangemaakt. Vastleggen Vergelijk het statusveld voor en na de wijziging Gebeurtenistype inferred | |||
| Monster afgenomen | Markeert het moment waarop een biologisch monster wordt afgenomen voor laboratoriumonderzoek. Deze activiteit vormt de schakel tussen de aanvraag en de verwerking. | ||
| Waarom dit belangrijk is Deze gedetailleerde stap veroorzaakt vaak vertraging in het diagnostische proces. Hiermee kun je vertragingen bij de verpleging onderscheiden van vertragingen in het laboratorium. Waar vind je dit? MEDITECH LAB-module. Meestal vastgelegd wanneer een medewerker bloed afneemt en de barcode scant of de monsterstatus wijzigt in Collected. Vastleggen Geregistreerd wanneer de transactie Collect Specimen wordt uitgevoerd Gebeurtenistype explicit | |||
| Vervolgafspraak ingepland | Het inplannen van een toekomstige afspraak voor de patiënt. Deze activiteit draagt bij aan doorlopende zorg na ontslag. | ||
| Waarom dit belangrijk is Ondersteunt de analyse van het inplannen van vervolgafspraken. Hangt samen met minder heropnames. Waar vind je dit? MEDITECH SCH-module (Scheduling). Afgeleid door een nieuw afspraakrecord dat rond de ontslagdatum is aangemaakt, te koppelen aan de patiënt-ID. Vastleggen Afleiden door het veld Appointment Created Date te vergelijken met Discharge Date Gebeurtenistype inferred | |||
| Zorgplan gestart | Staat voor het opstellen of toewijzen van een specifiek verpleegkundig of interdisciplinair zorgplan. Dit komt overeen met het concept 'Behandelplan opgesteld'. | ||
| Waarom dit belangrijk is Meet hoe snel een behandelplan wordt opgesteld. Vertragingen kunnen wijzen op hiaten in de klinische besluitvorming. Waar vind je dit? MEDITECH PCS-module (Patient Care System) of Care Manager. De timestamp waarop een standaardzorgplan aan de patiënt wordt toegewezen. Vastleggen Geregistreerd wanneer de transactie Care Plan Add wordt uitgevoerd Gebeurtenistype explicit | |||
Extractiegidsen
Stappen
Zoek de Data Repository-server: Zoek de Microsoft SQL Server-instantie waarop je MEDITECH Data Repository (DR) draait. Dit is niet dezelfde database als de transactionele M-AT- of bestandsdatabase. Je hebt inloggegevens met alleen-lezenrechten nodig, meestal van een serviceaccount.
Bepaal de schemaversie: De structuur van MEDITECH DR verschilt enigszins tussen Magic, Client/Server (6.x) en Expanse. De query hieronder gebruikt gangbare naamgevingsconventies, zoals AdmVisits en OeOrders. Controleer deze tabelnamen in Object Explorer van je lokale SQL Server Management Studio (SSMS).
Bepaal de scope: Zoek de primaire tabel voor patiëntbezoeken. Afhankelijk van je DR-configuratie heet deze meestal AdmVisits, RegAcct of AbstractData. De query gebruikt AdmVisits als uitgangspunt voor de Patient Episode.
Bereid de SQL-omgeving voor: Open SSMS en maak verbinding met de DR. Open een nieuw queryvenster en controleer of de juiste database is geselecteerd, vaak livedb of een vergelijkbare naam.
Stel de parameters in: Vervang in het meegeleverde SQL-script de tijdelijke waarden voor datumbereiken, bijvoorbeeld '2023-01-01', en locatie-ID's als je DR data van meerdere locaties bevat.
Voer de extractie uit: Voer het volledige T-SQL-script uit. Het gebruikt Common Table Expressions (CTE's) om eerst de gewenste patiëntengroep te bepalen en vervolgens meerdere databronnen met UNION ALL samen te voegen tot een gestandaardiseerd event log.
Verwerk NULL-attributen: De query bevat logica om mogelijke NULL-waarden in timestamps op te vangen, waar nodig met COALESCE. Ook controleert de query of essentiële koppelvelden (SourceID/VisitID) aanwezig zijn.
Controleer triage- en spoedeisendehulpdata: MEDITECH bewaart data van de spoedeisende hulp in specifieke modules. Controleer of de tabellen EdVisits of NurInterventions gevuld zijn als je workflows van de spoedeisende hulp analyseert.
Controleer de ordercategorieën: De query onderscheidt algemene orders, consulten en ontslagorders op basis van categorie-URN's of mnemonics. Mogelijk moet je de WHERE-clausules aanpassen aan het mnemonic-woordenboek van je locatie.
Exporteer de data: Klik na het uitvoeren van de query met de rechtermuisknop op het resultatenraster in SSMS en kies Save Results As CSV. Controleer of de kolomkoppen zijn opgenomen.
Controleer de opmaak: Open het CSV-bestand en controleer of de datums voldoen aan ISO 8601 (YYYY-MM-DD HH:MM:SS) voordat je de data in ProcessMind importeert.
Configuratie
- Databasetoegang: Hiervoor zijn db_datareader-machtigingen nodig op de MEDITECH DR SQL-database.
- Datumbereik: Voor de extractie wordt een periode van 3 tot 6 maanden aan ontslagen patiënten aanbevolen, zodat de cases zijn afgerond.
- Filteren op locatie: Bevat de DR data van meerdere locaties? Filter de BaseVisits-CTE dan op FacilityID of SourceSystemID.
- Definitie van een episode: Het script gebruikt de unieke VisitID, vaak Account Number of Episode Number genoemd, als Case-ID.
- Prestaties: De query gebruikt een CTE als uitgangspunt om het scanbereik te beperken. Controleer voor optimale prestaties of er indexen op AdmitDate en DischargeDate staan in de tabel AdmVisits.
- Vertraging: De overdracht naar de Data Repository kan, afhankelijk van de configuratie, 15 minuten tot 24 uur vertraging hebben. Controleer de timestamp LastDataUpdate.
Voorbeeldquery sql
/* MEDITECH Data Repository T-SQL Extraction for ProcessMind */
/* Process: Patient Journey */
/* Dialect: T-SQL */
WITH BaseVisits AS (
/* Define the population: Discharged patients within a date range */
SELECT
V.VisitID,
V.PatientID,
V.AccountNumber AS MedicalRecordNumber,
V.AdmitDateTime,
V.DischargeDateTime,
V.FacilityID,
V.PatientType,
V.AttendingProviderID,
V.DischargeDisposition,
NULLIF(DATEDIFF(MINUTE, V.AdmitDateTime, V.DischargeDateTime), 0) / 1440.0 AS LengthOfStay,
/* Flag readmissions logic would go here, simplified as 0 for base script */
0 AS IsReadmission
FROM
[YourDatabaseName].[dbo].[AdmVisits] V
WHERE
V.DischargeDateTime >= '2023-01-01'
AND V.DischargeDateTime < '2023-04-01'
AND V.Status = 'DIS' /* Discharged Status */
),
PatientDiagnoses AS (
/* Helper CTE for Primary Diagnosis to avoid duplicates in joins */
SELECT
D.VisitID,
MAX(D.ICDCode) AS PrimaryDiagnosis
FROM
[YourDatabaseName].[dbo].[AbsDiagnoses] D
WHERE
D.Rank = 1 /* Primary Diagnosis Rank */
GROUP BY
D.VisitID
),
TriageData AS (
/* Helper CTE for Triage Acuity */
SELECT
T.VisitID,
MAX(T.AcuityLevel) AS TriageAcuityLevel
FROM
[YourDatabaseName].[dbo].[EdTriage] T
GROUP BY
T.VisitID
)
/* 1. Patient Registered */
SELECT
V.VisitID AS PatientEpisode,
'Patient Registered' AS ActivityName,
V.AdmitDateTime AS EventTimestamp,
'MEDITECH_ADM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
V.FacilityID AS HospitalDepartment,
V.AttendingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
BaseVisits V
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
V.AdmitDateTime IS NOT NULL
UNION ALL
/* 2. Triage Completed */
SELECT
V.VisitID AS PatientEpisode,
'Triage Completed' AS ActivityName,
ED.TriageDateTime AS EventTimestamp,
'MEDITECH_ED' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
'Emergency Department' AS HospitalDepartment,
ED.TriageNurseID AS AttendingProvider,
V.PatientType,
ED.AcuityLevel AS TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[EdTriage] ED
INNER JOIN BaseVisits V ON ED.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
WHERE
ED.TriageDateTime IS NOT NULL
UNION ALL
/* 3. Order Placed (General) */
SELECT
V.VisitID AS PatientEpisode,
'Order Placed' AS ActivityName,
O.OrderDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category NOT IN ('CONSULT', 'DISCHARGE') /* Exclude specific types handled elsewhere */
UNION ALL
/* 4. Specimen Collected */
SELECT
V.VisitID AS PatientEpisode,
'Specimen Collected' AS ActivityName,
L.CollectionDateTime AS EventTimestamp,
'MEDITECH_LAB' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
'Laboratory' AS HospitalDepartment,
L.CollectedBy AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[LabSpecimens] L
INNER JOIN BaseVisits V ON L.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
L.CollectionDateTime IS NOT NULL
UNION ALL
/* 5. Diagnostic Result Verified */
SELECT
V.VisitID AS PatientEpisode,
'Diagnostic Result Verified' AS ActivityName,
R.VerifiedDateTime AS EventTimestamp,
'MEDITECH_LAB' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
'Laboratory' AS HospitalDepartment,
R.VerifiedBy AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[LabResults] R
INNER JOIN BaseVisits V ON R.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
R.VerifiedDateTime IS NOT NULL
UNION ALL
/* 6. Diagnosis Documented */
SELECT
V.VisitID AS PatientEpisode,
'Diagnosis Documented' AS ActivityName,
DX.EntryDateTime AS EventTimestamp,
'MEDITECH_ABS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
V.FacilityID AS HospitalDepartment,
DX.ProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[AbsDiagnoses] DX
INNER JOIN BaseVisits V ON DX.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
DX.EntryDateTime IS NOT NULL
UNION ALL
/* 7. Care Plan Initiated */
SELECT
V.VisitID AS PatientEpisode,
'Care Plan Initiated' AS ActivityName,
N.CreateDateTime AS EventTimestamp,
'MEDITECH_NUR' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
N.NurseUnit AS HospitalDepartment,
N.NurseID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[NurPlan] N
INNER JOIN BaseVisits V ON N.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
N.CreateDateTime IS NOT NULL
UNION ALL
/* 8. Medication Administered */
SELECT
V.VisitID AS PatientEpisode,
'Medication Administered' AS ActivityName,
M.AdminDateTime AS EventTimestamp,
'MEDITECH_PHA' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
M.AdminLocation AS HospitalDepartment,
M.AdministeredBy AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[PhaMedAdmin] M
INNER JOIN BaseVisits V ON M.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
M.Status = 'ADMINISTERED'
UNION ALL
/* 9. Consult Request Sent */
SELECT
V.VisitID AS PatientEpisode,
'Consult Request Sent' AS ActivityName,
O.OrderDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category = 'CONSULT'
UNION ALL
/* 10. Consultation Completed */
SELECT
V.VisitID AS PatientEpisode,
'Consultation Completed' AS ActivityName,
O.CompletedDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category = 'CONSULT'
AND O.Status = 'COMPLETED'
AND O.CompletedDateTime IS NOT NULL
UNION ALL
/* 11. Patient Transferred */
SELECT
V.VisitID AS PatientEpisode,
'Patient Transferred' AS ActivityName,
TX.TransferDateTime AS EventTimestamp,
'MEDITECH_ADM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
TX.ToLocation AS HospitalDepartment,
NULL AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[AdmRoomTx] TX
INNER JOIN BaseVisits V ON TX.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
TX.TransferDateTime IS NOT NULL
UNION ALL
/* 12. Discharge Order Written */
SELECT
V.VisitID AS PatientEpisode,
'Discharge Order Written' AS ActivityName,
O.OrderDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category = 'DISCHARGE'
OR O.Mnemonic LIKE '%DISCHARGE%'
UNION ALL
/* 13. Patient Discharged */
SELECT
V.VisitID AS PatientEpisode,
'Patient Discharged' AS ActivityName,
V.DischargeDateTime AS EventTimestamp,
'MEDITECH_ADM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
V.FacilityID AS HospitalDepartment,
V.AttendingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
BaseVisits V
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
V.DischargeDateTime IS NOT NULL
UNION ALL
/* 14. Follow-up Booked */
SELECT
V.VisitID AS PatientEpisode,
'Follow-up Booked' AS ActivityName,
S.BookDateTime AS EventTimestamp,
'MEDITECH_SCH' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
S.ApptDepartment AS HospitalDepartment,
S.ProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[SchAppt] S
INNER JOIN BaseVisits V ON S.PatientID = V.PatientID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
S.BookDateTime > V.AdmitDateTime
AND S.BookDateTime <= DATEADD(day, 30, V.DischargeDateTime) /* Logic to link appt to episode */
AND S.Status NOT IN ('CANCELLED', 'NOSHOW'); Klaar om te beginnen?
Pas deze template vandaag nog toe op je MEDITECH-data en begin je klinische bedrijfsvoering te verbeteren. Ons team helpt je graag de data-extractie aan te passen, zodat je ziekenhuis efficiënter werkt.
Verbeter het patiënttraject en beperk vertragingen
Verkort doorlooptijden met 30 procent en verbeter de efficiëntie van het ziekenhuis
Geen creditcard nodig. Je kunt binnen enkele minuten beginnen.