31
Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico Regionale Pagina 1 di 31 SPECIFICHE TECNICHE MODULO APPLICATIVO DI INTERFACCIAMENTO CUP UNICO REGIONALE PROGETTO ESECUTIVO DEFINITIVO Accordo di Programma Quadro "Sviluppo della Società dell'Informazione nella Regione Abruzzo" Atto Integrativo II - SI-II-09 RETE MEDICI DI MEDICINA GENERALE STAZIONE APPALTANTE: RTI AGGIUDICATARIO: DEDALUS S.P.A TELECOM ITALIA S.P.A.

Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 1 di 31

SPECIFICHE TECNICHE MODULO APPLICATIVO DI INTERFACCIAMENTO CUP UNICO REGIONALE

PROGETTO ESECUTIVO DEFINITIVO

Accordo di Programma Quadro "Sviluppo della Società dell'Informazione nella Regione

Abruzzo" Atto Integrativo II - SI-II-09

RETE MEDICI DI MEDICINA

GENERALE

STAZIONE APPALTANTE :

RTI AGGIUDICATARIO :

DEDALUS S.P.A

TELECOM ITALIA S.P.A.

Page 2: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 2 di 31

INDICE

1 Oggetto del documento ................................................................................................................ 3 2 Premessa....................................................................................................................................... 5 3 Introduzione ................................................................................................................................. 6

3.1 Contesto applicativo di riferimento........................................................................................... 6 4 Funzionalità erogate dal Modulo CUP ......................................................................................... 7

4.1 SRPECUP - Servizio Ricerca Prestazioni Erogabili CUP ........................................................ 9 4.2 SIPCUP - Servizio Inserimento Prenotazione CUP ................................................................ 10 4.3 SRLPA - Servizio Recupero Lista Prenotazioni per Assistito ................................................ 11 4.4 SAPCUP - Servizio Annullamento Prenotazione CUP .......................................................... 12

5 Caratteristiche tecniche generali ................................................................................................ 13 5.1 Specifiche tecniche interfaccia CUP – CUP unico Regionale ................................................ 14

5.1.1 Base Dati d’appoggio per il transito dei dati vs CUP ..................................................... 14 5.1.1.1 Tabella “active_sessions” ........................................................................................... 14 5.1.1.2 Tabella "booking_queue" ............................................................................................ 15 5.1.1.3 Tabella “booking_requests_queue” ............................................................................ 17

5.1.2 Funzionalità erogate dal Modulo CUP ............................................................................ 18 5.1.2.1 SRPECUP - Servizio Ricerca Prestazioni Erogabili CUP .......................................... 18 5.1.2.1 SIPCUP - Servizio Inserimento Prenotazione CUP .................................................... 24 5.1.2.1 SRLPA - Servizio Recupero Lista Prenotazioni per Assistito .................................... 28 5.1.2.1 SAPCUP - Servizio Annullamento Prenotazione CUP .............................................. 30

Page 3: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 3 di 31

1 Oggetto del documento Il presente documento costituisce il deliverable 35.1.1 (Documentazione di specifiche tecniche (ER diagram, WS-API) del Modulo applicativo per l’interfacciamento con CUP Unico Regionale) previsto dalla scheda attività 35 “Modulo CUP” definita nel contesto del progetto "Rete MMG" promosso dalla regione Abruzzo. Nello specifico il documento è strutturato come segue:

• Nel capitolo 4 sono introdotte le funzionalità erogate dal modulo; • Nel capitolo 5 le caratteristiche tecniche generali.

Page 4: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 4 di 31

Definizioni, Acronimi ed Abbreviazioni Acronimi:

Sigla Esteso Descrizione Abbreviazioni:

Sigla Esteso SRPECUP Servizio Ricerca Prestazioni Erogabili CUP SIPCUP Servizio Inserimento Prenotazione CUP SRLPA Servizio Recupero Lista Prenotazioni per Assistito SAPCUP Servizio Annullamento Prenotazione CUP CUP Centro Unico di Prenotazione SPU Sottosistema di Prenotazione Unificata

Page 5: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 5 di 31

Riferimenti Per la redazione delle specifiche tecniche in oggetto, nel documento si è fatto riferimento ai seguenti documenti di progetto:

• PED_Allegato_Schede_Attivita; • Allegato_Servizi_applicativi_e_Use_Case.

2 Premessa Il presente documento presenta i servizi che invocheranno le funzionalità messe a disposizione dal Sovracup Regionale Remedes che fornisce servizi per il Centro Unico Prenotazioni della Regione Abruzzo. Il sistema unico di prenotazione della Regione Abruzzo è basata sui sei sottosistemi CUP delle Aziende Sanitarie Locali e su un componente applicativo denominato SovraCUP. Il ruolo di un applicativo SovraCUP è esemplificato dalla figura sottostante, dalla quale si deduce come esso sia, di fatto, un intermediario fra i client del sistema generale di prenotazione, costituito dal circuito SovraCUP e dai Sistemi di Appuntamento propri dei singoli CUP dislocati presso le varie Aziende Sanitarie.

CUP

ASL Pescara

CUP

ASL Avezzano/Sulmona

CUP

ASL Teramo

CUP

ASL Chieti

CUP

ASL Lanciano/Vasto

CUP

ASL L’Aquila

SovraCUP

Remedes

Rete MMG

Moculo CUP

Postazione di Lavoro

Medico di Medicina Generale

Postazione di Lavoro

Pediatra di Libera Scelta

Figura 1 - Sistema di Prenotazione Unica - Sovracup

Page 6: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 6 di 31

Il SovraCup, quindi, costituisce l’unico front end, ovvero l’unica interfaccia applicativa, cui i sistemi client possono rivolgersi; ne consegue che i client non hanno visibilità dei singoli sistemi CUP. L’integrazione, all’interno dell’infrastruttura, delle attività del singolo CUP, rimangono di sola pertinenza del SovraCUP.

Questo scenario implica la realizzazione di un modulo CUP progettato per soddisfare le esigenze della “Rete MMG” della Regione Abruzzo che dovrà consentire di far dialogare i software di cartella ed il Sovracup fornendo servizi richiamabili dagli applicativi ambulatoriali, per svolgere le attività afferenti alle prenotazione. Nei Capitoli successivi maggiori dettagli consentiranno di approfondire maggiormente le scelte e le caratteristiche architetturali.

3 Introduzione Il documento descrive quali sono i servizi destinati alle Cartelle Ambulatoriali e come il Modulo CUP si interfaccia al Sovracup Remedes. Il documento corrisponde al deliverable 35.1.1 del documento di PED_Allegato_Schede_Attivita. I profili descritti definiscono le interazioni che avvengono tra le componenti che compongono il sistema informativo sanitario. Ogni interazione è definita indicando quali transazioni avvengono tra gli attori coinvolti.

3.1 Contesto applicativo di riferimento Nella Regione Abruzzo è in funzione dal 2003 un sistema SovraCUP denominato SPU (Sottosistema Unificato di Prenotazione). Tale sistema è integrato via SOAP con tutti i sistemi CUP della regione ed espone i propri servizi via internet attraverso un'interfaccia web. La figura sottostante illustra il sistema SovraCUP Regione Abruzzo quale intermediario fra i client del sistema generale di prenotazione ed i Sistemi di Appuntamento stessi; in particolare:

• i client comunicano con il SovraCUP e non con i singoli sistemi CUP; • è compito del SovraCUP, attraverso i suoi moduli interni, integrare le attività del singolo CUP.

Page 7: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 7 di 31

Figura 2: SovraCUP Portale Abruzzo

Nell’ambito del progetto “SI-II-09 Pubblico Incanto realizzazione di Rete di Medici di Medicina Generale (MMG)“ con il modulo CUP si prefigge di interfacciare direttamente il sovracup rendendo disponibili dei servizi che consentano di realizzare uno “sportello elettronico unico” consentendo di fatto di decongestionare gli sportelli CUP, presso le ASL, e di conseguenza migliorare il servizio offerto al cittadino.

4 Funzionalità erogate dal Modulo CUP Il modulo CUP, offre diversi servizi a partire dalle funzionalità messe a disposizione da parte del Sottosistema di Prenotazione Regionale – Remedes. Le funzionalità implementate dal sistema sono quelle proprie di un sistema SOVRACUP come evidenziato nel seguente schema:

Page 8: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 8 di 31

Figura 3: Schema di una prenotazione

Nel contesto del progetto “Rete MMG” il “Modulo CUP” consentirà l’interfacciamento degli applicativi di cartella clinica dei MMG e PLS direttamente con le funzionalità esposte dal SovraCUP in modo da consentirne la fruizione in maniera del tutto integrata agli applicativi stessi. Il medico sarà, in tal modo, in grado di effettuare, eliminare e ricercare una prenotazione. Il “Modulo CUP”, da un punto di vista applicativo espone i seguenti servizi:

• SRPECUP - Servizio Ricerca Prestazioni Erogabili CUP (use case dettagliato nel paragrafo 4.1); • SIPCUP - Servizio Inserimento Prenotazione CUP(use case dettagliato nel paragrafo 4.2); • SRLPA - Servizio Recupero Lista Prenotazioni per Assistito(use case dettagliato nel paragrafo 4.3); • SAPCUP - Servizio Annullamento Prenotazione CUP(use case dettagliato nel paragrafo 4.4).

Ogni servizio trasmetterà e riceverà, a secondo del particolare caso, tramite messaggistica del dominio PRSC di HL7 v.3.

Page 9: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 9 di 31

4.1 SRPECUP - Servizio Ricerca Prestazioni Erogabili CUP Il servizio applicativo SRPECUP consente di richiedere la disponibilità per un appuntamento sulla sola agenda del CUP relativa alla ASL di appartenenza dell’assistito o sull’intera disponibilità Regionale.

Figura 4 – Use Case Servizio SRPECUP

La modalità di invocazione è sincrona.

Page 10: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 10 di 31

4.2 SIPCUP - Servizio Inserimento Prenotazione CUP Il servizio applicativo SIPCUP consente di confermare una richiesta di appuntamento. Dalla lista delle disponibilità proposte uno degli appuntamenti verrà confermato rimanendo in attesa di una risposta che notifichi la conferma o il rifiuto.

Figura 5 – Use Case Servizio SIPCUP

La modalità di invocazione è sincrona.

Page 11: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 11 di 31

4.3 SRLPA - Servizio Recupero Lista Prenotazioni per Assistito Il servizio applicativo SRLPA consente interroga il sistema chiedendo la lista delle prenotazioni relative ad un determinato assistito. I parametri di ricerca sono l’identificativo del paziente e il periodo di ricerca.

Figura 6 – Use Case Servizio SRLPA

La modalità di invocazione è sincrona.

Page 12: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 12 di 31

4.4 SAPCUP - Servizio Annullamento Prenotazione CUP Il servizio applicativo SAPCUP tramite la lista delle prenotazioni recuperate, per un determinato assistito, una volta consultato lo stato, se questo è diverso da erogato, consente di procedere con una richiesta di annullamento.

Figura 7 – Use Case Servizio SAPCUP

La modalità di invocazione è sincrona.

Page 13: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 13 di 31

5 Caratteristiche tecniche generali La componente in oggetto riguarda quelle funzionalità di interfaccia del SovraCUP che consentiranno ai Medici di Medicina Generale e ai Pediatri di Libera Scelta di accedere al servizio di prenotazione on line direttamente dai propri sistemi di Cartella Clinica. Come evidenziato nel sequence diagram che segue, il medico che fa uso della cartella per la gestione dell’assistito è in grado di attivare una sessione di prenotazione semplicemente premendo un pulsante all’atto della stampa della prescrizione (la logica con cui questa funzionalità viene implementata dipende dalla specifica applicazione di cartella clinica in uso); tutte le informazioni relative al paziente e all’impegnativa sono gestite all’interno della sessione di lavoro della cartella. Da un punto di vista tecnologico i servizi di prenotazione del SovraCUP sono basati su tecnologia XML/Soap ed utilizzano in input ed output messaggi in formato XML. Il Modulo CUP si fa carico di esporre servizi HL7 v.3 del dominio PRSC fruibili dagli applicativi terzi e successivamente “traduce” la semantica e la sintassi nel formato proprietario dell’applicativo di SovraCUP. La figura seguente mostra il flusso logico di una prenotazione sul CUP, dove, per semplicità, il componente mostrato come CUP va considerato come l’integrazione tra Modulo CUP e SovraCUP

Figura 8: sequence diagram prenotazione tramite applicativo MMG

Page 14: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 14 di 31

5.1 Specifiche tecniche interfaccia CUP – CUP unico Regionale Il Sovracup Remedes necessità di molti dati per poter utilizzare i servizi di prenotazione mentre la messaggistica e la mimica Hl7 non prevedono la possibilità di passare in tutte le chiamate i valori richiesti. Per ottimizzare i flussi sarà delegato ai client il trasporto di una variabile che identifica la sessione, inoltre verranno memorizzate altre informazioni associandole all’identificativo di sessione. La base dati destinata a memorizzare tali informazioni presenta tre tabelle; nei paragrafi successivi maggiori dettagli.

5.1.1 Base Dati d’appoggio per il transito dei dati vs CUP La struttura dati postgres destinata a contenere le variabili di sessione sono state normalizzate nelle seguenti 3 tabelle:

Table Schema Owner System Inherits From Temporary Tablespace Comment

active_sessions public postgres Default tablespace

booking_queue public postgres Default tablespace

booking_requests_queue public postgres Default tablespace

5.1.1.1 Tabella “active_sessions” Conterrà le variabili relative alla transazione della sessione.

Field Data type PK FK Not Null Default Inherits From Comment

iisession_id varchar

apc_session_id varchar(50)

sender_device_code varchar(16)

recycle varchar(30)

patient_id varchar(30)

request_code varchar(30)

reserved_appointment varchar(30)

id_prescrittore_remedes varchar(30)

session_create timestamp

session_last_update date

id_query varchar

Page 15: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 15 di 31

id_service varchar(30)

Index Fields Primary Unique Access Method

Constraint Function Name

Operator Class

Comment

active_sessions_pkey iisession_id btree

Definizione: CREATE TABLE public.active_sessions ( iisession_id varchar NOT NULL, apc_session_id varchar(50), sender_device_code varchar(16), recycle varchar(30), patient_id varchar(30), request_code varchar(30), reserved_appointment varchar(30), id_prescrittore_remedes varchar(30), session_create timestamp WITHOUT TIME ZONE, session_last_update date, id_query varchar, id_service varchar(30), /* Keys */ CONSTRAINT active_sessions_pkey PRIMARY KEY (iisession_id)) WITH ( OIDS = FALSE );

5.1.1.2 Tabella "booking_queue" Conterrà le risposte delle transazioni.

Field Data type PK FK Not Null

Default Inherits From

Comment

id_query varchar

msg text

device varchar(30)

iisessionid varchar(50)

ack varchar(30)

date_insert date

sequence_number integer

id serial nextval('booking_queue_id_seq'::regclass)

Index Fields Primary Unique Access Method

Constraint Function Name

Operator Class

Comment

Page 16: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 16 di 31

booking_queue_pkey id btree

Definizione: CREATE TABLE public.booking_queue ( id_query varchar, msg text, device varchar(30), iisessionid varchar(50), ack varchar(30), date_insert date, sequence_number integer, id serial NOT NULL, /* Keys */ CONSTRAINT booking_queue_pkey PRIMARY KEY (id)) WITH ( OIDS = FALSE );

Page 17: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 17 di 31

5.1.1.3 Tabella “booking_requests_queue” Consentirà di gestire le risposte delle transazioni.

Field Data type

PK FK Not Null

Default Inherits From

Comment

id_query varchar

msg text

device varchar(30)

iisessionid varchar(50)

ack varchar(30)

date_insert date

sequence_number integer

id serial nextval('booking_requests_queue_id_seq'::regclass)

Definizione: CREATE TABLE public.booking_requests_queue ( id_query varchar, msg text, device varchar(30), iisessionid varchar(50), ack varchar(30), date_insert date, sequence_number integer, id serial NOT NULL) WITH ( OIDS = FALSE );

Page 18: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 18 di 31

5.1.2 Funzionalità erogate dal Modulo CUP Il modulo CUP potrà essere invocato dai software di Cartella della rete MMG/PLS al fine di fornire la disponibilità relativa alla richiesta di prenotazione avanzata, oltre alle funzionalità di recupero, cancellazione, prenotazione. I servizi esposti possono essere richiamati dalle componenti software che vi si interfacceranno nella modalità che la software house ritiene più opportuna, poiché ogni software ha proprie peculiarità e differenti flussi operativi. I servizi individuati per consentire alle cartelle ambulatoriali di accedere ai servizi di prenotazione, riguardano:

Servizio Descrizione SRPECUP Servizio Ricerca Prestazioni Erogabili CUP (use case dettagliato nel paragrafo (4.1); SIPCUP Servizio Inserimento Prenotazione CUP(use case dettagliato nel paragrafo (4.2); SRLPA Servizio Recupero Lista Prenotazioni per Assistito(use case dettagliato nel paragrafo(4.3); SAPCUP Servizio Annullamento Prenotazione CUP(use case dettagliato nel paragrafo(4.4);

5.1.2.1 SRPECUP - Servizio Ricerca Prestazioni Erogabili CUP Il servizio interroga il Sovracup Remedes chiedendo la disponibilità di prestazioni erogabili. La modalità di invocazione del servizio, in base ai parametri impostati, consentirà di differenziare la ricerca: per ASL di appartenenza dell’assistito o sulle agende di tutte le ASL. Quando arriva una chiamata al servizio Hl7 PRSC_AR040002IT01_Query_PRSC_IN040001IT01 verrà recuperata dal messaggio hl7 PRSC_IN040001IT01 la variabile di sessione (attentionLine\keyWordText\IISESSIONID) e verificato se si tratta della prima chiamata oppure di una successiva per le quali è già attiva una sessione. Inoltre, è necessario verificare che sia presente la variabile di controllo query_type con valore uguale a “ricerca_slot”. Nel dettaglio i flussi vedranno principalmente il susseguirsi delle seguenti operazioni:

• Invocazione Servizio SRPECUP da parte del Software di Cartella; • Chiamata al servizio di “autenticazione Medici di base” per ottenere l’identificato del medico

sul sistema Remedes per effettuare questa chiamata viene recuperato il codice fiscale del medico dal messaggio hl7 PRSC_IN040001IT01 (sender/device[@extension]);

Page 19: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 19 di 31

• Chiamata al metodo “connect” del sistema Remedes utilizzando come IISessionID il codice passato dall’applicativo chiamante. Nell’elemento <login> della parte Connect sarà inserto il valore contenuto nel campo idPortale e nell’elemento <HealthcareCode> sarà inserito il codice idPrescriberReg ottenuto dal oggetto Prescriber tornato dal servizio precedente;

• Una volta ottenuta la risposta al metodo di connessione dall’element part CONNECT_OK sarà

ricavato SessionID che è la variabile definità come APCSessionID;

• I valori delle variabili: IISessionID, APCSessionID,CODICE FISCALE MEDICO, ID_QUERY e ID_SERVIZIO ricavati dal messaggio Hl7 PRSC_IN040001IT01 saranno scritti sulla tabella ACTIVE_SESSIONS assieme alla data creazione sessione e la data aggiornamento sessione;

• Chiamata al servizio PatientList utilizzando IISessionID e APCSessionID ricavati in

precedenza e come criterio di ricerca dell’elemento PATIENT_LIST il codice fiscale del assistito(ID_PAZ_CF) ricavato dal messaggio hl7 PRSC_IN040001IT01, la chiamata restituisce l’elemento PATIENT_LIST_OK che contiene l’elemento <PatientId> cioè l’identificativo del paziente sul sistema Remedes.

<PATIENT_LIST> <PatientIn> <PatientIdentificationClassName>remedes.bl.Patient</PatientIdentificationClassName> <IdentityID/> <FirstName></FirstName> <LastName></LastName> <MiddleName/> <DateOfBirth/> <Sex/> <CityOfBirth/> <ResideCity/> <AdvancedSearch>false</AdvancedSearch> <IdentificationDocument> <Type>FiscalCode</Type> <Code>${ID_PAZ_CF}</Code> </IdentificationDocument> </PatientIn> </PATIENT_LIST> <PATIENT_LIST_OK> <PatientList> <Patient> <!-- id_paziente_remedes--> <PatientId>P0004470415</PatientId> <FirstName>MONIA </FirstName> <LastName>COLETTI </LastName> <MiddleName/> <DateOfBirth>29/05/1969 00:00:00</DateOfBirth> <Sex>F</Sex> <AdvancedSearch>false</AdvancedSearch> <MedidocPatientID/> <CityOfBirth/> <Certified/> …

Page 20: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 20 di 31

• Chiamata al servizio requestCode, utilizzando IISessionID e APCSessionID, dall’elemento restituito REQUEST_CODE_OK recuperiamo il RequestCode.

<REQUEST_CODE_OK> <RequestCode>33104227</RequestCode> </REQUEST_CODE_OK>

• I valori delle variabili: identificativo del paziente Remedes (id_paziente_remedes) e

requestCode saranno scritti sulla tabella ACTIVE_SESSIONS aggiornando la data aggiornamento sessione;

• Chiamata al servizio Availability, utilizzando per la composizione dell’input part

AVAILABILITY i valori finora ricavati dalle varie chiamate e quelli contenuti nel messaggio Hl7 PRSC_IN040001IT01 originario secondo il seguente schema:

<AVAILABILITY> <Request> <PatientId>${id_paziente_remedes}</PatientId> <PrescriberCode/> <Modified/> <RequestCode>${requestCode}</RequestCode> <!—per la prima chiamata il Recycle è sempre uguale a uno --> <Recycle>1</Recycle> <PrescriptionList> <Prescription> <PrescriptionIndex>1</PrescriptionIndex> <FirstPartCode>${ID_PRESCRIZIONE_DEDA} </FirstPartCode> <SecondPartCode>5</SecondPartCode> <UrgencyFlag>${COD_PRIORITA} </UrgencyFlag> <DeferredUrgencyFlag>N</DeferredUrgencyFlag> <FirstAvailableFlag>N</FirstAvailableFlag> <PrescriptionType> <PrescriptionTypeCode>SSN</PrescriptionTypeCode> <PrescrTypeDescription>Servizio Sanitario Nazionale</PrescrTypeDescription> <Qualify>Y</Qualify> <SSNRegional>Y</SSNRegional> <SameBranch>Y</SameBranch> <ServicesNumber>8</ServicesNumber> </PrescriptionType> <PaymentMode> <PaymentId>C</PaymentId> <PaymentDescription>Ticket</PaymentDescription> <AvailExemption>N</AvailExemption> </PaymentMode> <Exemption/> <!--<ExClassCode>${CODICE_ESENZIONE_TICKET} </ExClassCode> </Exemption>--> <TimingConstraints> <EndDate>${DATE_END}</EndDate> <EndTime/> <InitialDate>${DATE_START} </ InitialDate> <InitialTime/> <PreferredDay/> <InTheDay/> </TimingConstraints> <GeographicalConstraints> <Locality> <LocalityCode>PIS_CHIARA </LocalityCode> <LocalityName>Santa </LocalityName>

Page 21: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento

CUP Unico Regionale

Pagina 21 di 31

</Locality> <Locality> <LocalityCode>RMC_PRIM </LocalityCode> <LocalityName>Roma</LocalityName> </Locality> </GeographicalConstraints> <SpecialistList/> <SimpleServiceAttrList> <SimpleServiceAttr> <SimpleServiceCode>${ID_SERVIZIO} </SimpleServiceCode> <Gap/> <Number>${REPEAT}</Number> </SimpleServiceAttr> </SimpleServiceAttrList> </Prescription> </PrescriptionList> </Request> </AVAILABILITY>

La chiamata al servizio AVAILABILITY ritorna l’elemento AVAILABILITY_OK che contiene la lista delle disponibilità sottoforma di appuntamenti. I risultati ottenuti sono contenuti nell’elemento “AppointmentList” come elementi Appointment. Questi elementi saranno divisi per creare un numero parametrizzato di tracciati “ListaAppuntamenti” che conterranno le disponibilità per gli appuntamenti. Ognuno di questi tracciati sarà inserito come record della tabella CODA_RICHIESTE_PRENOTAZIONI , il parametro che indica quanti appuntamenti dovranno essere presenti in ogni tracciato sarà configurato nella classe “worker”. Di seguito un esempio del tracciato e la struttura della tabella CODA_RICHIESTE_PRENOTAZIONI . All’applicativo chiamante sarà restituito il primo record inserito in tabella che sarà trasformato nel tracciato Hl7 di tipo PRSC_IN040002IT01. Di seguito un modello del messaggio “ListaAppuntamenti” che contiene la mappature che andranno riportate nel messaggio Hl7.

Page 22: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 22 di 31

<ListaAppuntamenti xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/C:/progetti/Arit/cup/tracciatiCUP/appointments.xsd" count="1"> <Appointment> <AppointmentId>${ID_SLOT} </AppointmentId> <BookedStatus/> <ConfirmationAppointmentId/> <DateAndTime>${SLOT_TIMESTAMP} </DateAndTime> <PreparationNotes>PreparationNotes0</PreparationNotes> <Selected>false</Selected> <!--Reserved>$da definire ?<statusCode code="????"/></Reserved--> <Status>Status0</Status> <Private/> <Reserved>false</Reserved> <Recycle>0</Recycle> <UrgencyFlag/> <DeferredUrgencyFlag/> <SCO> <IdentityID/> <Code>PESCARA</Code> <Name>${STRUTTURA_EROGANTE} </Name> <SCONickName/> </SCO> <Department> <DeptID>${DEPARTMENT_ID} </DeptID> <DepartmentName>Cardiologia visite E.C.G.${DEPARTMENT_DESCRIPTION#1}</DepartmentName> <Address>Reparto 1? piano Ala Vecchia${DEPARTMENT_DESCRIPTION#2}</Address> <Phone/> <Country> <CountryName>POPOLI${DEPARTMENT_DESCRIPTION#5} </CountryName> </Country> <Place> <Description>Ospedale di Popoli${DEPARTMENT_DESCRIPTION#3}</Description> <Address>Via A. Saffi, 118${DEPARTMENT_DESCRIPTION#4}</Address> </Place> </Department> <ServiceCode>CA1</ServiceCode> <InternalIndex>0</InternalIndex> <Specialist> <IdentityID>I05305${ID_MED}</IdentityID> <FirstName>FRANCA${NOME_MED} </FirstName> <LastName>BRUNO${COGNOME_MED} </LastName> </Specialist> </Appointment> </ListaAppuntamenti>

La tabella ACTIVE_SESSIONS sarà aggiornata con il valore della variabile RESERVED_ APPOINTMENT che rappresenta l’identificativo dell’appuntamento riservato sul sistema Remedes. (AVAILABILITY_OK/AppointmentList/Appointment[Reserved=true]/Reserved)

Se non si riesce ad effettuare la connessione, la scrittura delle variabili, l’identificazione univoca del paziente è necessario che la classe “worker” sollevi un eccezione generica che sarà gestita dallo strato di interfaccia hl7. Sarà previsto un job realizzato con il framework Spring per la pulizia delle sessioni rimaste attive, il delta per la gestione della durata della sessione sarà calcolato utilizzando come riferimento il campo DATA_AGGIORNAMENTO_SESSIONE e sarà configurabile attraverso il file di configurazione di Spring. Per ogni sessione sarà chiamato il servizio Remedes “disconnect”. Per recuperare i dati di ritorno l’applicativo di cartella potrà invocare il servizio in HL7 v.3 PRSC_AR040002IT01_Service utilizzando i messaggi PRSC_IN040001IT01 e QUQI_IN000003UV01.

Page 23: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 23 di 31

Di seguito è riportata la struttura del web service utilizzato per implementare il servizio PRSC_AR040002IT01_Service. WEB Service PRSC_AR040002IT01_Service

URL https://servicelocation/PRSC_AR040002IT01_Service

Servizi PRSC_AR040002IT01_Service

Porta PRSC_AR040002IT01_Port

Messaggio PRSC_AR040002IT01_Query_PRSC_IN040001IT01

Risposta al Messaggio Input: PRSC_IN040001IT01 Output: PRSC_IN040002IT01

WEB Service PRSC_AR040002IT01_Service

URL https://servicelocation/PRSC_AR040002IT01_Service

Servizi PRSC_AR040002IT01_Service

Porta PRSC_AR040002IT01_Port

Messaggio PRSC_AR040002IT01_Query_Continue_QUQI_IN000003IT01

Risposta al Messaggio Input: QUQI_IN000003IT01 Output: PRSC_IN040002IT01

I servizi relativi al Sovracup Remedes da invocare riguardano: Servizi Sovracup Remedes

Connect connessione

PatientList Identificazione paziente

RequestCode Avvio session di prenotazione

RefinementLocalities Ricerca dei Cup su cui prenotare

freeAppointment rilascia l’appuntamento opzionato

Avaibility Ricerca disponiblità filtrata per GeographicalConstraints

5.1.2.1.1 Ricerca con filtro ASL Se la ricerca viene effettuata utilizzando il filtro per ASL le operazioni da seguire sono quelle indicate nel paragrafo precedente (5.1.2.1). Il parametro che identifica l’ASL è definito nel messaggio PRSC_IN040002IT01 come ASL_SLOT. Per effettuare un filtro sulle località è necessario invocare il servizio esposto da Remedes come RefinementLocalities prima di effettuare l’invocazione al metodo Availability. La chiamata al metodo RefinementLocalities viene effettuata utilizzando come input il codice della prestazione da prenotare, saranno tornate tutte le località in cui è possibile effettuarla. Una volta ottenuta la lista delle località queste andranno verificate con il codice ASL_SLOT del messaggio hl7 di input e inserire nel segmento relativo alla ricerca di disponibilità Availability (GeographicalConstraints) solo le località appartenenti a quella ASL. Per far questo è necessario ottenere una lista di tutte le strutture eroganti con la specifica relativa alla ASL di appartenenza oppure effettuare un chiamata al servizio RefinementLocalities per verificarne il ritorno. I servizi in Hl7 da interrogare sono quelli definiti nel paragrafo precedente. I servizi relativi al Sovracup Remedes da invocare riguardano: Servizi Sovracup Remedes

Page 24: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 24 di 31

Connect connessione

PatientList Identificazione paziente

RequestCode Avvio session di prenotazione

Avaibility Ricerca disponibilità

5.1.2.1 SIPCUP - Servizio Inserimento Prenotazione CUP La chiamata di prenotazione utilizza il messaggio Hl7 PRSC_IN030101UV01 - Richiesta Appuntamento. Dalla lista delle disponibilità proposte si sceglie uno degli appuntamenti per il quale viene inviato un messaggio di conferma verso il CUP che risponde con un messaggio di conferma o di rifiuto. Quando arriva una chiamata al servizio Hl7 PRSC_AR030101UV_Request_PRSC_ IN030101UV01 è necessario recuperare dal messaggio hl7 PRSC_IN030101UV01 la variabile di sessione (attentionLine\keyWordText\IISESSIONID) e verificare che esista nella tabella ACTIVE_SESSIONS una sessione già attiva che corrisponde alla identificativo di sessione passato. Nel dettaglio i flussi vedranno principalmente il susseguirsi delle seguenti operazioni:

• chiamata ad una classe “worker” che estende un classe interfaccia che prende in input il messaggio hl7 come stringa;

• Dalla tabella vengono recuperati i valori relativi a : IISESSION_ID, APCSessionID, ID_SERVIZIO e PATIENT_ID che saranno usati per effettuare la chiamata al servizio Booking del sistema Remedes;

<BOOKING> <PatientId>${PATIENT_ID} </PatientId> <Telecommunication>050550178</Telecommunication> <AppointmentList> <Appointment> <AppointmentId>${ID_SLOT} </AppointmentId> <ServiceRequest> <ServiceCode>${ID_SERVIZIO} </ServiceCode> <ServiceName/> <Status>O</Status> <Type>S</Type> <SimpleServiceList> <SimpleService> <SimpleServiceCode>${ID_SERVIZIO} </SimpleServiceCode> </SimpleService> </SimpleServiceList> </ServiceRequest> </Appointment> </AppointmentList> </BOOKING>

• Il sistema risponde con un messaggio di tipo BOOKING_OK con l’indentificativo relativo

all’appuntamento valido sul sistema Remedes (RemedesAppointmentId) e BookedStatus uguale a true;

• Viene chiamato il servizio Remedes “bookingByCode” utilizzando come paramentro di

ricerca il metodo l’dentificativo dell’appuntamento ottenuto dalla BOOKING_OK e

Page 25: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 25 di 31

mettendolo dentro <AppointmentId>02104</AppointmentId> per effettuare il recupero dei campi relativi al paziente e alla data dell’appuntamento il sistema ritorna un messaggio BOOKING_BY_CODE_OK;

• I messaggio BOOKING_OK e BOOKING_BY_CODE_OK vengono trasformati nel tracciato hl7 PRSC_IN030102UV01 - Richiesta Appuntamento Confermato con le indicazioni relative all’appuntamento chiamato. Di seguito viene indicato il tracciato e i campi da inserire sul messaggio hl7.

<BOOKING_OK> <AppointmentList> <Appointment> <AppointmentId>${ID_APPUNTAMENTO} </AppointmentId> <RemedesAppointmentId>${ID_CONFERMA} </RemedesAppointmentId> <AppointmentStatus>O</AppointmentStatus> <BookedStatus>true</BookedStatus> <RequestPriceEuro>20.66</RequestPriceEuro> <SimpleServiceList> <SimpleService> <SimpleServiceCode>CA1</SimpleServiceCode> </SimpleService> </SimpleServiceList> </Appointment> </AppointmentList> </BOOKING_OK>

<BOOKING_BY_CODE_OK> <Appointment> <AppointmentId>031095</AppointmentId> <RequestCode>031095</RequestCode> <BookedStatus/> <ConfirmationAppointmentId>A1043938391577</ConfirmationAppointmentId> <DateAndTime>${APPT_TIMESTAMP} </DateAndTime> <DetailsNote>Indisponibilità improvvisa </DetailsNote> <Preference/> <PreparationNotes/> <RemedesAppointmentId>031095</RemedesAppointmentId> <Selected/> <Status>R</Status> <DateOfBooking>30/01/2003 00:00</DateOfBooking> <DateOfUpdating>30/01/2003 18:56</DateOfUpdating> <Private/> <Reserved>false</Reserved> <Recycle/> <UrgencyFlag/> <DeferredUrgencyFlag/> <DateOfConfirmStart/> <DateOfConfirmEnd/> <Duplicated/> <Source/> <Revokable>false</Revokable> <Movable>false</Movable> <SCO> <IdentityID>XD000000016</IdentityID> <Code>PISA</Code> <Name>Azienda Ospedaliera Pisana</Name> <SCONickName>PIS_</SCONickName> <RequestPriceBySCO/> <RequestPriceEuroBySCO/> </SCO> <Department> <DeptID>PIS_CARDIO2</DeptID> <DepartmentName>Unita' cardiologica</DepartmentName> <AliasName>CARDIO2</AliasName>

Page 26: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 26 di 31

<Address/> <Phone/> <Country> <CountryCode/> <CountryName>PISA</CountryName> <CountryFiscalCode/> <CountryZip/> <CountryProv/> </Country> <Place> <PlaceCode/> <Description>Ospedali Riuniti S.Chiara</Description> <Address>Via Santa Maria 5 Via Santa Maria 5</Address> <CAP/> </Place> </Department> <Specialist> <IdentityID>I001346</IdentityID> <FirstName>Valentino</FirstName> <LastName>Cuori</LastName> <MiddleName/> <HealthcarePositionCode/> <HealthcarePositionDescription/> <SpecialistCode>S001346</SpecialistCode> <Title/> <DateOfBirth/> </Specialist> <ServiceRequest> <ServiceCode>CA1</ServiceCode> <ServiceName>VISITA CARDIOLOGICA </ServiceName> <SimpleServiceList> <SimpleService> <SimpleServiceCode>CA1</SimpleServiceCode> <SimpleServiceName>VISITA CARDIOLOGICA </SimpleServiceName> <Prescription> <PrescriptionIndex>2</PrescriptionIndex> <FirstPartCode/> <SecondPartCode/> <setUrgencyFlag/> <DeferredUrgencyFlag/> <FirstAvailableFlag/> <AutoGenerate>false</AutoGenerate> </Prescription> <PrescriptionType> <PrescriptionTypeCode>SSN</PrescriptionTypeCode> <PrescrTypeDescription>Servizio Sanitario Nazionale</PrescrTypeDescription> <Qualify>Y</Qualify> <SSNRegional>Y</SSNRegional> <SameBranch>Y</SameBranch> <ServicesNumber>8</ServicesNumber> </PrescriptionType> <PaymentMode> <PaymentType>C</PaymentType> <PaymentDescription>Ticket</PaymentDescription> <SCOPaymentId/> <AvailExemption/> </PaymentMode> </SimpleService> </SimpleServiceList> <Prescription> <PrescriptionIndex>2</PrescriptionIndex> <FirstPartCode/> <SecondPartCode/> <setUrgencyFlag/> <DeferredUrgencyFlag/> <FirstAvailableFlag/> <AutoGenerate>false</AutoGenerate> </Prescription> </ServiceRequest> </Appointment> <PrescriptionList> <Prescription>

Page 27: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 27 di 31

<PrescriptionIndex>2</PrescriptionIndex> <FirstPartCode/> <SecondPartCode/> <setUrgencyFlag/> <DeferredUrgencyFlag/> <FirstAvailableFlag/> <AutoGenerate>false</AutoGenerate> </Prescription> <PrescriptionType> <PrescriptionTypeCode>SSN</PrescriptionTypeCode> <PrescrTypeDescription>Servizio Sanitario Nazionale</PrescrTypeDescription> <Qualify>Y</Qualify> <SSNRegional>Y</SSNRegional> <SameBranch>Y</SameBranch> <ServicesNumber>8</ServicesNumber> </PrescriptionType> <PaymentMode> <PaymentType>C</PaymentType> <PaymentDescription>Ticket</PaymentDescription> <SCOPaymentId/> <AvailExemption/> </PaymentMode> </PrescriptionList> <Patient> <PatientId>1000000000000215</PatientId> <FirstName>${PAZ_NOME} </FirstName> <LastName>${PAZ_COGNOME} </LastName> <MiddleName/> <DateOfBirth>${PAZ_DATA_NASC}</DateOfBirth> <Sex>${PAZ_SEX}</Sex> <AdvancedSearch>false</AdvancedSearch> <MedidocPatientID/> <CityOfBirth/> <Certified>I</Certified> <CountryBirth> <CountryCode>080063</CountryCode> <CountryName>REGGIO DI CALABRIA </CountryName> <CountryFiscalCode/> <CountryZip/> <CountryProv/> </CountryBirth> <Address> <AddressText/> <Street></Street> <CivicNumber></CivicNumber> <PostCode>56100</PostCode> <Country> <CountryCode>050026</CountryCode> <CountryName>PISA</CountryName> <CountryFiscalCode/> <CountryZip/> <CountryProv/> </Country> </Address> <AddressReside> <AddressText>${PAZ_DOM_IND} </AddressText> <Street>${PAZ_DOM_IND} </Street> <CivicNumber>${PAZ_DOM_IND} </CivicNumber> <PostCode>${PAZ_DOM_IND} </PostCode> <Country> <CountryCode>${PAZ_DOM_ISTAT} </CountryCode> <CountryName>PISA</CountryName> <CountryFiscalCode/> <CountryZip/> <CountryProv/> </Country> </AddressReside> <Nationality/> <TelecommunicationList> <Telecommunication> <ExtensionNumber/> <Number>06.878789</Number>

Page 28: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 28 di 31

<Type/> <EmailAddress/> </Telecommunication> </TelecommunicationList> <ASLAssistance> <IdentityID/> <Code>090105</Code> <Name>PISA</Name> <ASLCode>090105</ASLCode> </ASLAssistance> <ASLBelonging> <IdentityID/> <Code>090105</Code> <Name>PISA</Name> <ASLCode>090105</ASLCode> </ASLBelonging> <IdDocumentList> <IdDocument> <Type>FiscalCode</Type> <Code>RSSNTN60A14H501U</Code> </IdDocument> </IdDocumentList> </Patient> </BOOKING_BY_CODE_OK>

• In caso di mancata conferma, cioè il sistema non ritorna un corretto BookedStatus e il

RemedesAppointmentId, sarà tornerà al chiamante un messaggio hl7 di tipo PRSC_IN030102UV01;

• In chiusura chiamare il servizio Remedes “disconnect”.

Di seguito è riportata la struttura del web service utilizzato per implementare il servizio PRSC_AR030101UV_Service. WEB Service PRSC_AR030101UV_Service

URL https://servicelocation/PRSC_AR030101UV_Service

Servizi PRSC_AR030101UV_Service

Porta PRSC_AR030101UV_Port

Messaggio PRSC_AR030101UV_Request_PRSC_ IN030101UV01.Message

Risposta al Messaggio Input: PRSC_IN030101UV01 Output: PRSC_IN030102UV01 Fault: PRSC_IN030103UV01

I servizi relativi al Sovracup Remedes da invocare riguardano: Servizi Sovracup Remedes

Booking

bookingByCode

5.1.2.1 SRLPA - Servizio Recupero Lista Prenotazioni per Assistito Si interroga il sistema chiedendo la lista delle prenotazioni relative ad un determinato assistito. I parametri di ricerca sono l’identificativo del paziente e il periodo di ricerca.

Page 29: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 29 di 31

Il servizio hl7 esposto è uguale a quello utilizzato per il flusso di “Richiesta disponibilità” per il recupero delle prenotazioni il messaggio non contiene nel segmento ”attentionLine” la chiave “query_type” con valore uguale a “ricerca_slot” ma uguale a “ricerca_prenotazioni”. Nel dettaglio i flussi vedranno principalmente il susseguirsi delle seguenti operazioni:

• chiamata ad una classe “worker” che estende un classe interfaccia che prende in input il messaggio hl7 come stringa;

• Chiamata al servizio di “autenticazione Medici di base” per ottenere l’identificato del medico sul sistema Remedes per effettuare questa chiamata viene recuperato il codice fiscale del medico dal messaggio hl7 PRSC_IN040001IT01 (sender/device[@extension]);

• Chiamata al metodo “connect” del sistema Remedes utilizzando come IISessionID il codice passato dall’applicativo chiamante. Nell’elemento <HealthcareCode> della parte Connect sarà inserito il codice del prescrittore ottenuto dal servizio precedente;

• Una volta ottenuta la risposta al metodo di connessione dal element part connectOK sarà ricavato SessionID che è la variabile definità come APCSessionID;

• Chiamata al servizio PatientList utilizzando IISessionID e APCSessionID ricavati in precedenza e come criterio di ricerca dell’elemento PATIENT_LIST il codice fiscale del assistito(ID_PAZ_CF) ricavato dal messaggio hl7 PRSC_IN040001IT01, la chiamata restituisce l’elemento PATIENT_LIST_OK che contiene l’elemento <PatientId> cioè l’identificativo del paziente sul sistema Remedes;

• Chiamata al servizio Remedes “requestListByPatient” utilizzando il codice PatientId ricavato dall’elemento PATIENT_LIST_OK. Dal messaggio che torna di tipo EQUEST_LIST_BY_PATIENT_OK vengono estratti i RequestCode che saranno utilizzati per le chiamate al servizio requestListByCode;

• Il servizio “requestListByCode” sarà chiamato per un numero di volte pari a i requestCode tornati dalla chiamata al servizio “requestListByPatient”, i risultati contenuti nell’elemento AppointmentList cioè tutti gli elementi Appointment saranno assemblati in unico risultato al quale saranno applicati eventuali filtri relativi:

o alla data identificati nel messaggio Hl7 dai parametri ${DATE_START} data inizio ricerca e ${DATE_END} = data fine ricerca e relativi

o al servizio identificato nel messaggio originale dal campo ${ID_SERVIZIO}. o all’identificativo dell’appuntamento identifica dal campo ${ID_SLOT} ;

• Questi elementi saranno divisi e saranno creati un numero parametrizzato di tracciati (AppointmentList) che contengono le disponibilità per gli appuntamenti. Ognuno di questi tracciati sarà inserito come record della tabella CODA_PRENOTAZIONI , il parametro che indica quanti appuntamenti dovranno essere presenti in ogni tracciato sarà configurato nella classe “worker”. Di seguito un esempio del tracciato e la struttura della tabella CODA_PRENOTAZIONI . All’applicativo chiamante sarà restituito il primo record inserito in tabella che sarà trasformato nel tracciato Hl7 di tipo PRSC_IN040002IT01. Gli altri risultati saranno mostrati utilizzando il medesimo servizio Hl7 ma l’”operation”: PRSC_AR040002IT01_Query_Continue_QUQI_IN000003UV01 che sarà descritta nel paragrafo successivo.

L’applicativo di cartella potrà recuperare le informazioni invocando il servizio in HL7 v.3ice utilizzando i messaggi PRSC_IN040001IT01 e QUQI_IN000003UV01.

Page 30: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 30 di 31

Di seguito è riportata la struttura del web service utilizzato per implementare il servizio PRSC_AR040002IT01_Service. WEB Service PRSC_AR040002IT01_Service

URL https://servicelocation/PRSC_AR040002IT01_Service

Servizi PRSC_AR040002IT01_Service

Porta PRSC_AR040002IT01_Port

Messaggio PRSC_AR040002IT01_Query_PRSC_IN040001IT01

Risposta al Messaggio Input: PRSC_IN040001IT01 Output: PRSC_IN040002IT01

WEB Service PRSC_AR040002IT01_Service

URL https://servicelocation/PRSC_AR040002IT01_Service

Servizi PRSC_AR040002IT01_Service

Porta PRSC_AR040002IT01_Port

Operazione PRSC_AR040002IT01_Query_Continue_QUQI_IN000003IT01

Risposta al Messaggio Input: QUQI_IN000003IT01 Output: PRSC_IN040002IT01

I servizi relativi al Sovracup Remedes da invocare riguardano: Servizi Sovracup Remedes

PatientList

requestListByPatient

requestListByCode

5.1.2.1 SAPCUP - Servizio Annullamento Prenotazione CUP Utilizzando la lista delle prenotazioni recuperate per un determinato assistito è possibile una volta consultato lo stato se questo è diverso da erogato procedere con una richiesta di annullamento. Quando arriva una chiamata al servizio Hl7 PRSC_AR010300UV_Request_PRSC_IN010601UV01 è necessario recuperare dal messaggio hl7 PRSC_IN010601UV01 seguire il flusso indicato di seguito:

• chiamata ad una classe “worker” che estende un classe interfaccia che prende in input il messaggio hl7 come stringa;

• chiamare il servizio Remedes bookingByCode utilizzando il ${ID_APPUNTAMENTO} del messaggio PRSC_IN010601UV01;

• Utilizzare i dati contenuti nel ritorno BOOKING_BY_CODE_OK del servizio per effettuare la chiamata al servizio Remedes “RevokeAppointment”;

• Se la prenotazione viene annullata con successo il sistema risponde con un messaggio REVOKE_OK e all’applicativo chiamante viene tornato un messaggio hl7 di tipo PRSC_IN010602UV01altrimenti viene sollevato un fault hl7 di tipo IN010603UV01.

Di seguito è riportata la struttura del web service utilizzato per implementare il servizio PRSC_AR010300UV_Service.

Page 31: Rete di Medici di Medicina Generale CUP Unico Regionale Tecniche Modulo CUP.pdfRete di Medici di Medicina Generale Specifiche Tecniche Modulo applicativo di Interfacciamento CUP Unico

Rete di Medici di Medicina Generale Specifiche Tecniche Modulo Applicativo di Interfacciamento

CUP Unico Regionale

Pagina 31 di 31

WEB Service PRSC_AR010300UV_Service

URL https://servicelocation/PRSC_AR010300UV_Service Servizi PRSC_AR010300UV_Service

Porta PRSC_AR010300UV_Port

Messaggio PRSC_AR010300UV_Request_PRSC_IN010601

Risposta al Messaggio Input: PRSC_IN010601 Output: PRSC_IN010602 Fault: PRSC_IN010603

I servizi relativi al Sovracup Remedes da invocare riguardano: Servizi Sovracup Remedes

bookingByCode

RevokeAppointment