Il Suo template dei dati sul percorso del paziente
Il Suo template dei dati sul percorso del paziente
- Attributi consigliati per il contesto clinico
- Tappe fondamentali del processo da monitorare
- Indicazioni specifiche per l’estrazione da Epic EHR
Attributi del percorso del paziente
| Nome | Descrizione | ||
|---|---|---|---|
| Data e ora dell’evento EventTimestamp | Data e ora esatte in cui si è verificata l’attività. | ||
| Descrizione Questo attributo registra il momento esatto in cui un evento è stato inserito nel sistema Epic. Serve a ordinare le attività e a calcolare tutte le metriche basate sulla durata, come la degenza e i tempi di ciclo. La precisione di questo campo è fondamentale per individuare i colli di bottiglia. Supporta le Dashboard Triage Throughput e Time to Definitive Diagnosis, fornendo i riferimenti temporali per i punti di inizio e fine. Perché è importante Consente di calcolare i tempi di ciclo, i tempi di attraversamento e l’ordine delle attività nel processo. Dove reperirli Diverse colonne con data e ora, ad esempio EFFECTIVE_TIME e ORDER_TIME, a seconda della tabella di origine. Esempi 2023-10-15T08:30:00Z2023-10-15T09:15:22Z2023-10-16T14:20:00Z | |||
| Episodio del paziente PatientEpisodeId | Identificativo univoco dello specifico incontro con il paziente o episodio assistenziale. | ||
| Descrizione L’episodio del paziente è l’identificativo principale del caso per il Process Mining. Raggruppa tutti gli eventi clinici, amministrativi e logistici relativi a un singolo periodo continuativo di assistenza, come un ricovero o una visita al pronto soccorso. In Epic Clarity corrisponde in genere al Contact Serial Number (CSN) o all’Encounter ID. L’analisi di questo attributo consente di ricostruire l’intero percorso del paziente. Permette di associare le attività di triage, diagnosi, trattamento e dimissione in un’unica istanza di processo coerente. Perché è importante È la chiave fondamentale per collegare eventi distinti in un unico caso di processo. Dove reperirli Tabella Epic Clarity: PAT_ENC, colonna: PAT_ENC_CSN_ID Esempi 200459112200459113200459114200459115 | |||
| Nome dell’attività ActivityName | Azione clinica o amministrativa specifica eseguita. | ||
| Descrizione Questo attributo registra il nome dell’evento che si verifica nel percorso del paziente, ad esempio «Paziente registrato», «Farmaco somministrato» o «Ordine di dimissione firmato». È l’elemento centrale per definire il flusso del processo. Nell’analisi, questo campo costituisce i nodi della mappa del processo. Viene ricavato da diversi codici di transazione e stati degli ordini presenti nella cartella clinica elettronica, così da creare un Event Log leggibile. Perché è importante Definisce le fasi del processo e consente di visualizzare il flusso di lavoro. Dove reperirli Ricavato dalle tabelle CLARITY_ADT, ORDER_PROC e ORDER_MED. Esempi Triage completatoEsame diagnostico richiestoPaziente dimessoFarmaco somministrato | |||
| Sistema di origine SourceSystem | Sistema di registrazione dei dati, in genere Epic EHR. | ||
| Descrizione Questo attributo identifica l’origine dei dati. In questa vista si tratta principalmente di «Epic EHR», ma è utile quando i dati vengono combinati con quelli di altri sistemi, come un LIS separato (Laboratory Information System) o un sistema di fatturazione. Nell’analisi, garantisce la tracciabilità dei dati e facilita la risoluzione dei problemi quando alcuni eventi risultano mancanti o non corretti rispetto alla fonte. Perché è importante Fornisce tracciabilità e contesto sull’origine dei dati. Dove reperirli Impostato in modo fisso o ricavato dalla configurazione della stringa di connessione. Esempi Epic EHREpic ClarityEpic Caboodle | |||
| Ultimo aggiornamento dei dati LastDataUpdate | Data e ora dell’estrazione dei dati o dell’ultimo aggiornamento. | ||
| Descrizione Questo attributo indica quando il record è stato elaborato l’ultima volta dalla pipeline ETL. È distinto dalla data e ora dell’evento e consente di monitorare l’aggiornamento dei dati. Gli analisti lo usano per verificare se la Dashboard riflette la situazione in tempo reale o se la latenza dei dati incide sull’accuratezza dei KPI, come i tempi di attesa per il triage. Perché è importante Aiuta a valutare l’aggiornamento e l’affidabilità dei dati di Process Mining. Dove reperirli Data e ora del sistema ETL. Esempi 2023-10-27T23:59:59Z2023-10-28T06:00:00Z | |||
| Codice della diagnosi principale PrimaryDiagnosisCode | Codice ICD-10 o codice interno che rappresenta la diagnosi principale. | ||
| Descrizione Questo attributo registra la condizione medica confermata del paziente. In genere viene compilato durante l’attività «Diagnosi confermata». Serve a raggruppare i casi per condizione clinica nella vista Clinical Protocol Compliance. Associato a «Prodotto», consente agli analisti di confrontare il modo in cui viene erogata l’assistenza per le diverse condizioni mediche. Perché è importante Raggruppa i casi in base alla somiglianza clinica per analizzare i protocolli. Dove reperirli Tabella Epic Clarity: PAT_ENC_DX, colonna: DX_ID Esempi J18.9I21.9E11.9 | |||
| Destinazione alla dimissione DischargeDisposition | Destinazione del paziente dopo la dimissione: domicilio, struttura di assistenza infermieristica o decesso. | ||
| Descrizione Questo attributo registra la destinazione del paziente dopo aver lasciato l’ospedale. Viene rilevato durante l’attività «Paziente dimesso». È fondamentale per la Dashboard Readmission Risk, poiché i pazienti dimessi in strutture di assistenza infermieristica specializzata (SNF) presentano profili di riammissione diversi da quelli dimessi al proprio domicilio. Perché è importante Fornisce il contesto necessario per interpretare l’esito del processo assistenziale. Dove reperirli Tabella Epic Clarity: PAT_ENC, colonna: DISCH_DISP_C Esempi DomicilioStruttura di assistenza infermieristica specializzataAssistenza sanitaria domiciliare | |||
| Flag di riammissione ReadmissionFlag | Indica se il paziente è tornato inaspettatamente entro 30 giorni. | ||
| Descrizione Questo attributo booleano indica se, entro 30 giorni, l’episodio è stato seguito da un altro ricovero non programmato dello stesso paziente. È alla base del KPI 30-Day Unplanned Readmission Rate. Nell’analisi funge da variabile di esito principale. I percorsi di processo associati al valore «True» vengono analizzati per individuare le cause profonde nella fase di pianificazione della dimissione. Perché è importante Individua i problemi nei processi di dimissione e nella qualità dell’assistenza. Dove reperirli Calcolato con SQL esaminando gli incontri successivi dello stesso MRN. Esempi truefalse | |||
| ID del professionista ProviderId | Identificativo dell’utente o del professionista sanitario che ha eseguito l’attività. | ||
| Descrizione Questo attributo registra l’ID univoco del membro del personale responsabile dell’evento, ad esempio l’infermiere che somministra un farmaco o il medico che firma gli ordini di dimissione. Viene associato all’attributo generico «Utente» per analizzare le differenze tra le risorse e i carichi di lavoro. Per le attività automatizzate, l’ID potrebbe appartenere a un utente di sistema. Perché è importante Consente di analizzare le differenze nei risultati e nei carichi di lavoro tra i membri del personale. Dove reperirli Tabella Epic Clarity: CLARITY_EMP, colonna: USER_ID Esempi EMP10023DOC5592SYSTEM | |||
| Livello di gravità del triage TriageAcuityLevel | Punteggio di gravità assegnato al paziente durante il triage. | ||
| Descrizione Questo attributo indica il livello di urgenza delle condizioni del paziente, in genere su una scala, ad esempio i livelli ESI da 1 a 5. Viene registrato durante l’attività «Triage completato». Consente di segmentare i dati nella Dashboard Resource Intensity by Severity Score. I pazienti con un livello di gravità elevato seguono percorsi diversi rispetto a quelli con un livello basso; questo campo aiuta a distinguere le varianti. Perché è importante Segmenta il processo in base all’urgenza e al consumo previsto di risorse. Dove reperirli Consultare la documentazione di Epic EHR per il campo Acuity nei registri del pronto soccorso. Esempi 1 - Rianimazione2 - Emergenza3 - Urgenza | |||
| Nome del reparto DepartmentName | Unità o reparto ospedaliero in cui si è svolta l’attività. | ||
| Descrizione Questo attributo identifica la sede funzionale dell’evento, ad esempio «Pronto soccorso», «Radiologia» o «Reparto di chirurgia generale». È fondamentale per l’analisi dei trasferimenti interni tra reparti. I dati consentono di suddividere la mappa del processo per reparto, così che i responsabili possano distinguere i colli di bottiglia specifici della propria unità dai problemi che interessano l’intero ospedale. Perché è importante Consente di filtrare i dati per struttura organizzativa e analizzare i passaggi di consegne. Dove reperirli Tabella Epic Clarity: CLARITY_DEP, colonna: DEPARTMENT_NAME Esempi Pronto soccorsoRadiologiaICUPediatria | |||
| Numero di cartella clinica del paziente (MRN) PatientMrn | Numero di cartella clinica che identifica il paziente. | ||
| Descrizione L’MRN è l’identificativo univoco del paziente all’interno del sistema sanitario, distinto dall’ID dell’episodio. Consente di seguire la storia clinica del paziente attraverso più visite. Questo attributo serve a individuare i ricoveri ripetuti e a collegare episodi distinti nella Dashboard Readmission Risk. Nel modello generico corrisponde a «Cliente». Perché è importante È essenziale per individuare le visite ripetute e analizzare la storia clinica del paziente. Dove reperirli Tabella Epic Clarity: PATIENT, colonna: PAT_ID o PAT_MRN_ID Esempi MRN-882910MRN-112003MRN-554211 | |||
| Ora di fine dell’evento EventEndTime | Data e ora di completamento dell’attività. | ||
| Descrizione Molti eventi sono istantanei, ma alcune attività, come «Esame diagnostico eseguito» o «Consulenza completata», hanno una durata. Questo attributo ne registra l’ora di completamento. Consente di calcolare il tempo di elaborazione effettivo e il tempo di attesa. È particolarmente utile per la Dashboard Diagnostic Service Cycle Times. Perché è importante Consente di calcolare la durata delle attività e l’utilizzo delle risorse. Dove reperirli Consultare la documentazione di Epic EHR per individuare le colonne relative all’ora di fine in ORDER_PROC. Esempi 2023-10-15T09:45:00Z2023-10-16T15:00:00Z | |||
| Tipo di incontro EncounterType | Classificazione della visita del paziente, ad esempio ricovero o accesso al pronto soccorso. | ||
| Descrizione Questo attributo classifica la natura dell’episodio del paziente. Tra i valori più comuni figurano «Emergenza», «Ricovero», «Ambulatoriale» e «Virtuale». Associato a «CaseType», questo campo è fondamentale per filtrare l’analisi. Ad esempio, la Dashboard Discharge Planning riguarda principalmente gli incontri di ricovero, mentre il triage è specifico per gli accessi al pronto soccorso. Perché è importante Fornisce il contesto generale dell’istanza di processo. Dove reperirli Tabella Epic Clarity: PAT_ENC, colonna: ENC_TYPE_C Esempi EmergenzaVisita ambulatoriale ospedalieraRicovero | |||
| Costo dell’ordine diagnostico DiagnosticOrderCost | Costo interno associato a un esame diagnostico o a una procedura. | ||
| Descrizione Questo attributo associa un valore economico alle attività «Esame diagnostico eseguito». Consente di aggiungere una dimensione economica alla mappa del processo. Pur non essendo una metrica clinica primaria, aiuta l’amministrazione a comprendere il peso economico delle diverse varianti di processo, in particolare di quelle che coinvolgono pazienti con punteggi di gravità elevati e un maggiore impiego di risorse. Perché è importante Aggiunge una dimensione economica all’analisi dell’efficienza del processo. Dove reperirli Tabelle di fatturazione o di contabilità dei costi collegate alla procedura. Esempi 150.001200.0045.00 | |||
| Durata dell’attesa per il trasferimento TransferWaitDuration | Tempo trascorso tra l’ordine di trasferimento e il trasferimento effettivo. | ||
| Descrizione Questa metrica misura il tempo che intercorre tra «Trasferimento richiesto» e «Paziente trasferito». È il dato principale per l’analisi dei trasferimenti interni tra reparti. Valori elevati indicano che i pazienti sono in attesa di un posto letto, rallentando il flusso in arrivo dal pronto soccorso. Perché è importante Evidenzia i colli di bottiglia logistici e di capacità nel flusso dei pazienti. Dove reperirli Calcolato come differenza tra le date e le ore degli eventi di ordine e trasferimento. Esempi 2 h 30 min45 min12 h | |||
| Modalità di prenotazione SchedulingMethod | Indica come è stato prenotato l’appuntamento di controllo. | ||
| Descrizione Questo attributo registra il canale utilizzato per prenotare gli appuntamenti, ad esempio «MyChart», «Cadence Auto» o «Sportello». È fondamentale per la Dashboard Outpatient Follow Up Automation Status. Se il valore indica un canale digitale gestito dal sistema o dal paziente, il flag «IsAutomated» può essere impostato su true. In questo modo si evidenziano i risultati delle iniziative di trasformazione digitale. Perché è importante Monitora l’adozione degli strumenti automatizzati o self-service. Dove reperirli Consultare la documentazione di Epic EHR per conoscere l’origine dei dati di creazione degli appuntamenti. Esempi MyChartCadenceTelefonoDi persona | |||
| Nome della regione RegionName | Area geografica o sede ospedaliera. | ||
| Descrizione Nei sistemi sanitari con più sedi, questo attributo identifica la struttura. Consente di confrontare i risultati tra diversi ospedali. Associato a «Regione», permette di confrontare le sedi e verificare se un ospedale gestisce il flusso del triage meglio di un altro. Perché è importante Consente di confrontare le diverse strutture di una rete sanitaria. Dove reperirli Ricavato dai dati anagrafici del reparto o della struttura. Esempi Sede nordCentro cittàAla ovest | |||
| Pianificazione automatizzata IsAutomatedScheduling | Flag che indica se la pianificazione è stata effettuata senza l’intervento del personale. | ||
| Descrizione Questo attributo booleano è ricavato dalla modalità di prenotazione. Se l’appuntamento è stato fissato tramite MyChart o un flusso di lavoro automatizzato di Cadence, il valore è True. Supporta direttamente il KPI Follow-up Scheduling Automation Rate e aiuta i responsabili operativi a capire quante attività amministrative vengono affidate alla tecnologia. Perché è importante Misura il livello di automazione del processo. Dove reperirli Ricavato da SchedulingMethod. Esempi truefalse | |||
| Specialità del professionista richiedente OrderingProviderSpecialty | Specialità medica del professionista che richiede una consulenza o un esame. | ||
| Descrizione Questo attributo registra il reparto o la specialità, ad esempio «Cardiologia» o «Oncologia», del professionista che ha inserito la richiesta. Viene utilizzato nella Dashboard Specialist Consultation Latency. Aiuta a verificare se alcune specialità devono attendere più a lungo di altre per accedere ai servizi interni, facendo emergere possibili disparità o carenze di risorse in specifiche aree assistenziali. Perché è importante Segmenta la domanda di servizi diagnostici e di consulenza. Dove reperirli Consultare la documentazione di Epic EHR per i dati anagrafici dei professionisti. Esempi CardiologiaMedicina internaOrtopedia | |||
| Stato di aderenza al protocollo ProtocolAdherenceStatus | Stato che indica se il caso ha seguito il percorso clinico standard. | ||
| Descrizione Questo attributo confronta la sequenza delle attività del caso con un modello di riferimento definito (procedura operativa standard). Supporta la vista Clinical Protocol Compliance. I valori possono includere «Conforme», «Passaggio saltato» o «Sequenza non rispettata». In questo modo i responsabili clinici possono filtrare rapidamente i casi non conformi, senza dover esaminare manualmente ogni mappa di processo. Perché è importante Individua rapidamente le deviazioni dagli standard assistenziali basati sulle evidenze. Dove reperirli Calcolato nello strumento di Process Mining o in una fase preliminare con SQL. Esempi ConformeNon conformeIncompleto | |||
Attività del percorso del paziente
| Attività | Descrizione | ||
|---|---|---|---|
| Diagnosi confermata | Inserimento di una diagnosi confermata nell’elenco dei problemi del paziente o nel campo della diagnosi dell’incontro. Segna la conclusione della fase di accertamento. | ||
| Perché è importante È necessario per il KPI «Tempo necessario per arrivare alla diagnosi definitiva». Segna il passaggio dalla valutazione al trattamento mirato. Dove reperirli Tabella PAT_ENC_DX o aggiornamento di PROBLEM_LIST collegato all’incontro. Acquisizione Registrato quando il medico aggiunge una voce all’attività Encounter Diagnosis. Tipo di evento explicit | |||
| Paziente dimesso | Chiusura ufficiale dell’incontro di ricovero. L’evento viene registrato quando il paziente viene dimesso dal censimento virtuale. | ||
| Perché è importante Segna la fine formale dell’episodio per il calcolo della «Durata della degenza». È essenziale per l’«Individuazione delle varianti del flusso dei pazienti». Dove reperirli Flusso ADT (evento A03) o PAT_ENC_HSP.DISCH_TIME. Acquisizione Registrato quando il personale amministrativo completa il flusso di lavoro di dimissione. Tipo di evento explicit | |||
| Paziente registrato | Creazione iniziale nel sistema della registrazione dell’incontro con il paziente, che segna l’inizio dell’episodio assistenziale. L’evento viene registrato quando il paziente arriva allo sportello di accettazione o al pronto soccorso e viene registrato in Epic. | ||
| Perché è importante Definisce il punto di partenza dell’intero percorso del paziente e consente di calcolare la durata complessiva della degenza. È essenziale per la Dashboard «Flusso del triage e tempi di attesa». Dove reperirli Flusso ADT (evento A04 o A01) o tabella Clarity PAT_ENC (creazione di HSP_ACCOUNT_ID). Acquisizione Registrato quando viene eseguita la transazione «Check In» o «Admit». Tipo di evento explicit | |||
| Triage completato | Completamento della valutazione infermieristica iniziale o del triage. In genere, l’evento viene registrato quando viene archiviato il foglio di flusso del triage o lo stato del triage passa a «Complete». | ||
| Perché è importante È essenziale per misurare l’efficienza della fase iniziale nella Dashboard «Flusso del triage e tempi di attesa». I ritardi in questa fase si ripercuotono sull’intero percorso assistenziale. Dove reperirli PAT_ENC_HSP.TRIAGE_END_TIME o marca temporale dell’archiviazione di una specifica riga del foglio di flusso (FLO_MEASUREMENT). Acquisizione Registrato quando viene firmata la documentazione del triage o si aggiorna il campo dello stato. Tipo di evento explicit | |||
| Appuntamento di follow-up pianificato | Prenotazione di una futura visita ambulatoriale per il paziente. Registrata nel modulo di pianificazione Cadence, collegato alla cartella del paziente. | ||
| Perché è importante Supporta il KPI «Tasso di automazione della pianificazione delle visite di controllo». Assicura la continuità delle cure e contribuisce a prevenire i ricoveri ripetuti. Dove reperirli PAT_ENC_APPT collegato all’ID del paziente, creato in prossimità della dimissione. Acquisizione Registrato quando viene confermato l’orario dell’appuntamento in Cadence Tipo di evento explicit | |||
| Consulenza completata | Completamento della valutazione specialistica, in genere indicato dalla firma della nota di consulenza o dalla chiusura della richiesta. | ||
| Perché è importante È il punto finale del «Tempo di attesa per la consulenza specialistica». Indica che il parere specialistico è stato fornito e che il piano assistenziale può proseguire. Dove reperirli HNO_NOTE_TEXT (nota archiviata con tipo Consult) o cambio di stato di ORDER_PROC a Completed. Acquisizione Dedotto dall’ora di creazione della nota di consulenza o dall’aggiornamento dello stato della richiesta. Tipo di evento inferred | |||
| Consulenza richiesta | Richiesta a uno specialista di valutare il paziente. In Epic, viene registrata come tipo specifico di richiesta procedurale «Consult». | ||
| Perché è importante È il punto di partenza del KPI «Tempo di attesa per la consulenza specialistica». Aiuta a individuare carenze in specifiche specialità mediche. Dove reperirli ORDER_PROC con ORDER_CLASS = 'Consult' o richieste di consulto specifiche. Acquisizione Registrato quando viene firmata la richiesta di consulenza. Tipo di evento explicit | |||
| Esame diagnostico eseguito | Esecuzione effettiva dell’esame diagnostico o archiviazione del risultato. Per le analisi di laboratorio, l’evento si verifica quando il campione viene elaborato; per la diagnostica per immagini, quando l’esame viene completato. | ||
| Perché è importante È il punto finale del KPI «Tempo medio di ciclo degli esami diagnostici». È fondamentale per comprendere i ritardi nei servizi di supporto alle decisioni cliniche. Dove reperirli ORDER_PROC.PROC_END_TIME o ORDER_STAT_HISTORY quando lo stato passa a «Completed» o «Resulted». Acquisizione Registrato quando il tecnico completa l’attività o l’interfaccia riceve i dati del risultato. Tipo di evento explicit | |||
| Esame diagnostico richiesto | Inserimento di una richiesta di diagnostica per immagini (radiologia) o di analisi di laboratorio. L’evento viene registrato quando un medico inserisce e firma una richiesta nel sistema CPOE. | ||
| Perché è importante È il punto di partenza della Dashboard «Tempi di ciclo dei servizi diagnostici». Volumi elevati senza risultati corrispondenti possono indicare colli di bottiglia. Dove reperirli Tabella ORDER_PROC in cui ORDER_TYPE è Lab o Imaging/Radiology. Acquisizione Registrato quando lo stato della richiesta passa a «Signed» o «Active». Tipo di evento explicit | |||
| Farmaco somministrato | Somministrazione di un farmaco al paziente da parte di un infermiere o di un altro operatore sanitario. L’evento viene registrato nel Medication Administration Record (MAR). | ||
| Perché è importante Evento fondamentale per la Dashboard «Prestazioni nella somministrazione dei farmaci»; monitora l’aderenza al «Piano terapeutico definito». Dove reperirli Tabella MAR_ADMIN_INFO, in particolare gli eventi con azione «Given» o «New Bag». Acquisizione Registrato quando l’infermiere scansiona il braccialetto del paziente e il farmaco (BCMA). Tipo di evento explicit | |||
| Paziente trasferito | Trasferimento fisico del paziente in un nuovo reparto o unità. L’evento viene registrato tramite gli eventi di trasferimento ADT. | ||
| Perché è importante È il punto finale del «Tempo medio di trasferimento tra reparti». Supporta l’«Analisi dei trasferimenti interni tra reparti» per individuare i colli di bottiglia nella logistica ospedaliera. Dove reperirli Flusso ADT (evento A02) o PAT_ENC_HSP_TRANSACTION (Transfer In). Acquisizione Registrato quando l’addetto dell’unità aggiorna la posizione del paziente nel censimento. Tipo di evento explicit | |||
| Pianificazione della dimissione avviata | Avvio delle attività necessarie a preparare la dimissione del paziente. L’evento viene registrato tramite la documentazione del Case Management o specifici tipi di richiesta «Discharge». | ||
| Perché è importante È fondamentale per la Dashboard «Pianificazione e gestione della dimissione». Un avvio tempestivo è associato a una riduzione della durata della degenza. Dove reperirli Creazione di HSP_DISCH_PLAN o prima nota del case manager o dell’assistente sociale. Acquisizione Dedotto dalla prima interazione con Discharge Navigator o dalla prima nota di Case Mgmt. Tipo di evento inferred | |||
| Piano assistenziale avviato | Assegnazione al paziente di un percorso clinico o protocollo specifico. L’evento viene registrato quando un gruppo di ordini standard o un piano assistenziale viene applicato all’incontro. | ||
| Perché è importante Supporta la «Vista sulla conformità ai protocolli clinici», indicando l’intenzione di seguire uno standard assistenziale. Da questo momento è possibile misurare gli scostamenti dai passaggi pianificati successivi. Dove reperirli ORDER_SET_BKG o tabelle del piano assistenziale che indicano il collegamento di un protocollo all’incontro. Acquisizione Registrato quando il medico seleziona e firma un gruppo di ordini. Tipo di evento explicit | |||
| Richiesta di dimissione firmata | Autorizzazione formale del medico a dimettere il paziente dall’ospedale. In Epic, viene registrata come una richiesta specifica. | ||
| Perché è importante Passaggio fondamentale nella «Pianificazione e gestione della dimissione». L’intervallo tra questo evento e l’uscita effettiva rappresenta un ritardo amministrativo. Dove reperirli ORDER_PROC con tipo «Discharge Patient». Acquisizione Registrato quando il medico firma la richiesta di dimissione. Tipo di evento explicit | |||
| Trasferimento richiesto | Richiesta di trasferire il paziente in un’altra unità o a un diverso livello di assistenza. Nel sistema viene registrata come «Bed Request» o «Transfer Order». | ||
| Perché è importante È il punto di partenza del «Tempo medio di trasferimento tra reparti». Distingue la decisione clinica di trasferire il paziente dalla disponibilità logistica di un posto letto. Dove reperirli ADT_TRANSFER_ORDER o ORDER_PROC (Bed Request). Acquisizione Registrato quando il medico inserisce la richiesta di trasferimento. Tipo di evento explicit | |||
Guide all’estrazione
Passaggi
- Acceda a Epic Hyperspace e avvii Reporting Workbench (RWB) dall’attività Analytics o My Reports.
- Crei un nuovo report selezionando la scheda Library e cercando il template "Encounter Search" o "Patient Encounters". Questo template consente di recuperare i dettagli dei singoli contatti identificati dal CSN (Contact Serial Number).
- Configuri i criteri (scheda Settings):
- Imposti l’intervallo di date (ad esempio, Data di dimissione = ultimi 90 giorni) per includere gli episodi completati.
- Filtri per tipo di accesso (ad esempio, 'Ricovero ospedaliero', 'Pronto soccorso') per escludere le visite ambulatoriali non pertinenti.
- Filtri per Reparto o struttura, se è necessario limitare l’ambito.
- Configuri le colonne da visualizzare (scheda Display):
- Questa è la fase cruciale dell’estrazione. Cerchi e aggiunga le colonne specifiche corrispondenti alle date e agli orari delle attività richieste.
- Aggiunga gli identificativi del paziente:
CSN(episodio del paziente),MRN(ID paziente). - Aggiunga i dati demografici e gli attributi:
Department(Reparto),Discharge Disposition(destinazione alla dimissione),Primary Diagnosis Code(codice della diagnosi principale),Provider(professionista sanitario). - Aggiunga le colonne con data e ora: cerchi colonne come
Admission Time,Triage End Time,Discharge Time,Discharge Order Time,First Med Admin Timee così via. Per la corrispondenza esatta, consulti la sezione Query/Configuration.
- Esegua il report e verifichi i risultati nella finestra di anteprima.
- Esporti i dati:
- Selezioni Toolbar > Export.
- Scelga il formato CSV o Text (Tab Delimited).
- Verifichi che sia selezionata l’opzione 'Include Column Headers'.
- Salvi il file come
Raw_Epic_Extract.csv.
- Trasformi i dati (passaggio fondamentale):
- L’esportazione RWB produce un dataset "ampio" (una riga per episodio del paziente, con più colonne contenenti date e orari).
- È necessario trasformare le colonne in righe, in modo che ogni colonna con data e ora diventi una riga distinta nell’Event Log.
- Crei un file finale con le colonne:
PatientEpisodeId,ActivityName,EventTimestampe gli attributi mappati.
- Formatti le date: verifichi che
EventTimestampsia nel formato ISO (YYYY-MM-DD HH:MM:SS), compatibile con ProcessMind. - Esegua la verifica finale: controlli che il file contenga le intestazioni
PatientEpisodeId,ActivityName,EventTimestamp, quindi lo carichi in ProcessMind.
Configurazione
- Template: utilizzi "Encounter Search" (LBF) o "Find Patients", a seconda della versione di Epic.
- Intervallo di date: inizi con un periodo di 3-6 mesi per evitare errori di timeout (RWB non è ottimizzato per estrazioni massive).
- Limite di righe: Epic RWB applica spesso un limite di righe, ad esempio 25.000 o 50.000. Verifichi che l’intervallo di date non lo superi oppure esegua più estrazioni.
- Autorizzazioni: sono necessari i permessi di sicurezza 'Create' ed 'Export' per Reporting Workbench.
- Prestazioni: se deve cercare in un ampio intervallo storico, esegua il report nelle ore di minore attività.
- Livello di dettaglio: questo metodo fornisce date e orari riepilogativi a livello di accesso, ad esempio 'First Med Admin'. Non estrae ogni singolo passaggio, come la somministrazione di ciascuna pillola, a meno che non si utilizzino specifici template "Audit", raramente impiegati in questo caso.
Query di esempio sql
[REPORT CONFIGURATION SPECIFICATION]
# GENERAL SETTINGS
Application: Epic Reporting Workbench
Template_ID: Encounter_Search_LBF
Time_Horizon: Discharge Date between [Start Date] and [End Date]
Filters: Encounter Type IN ('Hospital Encounter', 'Emergency')
# COLUMN SELECTION MAPPING
# Map the following Epic RWB Columns (Display Names) to the Output Activities.
# Note: Column names may vary slightly by Epic customized build.
[MANDATORY ATTRIBUTES]
Column: Contact Serial Number (CSN) -> Target: PatientEpisodeId
Column: Patient MRN -> Target: PatientMrn
Column: Department at Discharge -> Target: DepartmentName
Column: Discharge Disposition -> Target: DischargeDisposition
Column: Primary Diagnosis ICD-10 -> Target: PrimaryDiagnosisCode
Column: Attending Provider -> Target: ProviderId
Column: Current Date -> Target: LastDataUpdate
Column: System Name (Fixed 'Epic') -> Target: SourceSystem
[ACTIVITY TIMESTAMP MAPPING]
# These columns represent the 'EventTimestamp' for the specific 'ActivityName'
1. Activity: Patient Registered
Epic_Column: Hospital Admission Time OR Check-In Time
2. Activity: Triage Completed
Epic_Column: Triage End Time OR Triage Acuity Time
3. Activity: Care Plan Initiated
Epic_Column: Care Plan Start Date
4. Activity: Diagnostic Test Ordered
Epic_Column: First Lab Order Time OR First Imaging Order Time
(Note: Select 'Earliest' if multiple columns exist)
5. Activity: Diagnostic Test Performed
Epic_Column: First Lab Result Time OR First Imaging End Time
6. Activity: Diagnosis Confirmed
Epic_Column: Principal Diagnosis Problem List Date
7. Activity: Consultation Requested
Epic_Column: Consult Order Create Time
8. Activity: Consultation Completed
Epic_Column: Consult Complete Time
9. Activity: Medication Administered
Epic_Column: First Medication Administration Time
10. Activity: Transfer Ordered
Epic_Column: Transfer Order Time
11. Activity: Patient Transferred
Epic_Column: Last Transfer In Time OR ADT Event Time
12. Activity: Discharge Planning Initiated
Epic_Column: Case Management Start Date
13. Activity: Discharge Order Signed
Epic_Column: Discharge Order Time
14. Activity: Patient Discharged
Epic_Column: Hospital Discharge Time
15. Activity: Follow-up Appointment Scheduled
Epic_Column: Discharge Follow-Up Appointment Made Date
# TRANSFORMATION LOGIC (PSEUDO-CODE)
# The export will be 'Wide'. Apply this logic to create the Event Log:
FOR EACH Row IN Exported_CSV:
EpisodeID = Row['Contact Serial Number']
FUNCTION CreateEvent(ActivityName, TimestampColumn):
IF Row[TimestampColumn] IS NOT NULL:
OUTPUT_ROW = {
'PatientEpisodeId': EpisodeID,
'ActivityName': ActivityName,
'EventTimestamp': Row[TimestampColumn],
'PatientMrn': Row['Patient MRN'],
'DepartmentName': Row['Department at Discharge'],
... [All Attributes]
}
APPEND OUTPUT_ROW TO Event_Log
# Execute for all 15 mappings defined above
CreateEvent('Patient Registered', 'Hospital Admission Time')
CreateEvent('Triage Completed', 'Triage End Time')
... [Repeat for all mapped columns]
END LOOP Passaggi
Richieda l’accesso al database: verifichi di disporre dell’accesso in lettura alla console Epic Clarity o a un client SQL collegato al database Clarity di produzione o di reportistica. Sono necessarie le autorizzazioni per
PAT_ENC,ORDER_PROC,CLARITY_ADT,MAR_ADMIN_INFOe le relative tabelle di riferimento.Individui l’ambito e gli ID dei filtri: prima di eseguire lo script completo, lanci alcune query esplorative per individuare i valori specifici di
ORDER_TYPE_Crelativi a esami di laboratorio, radiologia, consulenze e trasferimenti nella Sua istanza Epic, poiché questi elenchi personalizzati (liste di categorie) variano da un ospedale all’altro.Configuri l’intervallo temporale: individui le clausole
WHEREnello script SQL fornito, che filtrano in base aCONTACT_DATEoHOSP_ADMSN_TIME. Modifichi i valori in base al periodo da estrarre, ad esempio gli ultimi 6 mesi.Mappi i flowsheet personalizzati (facoltativo): se servono date e orari precisi per il triage o la pianificazione della dimissione non presenti nella tabella principale degli accessi, individui il valore specifico di
FLO_MEAS_ID(ID della misura del flowsheet) per questi campi e aggiorni le sezioni segnaposto dello script.Esegua la query: lanci lo script SQL completo nel client SQL, ad esempio SQL Server Management Studio o Oracle SQL Developer. Lo script usa
UNION ALLper riunire diversi eventi clinici in un’unica struttura standard dell’Event Log.Elabori i dati: la query restituisce un elenco semplice. Verifichi che
EventTimestampnon sia nullo. Se il middleware in uso lo richiede, converta i formati data e ora specifici del database nello standard ISO 8601 (YYYY-MM-DDTHH:MM:SS).Esporti i dati: salvi i risultati in un file CSV e verifichi che le intestazioni corrispondano agli attributi definiti, ad esempio PatientEpisodeId, ActivityName e così via.
Carichi i dati in ProcessMind: importi il CSV in ProcessMind. Mappi
PatientEpisodeIdcome ID del caso,ActivityNamecome attività edEventTimestampcome data e ora.
Configurazione
- Connessione al database: Epic Clarity, in genere con backend MSSQL o Oracle.
- Filtro per data: applichi il filtro a
PAT_ENC.HOSP_ADMSN_TIMEoPAT_ENC.CONTACT_DATE. Per l’analisi iniziale si consiglia un intervallo di 3-6 mesi, così da contenere i tempi di esecuzione delle query. - Tipi di accesso: lo script filtra i ricoveri ospedalieri e gli accessi al pronto soccorso (valori
ENC_TYPE_Ccomunemente pari a 3 e 50; verifichi comunque i valori inZC_ENC_TYPE). - Tipi di ordine: è necessario personalizzare i valori di
ORDER_TYPE_Cper esami di laboratorio, diagnostica per immagini e consulenze in base alla configurazione locale di ZC_ORDER_TYPE. - Prestazioni: lo script esegue scansioni su tabelle con volumi elevati (
ORDER_PROC,CLARITY_ADT). Verifichi che siano utilizzati gli indici appropriati oppure esegua lo script nelle ore di minore attività.
Query di esempio sql
WITH Cohort AS (
SELECT
pe.PAT_ENC_CSN_ID,
pe.PAT_ID,
pe.HOSP_ADMSN_TIME,
pe.HOSP_DISCH_TIME,
pe.DEPARTMENT_ID,
dep.DEPARTMENT_NAME,
emp.NAME AS ProviderName,
pat.PAT_MRN_ID,
pe.ACUITY_LEVEL_C,
disch.NAME AS DischargeDisposition,
pe.ENC_TYPE_C
FROM PAT_ENC pe
LEFT JOIN CLARITY_DEP dep ON pe.DEPARTMENT_ID = dep.DEPARTMENT_ID
LEFT JOIN CLARITY_EMP emp ON pe.VISIT_PROV_ID = emp.PROV_ID
LEFT JOIN PATIENT pat ON pe.PAT_ID = pat.PAT_ID
LEFT JOIN ZC_DISCH_DISP disch ON pe.DISCH_DISP_C = disch.DISCH_DISP_C
WHERE pe.HOSP_ADMSN_TIME >= DATEADD(month, -6, GETDATE())
AND pe.ENC_TYPE_C IN (3, 50) -- 3=Inpatient, 50=Emergency (Verify local codes)
)
-- 1. Patient Registered
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)) AS PatientEpisodeId,
'Patient Registered' AS ActivityName,
c.HOSP_ADMSN_TIME AS EventTimestamp,
c.DepartmentName,
c.ProviderName AS ProviderId,
c.PAT_MRN_ID AS PatientMrn,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)) AS TriageAcuityLevel,
CAST(c.ENC_TYPE_C AS VARCHAR(50)) AS EncounterType,
NULL AS PrimaryDiagnosisCode,
NULL AS ReadmissionFlag,
c.DischargeDisposition,
'Epic EHR' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM Cohort c
WHERE c.HOSP_ADMSN_TIME IS NOT NULL
UNION ALL
-- 2. Triage Completed (Using Flowsheet or Triage Time)
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Triage Completed',
ISNULL(pe.TRIAGE_END_INSTANT, c.HOSP_ADMSN_TIME), -- Fallback if specific column unused
c.DepartmentName,
c.ProviderName,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN PAT_ENC pe ON c.PAT_ENC_CSN_ID = pe.PAT_ENC_CSN_ID
WHERE pe.TRIAGE_END_INSTANT IS NOT NULL
UNION ALL
-- 3. Care Plan Initiated (Based on Order Type)
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Care Plan Initiated',
ord.ORDER_INST,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.ORDER_TYPE_C = 100 -- Placeholder: Replace with ID for Care Plan/Protocol
UNION ALL
-- 4. Diagnostic Test Ordered (Lab/Radiology)
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Diagnostic Test Ordered',
ord.ORDER_INST,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.ORDER_TYPE_C IN (1, 2) -- Placeholder: 1=Lab, 2=Radiology (Verify local codes)
UNION ALL
-- 5. Diagnostic Test Performed (Result Time or Procedure Start)
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Diagnostic Test Performed',
COALESCE(ord2.PROC_START_TIME, ord2.PROC_ENDING_TIME, ord.ORDER_INST),
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
JOIN ORDER_PROC_2 ord2 ON ord.ORDER_PROC_ID = ord2.ORDER_PROC_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.ORDER_TYPE_C IN (1, 2)
AND ord2.PROC_START_TIME IS NOT NULL
UNION ALL
-- 6. Diagnosis Confirmed
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Diagnosis Confirmed',
dx.NOTED_DATE,
c.DepartmentName,
c.ProviderName,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
edg.DX_NAME,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN PAT_ENC_DX dx ON c.PAT_ENC_CSN_ID = dx.PAT_ENC_CSN_ID
JOIN CLARITY_EDG edg ON dx.DX_ID = edg.DX_ID
WHERE dx.NOTED_DATE IS NOT NULL
UNION ALL
-- 7. Consultation Requested
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Consultation Requested',
ord.ORDER_INST,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.ORDER_TYPE_C = 35 -- Placeholder: Replace with ID for Consult
UNION ALL
-- 8. Consultation Completed
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Consultation Completed',
ord.ORDER_END_TIME,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.ORDER_TYPE_C = 35 -- Placeholder: Replace with ID for Consult
AND ord.ORDER_STATUS_C = 5 -- Placeholder: 5=Completed
AND ord.ORDER_END_TIME IS NOT NULL
UNION ALL
-- 9. Medication Administered
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Medication Administered',
mar.TAKEN_TIME,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_MED med ON c.PAT_ENC_CSN_ID = med.PAT_ENC_CSN_ID
JOIN MAR_ADMIN_INFO mar ON med.ORDER_MED_ID = mar.ORDER_MED_ID
LEFT JOIN CLARITY_EMP emp ON mar.TAKEN_USER_ID = emp.USER_ID
WHERE mar.TAKEN_TIME IS NOT NULL
AND mar.MAR_ACTION_C = 1 -- Placeholder: 1=Given
UNION ALL
-- 10. Transfer Ordered
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Transfer Ordered',
ord.ORDER_INST,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.ORDER_TYPE_C = 60 -- Placeholder: Replace with ID for Transfer/Bed Request
UNION ALL
-- 11. Patient Transferred
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Patient Transferred',
adt.EFFECTIVE_TIME,
dep.DEPARTMENT_NAME,
c.ProviderName,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN CLARITY_ADT adt ON c.PAT_ENC_CSN_ID = adt.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_DEP dep ON adt.DEPARTMENT_ID = dep.DEPARTMENT_ID
WHERE adt.EVENT_TYPE_C = 3 -- 3=Transfer In
UNION ALL
-- 12. Discharge Planning Initiated
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Discharge Planning Initiated',
ord.ORDER_INST,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.ORDER_TYPE_C = 70 -- Placeholder: Case Management/Discharge Order Type
UNION ALL
-- 13. Discharge Order Signed
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Discharge Order Signed',
ord.ORDER_INST,
c.DepartmentName,
emp.NAME,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN ORDER_PROC ord ON c.PAT_ENC_CSN_ID = ord.PAT_ENC_CSN_ID
LEFT JOIN CLARITY_EMP emp ON ord.ORDERING_PROV_ID = emp.PROV_ID
WHERE ord.PROC_CODE = 'DISCHARGE' -- Placeholder: Filter by specific discharge procedure code
UNION ALL
-- 14. Patient Discharged
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Patient Discharged',
c.HOSP_DISCH_TIME,
c.DepartmentName,
c.ProviderName,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
WHERE c.HOSP_DISCH_TIME IS NOT NULL
UNION ALL
-- 15. Follow-up Appointment Scheduled
SELECT
CAST(c.PAT_ENC_CSN_ID AS VARCHAR(50)),
'Follow-up Appointment Scheduled',
next_pe.APPT_MADE_DATE,
c.DepartmentName,
c.ProviderName,
c.PAT_MRN_ID,
CAST(c.ACUITY_LEVEL_C AS VARCHAR(50)),
CAST(c.ENC_TYPE_C AS VARCHAR(50)),
NULL,
NULL,
c.DischargeDisposition,
'Epic EHR',
GETDATE()
FROM Cohort c
JOIN PAT_ENC next_pe ON c.PAT_ID = next_pe.PAT_ID
WHERE next_pe.APPT_MADE_DATE BETWEEN c.HOSP_ADMSN_TIME AND ISNULL(c.HOSP_DISCH_TIME, GETDATE())
AND next_pe.CONTACT_DATE > c.HOSP_ADMSN_TIME -- The appointment is for a future date relative to admission È pronto a iniziare?
Inizi subito a trasformare le attività cliniche applicando questo template ai dati Epic. Il nostro team è a Sua disposizione per accompagnarLa nel processo di estrazione e aiutarLa a ottenere risultati concreti fin da subito.
Ottimizzi il percorso del paziente e riduca il tempo di ciclo
Individui i colli di bottiglia clinici e riduca del 30% il tempo di ciclo.
Non è richiesta alcuna carta di credito. La configurazione richiede pochi minuti.