Vai al contenuto

COGZ07 — Ricostruzione testata commessa

Sorgente: cbl/cogz07.cbl | Program-ID: cogz07 | Tipo: Utility interattiva di ricostruzione dati (maschera a campi)

Menu: Lab.Odont. > Operativo > Utilita' > Ricostruzione testata


Scopo

Ricostruisce la testata di una commessa di laboratorio di cui, per qualche motivo, si e' persa la prescrizione (LODPRESC) e/o la testata commessa (LODCMTES). L'operatore fornisce i riferimenti della commessa (medico, paziente, progressivo, numero commessa) e il programma:

  1. Se LODCMTES esiste ma manca LODPRESC, inserisce direttamente la prescrizione.
  2. Altrimenti richiama COGZ40 per ricreare LODPRESC e LODCMTES come commessa nuova.
  3. Modifica su LODPRESC e LODCMTES i campi necessari per riportare la commessa allo stato reale (stato, piano temporaneo).
  4. Se mancante, ricrea la testata piano LODPNTES.

Nota storica (dal sorgente): dal 3/1/2008, dopo l'introduzione della richiesta prescrizione con COGS98, il programma non funziona piu' correttamente ma e' stato mantenuto "nel caso dovesse servire". Va quindi considerato uno strumento di manutenzione straordinaria, oggi di fatto non allineato al flusso corrente.


File e tabelle

File Copybook Accesso Scopo
feurtab cogfiles.cpy Tabella file di sistema
COGGEANA (via rd-coggeana) Lettura diretta Anagrafica medico/studio — descrizione
LODPRESC lodpresc.k04 Lettura/scrittura/riscrittura Prescrizione: creata o aggiornata (stato, flag estratta)
LODCMTES lodcmtes.k02 Lettura/riscrittura Testata commessa: aggiorna il codice piano (lct-piano)
LODPNTES (via rd-lodpntes/wr-lodpntes) Lettura/scrittura Testata piano — creata se mancante (lpt-tip = "T", descrizione "Temporaneo")

I file laboratorio (cogz07.select/cogz07.fd) sono generati da Screens.


Programmi chiamati (CALL)

Programma Condizione Scopo
COGS98W gestione campo prescrizione (z-s98-tm-presc, z-s98-init) Subroutine di richiesta/ricerca prescrizione (medico/paziente/progressivo/commessa)
COGZ40 LODCMTES non esistente Ricrea LODPRESC + LODCMTES come commessa nuova (z40-called = "COGZ40-COGZ07")
COGS65W a-tm-cli Help/gestione codice medico

Copybook incluse

Working Storage: feurtab.fd, cogz07.select, cogz07.fd, cogz07.wrk, wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy, cogazien.cpy, utils65.cpy, utils52.cpy, utils98.cpy, utilz63.cpy

Linkage: wcont.cpy, utils01.cpy, utilz40.cpy, wcont1.cpy

Screen: cogz07-01.scr

Procedure: stato1.cpy, stato.cpy, winmsg.cpy, grave.cpy, mmmask.cpy, opengen.cpy, lodcmtes.k02, lodpresc.k04, cogz07.prc


Logica di elaborazione

  1. Accept campi: medico/studio (tm-cli, con COGS65W), paziente (tm-paziente), progressivo (tm-pro), numero commessa (tm-num), poi piano temporaneo (tm-piano) e stato (tm-stato). La gestione della prescrizione passa per la subroutine COGS98W.

  2. Controllo commessa (x-controlla-commessa): verifica che la commessa NON sia gia' presente su LODPRESC (ne' per numero commessa ne' per medico/paziente/progressivo) e su LODCMTES; se e' gia' presente segnala l'errore e blocca. La variabile a-lodcmtes-ok distingue il caso in cui la testata commessa esiste gia'.

  3. Elaborazione (dopo conferma F3):

  4. Se a-lodcmtes-ok = "S": inserisce direttamente LODPRESC valorizzando medico, paziente, progressivo, numero, date da LODCMTES, stato e tipo doc B.
  5. Altrimenti: chiama COGZ40 che ricrea prescrizione e testata.
  6. Rilegge LODPRESC (per numero commessa e per prescrizione) e ne aggiorna stato e flag estratta.
  7. Rilegge LODCMTES e vi scrive il piano temporaneo (lct-piano).
  8. Verifica LODPNTES: se manca lo inserisce con descrizione "Temporaneo".

Paragrafi chiave

Paragrafo Scopo
apri Inizializzazione: apre file, imposta titolo e tasti funzione
a-tm-cli Accept codice medico via COGS65W
a-tm-paziente / a-tm-pro / a-tm-num Accept dati prescrizione/commessa
a-fine-commessa / x-controlla-commessa Verifica che la commessa non esista gia' su LODPRESC/LODCMTES
a-tm-piano / a-tm-stato Accept piano temporaneo e stato
a-richiesta-conferma Conferma e avvia la ricostruzione (inserimento LODPRESC / chiamata COGZ40, aggiornamenti, LODPNTES)
z-s98-tm-presc / fill-s98-* / flow-s98-* Interfaccia con la subroutine prescrizione COGS98W
fine / z-chiudi Chiusura file, cancel COGS98W, uscita