PSOCLO1 ;BHAM ISC/SAB, HEC/hrubovcak - Clozapine Rx lockout logic ;24 Feb 2020 14:00:01
Source file <PSOCLO1.m>
Package | Total | Call Graph |
---|---|---|
VA FileMan | 4 | YN^DICN ^DIK $$GET1^DIQ ^DIR |
Mental Health | 2 | ^YSCLSERV ($$CL,$$OVERRIDE,CL1)^YSCLTST2 |
Outpatient Pharmacy | 2 | ($$FINDNEXT,$$OVRDTXT,LABRSLT,OVRDTMBR,XTMPZRO)^PSOCLOU ($$GETREGYS,CRXTMP,CRXTMPI,MSG1,MSG10,MSG3,MSG4,MSG5,MSG6,MSG9,NUMBER1,QTYCHK)^PSOCLUTL |
Kernel | 1 | ($$FMADD,$$FMTE,$$NOW)^XLFDT |
MailMan | 1 | ^XMD |
action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
Package | Total | Caller Graph |
---|---|---|
Outpatient Pharmacy | 4 | PSODIR1 PSODRG PSOORED2 PSOORED6 |
Inpatient Medications | 1 | PSGOE7 |
Name | Comments | DBIA/ICR reference |
---|---|---|
OV1 | ;
|
|
CHECK | ;
|
|
OVRD | ;
|
|
GDOSE | ; ask daily dose
|
|
DOSE | ;
|
|
EXIT | ;
|
|
OVPRMPT | ; ask user to override
|
|
PKEYCHK | ; does user have PSOLOCKCLOZ key
|
|
MH | ;
|
|
DSP | ; subroutine: NCC remediation PSO*7.0*457
|
|
DIR | ;
|
|
END | ;
|
|
QU | ; no med prescribed
|
|
NOREG | ; Register a new/discontinued non-registered cloz patient
|
|
CONT | ||
QUIT | ;
|
|
OVRD2 | ;
|
|
OVRREA | ; Override reason when order is NCCC Approved
|
|
CHK4REG(PSCLDFN) | ; See if patient already has a clozapine registration number
|
|
CHK4DFN(PSCLRGNO) | ; See if this Clozapine registration is assigned
|
|
CHK4EXP(PSCLRGNO,PSCLDFN) | ; Check for registration expiration
; returns zero if expired, 1 if not |
|
CRXTMP(DFN,PSOYS) | ; create XTMP entry for 4 day supply tracking
|
|
CRXTMPI(DFN,PSOYS) | ; create XTMP entry for 4 day supply tracking
|
|
HASKEY(USRNUM) | ; Boolean function, does USRNUM hold the PSOLOCKCLOZ security key?
|
|
EXPDT(PSORXARY,CLOZPT) | ; PSORXARY,CLOZPAT passed by ref., determine expiration date (for Clozapine only)
; PSORXARY can be a new Rx (PSONEW) or an edited Rx (PSORXED and PSODIR) |
|
QTYCHK(PSORXARY,NUMDAYS) | ; check/adjust quantity, PSORXARY passed by ref., NUMDAYS is # of days
|
Name | Field # of Occurrence |
---|---|
YN^DICN | NOREG+9 |
^DIK | CONT+11 |
$$GET1^DIQ | PSOCLO1+22, PSOCLO1+24, GDOSE+6, GDOSE+7, EXIT+13, EXIT+14, CONT+1, CONT+6, CONT+14, EXPDT+19 |
^DIR | OVRD+16, OVRD+27, DOSE+3, DOSE+7, DOSE+8, OVPRMPT+2, DSP+7, DIR+1, OVRREA+8 |
$$FINDNEXT^PSOCLOU | NOREG+12 |
$$OVRDTXT^PSOCLOU | OVRD+8, OVRD+10 |
LABRSLT^PSOCLOU | PSOCLO1+23, EXIT+5, CONT+30 |
OVRDTMBR^PSOCLOU | OVRD2+2 |
XTMPZRO^PSOCLOU | CONT+24 |
$$GETREGYS^PSOCLUTL | PSOCLO1+15 |
CRXTMP^PSOCLUTL | CRXTMP+1 |
CRXTMPI^PSOCLUTL | CRXTMPI+1 |
MSG1^PSOCLUTL | OV1+24 |
MSG10^PSOCLUTL | OV1+10, OV1+21, OV1+22 |
MSG3^PSOCLUTL | OV1+14, OV1+15 |
MSG4^PSOCLUTL | OV1+14, OV1+15 |
MSG5^PSOCLUTL | END+1 |
MSG6^PSOCLUTL | OVRD+16 |
MSG9^PSOCLUTL | OV1+11, OV1+17, OV1+18 |
NUMBER1^PSOCLUTL | CONT+7 |
QTYCHK^PSOCLUTL | QTYCHK+2 |
$$FMADD^XLFDT | CONT+27, EXPDT+30 |
$$FMTE^XLFDT | CHECK+18, DSP+2 |
$$NOW^XLFDT | CHECK+3, CONT+22, CONT+27 |
^XMD | CONT+17 |
^YSCLSERV | CONT+23 |
$$CL^YSCLTST2 | PSOCLO1+29 |
$$OVERRIDE^YSCLTST2 | PSOCLO1+42, OV1+1 |
CL1^YSCLTST2 | PSOCLO1+45, OV1+3 |
Name | Line Occurrences |
---|---|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Routine Call |
|
FileNo | Call Tags |
---|---|
^DPT - [#2] | GET1^DIQ |
^PSRX - [#52] | GET1^DIQ |
52.0113 | GET1^DIQ |
^PS(55 - [#55] | GET1^DIQ |
^YSCL(603.01 - [#603.01] | Classic Fileman Calls |
^XTV(8989.3 - [#8989.3] | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^TMP($J | PSOCLO1+5!, PSOCLO1+26*, PSOCLO1+36, PSOCLO1+47, CHECK+6, CHECK+7, OVRD+28*, OVRD+35*, EXIT+1!, CONT+22* |
^XTMP("PSJ CLOZ" | CONT+25*, CONT+26*, CONT+27*, CONT+28*, CHK4REG+2, CHK4DFN+2, CHK4EXP+4, CHK4EXP+5, CHK4EXP+6* |
^XTMP("PSJ4D-" | PSOCLO1+40! |
^XTMP("PSO4D-" | PSOCLO1+40! |
^XUSEC("PSOLOCKCLOZ" | HASKEY+2 |
^YSCL(603.01 - [#603.01] | PSOCLO1+16, CONT+11 |
Name | Line Occurrences |
---|---|
$$HASKEY | CHECK+1, OVRD+3, PKEYCHK+2, NOREG+4 |
CHECK | PSOCLO1+47, OV1+5 |
CRXTMP | OVRD+32 |
CRXTMPI | OVRD+22, OVRD+40 |
DIR | QU+1 |
DOSE | PSOCLO1+49, DOSE+7, DOSE+8 |
DSP | PSOCLO1+37, PSOCLO1+47, OV1+5 |
END | PSOCLO1+32 |
EXIT | OVRD+3, OVRD+47, DOSE+3, DOSE+6, DOSE+7, DOSE+8 |
EXPDT | PSOCLO1+18, PSOCLO1+19, EXIT+17 |
GDOSE | PSOCLO1+39 |
MH | OV1+14, OV1+15 |
NOREG | PSOCLO1+24 |
OV1 | PSOCLO1+31, PSOCLO1+34 |
OVPRMPT | OVRD+11, OVRD+19, OVRD+25, OVRD+34, OVRD+43 |
OVRD | PSOCLO1+50, OV1+6, OV1+12, OV1+17, OV1+18, OV1+21, OV1+22 |
OVRD2 | OVRD+12, OVRD+20, OVRD+29, OVRD+38, OVRD+44 |
OVRREA | OVRD+13, OVRD+21, OVRD+30, OVRD+37, OVRD+45 |
PKEYCHK | OV1+9, OV1+17, OV1+18, OV1+22 |
QTYCHK | EXIT+15, EXPDT+34 |
QU | OV1+14, OV1+15, OVRD+3 |
Name | Field # of Occurrence |
---|---|
^( | CHECK+7 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
% | PSOCLO1+6~, NOREG+2~, NOREG+9* |
ANQ | PSOCLO1+6~, CHECK+13*, CHECK+14 |
ANQ( | CHECK+7*, CHECK+17, CHECK+19 |
ANQ("" | CHECK+8 |
ANQ(1 | PSOCLO1+48, PSOCLO1+49, CHECK+5*, CHECK+13 |
ANQD | PSOCLO1+6~, CHECK+4*, CHECK+7*, CHECK+8*, CHECK+12, CHECK+13, CHECK+16*, CHECK+18 |
ANQD( | CHECK+7*, CHECK+16 |
ANQD(1 | CHECK+4* |
ANQDATA | PSOCLO1+5!, OVRD+54* |
ANQJ | PSOCLO1+6~, CHECK+7*, CHECK+16*, CHECK+17, CHECK+19 |
ANQNO | PSOCLO1+5! |
ANQRE | PSOCLO1+6~, PSOCLO1+42*, PSOCLO1+43*, PSOCLO1+48, PSOCLO1+49, OV1+1*, OV1+5, OV1+6, OV1+12*, CHECK+2* , OVRD+3, OVRD+8, OVRD+9, OVRD+10, OVRD+14, OVRD+18, OVRD+24, OVRD+33, OVRD+41, OVRD+54 , EXIT+7, OVRREA+2, OVRREA+6 |
ANQX | PSOCLO1+5!, PSOCLO1+42*, OV1+1*, OV1+9, CHECK+1*, CHECK+11*, OVRD+1, OVRD+4*, OVRD+11, OVRD+12 , OVRD+17*, OVRD+19*, OVRD+20, OVRD+21, OVRD+25, OVRD+27*, OVRD+29, OVRD+30, OVRD+34, OVRD+37 , OVRD+38, OVRD+43, OVRD+44, OVRD+47, EXIT+2*, EXIT+3, OVPRMPT+3*, PKEYCHK+3*, QU+1*, NOREG+5* , NOREG+9*, NOREG+13*, CONT+6*, CONT+8, CONT+29*, OVRD2+3*, OVRREA+1*, OVRREA+9* |
CLOZFLG | PSOCLO1+6~, PSOCLO1+20*, PSOCLO1+24, PSOCLO1+36*, PSOCLO1+39, PSOCLO1+43, PSOCLO1+47, CONT+29* |
>> CLOZPAT | PSOCLO1+16*, PSOCLO1+23, PSOCLO1+33*, PSOCLO1+44, OV1+2, EXIT+5, EXIT+7, CONT+30, EXPDT+28 |
CLOZPT | PSOCLO1+18, PSOCLO1+19, EXIT+17, EXPDT~ |
D | PSOCLO1+6~, PSOCLO1+16*, EXPDT+4~, EXPDT+24*, EXPDT+25, EXPDT+27*, EXPDT+40* |
DA | CONT+10~, CONT+11* |
DFN | PSOCLO1+5, PSOCLO1+13, PSOCLO1+22, PSOCLO1+23, PSOCLO1+24, PSOCLO1+26, PSOCLO1+29, PSOCLO1+36, PSOCLO1+40, PSOCLO1+42 , PSOCLO1+45, OV1+1, OV1+3, OVRD+22, OVRD+28, OVRD+32, OVRD+35, OVRD+40, OVRD+54, EXIT+5 , NOREG+11, CONT+2*, CONT+11, CONT+18*, CONT+22, CONT+26, CONT+27, CONT+28, CONT+30, CRXTMP~ , CRXTMP+1, CRXTMPI~, CRXTMPI+1 |
DIK | CONT+10~, CONT+11* |
DIR | PSOCLO1+6~, OVRD+15~, OVRD+26~, DOSE+1!, DOSE+3!, DOSE+7!, DOSE+8!, OVPRMPT+1~, DSP+2~, DIR+1! , OVRREA+3~ |
DIR("?" | OVRREA+7* |
DIR("A" | OVRD+15*, OVRD+27*, DOSE+1*, DOSE+7*, DOSE+8*, OVPRMPT+2*, DSP+7*, DIR+1*, OVRREA+5*, OVRREA+6* |
DIR("B" | OVRD+15*, DOSE+2*, DOSE+7*, OVPRMPT+2* |
DIR(0 | OVRD+15*, OVRD+26*, DOSE+1*, DOSE+7*, DOSE+8*, OVPRMPT+2*, DSP+7*, DIR+1*, OVRREA+4* |
DIROUT | OVRD+17, OVPRMPT+3, OVRREA+3~, OVRREA+9 |
DIRUT | PSOCLO1+6~, OVRD+26~, OVRD+27, DOSE+3, DOSE+7, DOSE+8, EXIT+2, DIR+1!, OVRREA+3~, OVRREA+9 |
DT | OV1+4, CONT+26, CHK4EXP+5, EXPDT+21 |
DTOUT | PSOCLO1+6~, OVRD+17, DOSE+3, OVPRMPT+3, DIR+1!, OVRREA+3~, OVRREA+9 |
DUOUT | PSOCLO1+6~, OVRD+17, DIR+1!, OVRREA+3~, OVRREA+9 |
>> DUPRX0 | OVRD+53 |
DUZ | CHECK+1, OVRD+3, OVRD+54, PKEYCHK+2, NOREG+4, CONT+22, HASKEY+1 |
DYS2EXPR | EXPDT+4~, EXPDT+14*, EXPDT+24*, EXPDT+26, EXPDT+27*, EXPDT+28*, EXPDT+30 |
FLD | GDOSE+5~, GDOSE+7* |
FLG | PSOCLO1+5! |
I | NOREG+2~ |
IENX | GDOSE+2~, GDOSE+5*, GDOSE+6, GDOSE+7 |
IRXNTMP | GDOSE+5~, GDOSE+7* |
J | PSOCLO1+6~ |
MSG | NOREG+2~ |
MSG(1 | CONT+12*, CONT+22 |
MSGNUM | NOREG+2~, CONT+19* |
>> ND0 | OVRD+50 |
NDAYS | EXIT+7~*, EXIT+8, EXIT+9, EXIT+11, EXIT+15 |
NOW | NOREG+2~ |
NUMDAYS | QTYCHK~, QTYCHK+1, QTYCHK+2 |
NUMREFS | EXPDT+4~, EXPDT+10*, EXPDT+12*, EXPDT+24, EXPDT+27 |
>> ORO | OVRD+51 |
PSCLDFN | CHK4REG~, CHK4REG+2, CHK4EXP~, CHK4EXP+4, CHK4EXP+5, CHK4EXP+6 |
>> PSCLOZ | CONT+2*, CONT+22* |
>> PSCLPAT | OVRD+54* |
PSCLRGNO | CHK4DFN~, CHK4DFN+2, CHK4EXP~, CHK4EXP+4, CHK4EXP+5 |
PSCLRSLT | CHK4REG+1~, CHK4REG+2*, CHK4REG+3, CHK4DFN+1~, CHK4DFN+2*, CHK4DFN+3, CHK4EXP+2~, CHK4EXP+3*, CHK4EXP+6*, CHK4EXP+8 |
PSCLUPDT | EXPDT+4~ |
PSCLUPDT( | EXPDT+40 |
PSCLUPDT("change" | EXPDT+5*, EXPDT+6*, EXPDT+7*, EXPDT+8*, EXPDT+13 |
PSCLUPDT(26 | EXPDT+31*, EXPDT+32, EXPDT+42 |
PSCLUPDT(7 | EXPDT+36* |
PSCLUPDT(8 | EXPDT+25*, EXPDT+41 |
PSCLZDAT | CHK4EXP+2~, CHK4EXP+5*, CHK4EXP+6 |
PSCLZREG | PSOCLO1+6~, PSOCLO1+22*, PSOCLO1+24*, PSOCLO1+26, PSOCLO1+31, PSOCLO1+40, OV1+8, OV1+15, CHECK+9, EXIT+7 , NOREG+2~, CONT+9*, CONT+12, CONT+25, CONT+26, CONT+27, CONT+28 |
PSCLZREG("status" | PSOCLO1+22*, PSOCLO1+24, PSOCLO1+31, PSOCLO1+40, OV1+8 |
>> PSGOEPR | OVRD+52 |
>> PSGSTAT | PKEYCHK+1 |
>> PSJORDER("PSJORN" | OVRD+50*, OVRD+51* |
>> PSJORN | OVRD+50*, OVRD+51*, OVRD+54 |
>> PSLAST7 | PSOCLO1+28*, CHECK+2 |
PSMSGTXT | PSOCLO1+6~, PSOCLO1+9*, PSOCLO1+10*, EXIT+3, OVPRMPT+2 |
PSO1 | NOREG+2~, NOREG+11*, CONT+1, CONT+6 |
PSO2 | NOREG+2~, NOREG+12*, NOREG+13, CONT, CONT+3* |
PSO4 | NOREG+2~ |
PSOCD | GDOSE+2~, DOSE+4*, DOSE+6, DOSE+7, DOSE+8, EXIT+6 |
>> PSODFN | PSOCLO1+13*, PSOCLO1+15 |
>> PSOFL | CONT+20* |
PSOIENX | EXIT+12~*, EXIT+13, EXIT+14 |
PSONAME | NOREG+2~, CONT+1*, CONT+5 |
>> PSONEW | PSOCLO1+18, EXIT+15 |
>> PSONEW("DAYS | SUPPLY" , EXIT+8, EXIT+9* |
>> PSONEW("DOSE | ORDERED" , EXIT+14* |
>> PSONEW("DURATION" | EXIT+11* |
>> PSONEW("IRXN" | PSOCLO1+18, GDOSE+5 |
>> PSONEW("RX0" | EXIT+9* |
>> PSONEW("SAND" | PSOCLO1+5!, EXIT+6* |
>> PSONEW("SCHEDULE" | EXIT+13* |
PSORXARY | EXPDT~, EXPDT+34, QTYCHK~, QTYCHK+2 |
PSORXARY("CLO | Z EDIT" , EXPDT+32* |
PSORXARY("DAY | S SUPPLY OLD" , EXPDT+25, S SUPPLY" , EXPDT+6, EXPDT+24, EXPDT+25, EXPDT+33, EXPDT+34 |
PSORXARY("FLD" | EXPDT+7, EXPDT+17, EXPDT+40* |
PSORXARY("IRXN" | EXPDT+2, EXPDT+19 |
PSORXARY("N# | REF" , EXPDT+9, EXPDT+10 |
PSORXARY("QTY" | EXPDT+8, EXPDT+36 |
PSORXARY("RX0" | EXPDT+12, EXPDT+27, EXPDT+41* |
PSORXARY("RX2" | EXPDT+42* |
>> PSORXED | PSOCLO1+19, EXIT+17 |
>> PSORXED("IRXN" | PSOCLO1+19, GDOSE+5 |
>> PSORXIEN | EXIT+12 |
PSOSAND | PSOCLO1+9!, EXIT+6* |
PSOYS | PSOCLO1+6~, PSOCLO1+23, PSOCLO1+29*, PSOCLO1+32, PSOCLO1+33, PSOCLO1+34, PSOCLO1+35, PSOCLO1+43, OV1+4*, CHECK+3* , CHECK+4, OVRD+6, OVRD+22, OVRD+32, OVRD+40, EXIT+5, EXIT+6, DSP+2, DSP+3, DSP+5 , CONT+30, CRXTMP~, CRXTMP+1, CRXTMPI~, CRXTMPI+1 |
PSOYS("rANC" | PSOCLO1+31, PSOCLO1+39, OV1+8, OV1+14, OV1+15, OV1+17, OV1+18, OV1+21, OV1+22, OV1+24 , CHECK+2, CHECK+5, CHECK+9, OVRD+6, EXIT+6, DSP+1, DSP+6 |
PSOYS("rWBC" | PSOCLO1+31, PSOCLO1+39, OV1+8, OV1+14, OV1+15, OV1+17, OV1+18, OV1+21, OV1+22, OV1+24 , CHECK+2, CHECK+5, EXIT+6, DSP+1, DSP+5 |
PSOYSIEN | PSOCLO1+15~*, PSOCLO1+16 |
>> PSPROVID | OVRD+49*, OVRD+50*, OVRD+51*, OVRD+52*, OVRD+53*, OVRD+54 |
PSREASON | OVRD+2~, OVRD+10*, OVRD+28*, OVRD+31, OVRD+35*, OVRD+36, OVRD+39, OVRREA+6 |
>> PSREMARK | OVRD+31*, OVRD+39*, OVRD+54, OVRREA+10* |
PSRXDOS | GDOSE+2~ |
PSRXDOS( | GDOSE+7*, DOSE+2 |
PSRXDOS("CLOZDOSE301" | GDOSE+6* |
PSRXFMDT | EXPDT+4~ |
PSRXFMDT("expires" | EXPDT+30*, EXPDT+31 |
PSRXFMDT(1 | EXPDT+15*, EXPDT+17*, EXPDT+18, EXPDT+19*, EXPDT+20, EXPDT+21*, EXPDT+30 |
>> PSSPHARM | OVRD+54, OVRD2+1*, OVRD2+3 |
PSTYPE | PSOCLO1+6~, PSOCLO1+9*, PSOCLO1+10*, PSOCLO1+39, PSOCLO1+48, PSOCLO1+49, OV1+10, OV1+11, OV1+16, OV1+20 , OVRD+24, OVRD+33, OVRD+52, GDOSE+1, NOREG+5 |
PTINFO | NOREG+2~ |
PTINFO("firstNm" | CONT+5*, CONT+12 |
PTINFO("last4" | CONT+6*, CONT+12 |
PTINFO("ssn" | CONT+6* |
PTINFO("surname" | CONT+5*, CONT+12 |
Q | OVRD+17! |
>> SANQX | OVRD+54* |
STAT | NOREG+2~ |
TMP | NOREG+2~ |
TMP("DFN" | NOREG+11*, CONT+2, CONT+18 |
TMP("PSO2" | CONT*, CONT+3, CONT+9 |
U | PSOCLO1+16, PSOCLO1+33, PSOCLO1+48, PSOCLO1+49, OV1+4, CHECK+3, CHECK+4, CHECK+5, CHECK+13, CHECK+17 , CHECK+19, OVRD+50, OVRD+51, OVRD+53, OVRD+54, EXIT+6, EXIT+9, DSP+2, DSP+3, DSP+5 , CONT+25, CONT+26, CHK4EXP+6, EXPDT+12, EXPDT+27, EXPDT+41, EXPDT+42 |
USRNUM | HASKEY~, HASKEY+1*, HASKEY+2 |
X | PSOCLO1+6~, PSOCLO1+44*, PSOCLO1+45, OV1+2*, OV1+3, DOSE+4, NOREG+2~ |
>> XMFROM | CONT+22* |
>> XMMG | CONT+19 |
>> XMRG | CONT+22* |
XMSUB | NOREG+2~, CONT+13* |
XMTEXT | NOREG+2~, CONT+13* |
>> XMY("G.CLOZAP | INE ROLL-UP" , CONT+16* |
>> XMY("G.RUCLDEM@FO-DALLAS.DOMAIN.EXT" | CONT+15* |
>> XMZ | CONT+19 |
>> XQDATE | CONT+22* |
>> XQY0 | PSOCLO1+9, PSOCLO1+10 |
Y | PSOCLO1+6~, OVRD+16, DOSE+7, DOSE+8, OVPRMPT+3, DSP+2~*, DSP+4, NOREG+2~, OVRREA+10 |
Y(0 | OVRD+17, OVRD+28 |
YSPROD | CONT+14~*, CONT+15 |