Psion Organizer II for WBC differentiation Message #15 Posted by Nenad (Croatia) on 13 Apr 2010, 2:52 a.m., in response to message #9 by Dave Britten
Quote:
Or you could go really old-school and get a cheap secondhand Psion Organiser II. :)
Several years ago I wrote this program for Psion Organizer II for the blood testing laboratory in my wife's pediatric office. The program supports counting types of leucocytes if you want to count them by type directly under microscope manually.
We simply had the Psion Organizer II available, with practically no use for it when I wrote this program.
Now, if there is a doubt wrt results of "differential white cell count" (I am not sure about the correct medical expression, but you will certainly understand) obtained by the "blood counting machine", you can check WBC differential count manually by Psion. When the operator recognizes the leucocyte in a certain field she presses the appropriate button for this type. Psion beeps when you reach 100, but you can continue counting if you want.
Just to shed some light to an easy implementation of this obsolete but robust gadget. There is nothing smart in this program, but its use is practical.
List of program
statements: PROG:EDIT A:DKS
DKS:
LOCAL SG%,LY%, MO%
LOCAL EO%, BA%, NS%
LOCAL AT%, TOT%, K%
LOCAL EOSI, BASO
LOCAL NSEG, ATYP
LOCAL SEGM, LYMP
LOCAL MONO, TOT
PRINT "DKS: COUNT START"
KSTAT 1
SG%=0 :LY%=0 :MO%=0 :EO%=0 :BA%=0 :NS%=0 :AT%=0
TOT%=0
DO
K%=GET
IF K%=65 :SG%=SG%+1 :TOT%=TOT%+1 :ENDIF
IF K%=66 :LY%=LY%+1 :TOT%=TOT%+1 :ENDIF
IF K%=67 :MO%=MO%+1 :TOT%=TOT%+1 :ENDIF
IF K%=68 :EO%=EO%+1 :TOT%=TOT%+1 :ENDIF
IF K%=69 :BA%=BA%+1 :TOT%=TOT%+1 :ENDIF
IF K%=70 :NS%=NS%+1 :TOT%=TOT%+1 :ENDIF
IF K%=71 :AT%=AT%+1 :TOT%=TOT%+1 :ENDIF
IF K%<>76 PRINT TOT%,
IF TOT%=100 :BEEP 800,1500 :ENDIF
ENDIF
UNTIL K%=76
PRINT
PRINT "DKS: RESULTS"
PRINT "Tot.cells=";TOT%
GET
TOT=FLT(TOT%)/1000
EOSI=INTF(EO%/TOT)*10
BASO=INTF(BA%/TOT)*10
NSEG=INTF(NS%/TOT)*10
SEGM=INTF(SG%/TOT)*10
LYMP=INTF(LY%/TOT)*10
MONO=INTF(MO%/TOT)*10
ATYP=INTF(AT%/TOT)*10
PRINT "EOSI=";EOSI;"%"
PRINT "BASO=";BASO;"%"
GET
PRINT "NSEG=";NSEG;"%"
PRINT "SEGM=";SEGM;"%"
GET
PRINT "LYMP=";LYMP;"%"
PRINT "MONO=";MONO;"%"
GET
PRINT "ATYP=";ATYP;"%"
PRINT
GET
STOP
Variables integer real
eosinophiles EO% EOSI
basophiles BA% BASO
nonsegmented NS% NSEG
segmented SG% SEGM
lymphocytes LY% LYMP
monocytes MO% MONO
atypical AT% ATYP
total number TOT% TOT
Edited: 13 Apr 2010, 3:01 a.m.
|