| 1 | MCESSCR ;WISC/DCB-Sets up the screening for Electronic Signature ;6/26/96  12:51
 | 
|---|
| 2 |  ;;2.3;Medicine;;09/13/1996
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | PREEDIT(MCFILE) ; sets screen logic for edit
 | 
|---|
| 5 |  ;Sets up DIC("S") for editing
 | 
|---|
| 6 |  S:'$D(DIC("DR")) DIC("DR")="1"
 | 
|---|
| 7 |  Q $S($D(DIC("S")):DIC("S")_",$$SCREDIT^MCESSCR()",1:"I $$SCREDIT^MCESSCR()")
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | PREVIEW(MCFILE) ; sets screen logic for display and prints.
 | 
|---|
| 10 |  ;Sets up DIC("S") for display and printing
 | 
|---|
| 11 |  N MFD
 | 
|---|
| 12 |  S MFD=$D(MCESMFD),SUPV=$S($D(MCESSUP):1,1:0) K MCESSUP,MCESMFD
 | 
|---|
| 13 |  Q $S($D(DIC("S")):DIC("S")_",$$SCRPRT^MCESSCR(MCESKEY,"_MFD_","_SUPV_","_SUPV_")",1:"I $$SCRPRT^MCESSCR(MCESKEY,"_MFD_","_MCSUP_","_SUPV_")")
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 | SCRPRT(KEY,MFD,SUP,SUPV) ; Screens out the records for printing.
 | 
|---|
| 16 |  ;Don't print if the record is mark for deletions 
 | 
|---|
| 17 |  ;or the user don't have the key to display drafts
 | 
|---|
| 18 |  ;or the user has a key, he can display all reports
 | 
|---|
| 19 |  N TEMP,CODE,RMFD,MFD2
 | 
|---|
| 20 |  I MCFILE=691.5,$D(^MCAR(MCFILE,Y,"A")) Q 1
 | 
|---|
| 21 |  I '$D(^MCAR(MCFILE,Y,"ES")) Q 1
 | 
|---|
| 22 |  S TEMP=$G(^MCAR(MCFILE,Y,"ES")),CODE=$$ESTONUM1($P(TEMP,U,7)),RMFD=+$P(TEMP,U,12)
 | 
|---|
| 23 |  I SUPV=1,(CODE'=8) Q 0
 | 
|---|
| 24 |  I SUPV=1,(CODE=8) Q 1
 | 
|---|
| 25 |  Q $S(RMFD:MFD,MFD=1:0,CODE=8:SUP,MCESSEC:1,CODE>2:1,1:0)
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 | SCREDIT() ; Screens out the records for edits
 | 
|---|
| 28 |  ;Screens out reports that has been mark for deletion and superseded
 | 
|---|
| 29 |  ; For Key-Holder
 | 
|---|
| 30 |  N TEMP,CODE,MFD
 | 
|---|
| 31 |  S TEMP=$G(^MCAR(MCFILE,Y,"ES")),CODE=$$ESTONUM1($P(TEMP,U,7)),MFD=+$P(TEMP,U,12),TEMP=(MCESSEC&(CODE<8))
 | 
|---|
| 32 |  I MCFILE=691.5,'$D(^MCAR(MCFILE,Y,"ES")),$D(^MCAR(MCFILE,Y,"A")) Q 0
 | 
|---|
| 33 |  Q $S(MFD=1:0,CODE<3:1,TEMP:1,1:0)
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | SCRSUMPT(MCESKEY,REC,SUPV) ;Screen out the records for summary of patients
 | 
|---|
| 36 |  ; Screens out mark for deletion and draft reports if the user don't
 | 
|---|
| 37 |  ; have the key 
 | 
|---|
| 38 |  N TEMP,CODE,MFD
 | 
|---|
| 39 |  I '$D(^MCAR(MCFILE,REC,"ES")) Q 1
 | 
|---|
| 40 |  S TEMP=$G(^MCAR(MCFILE,REC,"ES")),CODE=$$ESTONUM1($P(TEMP,U,7)),MFD=+$P(TEMP,U,12),MCESSEC=$D(^XUSEC(MCESKEY,DUZ))
 | 
|---|
| 41 |  Q $S(MFD=1:1,CODE=8:SUPV,MCESSEC:1,CODE>2:1,1:0)
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 | SCRGI(MCFILE,REC,KEY,SUPV)     ; Screens out records for reports for GI printed by fileman (THE RECALL LIST)
 | 
|---|
| 44 |  ; Screens out mark for deletion and draft reports, if the user don't
 | 
|---|
| 45 |  ; have the key. 
 | 
|---|
| 46 |  N TEMP,CODE,MFD
 | 
|---|
| 47 |  S TEMP=$G(^MCAR(MCFILE,REC,"ES")),CODE=$$ESTONUM1($P(TEMP,U,7)),MFD=+$P(TEMP,U,12),TEMP=(MCESSEC&(CODE>2))
 | 
|---|
| 48 |  Q $S(MFD=1:1,CODE=8:SUPV,TEMP:1,1:0)
 | 
|---|
| 49 | SCRDEL(MCFILE,REC) ;Screen out for deleting drafts
 | 
|---|
| 50 |  N TEMP,CODE,MFD
 | 
|---|
| 51 |  S TEMP=$G(^MCAR(MCFILE,REC,"ES")),CODE=$$ESTONUM1($P(TEMP,U,7)),MFD=+$P(TEMP,U,12),TEMP=(CODE<3)
 | 
|---|
| 52 |  Q $S(MCESSEC:0,TEMP:1,1:0)
 | 
|---|
| 53 | ESTONUM(MCFILE,MCREC) ; Convert Release Code to Number
 | 
|---|
| 54 |  S TP=$P($G(^MCAR(MCFILE,MCREC,"ES")),U,7)
 | 
|---|
| 55 |  Q $$ESTONUM1(TP)
 | 
|---|
| 56 | ESTONUM1(TP) ; Convert a value to Release status
 | 
|---|
| 57 |  Q $S(TP="PD":2,TP="RV":3,TP="ROV":4,TP="RNV":5,TP="S":8,TP="SRV":6,TP="SROV":7,1:1)
 | 
|---|
| 58 | NUMTOES(TP)       ;Convert number back to Release Code
 | 
|---|
| 59 |  ;Q $S(TP=2:"PD",TP=3:"RV",TP=4:"ROV",TP=5:"RNV",TP=6:"SRV",TP=7:"SRNV",TP=8:"S",1:"D")
 | 
|---|
| 60 |  Q $S(TP=2:"PD",TP=3:"RV",TP=4:"ROV",TP=5:"RNV",TP=6:"SRV",TP=7:"SROV",TP=8:"S",1:"D")
 | 
|---|
| 61 | ESRC(MCFILE,MCARGDA) ;  Electronic Singature & Release Control
 | 
|---|
| 62 |  I $D(^MCAR(MCFILE,MCARGDA)),MCESON S UNSIGNED=$S($P($G(^MCAR(MCFILE,MCARGDA,"ES")),U,4)="":1,1:0) D POST^MCESEDT(MCFILE,.MCARGDA) D:UNSIGNED=1 ^MCWORKLD
 | 
|---|
| 63 |  Q
 | 
|---|