1 | SDSCRP ;ALB/JAM - Restricted Stop Code Nonconforming Clinic Report; 07/24/03
|
---|
2 | ;;5.3;Scheduling;**317**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | EN ;foreground entry point
|
---|
5 | N ZTRTN,ZTDESC,ZTIO,ZTQUEUED,SDPCF,DIR,DIRUT,X,Y
|
---|
6 | W @IOF
|
---|
7 | S DIR(0)="SO^A:Active Clinics;I:Inactive Clinics;B:Both"
|
---|
8 | S DIR("A")="Select Report"
|
---|
9 | S DIR("?",1)="Enter an A for Active Clinics, I for Inactive Clinics,"
|
---|
10 | S DIR("?")="B for Both Active and Inactive Clinics"
|
---|
11 | D ^DIR K DIR I $D(DIRUT) G END
|
---|
12 | S SDPCF=Y
|
---|
13 | ;device selection
|
---|
14 | K IOP,%ZIS,POP,IO("Q")
|
---|
15 | S %ZIS("A")="Select Device: ",%ZIS="QM" D ^%ZIS I POP G END
|
---|
16 | I $D(IO("Q")) K IO("Q") D G END
|
---|
17 | .S ZTDESC="Non-Conforming Clinics Stop Code Report",ZTSAVE("SDPCF")=""
|
---|
18 | .S ZTRTN="PROCESS^SDSCRP",ZTIO=ION D ^%ZTLOAD,HOME^%ZIS K ZTSK
|
---|
19 | U IO
|
---|
20 | D PROCESS
|
---|
21 | END D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
|
---|
22 | Q
|
---|
23 | ;
|
---|
24 | PROCESS ;background entry point
|
---|
25 | ;locate invalid Stop Code in HOSPITAL LOCATION file #44
|
---|
26 | N NAM,IDT,RDT,IDAT,STR,ECX,IEN,PSC,SSC,PSCN,SSCN,CNTX,SDPG,SDOUT,SDF,LNS
|
---|
27 | N ACF,SDRDT
|
---|
28 | S %H=$H D YX^%DTC S SDRDT=Y
|
---|
29 | S $P(LNS,"-",80)="",(CNTX,IEN,SDOUT,SDF)=0,SDPG=1
|
---|
30 | D HDR
|
---|
31 | ;search file #44 for invalid entries
|
---|
32 | F S IEN=$O(^SC(IEN)) Q:'IEN D Q:SDOUT S:SDF CNTX=CNTX+1
|
---|
33 | .S ECX=$G(^SC(IEN,0)),PSC=$P(ECX,U,7),SSC=$P(ECX,U,18),SDF=0
|
---|
34 | .I $P(ECX,U,3)'="C" Q
|
---|
35 | .S NAM=$P(ECX,U),IDAT=$G(^SC(IEN,"I")) I IDAT'="" D
|
---|
36 | ..S IDT=$P(IDAT,U),RDT=$P(IDAT,U,2) Q:IDT="" I RDT="" S NAM="*"_NAM Q
|
---|
37 | ..I RDT>IDT S NAM="*"_NAM
|
---|
38 | .S ACF=$S($E(NAM)="*":0,1:1)
|
---|
39 | .I $S((SDPCF="A")&('ACF):1,(SDPCF="I")&(ACF):1,1:0) Q
|
---|
40 | .S PSCN=$S(PSC:$P($G(^DIC(40.7,PSC,0)),U,2),1:"")
|
---|
41 | .S SSCN=$S(SSC:$P($G(^DIC(40.7,SSC,0)),U,2),1:"")
|
---|
42 | .D I SDOUT Q
|
---|
43 | ..I PSC="" S STR="Missing primary code" D PRN Q
|
---|
44 | ..D SCCHK(PSC,"P") I $D(STR) D PRN
|
---|
45 | .I SSC'="" D SCCHK(SSC,"S") I $D(STR) D PRN
|
---|
46 | W !!,?25,$S(CNTX:CNTX,1:"NO")_" PROBLEM CLINICS FOUND."
|
---|
47 | K SCIEN,TYP
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | PRN ;print line
|
---|
51 | I ($Y+3)>IOSL D PAGE,HDR I SDOUT Q
|
---|
52 | W !,IEN,?8,$E(NAM,1,28),?37,PSCN,?46,SSCN,?57,STR
|
---|
53 | S SDF=1
|
---|
54 | Q
|
---|
55 | ;
|
---|
56 | SCCHK(SCIEN,TYP) ;check stop code against file 40.7
|
---|
57 | N SCN,RTY,CTY
|
---|
58 | K STR
|
---|
59 | S CTY=$S(TYP="P":"^P^E^",1:"^S^E^")
|
---|
60 | S SCN=$G(^DIC(40.7,SCIEN,0)),RTY=$P(SCN,U,6),SCN=$P(SCN,U,2)
|
---|
61 | I SCN="" D Q
|
---|
62 | .S STR=SCIEN_" Inv "_$S(TYP="P":"prim",1:"2nd")_" pointr"
|
---|
63 | I RTY="" S STR=SCN_" No restriction type" Q
|
---|
64 | I CTY'[("^"_RTY_"^") D
|
---|
65 | .S STR=SCN_" cannot be "_$S(TYP="P":"prim",1:"second")_"ary"
|
---|
66 | Q
|
---|
67 | ;
|
---|
68 | HDR ;Header for data from file #44
|
---|
69 | W @IOF
|
---|
70 | W SDRDT,?73,"Page: ",SDPG,!
|
---|
71 | W !,?18,"NON-CONFORMING CLINICS STOP CODE REPORT",!,?32
|
---|
72 | W $S(SDPCF="A":"Active",SDPCF="I":"Inactive",1:"All")_" Clinics",!
|
---|
73 | W !,"HOSPITAL LOCATION FILE (#44) - (Use Set up a Clinic [SDBUILD]"
|
---|
74 | W " menu option to",!,?32,"make corrections)"
|
---|
75 | W !!,?37,"PRIMARY",?46,"SECONDARY",?57,"REASON FOR"
|
---|
76 | W !?8,$S(SDPCF="B":"CLINIC NAME",1:""),?37,"STOP",?46,"CREDIT",?57,"NON"
|
---|
77 | W !,"IEN",?8,$S(SDPCF="B":"(*currently inactive)",1:"CLINIC NAME")
|
---|
78 | W ?37,"CODE",?46,"STOP CODE",?57,"CONFORMANCE",!,$E(LNS,1,80)
|
---|
79 | S SDPG=SDPG+1
|
---|
80 | Q
|
---|
81 | ;
|
---|
82 | PAGE ;
|
---|
83 | N SS,JJ,DIR,X,Y
|
---|
84 | I $E(IOST,1,2)="C-" D
|
---|
85 | . S SS=22-$Y F JJ=1:1:SS W !
|
---|
86 | . S DIR(0)="E" W ! D ^DIR K DIR I 'Y S SDOUT=1
|
---|
87 | Q
|
---|