Jouw datatemplate voor de patiëntreis
Jouw datatemplate voor de patiëntreis
- Aanbevolen klinische attributen
- Essentiële procesmijlpalen
- Richtlijnen voor MEDITECH-data-extractie
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 het event of de taak binnen het patiënttraject. Het legt afzonderlijke stappen vast, zoals 'Patient Registered', 'Medication Administered' of 'Discharge Order Written'. Een correcte identificatie van activiteiten is nodig om de processtroom in kaart te brengen. Deze waarden zijn vaak afkomstig uit transactiecodes, orderstatussen of vastgelegde interventies in het elektronisch patiëntendossier. Waarom dit belangrijk is Definieert de processtappen en is nodig om de procesmap te visualiseren. Waar je het vindt Afgeleid uit verschillende transactielogs, zoals OE Orders, NUR Interventions en ADM Events. Voorbeelden Patiënt geregistreerdTriage afgerondMedicatie toegediendDiagnostisch resultaat geverifieerd | |||
| Bronsysteem SourceSystem | De identifier van het systeem waaruit de data afkomstig is. | ||
| Beschrijving Identificeert de MEDITECH-instantie of specifieke module waaruit de eventdata is geëxtraheerd. In omgevingen met meerdere ziekenhuizen helpt dit om data uit verschillende instellingen of systeemversies van elkaar te onderscheiden. Dit attribuut blijft bij een extractie uit één systeem gelijk, maar is belangrijk wanneer je data uit meerdere bronnen samenvoegt tot één overzicht van een ziekenhuisnetwerk. Waarom dit belangrijk is Zorgt voor dataherkomst en traceerbaarheid in omgevingen met meerdere systemen. Waar je het vindt Hardcoded tijdens de extractie of bij de configuratie van de systeem-ID. Voorbeelden MEDITECH_ExpanseMEDITECH_6.1Hospital_A_Main | |||
| Event-timestamp EventTimestamp | De specifieke datum en tijd waarop de activiteit plaatsvond. | ||
| Beschrijving Dit attribuut registreert het exacte moment waarop een activiteit plaatsvond. Je gebruikt het om events chronologisch te ordenen en doorlooptijden tussen processtappen te berekenen. Timestamps met een hoge precisie zijn nodig voor een nauwkeurige analyse van wachttijden, zoals de tijd tussen triage en beoordeling of de doorlooptijd van diagnostische resultaten. Waarom dit belangrijk is Nodig om events te ordenen en doorlooptijden en doorstroom te berekenen. Waar je het vindt Kolommen met transactie- en tijdstippen in brontabellen. Voorbeelden 2023-10-15T08:30:00Z2023-10-15T09:15:22Z2023-10-16T14:45:00Z | |||
| Laatste data-update LastDataUpdate | De timestamp waarop de data voor het laatst is geëxtraheerd of ververst. | ||
| Beschrijving Geeft aan wanneer het record voor het laatst is verwerkt of in de process-miningtool is geladen. Dit helpt bij het controleren van de actualiteit van de data en zorgt ervoor dat de analyse de meest recente systeemstatus weergeeft. Dit verschilt van Event Timestamp, omdat het de technische tijd van de datapijplijn weergeeft en niet het tijdstip van het klinische event. Waarom dit belangrijk is Belangrijk voor datagovernance en om te zorgen dat de analyse op actuele data wordt uitgevoerd. Waar je het vindt Systeemdatum op het moment dat de ETL wordt uitgevoerd. Voorbeelden 2023-11-01T00:00:00Z2023-11-02T12:00:00Z | |||
| Patiënttraject PatientEpisode | De unieke identifier voor een specifieke periode van patiëntenzorg of een bezoek. | ||
| Beschrijving Het Patient Episode fungeert als de centrale case-identifier voor de procesanalyse. Het groepeert alle klinische, administratieve en financiële events van één ziekenhuisopname of poliklinisch bezoek in één samenhangend traject. In MEDITECH-systemen komt dit vaak overeen met het Account Number of Visit ID. Dit attribuut is de basis voor het reconstrueren van het patiënttraject van registratie tot ontslag. Zo kun je de verblijfsduur berekenen en klinische paden analyseren. Waarom dit belangrijk is Dit is de verplichte case-sleutel om losse events aan één procesinstantie te koppelen. Waar je het vindt MEDITECH Admissions- of Registration-module, meestal het veld Account Number. Voorbeelden V100938475AC29384755E993847211O229384711 | |||
| Behandelend zorgverlener AttendingProvider | De primaire clinicus 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. Dit attribuut ondersteunt het dashboard 'Treatment Plan Development Velocity' door snelheids- en efficiëntiemaatstaven aan specifieke medewerkers of rollen toe te wijzen. Hiermee kun je bronnen analyseren, werk verdelen en opleidingsbehoeften onder klinisch personeel vaststellen. Waarom dit belangrijk is Maakt analyse van de prestaties van bronnen en een evenwichtige werkverdeling mogelijk. Waar je het vindt Provider- of gebruikersvelden in activiteitenlogs. Voorbeelden Dr. SmithRN JonesTech Adams | |||
| Is heropname IsReadmission | Vlag die aangeeft of deze episode binnen 30 dagen na een eerder ontslag plaatsvond. | ||
| Beschrijving Een boolean-attribuut dat true retourneert als de huidige registratiedatum binnen 30 dagen na de ontslagdatum van een eerdere episode valt. Dit ondersteunt het dashboard 'Readmission and Care Quality'. Door heropnames te identificeren, kunnen analisten teruggaan naar de vorige episode om tekortkomingen in ontslagplanning of nazorg te vinden. Waarom dit belangrijk is Belangrijke kwaliteitsmaatstaf met gevolgen voor vergoeding en patiëntuitkomsten. Waar je het vindt Berekend door de huidige StartTime te vergelijken met de vorige Case EndTime voor hetzelfde MedicalRecordNumber. Voorbeelden truefalse | |||
| Medisch dossiernummer MedicalRecordNumber | Een unieke identificatie voor de patiënt over alle bezoeken heen. | ||
| Beschrijving Het Medical Record Number (MRN) identificeert een patiënt uniek binnen de zorgorganisatie, los van het episode-specifieke ID. Hiermee kunnen analisten meerdere episodes van dezelfde patiënt in de loop van de tijd aan elkaar koppelen. Dit attribuut is essentieel voor het dashboard 'Readmission and Care Quality'. Hiermee kun je patiënten herkennen die binnen 30 dagen na ontslag terugkeren naar het ziekenhuis. Waarom dit belangrijk is Maakt analyse over meerdere episodes en patiëntgerichte weergaven mogelijk. Waar je het vindt Masterindex voor patiënten of registratietabel. Voorbeelden MRN-100293MRN-55928388291002 | |||
| Ontslagbestemming DischargeDisposition | De bestemming of status van de patiënt bij ontslag. | ||
| Beschrijving Geeft aan waar de patiënt na de episode naartoe ging, zoals 'Home', 'Skilled Nursing Facility', 'Home Health' of 'Expired'. Dit is een belangrijke uitkomstmaatstaf voor het dashboard 'Discharge Planning Optimization'. Met deze analyse kun je vaststellen of vertraging bij het regelen van nazorg bijdraagt aan een langere verblijfsduur. Waarom dit belangrijk is Belangrijke uitkomstmaatstaf voor het analyseren van verblijfsduur en het risico op heropname. Waar je het vindt Schermen voor ontslagregistratie of ontslagabstractie. Voorbeelden Ontslagen naar huisOvergeplaatst naar algemeen ziekenhuis voor kortdurende opnameOverledenOp eigen verzoek vertrokken tegen medisch advies in | |||
| Patiënttype PatientType | Indeling van het patiëntbezoek, bijvoorbeeld Inpatient, Outpatient of Emergency. | ||
| Beschrijving Classificeert de aard van het ziekenhuisbezoek. Veelvoorkomende waarden zijn 'Inpatient', 'Outpatient', 'Emergency' en 'Observation'. Deze indeling is belangrijk voor het filteren en vergelijken van processen, omdat de zorgstandaard en verwachte duur sterk per type verschillen. Dit veld helpt in het dashboard 'Discharge Planning Optimization' door de verwachte verblijfsduur per type uit te splitsen. Waarom dit belangrijk is Belangrijke segmentatie voor procesvergelijking, zoals Inpatient versus Outpatient. Waar je het vindt Admission- of bezoektabellen, bijvoorbeeld AdmVisits.Status. Voorbeelden Klinische opnameSpoedPoliklinische chirurgieObservatie | |||
| Primaire diagnose PrimaryDiagnosis | De belangrijkste medische aandoening die voor de patiëntepisode is vastgesteld. | ||
| Beschrijving Bevat de ICD-10-code of beschrijving van de primaire reden voor het bezoek. Dit vormt de basis voor de 'Clinical Pathway Variant Analysis'. Door cases op primaire diagnose te groeperen, kunnen klinische managers de werkelijke behandelroutes vergelijken met de ideale klinische route voor die specifieke aandoening. Waarom dit belangrijk is Essentieel voor het groeperen van cases en analyseren van klinische routes. Waar je het vindt Medical Records- of Abstracting-module. Voorbeelden J18.9 - LongontstekingI21.9 - Acuut myocardinfarctS72.0 - Breuk van het dijbeen | |||
| Triage-urgentieklasse TriageAcuityLevel | De ernstscore die tijdens de triage aan een patiënt wordt toegekend. | ||
| Beschrijving Geeft de urgentie van de toestand van de patiënt aan, meestal op een schaal, bijvoorbeeld 1 tot 5, waarbij 1 kritiek is. Dit attribuut staat centraal in de 'Emergency Department Flow Analysis'. Hiermee kunnen analisten wachttijden koppelen aan de ernst van de patiënt en controleren of de meest kritieke patiënten effectief voorrang krijgen. Waarom dit belangrijk is Belangrijk voor het analyseren van prioritering op de spoedeisende hulp en naleving van veiligheidsrichtlijnen. Waar je het vindt Schermen voor verpleegkundige beoordelingen op de spoedeisende hulp of tijdens de triage. Voorbeelden 1 - Reanimatie2 - Acuut3 - Spoed4 - Minder urgent | |||
| Ziekenhuisafdeling HospitalDepartment | De specifieke eenheid of afdeling waar de activiteit plaatsvond. | ||
| Beschrijving Identificeert de functionele eenheid, zoals 'Emergency', 'Radiology', 'ICU' of 'General Ward', die verantwoordelijk is voor de activiteit. Dit attribuut is belangrijk voor het dashboard 'Departmental Resource Throughput'. Hiermee kun je prestatiemaatstaven per eenheid uitsplitsen en knelpunten in interne overdrachten en het gebruik van bronnen opsporen. Waarom dit belangrijk is Belangrijk voor organisatieanalyse en het identificeren van knelpunten in specifieke eenheden. Waar je het vindt Locatie- of afdelingsvelden in transactietabellen. Voorbeelden Spoedeisende hulpRadiologieIntensivecareafdelingChirurgische afdeling 3 | |||
| Bedrag ChargeAmount | De financiële waarde die aan een specifieke activiteit of dienst is gekoppeld. | ||
| Beschrijving Geeft de kosten of het geboekte bedrag voor een specifiek event weer, zoals een onderzoek of kamerbedrag. Hoewel dit vooral een financiële maatstaf is, houdt het verband met de intensiteit van het gebruik van bronnen. Na aggregatie helpt het om de financiële impact van procesvarianten te begrijpen, al ligt de nadruk van deze weergave op de klinische flow. Waarom dit belangrijk is Voegt een financiële dimensie toe aan procesanalyse. Waar je het vindt Billing- of BAR-module (Billing/Accounts Receivable). Voorbeelden 150.001200.5045.00 | |||
| Herkomst van opname AdmitSource | Waar de patiënt vandaan kwam, bijvoorbeeld Home, Transfer of Referral. | ||
| Beschrijving Beschrijft de herkomst van de patiënt bij opname, zoals 'Physician Referral', 'Emergency Room' of 'Transfer from other Hospital'. Dit geeft context bij de manier waarop patiënten het systeem binnenkomen. Het helpt om instroompatronen en hun effect op 'Emergency Department Flow Analysis' en de planning van bronnen te begrijpen. Waarom dit belangrijk is Geeft context bij patiëntinstroom en vraagkanalen. Waar je het vindt Registratiegegevens van opnames. Voorbeelden Spoedeisende hulpVerwijzing vanuit kliniekOverplaatsing vanuit verpleeghuis | |||
| Is nalevingsschending IsAdherenceViolation | Vlag die aangeeft of de case afweek van de standaard klinische route. | ||
| Beschrijving Een boolean-vlag die op true wordt gezet als de volgorde van activiteiten niet overeenkomt met het gedefinieerde referentiemodel voor de primaire diagnose van de patiënt. Dit ondersteunt 'Clinical Pathway Variant Analysis'. Hiermee kun je snel cases filteren die niet aan de norm voldoen en onderzoeken waarom de standaardzorg niet is gevolgd. Waarom dit belangrijk is Identificeert snel procesafwijkingen en variatie. Waar je het vindt Berekend met algoritmen voor conformance checking. Voorbeelden truefalse | |||
| Naam van medicijn MedicationName | De naam van het toegediende geneesmiddel. | ||
| Beschrijving Legt het specifieke geneesmiddel vast dat betrokken is bij events van het type 'Medication Administered'. Dit is nodig voor het dashboard 'Medication Administration Compliance'. Hiermee kan de verpleegkundige leiding controleren of specifieke risicovolle of tijdkritische geneesmiddelen, zoals antibiotica bij sepsis, binnen het juiste therapeutische tijdvenster worden toegediend. Waarom dit belangrijk is Nodig voor analyse van klinische compliance en veiligheid. Waar je het vindt Pharmacy (PHA)- of Bedside Verification (BMV)-modules. Voorbeelden ParacetamolVancomycineHeparineInsuline | |||
| Ordercategorie OrderCategory | Classificatie van klinische orders, bijvoorbeeld Lab, Radiology of Consult. | ||
| Beschrijving Groepeert orders in bredere categorieën, zoals 'Laboratory', 'Radiology', 'Dietary' of 'Consult'. Dit is essentieel voor het dashboard 'Diagnostic Services Turnaround'. Hiermee kun je workflows scheiden en doorlooptijden voor beeldvorming en bloedonderzoek afzonderlijk analyseren. Deze hebben vaak verschillende knelpunten. Waarom dit belangrijk is Deelt diagnostische en behandelworkflows op in segmenten. Waar je het vindt Categorievelden in de Order Entry (OE)-module. Voorbeelden LaboratoriumRadiologieVerplegingApotheek | |||
| Triagewachttijd TriageWaitTime | De tijd tussen registratie en afronding van de triage. | ||
| Beschrijving De berekende duur tussen het event 'Patient Registered' en het event 'Triage Completed'. Deze waarde voedt rechtstreeks de KPI 'Average Triage Throughput Time'. Door deze duur te volgen, kunnen managers van de spoedeisende hulp de personeelsbezetting tijdens piekuren aanpassen en de veiligheidsnormen voor patiënten bewaken. Waarom dit belangrijk is Belangrijke operationele maatstaf voor spoedeisende hulpafdelingen. Waar je het vindt Berekend verschil tussen timestamps van specifieke activiteiten. Voorbeelden 15 minuten1 uur 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ëntdossier. Dit activeert vaak specifieke klinische paden. | ||
| Waarom dit belangrijk is Maakt 'Clinical Pathway Variant Analysis' mogelijk door de case te categoriseren. Belangrijk om patiënten met elkaar te kunnen vergelijken. Waar je het vindt MEDITECH ABS (Abstracting) of Medical Records. Vastgelegd wanneer diagnosecodes aan het account worden gekoppeld. Vastleggen Vastgelegd wanneer de transactie Diagnosis Enter wordt uitgevoerd Eventtype explicit | |||
| Diagnostisch resultaat geverifieerd | Geeft aan dat een diagnostisch onderzoek, zoals laboratoriumonderzoek of radiologie, is uitgevoerd en de resultaten zijn goedgekeurd door een laboratoriumtechnicus of radioloog. Hiermee wordt de diagnostische order afgerond. | ||
| Waarom dit belangrijk is Het eindpunt voor 'Diagnostic Services Turnaround'. Essentieel voor het analyseren van knelpunten op ondersteunende afdelingen. Waar je het vindt MEDITECH LAB- of ITS-module (Imaging and Therapeutic Services). Vastgelegd via statuswijzigingen van het resultaat naar Verified of Signed. Vastleggen Vastgelegd wanneer het statusveld verandert in Verified Eventtype explicit | |||
| Medicatie toegediend | Legt vast dat verpleegkundig personeel de medicatie daadwerkelijk aan de patiënt heeft toegediend. Meestal wordt dit geregistreerd via een barcodescan aan het bed. | ||
| Waarom dit belangrijk is Ondersteunt 'Medication Administration Compliance'. Maakt veiligheidsrisico's en workflowonderbrekingen op verpleegafdelingen zichtbaar. Waar je het vindt MEDITECH PHA (Pharmacy) of eMAR (Electronic Medication Administration Record). Het veld 'AdminDateTime' in de toedieningshistorie. Vastleggen Vastgelegd wanneer de transactie Med Admin wordt uitgevoerd Eventtype explicit | |||
| Ontslagorder opgesteld | De timestamp waarop de arts de order ondertekent die het ontslag van de patiënt goedkeurt. Dit markeert de start van de fase 'Discharge Planning'. | ||
| Waarom dit belangrijk is Vormt de basis voor 'Discharge Planning Lead Time'. Het verschil tussen dit moment en het daadwerkelijke vertrek staat voor operationele inefficiëntie. Waar je het vindt MEDITECH OE (Order Entry). Filter Orders op Category = Discharge. Vastleggen Vastgelegd wanneer de transactie Order Enter wordt uitgevoerd Eventtype explicit | |||
| Order geplaatst | Legt het verzoek van een zorgverlener vast voor een dienst, medicijn of diagnostisch onderzoek. Dit is het startevent voor daaropvolgende klinische activiteiten. | ||
| Waarom dit belangrijk is Vormt de basis voor de KPI 'Diagnostic Services Turnaround'. Door deze timestamp te vergelijken met de uitvoeringstijd, worden vertragingen in de dienstverlening zichtbaar. Waar je het vindt MEDITECH OE-module (Order Entry). Vastgelegd in de tabel 'OeOrders' via het veld Order Date/Time. Vastleggen Vastgelegd wanneer de transactie Order Enter wordt uitgevoerd Eventtype explicit | |||
| Patiënt geregistreerd | Dit event markeert het administratief aanmaken van het patiënttraject of bezoekrecord in het systeem. Het legt het eerste toegangsmoment tot de MEDITECH ADM-module (Admissions) vast. | ||
| Waarom dit belangrijk is Dit markeert het begin van het patiënttraject en vormt de basis voor berekeningen van doorlooptijden. Essentieel voor het berekenen van de totale verblijfsduur. Waar je het vindt MEDITECH ADM-module. Afkomstig uit de tabel 'Admissions', specifiek uit de timestamp voor het aanmaken van 'AdmitDateTime' of de transactielog. Vastleggen Vastgelegd wanneer de transactie New Visit wordt uitgevoerd Eventtype explicit | |||
| Patiënt ontslagen | De administratieve afsluiting van het bezoek. De patiënt heeft de instelling fysiek verlaten en het bed is vrijgegeven. | ||
| Waarom dit belangrijk is Het formele einde van het proces. Wordt gebruikt om de uiteindelijke verblijfsduur te berekenen en de periode van 30 dagen voor heropname vast te stellen. Waar je het vindt MEDITECH ADM (Admissions). Het veld 'DischargeDateTime' in het bezoekrecord. Vastleggen Vastgelegd wanneer de transactie Discharge Patient wordt uitgevoerd Eventtype explicit | |||
| Patiënt overgeplaatst | Geeft aan dat een patiënt fysiek van de ene locatie, unit, 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 'Internal Transfer Bottlenecks'. Lange transferduur wijst op beperkte beschikbaarheid van bronnen of vertragingen bij patiëntenvervoer. Waar je het vindt MEDITECH ADM (Admissions). Vastgelegd in de transactielogs 'Location History' of 'RoomBed'. Vastleggen Vastgelegd wanneer de transactie Transfer Patient wordt uitgevoerd Eventtype explicit | |||
| Triage afgerond | Geeft aan dat de eerste verpleegkundige beoordeling op de spoedeisende hulp is afgerond. Hierbij worden de urgentie en ernstscore van de patiënt vastgesteld. | ||
| Waarom dit belangrijk is Belangrijk voor het dashboard Emergency Department Flow Analysis, waarmee doorstroom en wachttijden worden gemeten. Waar je het vindt MEDITECH EDM-module (Emergency Department Management). Afgeleid van statuswijzigingen in de EDM-tracker of de timestamp van het document Triage Assessment. Vastleggen Vastgelegd wanneer het statusveld verandert in Triaged Eventtype explicit | |||
| Consult afgerond | De specialistische beoordeling is afgerond. Dit wordt vaak afgeleid uit het opslaan van een specifiek documenttype, zoals 'Cardiology Consult Note'. | ||
| Waarom dit belangrijk is Het eindpunt voor het meten van de reactiesnelheid van specialisten. Belangrijk voor een tijdige voortgang van de zorg. Waar je het vindt MEDITECH PCM (Provider Order Management) of EMR. Afgeleid uit timestamps voor het aanmaken van documenten met specifieke titels. Vastleggen Vergelijk het statusveld voor en na de wijziging Eventtype inferred | |||
| Consultaanvraag verstuurd | Een specifiek type order voor het aanvragen van een oordeel van een specialist. Hiermee start de klok voor het dashboard 'Specialist Consultation Response'. | ||
| Waarom dit belangrijk is Maakt knelpunten in de multidisciplinaire zorgcoördinatie zichtbaar. Lange wachttijden verlengen hier de verblijfsduur. Waar je het vindt MEDITECH OE (Order Entry). Geïdentificeerd door in 'OeOrders' te filteren op Category = Consult. Vastleggen Vastgelegd wanneer de transactie Order Enter wordt uitgevoerd Eventtype explicit | |||
| Follow-up ingepland | Het plannen van een toekomstige afspraak voor de patiënt. Deze activiteit ondersteunt de continuïteit van zorg na ontslag. | ||
| Waarom dit belangrijk is Ondersteunt de analyse 'Follow-up Appointment Scheduling'. Hangt samen met lagere heropnamepercentages. Waar je het vindt MEDITECH SCH (Scheduling). Afgeleid door een nieuw Appointment-record dat rond de ontslagdatum is aangemaakt, aan de patiënt-ID te koppelen. Vastleggen Afgeleid door het veld Appointment Created Date te vergelijken met Discharge Date Eventtype inferred | |||
| Monster afgenomen | Markeert het fysiek afnemen van een biologisch monster voor laboratoriumonderzoek. Deze activiteit overbrugt de tijd tussen het aanvragen en verwerken van het onderzoek. | ||
| Waarom dit belangrijk is Een gedetailleerde stap die vaak vertraging veroorzaakt in de diagnostische cyclus. Handig om verpleegkundige vertragingen te onderscheiden van vertragingen in het laboratorium. Waar je het vindt MEDITECH LAB-module. Meestal vastgelegd wanneer een flebotomist de barcode scant of de monsterstatus wijzigt in Collected. Vastleggen Vastgelegd wanneer de transactie Collect Specimen wordt uitgevoerd Eventtype explicit | |||
| Zorgplan gestart | Staat voor het aanmaken of toewijzen van een specifiek verpleegkundig of interdisciplinair zorgplan. Dit komt overeen met het concept 'Treatment Plan Developed'. | ||
| Waarom dit belangrijk is Meet 'Treatment Plan Development Velocity'. Vertragingen wijzen hier op hiaten in de klinische besluitvorming. Waar je het vindt MEDITECH PCS (Patient Care System) of Care Manager. De timestamp waarop een standaardzorgplan op de patiënt wordt toegepast. Vastleggen Vastgelegd wanneer de transactie Care Plan Add wordt uitgevoerd Eventtype explicit | |||
Extractiegidsen
Stappen
Data Repository-server identificeren: Zoek de Microsoft SQL Server-instantie waarop je MEDITECH Data Repository (DR) draait. Deze verschilt van de transactionele M-AT- of bestandsdatabase. Je hebt alleen-lezenreferenties nodig, meestal van een serviceaccount.
Schemaversie bepalen: De DR-structuur verschilt enigszins tussen Magic, Client/Server (6.x) en Expanse. De query hieronder gebruikt standaardnamen, zoals AdmVisits en OeOrders. Controleer deze tabelnamen in Object Explorer van je lokale SQL Server Management Studio (SSMS).
Scope bepalen: Identificeer de primaire tabel voor patiëntbezoeken. Deze heet meestal AdmVisits, RegAcct of AbstractData, afhankelijk van je DR-configuratie. De query gebruikt AdmVisits als anker voor de Patient Episode.
SQL-omgeving voorbereiden: Open SSMS en maak verbinding met de DR. Open een nieuw queryvenster. Controleer of je de juiste database gebruikt, vaak een database met de naam livedb of iets vergelijkbaars.
Parameters configureren: Vervang in het meegeleverde SQL-script de placeholders voor datumbereiken, bijvoorbeeld '2023-01-01', en locatie-identificaties als je DR gegevens van meerdere locaties bevat.
Extractie uitvoeren: Voer het volledige T-SQL-script uit. Het gebruikt Common Table Expressions (CTE's) om eerst de relevante populatie te bepalen en daarna met UNION ALL meerdere databronnen samen te voegen tot een gestandaardiseerd event log.
NULL-attributen verwerken: De query bevat logica voor mogelijke NULL-waarden in timestamps, met COALESCE waar nodig, en controleert of belangrijke koppelvelden (SourceID/VisitID) aanwezig zijn.
Triage- en spoeddata controleren: MEDITECH slaat gegevens over de spoedeisende hulp op in specifieke modules. Controleer of de tabellen EdVisits of NurInterventions zijn gevuld als je spoedprocessen analyseert.
Ordercategorieën valideren: De query splitst algemene orders, consulten en ontslagorders op basis van Category-urns of mnemonics. Mogelijk moet je de WHERE-clausules aanpassen aan het specifieke Mnemonic-woordenboek van je locatie.
Data exporteren: Klik nadat de resultaten zijn geladen met de rechtermuisknop op het resultatenraster in SSMS en selecteer Save Results As CSV. Zorg dat de kopteksten worden opgenomen.
Laatste opmaakcontrole: Open het CSV-bestand en controleer of de datums voldoen aan ISO 8601 (YYYY-MM-DD HH:MM:SS) voordat je het bestand in ProcessMind importeert.
Configuratie
- Databasetoegang: Hiervoor zijn db_datareader-rechten op de MEDITECH DR SQL-database nodig.
- Datumbereik: Voor een volledige analyse wordt een extractieperiode van 3 tot 6 maanden aan ontslagen patiënten aanbevolen.
- Locatiefiltering: Als de DR gegevens van meerdere locaties bevat, filter je de BaseVisits CTE op FacilityID of SourceSystemID.
- Episode-definitie: Het script gebruikt de unieke VisitID, vaak Account Number of Episode Number genoemd, als Case ID.
- Prestaties: De query gebruikt een CTE-anker om het scanbereik te beperken. Controleer voor goede prestaties of er indexen bestaan op AdmitDate en DischargeDate in de tabel AdmVisits.
- Vertraging: De overdracht naar de Data Repository kan, afhankelijk van de configuratie van de locatie, 15 minuten tot 24 uur vertraging hebben. Controleer de timestamp LastDataUpdate.
a 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?
Begin vandaag nog met het verbeteren van je klinische bedrijfsvoering door dit template op je MEDITECH-data toe te passen. Ons team helpt je graag om je data-extractie verder aan te scherpen, zodat je ziekenhuis efficiënter werkt.
Optimaliseer je patiënttraject en verminder vertragingen
Verkort doorlooptijden met 30 procent en verbeter de efficiëntie van je ziekenhuis
Je hebt geen creditcard nodig. Je kunt binnen enkele minuten beginnen.