Vai al contenuto

GRI020-GRI021 - Commesse (importazione)


GRI020 - Commesse laboratorio

Nome programma: GRI020 -- Classe: "020"

Questo programma viene innescato da GRI000 e importa un'informazione relativa alla classe "020".

Elaborazione

Questo programma e' di pura elaborazione; dovra' restituire al programma chiamante l'esito dell'elaborazione effettuata.

Caricare anche in una tabella di working gli indirizzi di e-mail contenuti sui contatti dell'azienda: * Scorrere GRPAZRIF, per tutti i record appartenenti all'azienda EXT-GRP-AZIENDA * Caricare tutti gli indirizzi AO-AZR-EMAIL significativi

Gli indirizzi di posta dovranno essere usati per inviare un messaggio in caso di problemi bloccanti.

Recupero informazioni da aggiornare

Lettura del record GRPIMPOR e GRPAZIEN. File di informazioni: * Path: GRPAZIEN.AO-AZI-PATH-IMPORT * nome: GRPIMPORT.AO-IMP-ID + "_" + GRPEXPOR.AO-IMP-CLASSE * estensione: ".arc"

Aggiornamenti

Loop sul file (formato testo delimitato da tabulazione). Tracciato: 020: commesse laboratorio.

Operazione sempre "AGG". Gli aggiornamenti dipendono dal tipo di azienda mittente/destinatario (vedi Sincronizzazione commesse).

Per ciascuna commessa da importare posizionarsi anche sul relativo record di riga packing (GRPPLDET), se significativi, altrimenti non eseguire la lettura (caso della clinica che trasferisce al lab. distrettuale a seguito di un ritocco "esterno" completato).

Riepilogo mittente/destinatario

Mittente PL Destinatario PL Azienda che importa Descrizione
C P P Creazione dettaglio. Si ricade in questo caso anche quando la clinica trasmette la commessa al lab. distrettuale a seguito della chiusura di un ritocco "esterno". In questo caso non avremo packing list.
C L L Creazione dettaglio
C L P Creazione dettaglio
P C C Aggiornamento
L C C Aggiornamento
L P P Aggiornamento
P L L Se la commessa non esiste (come nel caso C-L-L): creazione dettaglio

Legenda: * Mittente PL: tipo azienda relativo all'azienda che ha spedito la packing list: AO-PLT-MITTENTE * Destinatario PL: tipo azienda relativo all'azienda che ha ricevuto la packing list: AO-PLT-DESTINATARIO * Azienda che importa: tipo azienda relativo all'azienda attiva: EXT-GRP-AZIENDA

A - Creazione testata commessa

Da eseguire nei casi sopra descritti. Come prima cosa posizionarsi su riga e testata packing list usando l'apposita chiave presente sul file di input.

Ricerca eventuale esistenza commessa

Cercare su LODPRESC l'esistenza di una commessa con il numero trovato sul campo "COMMESSA" del file di input: se esiste inviare una e-mail: "Commessa gia' presente sulla base dati; non importata)" e uscire dall'elaborazione.

Ricerca del cliente relativo alla clinica che ha creato il lavoro

Scorrere tutta l'anagrafica clienti (COGGEANA) su ANA-TIPO = "C", finche' non si trova un cliente con ANA-COD-RIF = "Azienda mittente" (campo 12).

Se non trovato, inviare una e-mail: "La clinica non e' presente nell'anagrafica clienti; commessa non importata)" e uscire dall'elaborazione.

A.1 - Ricerca/inserimento paziente

Eseguire la ricerca su LODPAZIE impostando LPZ-COD = Codice paziente (campo 6).

Se il paziente non viene trovato lo si dovra' inserire:

Nome campo Contenuto
LPZ-COD Codice paziente
LPZ-NOME Codice paziente

In caso di inserimento di LODPAZIE, inserire un record anche su LODLEGPS:

Nome campo Contenuto
LPS-PAZIENTE LPZ-COD
LPS-STU-TIP "C"
LPS-STU-COD Codice cliente trovato

A.2 - Inserimento nuova commessa "laboratorio"

Inserimento LODPRESC

Nome campo Contenuto
LPM-MED Codice cliente trovato
LPM-PAZ Codice paziente
LPM-PRO Codice commessa
LPM-NUM Codice commessa
LPM-DATA Data commessa trovata sul file di input
LPM-DATA-CNS Data rientro (campo 11)
LPM-PAZ-ESTESO " "
LPM-TIP-LAV "C"
LPM-STATO "A"
LPM-MOD "B"
LPM-TIP-DSP Tipo dispositivo da configurazione "apo"-"tip-dsp-commessa-lab"
LPM-ESTRATTA "N"
LPM-FL-RIF "N"
LPM-BLOCCO "N"
LPM-DOTTORE GRPMEDIC.AO-MED-NOME, cercando con il medico trovato su CAMPO 5
LPM-COD Campo 13

Inserimento LODCMTES, LODCMAGG, LODPNTES

LODCMTES:

Nome campo Contenuto
LCT-COD LPM-NUM
LCT-MED LPM-MED
LCT-PAZ LPM-PAZ
LCT-PRO LPM-PRO
LCT-PIANO LPM-NUM
LCT-BLOCCO-LAB "N"
LCT-DATA-INI Data sistema
LCT-ORA-INI Ora sistema
LCT-FL-DA-SPEDIRE "N"
LCT-MODO "E"

LODCMAGG:

Nome campo Contenuto
LCG-COD codice commessa trovato
LCG-DIVISA w-currency-conto
LCG-OPE-INS WO-OPER
LCG-COMMESSA-STUDIO "N"
LCG-CP-TIP "C"
LCG-CP-COD Codice contatto relativa al medico (vedi A.2.1)

LODPNTES:

Nome campo Contenuto
LPT-TIP "T"
LPT-COD LPM-NUM
LPT-DES Dispositivo su paziente: LPM-PAZ
LPT-TDO Tipo dispositivo da configurazione "apo"-"tip-dsp-commessa-lab"

A.2.1 - Ricerca contatto

L'abbinamento tra medici presenti su Confident e quelli nel nostro sistema avviene attraverso il nome.

  • Ricerca su GRPMEDIC con CHIAVE 2, impostando AO-MED-NOME = nome medico
  • Se non viene trovato segnalare via e-mail: il medico xxxx non e' presente tra i medici abilitati al gruppo e interrompere l'elaborazione
  • Verificare se presente tra i contatti del cliente interno:
    • Scorrere tutti i record di COGRIFER collegati al cliente interno usando RIF-CHIA2: RIF-ANA-TIP = "C", RIF-ANA-COD = codice cliente trovato
    • Cercare tra i record uno che abbia RIF-NOME = nome medico
      • Se non trovato, inserire un record su COGRIFER:
Nome campo Contenuto
RIF-TIP "C"
RIF-COD Primo codice contatto libero
RIF-ANA-TIP "C"
RIF-ANA-COD codice cliente trovato
RIF-NOME Nome medico
RIF-POSIZIONE Posizione configurata su "odonto"-"posizione-contatto-dottori"

A.3 - Archiviazione immagine

Sulla riga packing in elaborazione sara' presente il nome del file con cui e' stata archiviata la prescrizione sulla clinica. Il documento dovra' essere archiviato come prescrizione sulla commessa creata.

Spostare il file sotto EXT-TMP-DIR, poi chiamata a COGU06 con i parametri:

Nome campo Contenuto
U06-OPE INSERISCI-FILE
U06-FL-INTERNO "T"
U06-TIP-DOC "LP"
U06-DOC-COGE Numero commessa
U06-DO-TIP-DOC "PRESCR."
U06-DO-NUM-INT Numero commessa
U06-DO-DATA LPM-DATA
U06-DO-NUM-EST Numero commessa
U06-DO-DATA-EST LPM-DATA
U06-DO-ANA-TIP "C"
U06-DO-ANA-COD LPM-MED
U06-DO-ANA-DES Descrizione del cliente LPM-MED
U06-OGGETTO "Cod.cliente/paziente"
U06-FILE Nome del file sotto EXT-TMP-DIR

Il file originale non dovra' essere rimosso

A.4 - Inserimento materiali commessa

Questa fase va eseguita solo in caso di inserimento nuova commessa.

Per ciascuna riga con tipo record = "02" presente nel file di input, inserire un record su LODCMMMD:

Nome campo Contenuto
LMD-COM LPM-NUM
LMD-RIGA numero progressivo
LMD-RIGA-USC 0
LMD-TIP-RIGA "D"
LMD-CLI LPM-MED
LMD-STATO "A"
LMD-MERCE k-merce-null
LMD-DES La descrizione sul record di input
LMD-QTA La quantita' sul record di input
LMD-QTA-RESA 0
LMD-DATA-ENTRATA data sistema
LMD-DATA-USCITA 0

B - Aggiunta fasi alla commessa

Sulla nuova commessa potranno essere inserite "n" fasi:

Descrizione fase Prestazione configurata
Ricezione lavoro prest-cl-ricezione
Subfornitura prest-cs-presc-subf
Chiusura/restituzione prest-cl-consegna

Per le fasi richieste (dipende da chi spedisce e da chi riceve) eseguire una chiamata ad APOZD1:

Nome campo Contenuto
APOZD1-OPE "INSERISCI-LAB"
APOZD1-COMMESSA Numero commessa laboratorio inserita
APOZD1-PAZIENTE 0
APOZD1-APPUNTAMENTO 0
APOZD1-PRESCRIZIONE " "
APOZD1-COM-LAB 0
APOZD1-MEDICO " "
Tabelle prestazioni Elenco delle prestazioni richieste
APOZD1-PRESTAZIONE Codice prestazione configurato
APOZD1-DATA 0
APOZD1-ORA 0
APOZD1-FL-AVA Sempre "N"

GRI020 - Versione 21-06-2013

Note versione: Se l'azienda che importa e' un lab. distrettuale, e la modalita' esecuzione e' esterna, la fase di "subfornitura" non deve essere avanzata.

La logica e' identica alla versione precedente con questa eccezione nella gestione delle fasi.


GRI021 - Aggiornamenti commessa

Classe: "021"

Questo programma viene innescato da GRI000 e importa un'informazione relativa alla classe "021".

Elaborazione

Caricare in una tabella di working gli indirizzi di e-mail contenuti sui contatti dell'azienda (GRPAZRIF), da usare per problemi bloccanti.

Recupero informazioni da aggiornare: come GRI020.

Aggiornamenti

Loop sul file (formato testo delimitato da tabulazione). Tracciato: 021: aggiornamenti a commesse.

Operazione sempre "AGG". Gli aggiornamenti dipendono dal tipo di operazione:

Operazione "A" (Un laboratorio ha chiuso una commessa)

L'azienda che riceve la richiesta avra' nella base dati la commessa richiesta. Questo programma dovra' chiuderla usando APOZD1:

Nome campo Contenuto
APOZD1-OPE "CHIUDI-TUTTO-COM-LAB"
APOZD1-COMMESSA Numero commessa da aggiornare

NB: questa operazione, se siamo su un'azienda "clinica", chiudera' anche le fasi relative sulla commessa studio (eseguito da APOZD1).

Operazione "B" (La clinica ha richiesto la modifica della scadenza su una o piu' commesse)

Chiamata a APOZD1:

Nome campo Contenuto
APOZD1-OPE "AGGIORNA-SCADENZA"
APOZD1-COMMESSA Numero commessa da aggiornare
APOZD1-DATA-SCAD Data scadenza trovata nel file di input

Operazione "C" (La clinica ha richiesto la cancellazione delle commesse)

Per ciascuna commessa da elaborare, chiamata a COGZ63:

Nome campo Contenuto
Z63-OPE "C"
Z63-COM Commessa da aggiornare

Estratto da documentazione interna ClickUp