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
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
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