| 1 | MCESLIST ;WISC/DCB-This routine will list reports by release status  ;5/2/96  09:58 | 
|---|
| 2 | ;;2.3;Medicine;;09/13/1996 | 
|---|
| 3 | START ; | 
|---|
| 4 | N MCAR,MCARCODE,MCARDE,MCARGDT2,MCARGNAM,MCARGNUM,MCARP,MCBP,MCBS | 
|---|
| 5 | N MCEPROC,MCESKEY,MCESON,MCESS,MCESSEC,MCFILE,MCFILE1,MCOUNT | 
|---|
| 6 | N MCPATFLD,MCPOSTP,MCPRO,MCPRTRTN,MCROUT,MCSUP,NOPT,MCOPT,PATN,LOC | 
|---|
| 7 | N PROC,OPTION,DIR,Y,DTOUT,DIRUT,DIROUT,DUOUT,DHIT,DIOEND,DIROUR | 
|---|
| 8 | S OPTION=$P(XQY0,U) | 
|---|
| 9 | S MCPRO=$P(OPTION,"MCESSTATUS",2) | 
|---|
| 10 | K ^TMP($J,"MC","STATUS") | 
|---|
| 11 | D MCPPROC^MCARP1 | 
|---|
| 12 | I 'MCESON S MCESSEC=$D(^XUSEC(MCESKEY,DUZ)) W !,"Release Control/Elec Signature is turn off" | 
|---|
| 13 | I 'MCESSEC W !,"You don't have the required key [",MCESKEY,"]" Q | 
|---|
| 14 | D ASK | 
|---|
| 15 | I '$D(OUT) D PRINT | 
|---|
| 16 | K ^TMP($J,"MC","STATUS"),OUT Q | 
|---|
| 17 | ASK ;SELECT STATUS | 
|---|
| 18 | S DIR(0)="S^1:Release;2:Draft;3:Both" | 
|---|
| 19 | S DIR("B")="Both" | 
|---|
| 20 | S DIR("A")="Which type of listing do you want see?" | 
|---|
| 21 | S DIR("?",1)="1 Release Status - will only release information" | 
|---|
| 22 | S DIR("?",2)="2   Draft Status - will only show reports that are in draft status" | 
|---|
| 23 | S DIR("?",3)="3           Both - will show all reports" | 
|---|
| 24 | S DIR("?")="Help" | 
|---|
| 25 | D ^DIR I $D(DTOUT)!$D(DIRUT)!$D(DUOUT)!$D(DIROUR) S OUT="" Q | 
|---|
| 26 | S MCOPT=Y | 
|---|
| 27 | Q | 
|---|
| 28 | TEST(REC,OPT,MCFILE) ;Screens out information | 
|---|
| 29 | N STATUS,TEST | 
|---|
| 30 | S STATUS=$P($G(^MCAR(MCFILE,REC,"ES")),U,7) S:STATUS="" STATUS="D" | 
|---|
| 31 | S TEST=OPT+$S(STATUS["D":1,1:0) | 
|---|
| 32 | Q $S(STATUS="S":0,OPT=3:1,TEST=1:1,TEST=3:1,1:0) | 
|---|
| 33 | STAT ;TOTALS OF STATUS | 
|---|
| 34 | N STATUS | 
|---|
| 35 | S STATUS=$P($G(^MCAR(MCFILE,D0,"ES")),U,7) S:STATUS="" STATUS="NS" | 
|---|
| 36 | S ^TMP($J,"MC","STATUS",STATUS)=$G(^TMP($J,"MC","STATUS",STATUS))+1 | 
|---|
| 37 | Q | 
|---|
| 38 | PRINT ; Sets up variables for the DIP call | 
|---|
| 39 | N DIS,DHD,DA,DIASKHD,PG,L | 
|---|
| 40 | S L="" | 
|---|
| 41 | S DIC=^DIC(MCFILE,0,"GL") | 
|---|
| 42 | S FLDS=".01;""Date/Time"";C1,"_MCPATFLD_";""Patient"";C22;L30,"""";""Status"";C53,1506;""Status"";C53;W;X",BY=".01" | 
|---|
| 43 | S DIS(0)="I $$TEST^MCESLIST(D0,MCOPT,MCFILE)" | 
|---|
| 44 | S:MCFILE=699 DIS(1)="I $D(^MCAR(697.2,""D"",MCARCODE,+$P(^MCAR(699,+D0,0),U,12)))" | 
|---|
| 45 | S DHD=$S(MCOPT=1:"Release Status Report",MCOPT=2:"Draft Status Report",1:"Status Report"),MCDHD=DHD | 
|---|
| 46 | S DIOEND="D STATUS^MCESLIST" | 
|---|
| 47 | S DHIT="D STAT^MCESLIST" | 
|---|
| 48 | D EN1^DIP | 
|---|
| 49 | Q | 
|---|
| 50 | STATUS ; Prints a status count | 
|---|
| 51 | N LOOP,STATUS,INFO,COUNT,TOTAL,LINE,DIR,Y,% | 
|---|
| 52 | S LINE="" S $P(LINE,"-",80)="" | 
|---|
| 53 | I $E(IOST,1,2)="C-" K DIR S DIR(0)="E" D ^DIR I $D(DTOUT)!$D(DIRUT)!$D(DUOUT)!$D(DIROUR) S OUT="" Q | 
|---|
| 54 | W @IOF,MCDHD_" statistics" | 
|---|
| 55 | D NOW^%DTC S Y=% D DD^%DT W ?46,$P(Y,"@")_"   "_$P(Y,"@",2) | 
|---|
| 56 | W !,LINE,!! | 
|---|
| 57 | S STATUS=$S(MCOPT=1:"R",MCOPT=2:"D",1:"") | 
|---|
| 58 | F LOOP="D","PD","RV","ROV","RNV","SRV","SROV","NS" D | 
|---|
| 59 | .I LOOP="NS"&(STATUS="D") S STATUS="" | 
|---|
| 60 | .I STATUS=""!(LOOP[STATUS) D | 
|---|
| 61 | ..S COUNT=+$G(^TMP($J,"MC","STATUS",LOOP)) | 
|---|
| 62 | ..S TOTAL=$G(TOTAL)+COUNT | 
|---|
| 63 | ..I LOOP'="NS" S INFO=$$STATUS^MCESEDT(MCFILE,LOOP) | 
|---|
| 64 | ..E  S INFO="NO STATUS/DRAFT" | 
|---|
| 65 | ..S INFO=$J(INFO,45)_": " | 
|---|
| 66 | ..W !,INFO,?50,$J($FN(COUNT,",",0),10) | 
|---|
| 67 | W !,?50,$E(LINE,1,10),!,?50,$J($FN(TOTAL,",",0),10),!! | 
|---|
| 68 | I $E(IOST,1,2)="C-" K DIR S DIR(0)="E" D ^DIR | 
|---|
| 69 | W @IOF | 
|---|
| 70 | Q | 
|---|