LRPXCHK ;SLC/STAFF - Lab PXRMINDX Index Validation ;3/30/04 12:01
Source file <LRPXCHK.m>
| 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 |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| PATS | ; select patients for index check
|
|
| DATES | ; check indexes for a date range of patient collections
|
|
| CHECK(REPAIR) | ;
|
|
| ALL | ; check all patient indexes
; this takes a very long time ; to be used in small test accounts ; START and STOP determine range of DFNs to check |
|
| CHKPAT(DFN) | ; from LRLOG
; find bad nodes, ; store as ^TMP("LRLOG",$J,DFN,DATE,ITEM,INDEX)=NODE ; only when ^TMP("LRLOG PATS",$J) is present ; if ^TMP("LRLOG PATS",$J) is not present, write to screen |
|
| INTEG(DFN) | ; make sure "PI", "IP", and "PDI" are consistent
|
|
| CHKLR(DFN) | ; go thru "PI" to make sure ^LR is consistent
|
|
| CHKPI(DFN,LRDFN) | ; go thru ^LR to make sure "PI" is consistent
|
|
| TMPCHK(DFN,DATE,ITEM,NODE) | ;
|
|
| BAD(INDEX,DFN,ITEM,DATE,NODE) | ; write error to screen, collect in global
|
|
| CLEAN | ; clear tmp globals
; "LRLOG" collects invalid nodes, "LRLOG PATS" are patients checked |
|
| REFVAL(REF) | ; $$(reference location in ^LR) -> if ref exists 1, else 0
|
|
| REPAIR | ; correct invalid indexes
; kill off bad indexes ; reset all indexes at date of bad index |
|
| CH(DFN,LRDFN,DATE,LRIDT) | ;
|
|
| MICRO(DFN,LRDFN,DATE,LRIDT) | ;
|
|
| AP(DFN,LRDFN,DATE,LRIDT,SUB) | ;
|
|
| AU(DFN,LRDFN,DATE) | ;
|
|
| GETREP(REPAIR,ERR) | ;
; asks to repair indexes |
| Name | Field # of Occurrence |
|---|---|
| ^DIR | GETREP+7 |
| KLAB^LRPX | REPAIR+19 |
| SLAB^LRPX | CH+11 |
| $$VERIFIED^LRPXAPI | CH+2 |
| $$DFN^LRPXAPIU | DATES+14 |
| $$DOD^LRPXAPIU | REPAIR+7 |
| $$LRDFN^LRPXAPIU | CHECK+5, ALL+13, CHKPAT+7, REPAIR+6 |
| $$LRIDT^LRPXAPIU | DATES+5, DATES+6, REPAIR+10 |
| $$TEST^LRPXAPIU | CHKPI+9, CH+9 |
| GETDATE^LRPXAPPU | DATES+3 |
| GETPT^LRPXAPPU | PATS+3 |
| AP^LRPXCHKA | CHKPI+14 |
| MI^LRPXCHKM | CHKPI+13 |
| AP^LRPXRM | AP+4 |
| AUTOPSY^LRPXRM | AU+8 |
| MICRO^LRPXRM | MICRO+4 |
| 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 |
|
| Routine Call |
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DPT - [#2] | ALL+12 |
| ^LR - [#63] | DATES+9, DATES+13, CHKPAT+9, CH+5, CH+7, MICRO+2, AP+2, AU+1, AU+2, AU+4 , AU+5, AU+6 |
| ^PXRMINDX(63 | CHKPAT+10, CHKPAT+11, CHKPAT+13, CHKPAT+14, CHKPAT+15, CHKPI+12, TMPCHK+1, MICRO+3, AP+3, AU+7 |
| ^TMP("LRLOG PATS" | PATS+4*, PATS+6, DATES+16*, CHECK+4, CLEAN+3! |
| ^TMP("LRLOG" | CHECK+9, BAD+2*, CLEAN+2!, REPAIR+5, REPAIR+9, REPAIR+13, REPAIR+15, REPAIR+16 |
| ^TMP("LRPX" | MICRO+1!, MICRO+2*, MICRO+3*, MICRO+5!, AP+1!, AP+2*, AP+3*, AP+5!, AU+3!, AU+4* , AU+5*, AU+6*, AU+7*, AU+9! |
| ^TMP("LRPXCHK" | CHKPAT+6!, CHKPAT+9*, CHKPAT+10*, CHKPAT+11*, CHKPAT+15*, CHKPAT+19!, INTEG+3, INTEG+5, INTEG+7, INTEG+8 , INTEG+10, INTEG+13, INTEG+15, INTEG+17, INTEG+18, INTEG+20, INTEG+23, INTEG+25, INTEG+27, INTEG+28 , INTEG+30, CHKLR+3, CHKLR+5, CHKLR+7, CHKPI+3, CHKPI+4, CHKPI+8 |
| Name | Line Occurrences |
|---|---|
| $$REFVAL | CHKLR+8 |
| AP | REPAIR+24 |
| AU | REPAIR+25 |
| BAD | INTEG+9, INTEG+11, INTEG+19, INTEG+21, INTEG+29, INTEG+31, CHKLR+8, CHKPI+12, TMPCHK+1 |
| CH | REPAIR+22 |
| CHECK | PATS+8, DATES+19 |
| CHKLR | CHKPAT+17 |
| CHKPAT | CHECK+6, ALL+14 |
| CHKPI | CHKPAT+18 |
| CLEAN | PATS+2, PATS+9, DATES+2, DATES+20, ALL+6, ALL+16 |
| GETREP | PATS+7, DATES+4, ALL+8 |
| INTEG | CHKPAT+16 |
| MICRO | REPAIR+23 |
| REPAIR | CHECK+13, ALL+15 |
| Name | Field # of Occurrence |
|---|---|
| ^("AU" | AU+2 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| CNT | DATES+1~, DATES+7*, DATES+17*, DATES+18, CHECK+1~, CHECK+7*, CHECK+10*, CHECK+11, CHECK+12 |
| DAT | CH+1~, CH+3*, CH+6 |
| DATE | INTEG+1~, INTEG+2*, INTEG+3*, INTEG+5, INTEG+7, INTEG+8, INTEG+9, INTEG+10, INTEG+11, INTEG+14* , INTEG+15*, INTEG+17, INTEG+18, INTEG+19, INTEG+20, INTEG+21, INTEG+24*, INTEG+25*, INTEG+27, INTEG+28 , INTEG+29, INTEG+30, INTEG+31, CHKLR+1~, CHKLR+4*, CHKLR+5*, CHKLR+7, CHKLR+8, CHKPI+1~, CHKPI+5* , CHKPI+12, TMPCHK~, TMPCHK+1, BAD~, BAD+1, BAD+2, REPAIR+3~, REPAIR+8*, REPAIR+9*, REPAIR+10 , REPAIR+13, REPAIR+15, REPAIR+16, REPAIR+19, REPAIR+22, REPAIR+23, REPAIR+24, REPAIR+25, CH~, CH+11 , MICRO~, MICRO+3, MICRO+4, AP~, AP+3, AP+4, AU~, AU+7 |
| DATE1 | DATES+1~, DATES+3, DATES+5 |
| DATE2 | DATES+1~, DATES+3, DATES+6 |
| DFN | PATS+1~, PATS+3, PATS+4, DATES+1~, DATES+14*, DATES+15, DATES+16, CHECK+1~, CHECK+3*, CHECK+4* , CHECK+5, CHECK+6, CHECK+8*, CHECK+9*, ALL+5~, ALL+11*, ALL+12*, ALL+13, ALL+14, CHKPAT~ , CHKPAT+7, CHKPAT+10, CHKPAT+11, CHKPAT+14, CHKPAT+15, CHKPAT+16, CHKPAT+17, CHKPAT+18, INTEG~, INTEG+3 , INTEG+5, INTEG+7, INTEG+8, INTEG+9, INTEG+10, INTEG+11, INTEG+13, INTEG+15, INTEG+17, INTEG+18 , INTEG+19, INTEG+20, INTEG+21, INTEG+25, INTEG+27, INTEG+28, INTEG+29, INTEG+30, INTEG+31, CHKLR~ , CHKLR+3, CHKLR+5, CHKLR+7, CHKLR+8, CHKPI~, CHKPI+12, CHKPI+13, CHKPI+14, TMPCHK~, TMPCHK+1 , BAD~, BAD+1, BAD+2, REPAIR+3~, REPAIR+4*, REPAIR+5*, REPAIR+6, REPAIR+7, REPAIR+9, REPAIR+13 , REPAIR+15, REPAIR+16, REPAIR+19, REPAIR+22, REPAIR+23, REPAIR+24, REPAIR+25, CH~, CH+11, MICRO~ , MICRO+3, MICRO+4, AP~, AP+3, AP+4, AU~, AU+7 |
| DIR | GETREP+2~!, GETREP+7! |
| DIR("A" | GETREP+5* |
| DIR("B" | GETREP+6* |
| DIR(0 | GETREP+4* |
| DIRUT | GETREP+2~ |
| DOD | REPAIR+3~, REPAIR+7*, REPAIR+25 |
| DTOUT | GETREP+2~, GETREP+8 |
| ERR | PATS+1~, PATS+3, PATS+7, DATES+3, DATES+4, ALL+5~, ALL+8, GETREP~, GETREP+3*, GETREP+8* |
| INDEX | BAD~, BAD+1, BAD+2, REPAIR+3~, REPAIR+14*, REPAIR+15*, REPAIR+16 |
| ITEM | CHKPAT+5~, CHKPAT+12*, CHKPAT+13*, CHKPAT+14, CHKPAT+15, INTEG+1~, INTEG+4*, INTEG+5*, INTEG+7, INTEG+8 , INTEG+9, INTEG+10, INTEG+11, INTEG+12*, INTEG+13*, INTEG+15, INTEG+17, INTEG+18, INTEG+19, INTEG+20 , INTEG+21, INTEG+22*, INTEG+23*, INTEG+25, INTEG+27, INTEG+28, INTEG+29, INTEG+30, INTEG+31, CHKLR+1~ , CHKLR+2*, CHKLR+3*, CHKLR+5, CHKLR+7, CHKLR+8, CHKPI+1~, CHKPI+9*, CHKPI+10, CHKPI+12, TMPCHK~ , TMPCHK+1, BAD~, BAD+1, BAD+2, REPAIR+3~, REPAIR+12*, REPAIR+13*, REPAIR+15, REPAIR+16, REPAIR+19 |
| LRDFN | DATES+1~, DATES+8*, DATES+9*, DATES+13, DATES+14, CHKPAT+5~, CHKPAT+7*, CHKPAT+8, CHKPAT+9, CHKPAT+18 , CHKPI~, CHKPI+3, CHKPI+4, CHKPI+8, CHKPI+11, CHKPI+13, CHKPI+14, REPAIR+6*, REPAIR+22, REPAIR+23 , REPAIR+24, REPAIR+25, CH~, CH+2, CH+3, CH+5, CH+7, MICRO~, MICRO+2, MICRO+4 , AP~, AP+2, AP+4, AU~, AU+1, AU+2, AU+4, AU+5, AU+6, AU+8 |
| LRDN | CHKPI+1~, CHKPI+7*, CHKPI+8*, CHKPI+9, CHKPI+11, CH+1~, CH+4*, CH+5*, CH+6, CH+7 , CH+9 |
| LRIDT | DATES+1~, DATES+12*, DATES+13*, CHKPI+1~, CHKPI+2*, CHKPI+3*, CHKPI+4, CHKPI+8, CHKPI+11, REPAIR+10* , REPAIR+22, REPAIR+23, REPAIR+24, CH~, CH+2, CH+3, CH+5, CH+7, MICRO~, MICRO+2 , MICRO+4, AP~, AP+2, AP+4 |
| NODE | INTEG+1~, INTEG+6*, INTEG+7*, INTEG+8, INTEG+9, INTEG+10, INTEG+11, INTEG+16*, INTEG+17*, INTEG+18 , INTEG+19, INTEG+20, INTEG+21, INTEG+26*, INTEG+27*, INTEG+28, INTEG+29, INTEG+30, INTEG+31, CHKLR+1~ , CHKLR+6*, CHKLR+7*, CHKLR+8, CHKPI+1~, CHKPI+11*, CHKPI+12, TMPCHK~, TMPCHK+1, BAD~, BAD+1 , BAD+2, REPAIR+3~, REPAIR+16*, REPAIR+17, REPAIR+18, REPAIR+19, CH+1~, CH+6*, CH+11 |
| OK | DATES+1~, DATES+10*, DATES+11, DATES+13, DATES+17* |
| REF | REFVAL~, REFVAL+2, REFVAL+3, REFVAL+5*, REFVAL+6*, REFVAL+7*, REFVAL+8 |
| REPAIR | PATS+1~, PATS+7, PATS+8, DATES+1~, DATES+4, DATES+19, CHECK~, CHECK+2*, CHECK+13, ALL+5~ , ALL+8, ALL+15, REPAIR+3~!, REPAIR+11!, GETREP~, GETREP+3*, GETREP+9* |
| REPAIR( | REPAIR+18*, REPAIR+21 |
| START | DATES+1~, DATES+6*, DATES+12, ALL+5~, ALL+9*, ALL+11 |
| STOP | DATES+1~, DATES+5*, DATES+13, ALL+5~, ALL+10*, ALL+12 |
| SUB | DATES+1~, DATES+11*, DATES+13, REFVAL+1~, REFVAL+3*, REFVAL+4*, REFVAL+5, REPAIR+20*, REPAIR+21*, REPAIR+22 , REPAIR+23, REPAIR+24, AP~, AP+2, AP+4 |
| TEMP | CH+1~, CH+7*, CH+8 |
| TEST | CH+1~, CH+8*, CH+9*, CH+10, CH+11 |
| U | CHKPI+6, CH+8, AU+2, GETREP+8 |
| X | GETREP+2~ |
| Y | GETREP+2~, GETREP+8, GETREP+9 |
| ZERO | CHKPI+1~, CHKPI+4*, CHKPI+5, CHKPI+6 |