COGZ40 — Prescrizione medica
| Campo |
Valore |
| Sorgente |
cbl/cogz40.cbl |
| Program-ID |
cogz40 |
| Tipo |
Maschera GUI interattiva (testata) |
| Posizione menu |
Lab.Odont. > Operativo > Prescrizione Medica |
Scopo
E' il programma centrale dell'operativo del laboratorio odontotecnico: gestisce la prescrizione medica, ovvero l'anagrafica della commessa che il laboratorio riceve dallo studio dentistico. Per uno studio/cliente e un paziente, registra la prescrizione (LODPRESC) e la relativa testata commessa (LODCMTES/LODCMAGG/LODCMAG2): date di entrata/consegna, dottore prescrittore, tipo dispositivo, materiali, agente/tecnico, destinazione d'uso, responsabile, cassetta, importo preventivo, ordine cliente. Da questa maschera partono numerose funzioni collegate (etichette, materiale consegnato, immagini/fascicolo tecnico, impegni/agenda, note, preventivi, bollettini). E' un programma molto esteso (~7500 righe) e altamente configurabile via RNEWCONF; puo' essere richiamato da altri moduli (es. COGZ07) tramite il canale utilz40.cpy.
Struttura e flusso
apri: init standard, gestione parametri di chiamata (z40-called = COGZ40-CALLED / COGZ40-COGZ07), lettura di ~28 configurazioni (x99-confi), eventuale apertura del log prescrizioni (LOGFILE), predisposizione tasti funzione e di numerosi pulsanti custom (F5 commessa, F1 note interne, F2 note particolari, F5 stampa etichette, S-F6 medici, S-F7 note medico, F6 materiale/preventivi/bollettino, F7 archivia immagine, S-F8 impegno, F9 note lavoro, S-F1 nuovo fascicolo, F10 bollettini, S-F4 fascicolo tecnico).
a4: reset della maschera, lettura reparto operatore (PRNTOPER, PCASE-3995), divisa conto (COGU10W), operatore inseritore, apertura file temporaneo note LODTMDES.
a-tm-cli e seguenti: accept della testata delegato alla subroutine di prescrizione COGS98W (z-s98-tm-presc), che gestisce studio/paziente/progetto/numero commessa e restituisce l'esito (new, found, prev, exit). Su commessa esistente si carica in variazione (a1-carica), su nuova si passa in inserimento (fl-ela = "I").
- Campi di testata gestiti da COGZ40: dottore prescrittore (COGG32 medici), tipo dispositivo (COGZ93), destinazione d'uso (COGZ0A / COGZ1C modello allegati), agente/tecnico e distretto (COGS65W / COGD88), date di entrata/consegna con calendario, importo preventivo, ordine cliente.
b-inserisci: salvataggio completo della prescrizione — scrive LODPRESC (testata prescrizione), LODCMTES (testata commessa), LODCMAGG e LODCMAG2 (dati aggiuntivi: dottore, tecnico, distretto, preventivo, consegna effettiva, ordine, modello istruzioni d'uso). In inserimento con numerazione automatica (tm-cfg-num-aut ≠ N, flag fl-num) il numero commessa e' generato da COGZA6 con retry in caso di collisione. Le note testuali (tipi T1/T2/T3/T4) sono gestite via LODTMDES/LODDESCR con l'editor COGDEW.
- Controllo limite commesse per data consegna: se
tm-cfg-nr-commesse-per-data-cons > 0, conta le commesse con la stessa data di consegna e avvisa l'operatore (DIALOGS).
- Aggiornamento data consegna righe: in variazione di commessa in stato aperto, propaga la nuova data alle righe di lavoro secondo le configurazioni
mod-consegna-*.
- Archiviazione automatica: se configurato
path-archiviazione-auto e presente la cassetta, cerca i file nella cartella client, li archivia (COGU06) e li sposta in backup (COPIAF).
- Cancellazione prescrizione (
del-lodpresc e correlate) con registrazione evento tramite GESEVLOG (log di cancellazione).
fine/z-chiudi: chiusura file, cancellazione LODTMDES, cancel dei sottoprogrammi.
Tabelle utilizzate
| Tabella |
Accesso |
Descrizione |
LODPRESC (lpm) |
lettura/scrittura/riscrittura/cancellazione |
Testata prescrizione (record principale: studio, paziente, progetto, numero commessa) |
LODCMTES (lct) |
lettura/scrittura/riscrittura/cancellazione |
Testata commessa (responsabile, cassetta, coefficiente, destinazione) |
LODCMAGG (lcg) |
lettura/scrittura/riscrittura |
Dati aggiuntivi commessa (dottore, tecnico, distretto, preventivo) |
LODCMAG2 (lc2) |
lettura/scrittura/riscrittura |
Dati aggiuntivi commessa 2 (consegna effettiva, ordine, modello istruzioni) |
LODCMRIG (lcr) |
lettura/riscrittura |
Righe di lavoro della commessa (aggiornamento data consegna) |
LODRACCO (lrc) |
lettura/scrittura/cancellazione |
Raccordi/documenti collegati alla commessa |
LODDESCR (lde) |
lettura/scrittura/riscrittura/cancellazione |
Note testuali (T1 lavoro, T2 interne, T3 particolari, T4 destinazione d'uso) |
LODTMDES (ltd) |
I-O temporaneo |
File di lavoro per le note (COGDEW) |
LODPNTES / LODPNRIG (lpt/lpr) |
lettura/riscrittura |
Piano di fabbricazione (testata/righe) |
LODPFSTD (pfs) |
lettura |
Piani standard per cliente (proposta piano) |
LODTABEL / LODTABDU (lta/dus) |
lettura |
Tabelle (tipi dispositivo, destinazioni d'uso) |
LODBOLCL (bcl) |
lettura |
Bollettari cliente |
LODMODST (lmst) |
lettura |
Modelli/stato |
LODINFCC (icc) |
lettura/scrittura |
Informazioni incasso anticipato conto corrente |
LODFASCI (lfs) |
lettura |
Fascicolo paziente |
COGGEANA (ana) |
lettura |
Anagrafica clienti/studi |
COGANAAG / COGANAPP / COGAPPOG (aag/aap/app) |
lettura |
Agenti, appoggi, dati aggiuntivi |
COGDESTI (dst) |
lettura |
Destinazioni merce |
COGRIFER (rif) |
lettura |
Riferimenti/responsabili |
COGTABEL (euta) |
lettura |
Operatori (tipo 36), agenti (tipo 21) |
COGTESBO / COGRACBB (tes/rbb) |
lettura/scrittura |
Bollettini e raccordi bollettini |
COGTESCM (tsc) |
lettura |
Testate commesse (ricerca) |
COGMOADG / COGMODST / COGDESCR (moadg/mdc/cde) |
lettura/scrittura |
Modelli, stati modello, descrizioni |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
| COGS98W |
util-s98 |
Subroutine testata prescrizione (studio/paziente/progetto/commessa) — cuore della testata |
| COGS94W |
util-s94 |
Gestione record paziente |
| COGS65W |
util-s65 |
Ricerca agente/distretto (combo) |
| COGU06 |
util-u06 |
Documentale: archiviazione/visualizzazione immagini |
| COGU10W |
util-u10 |
Recupero divisa conto |
| COGU41 |
util-u41 |
Calcolo eta' paziente |
| COGDEW |
— |
Editor note testuali (T1/T2/T3/T4) |
| COGD88 |
util-d88 |
Ricerca agenti/distretti (Wilocs) |
| COGZA6 |
util-za6 |
Generazione numero commessa automatico |
| COGZA7 |
util-za7 |
Gestione incasso anticipato pagamenti CC |
| COGZ93 |
util-z93 |
Gestione tipo dispositivo |
| COGZ0A / COGZ1C |
util-cogz0a/util-cogz1c |
Destinazione d'uso / modello istruzioni d'uso (allegati) |
| COGZAP |
util-cogzap |
Gestione cliente con fido |
| COGV93 |
util-cogv93 |
Gestione preventivi |
| COGG32 |
util-g32 |
Ricerca medici/dottori |
| COGZ71 |
util-z71 |
Nuovo fascicolo paziente (S-F1) |
| COGZ85 |
util-z85 |
Stampa etichette cassetta (F5) |
| COGZ53 |
util-z53 |
Materiale consegnato (F6) |
| COGZ51 |
util-z51 |
Fascicolo tecnico / immagini (S-F4) |
| COGZ13 / COGZC5 / COGZC8 / COGZCF / COGZCH |
util-* |
Gestione impegni/agenda laboratorio (S-F8) |
| GESEVLOG |
util-gesevlog |
Registrazione evento di cancellazione |
| WIN129 / WINZ06 |
util-w92/util-wz06 |
Finestre di aiuto/ricerca commessa/lotto e prescrizioni |
| DIALOGS |
util-dlg |
Dialoghi di conferma (es. limite commesse per data) |
| COPIAF |
link-copiaf |
Copia/spostamento file (archiviazione automatica) |
| RNEWCONF |
util-ncnf |
Lettura configurazioni |
Configurazioni lette (x99-confi)
| Gruppo |
Chiave |
Campo |
odonto |
documento-accompagnamento |
tm-cfg-tip-doc |
odonto |
numero-commessa-automatico |
tm-cfg-num-aut |
odonto |
posizione-contatto-dottori |
tm-cfg-cnt-medico |
odonto |
log-prescrizioni |
tm-cfg-log |
odonto |
z40-mostra-lavori |
tm-cfg-z40-mostra-lavori |
odonto |
z40-avv-commessa |
tm-cfg-z40-avv-commessa |
clienti |
piu-agenti-per-cliente |
tm-cfg-piu-agenti |
odonto |
pagamento-anticipato-cc |
tm-cfg-pagam-anticipato-cc |
labpresc |
attribuzione-auto-paziente |
tm-cfg-attrib-auto-paz |
labpresc |
paziente-auto |
tm-cfg-auto-paz |
labpresc |
cassetta-visibile |
tm-cfg-cass-vis |
labpresc |
data-nascita-visibile |
tm-cfg-datanas-vis |
labpresc |
responsabile-visibile |
tm-cfg-respons-vis |
labpresc |
gestione-tipo-doc |
tm-cfg-ges-tipo-doc |
labpresc |
modifica-con-documenti |
tm-cfg-mod-com-doc |
labpresc |
consento-rientro-sospesa |
tm-cfg-rientro |
labimp |
gg-anticipo-chiusura-lavoro |
tm-cfg-gg-ant-chiusura |
abilita |
labod-impegni |
tm-cfg-labod-impegni |
labimp |
gg-lavoro-in-prova |
tm-cfg-gg-lav-in-prova |
labpresc |
vis-consegna-effettiva |
tm-cfg-vis-data-cons-effettiva |
labpresc |
modifica-consegna-righe-se-chiusa |
tm-cfg-mod-consegna-se-chiusa |
labpresc |
modifica-consegna-ultima-riga |
tm-cfg-mod-consegna-ultima-riga |
abilita |
lab-odont-ordine |
tm-cfg-abilita-ordine |
labpresc |
path-archiviazione-auto |
tm-cfg-path-archiviazione-auto |
odonto |
modo-gestione-allegati |
tm-cfg-modo-gestione-allegati |
abilita |
labod-progettazione |
tm-cfg-modalita-prog |
labpresc |
numero-commesse-per-data-consegna |
tm-cfg-nr-commesse-per-data-cons |
abilita |
bin-tipo |
tm-cfg-bin-tipo |
Copybook principali
| Copybook |
Ruolo |
cogz40.select / cogz40.fd / cogz40.prc / cogz40-01.scr |
Definizioni generate da Screen Designer |
cogz40.wrk |
Costanti e ID controlli della maschera |
costanti-labod.cpy / costanti-cogevlog.cpy |
Costanti laboratorio e log eventi |
utilz40.cpy |
Interfaccia di chiamata da altri moduli (es. COGZ07) |
logfile.fd / logfile.cpy |
Log delle prescrizioni |
l-copiaf.cpy / u-copiaf.cpy |
Copia/spostamento file |
utils98.cpy / utils94.cpy / utils65.cpy / utils52.cpy / utils54.cpy / utils93.cpy |
Interfacce subroutine testata/paziente/anagrafiche |
utilu06.cpy / utilu10.cpy / utilu41.cpy / utilu35w.cpy / utilzde.cpy |
Interfacce documentale, divisa, eta', note |
utilcogz0a.cpy / utilcogz1c.cpy / utilza6.cpy / utilza7.cpy / utilcogzc5.cpy / utilcogzc8.cpy / utilcogzcf.cpy / utilcogzch.cpy / utilcogzap.cpy |
Interfacce verso i moduli funzionali collegati |
utilncnf.cpy / utilrcnf.cpy |
Interfacce configurazioni |
lodtmdes.fd |
File temporaneo note |
cogazien.cpy / wstato.cpy / wopenf.cpy / wgrave.cpy / wnscr.cpy |
Working-storage standard |
Note
- La maschera e' a testata singola (nessuna griglia di dettaglio
e-tm-tab): i dettagli (righe di lavoro, piano di fabbricazione, note, documenti) sono gestiti in tabelle correlate e attraverso i sottoprogrammi collegati.
- Il fulcro dell'interazione e' COGS98W: gestisce la ricerca/selezione della commessa e ne restituisce lo stato; COGZ40 costruisce testata e dati aggiuntivi attorno al record da esso restituito.
- La numerazione automatica della commessa (COGZA6) scrive con retry finche' non trova un numero libero (gestione collisioni).
- Le commesse acquisite da portale vengono equiparate a quelle inserite manualmente in fase di gestione.
- Il comportamento cambia significativamente in base al profilo azienda (
az-personal, es. Wilocs: etichetta "Tecnico" al posto di "Agente", dottore obbligatorio).
Storico modifiche
041219: aggiunta telefono paziente; PBUG-572 dottore obbligatorio (Wilocs).
190521: gestione destinazione d'uso (note tipo T4).
171220: path di archiviazione automatica prescrizioni; registrazione evento cancellazione tramite GESEVLOG (task-5138).
201021: modo gestione allegati e modello istruzioni d'uso (COGZ1C).
180423: priorita' lavoro (tm-priorita) e modalita' progettazione.
160523: limite configurabile di commesse per data di consegna (numero-commesse-per-data-consegna).
100523: gestione chiamata per prescrizioni senza studio (solo progetto).
090724: PCASE-3995 — ricerca reparto operatore (Wilocs) per ora di consegna per reparto.
190526: gestione evento log (GESEVLOG) e configurazione bin-tipo.