JLABS

Mikrobiologie-2001.Step-by-step.037

Úkol 037 - kolonka Monitor u hlášení pozitivů TBC


Bullet Konkrétní úkol pro FN Bulovka.
Bullet Kontext. Existuje databázová tabulka, do které se zapisují vzorky/pacienti vykazující jisté zásadní rysy. Tyto rysy se jmenují "seznam" a typicky to je hp-tbc apod. Při zařazování nového pacienta do nějakého seznamu chceme vědět, zda se náhodou nenachází již v nějakém a třeba dokonce i stejném seznamu, kam jej chceme zařadit.
Bullet Konkretizace. Uděláme zásah do formuláře a skriptu na práci s hp-tbc a pro všechny ostatní seznamy to pak bude analogické.
Bullet Řešení.
A.Vše se odehraje v adresáři prg/xsez.

B.Zvolíme vhodné a dozajista ještě nepoužité jméno fiktivní proměnné - AlreadyIs - s významem "kde pacient už je zařazen".

C.Upravíme soubor hp-tbc.wiz tak aby začínal sekvencí:

AlreadyIs
    Caption = Monitor
    Color = !Cyan
    Comment = Tato položka ukazuje seznam monitorovaných markerů, kde všude již pacient je.
    DblClick = nodblclick.prg
Bydliste
    MaxSize = 64
    Caption = Adresa
    Comment = Adresa pacienta, vyplňuje se ručně.
    Color = Green
    DblClick = nodblclick.prg

C.Upravíme skript hp-tbc.prg přidáním volání podprogramu xsez/alreadyis.prg takto:

  ...
  _set !WizCaption=Zařazení vzorku $(Labno) pacienta $(Prijmeni) $(Jmeno) $(RC) do seznamu HP-TBC
  set seznam,hp-tbc,Color,Red,X,-,SezId,0,Datum,$(Today)
  call xsez/alreadyis.prg
  load.sql !select * from xsez where labno='$(labno)' and seznam='hp-tbc'
  ...
  return


D.Napíšeme jednoduchý skript alreadyis.prg, kterým se seznam načte:

  set AlreadyIs,,
  startsql !select distinct seznam from xsezview where rc='$(rc)' order by 1
    repeat
      ?getsql break
      if !@AlreadyIs = void then setv AlreadyIs,Seznam else _set AlreadyIs=$(AlreadyIs);$(Seznam)
    until false
  stopsql
  default AlreadyIs,Pacient zatím není monitorován
  return



Bullet Rejstřík kapitoly


JLABS Aktualizováno dne 20080213. Komentář: info@jlabs.cz