Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SDTMPSTN

SDTMPSTN.m

Go to the documentation of this file.
  1. SDTMPSTN ;TMP/DRF - TMP Missing Station Report;Mar 15, 2022
  1. ;;5.3;Scheduling;**812**;SEP 26, 2018;Build 17
  1. Q
  1. ;
  1. BEGIN ;Report Begin & Title
  1. W #,"CLINICS THAT ARE MISSING STATION NUMBER",!!
  1. D ACT I Y="^" Q
  1. D ASKTYPE I Y="^" Q
  1. ;
  1. IO ;Ask IO device and Queue
  1. S %ZIS="PQM" D ^%ZIS I POP D END Q
  1. I $D(IO("Q")) D QUE,END Q
  1. ;
  1. LOOP ;Begin Report
  1. S FND=0,PGNO=0
  1. S CL=0 F S CL=$O(^SC(CL)) Q:'CL D
  1. . S I=$G(^SC(CL,"I"))
  1. . I $P(I,U,1)>0,+$P(I,U,2)=0,ACT="A" Q ;Eliminate inactive clinics
  1. . I +$P(I,U,1)=0,ACT="I" Q ;Eliminate active clinics
  1. . S CL0=$G(^SC(CL,0))
  1. . S PSTOP=$P(CL0,"^",7),SSTOP=$P(CL0,"^",18),CLTYP=$P(CL0,"^",3),NCNT=$P(CL0,"^",17)
  1. . I ASKTYPE'="A",CLTYP'=ASKTYPE Q ;Not the requested clinic type
  1. . S STN=$$STATION^SDTMPHLA(CL)
  1. . I STN="" D LINE
  1. I 'FND W "NO CLINICS MISSING STATION NUMBER WERE FOUND",!
  1. D END
  1. Q
  1. ;
  1. TYPE(CLTYP) ;Clinic Type
  1. I CLTYP="C" Q "CLINIC"
  1. I CLTYP="M" Q "MODULE"
  1. I CLTYP="W" Q "WARD"
  1. I CLTYP="Z" Q "OTHER LOCATION"
  1. I CLTYP="N" Q "NON-CLINIC STOP"
  1. I CLTYP="F" Q "FILE AREA"
  1. I CLTYP="I" Q "IMAGING"
  1. I CLTYP="OR" Q "OPERATING ROOM"
  1. Q ""
  1. ;
  1. W #
  1. S PGNO=PGNO+1
  1. W ?2,"CLINICS THAT ARE MISSING STATION NUMBER",?71,"DATE: ",$E(DT,4,5)_"/"_$E(DT,6,7)_"/"_$E(DT,2,3),?122,"PAGE: ",PGNO,!
  1. W ?2,"CLINIC TYPE: ",$S(ASKTYPE="A":"ALL",1:$$TYPE(ASKTYPE)),!
  1. W ?2,$S(ACT="B":"BOTH ACTIVE AND INACTIVE CLINICS",ACT="I":"INACTIVE CLINICS",1:"ACTIVE CLINICS"),!
  1. W ?2,"CLINIC",?10,"CLINIC NAME",?42,"ABR",?54,"TYPE",?71,"INST",?79,"DIV",?96,"PRI SC",?103,"SEC SC",?111,"NCNT",?116,"STATION",!
  1. W ?2,"-------",?10,"-------------------------------",?42,"-----------",?54,"----------------",?71,"-------",?79,"----------------",?96,"------",?103,"------",?111,"----",?116,"-------",!
  1. Q
  1. ;
  1. LINE ;Write a single clinic record
  1. S FND=FND+1
  1. I FND#60=1 D HEADER
  1. N CLNM,CLABR,CLTYP,CLINS,CLDIV
  1. S CLNM=$P(CL0,U,1),CLABR=$P(CL0,U,2),CLTYP=$P(CL0,U,3),CLINS=$P(CL0,U,4),CLDIV=$P(CL0,U,15)
  1. I CLTYP]"" S CLTYP=$$TYPE(CLTYP)
  1. S DIV="" I CLDIV S DIV=$$GET1^DIQ(40.8,CLDIV_",",.01,"I")
  1. W ?2,CL,?10,CLNM,?42,CLABR,?54,CLTYP,?71,CLINS,?79,DIV,?96,PSTOP,?103,SSTOP,?111,NCNT,?116,STN,!
  1. Q
  1. ;
  1. QUE ;Run job in background
  1. S ZTRTN="LOOP^SDTMPSTN",ZTDESC="TMP CLINICS THAT ARE MISSING STATION NUMBER"
  1. D ^%ZTLOAD W:$D(ZTSK) !,"Task #",ZTSK," Started."
  1. D HOME^%ZIS K IO("Q"),ZTSK,ZTDESC,ZTQUEUED,ZTRTN
  1. D END
  1. Q
  1. ;
  1. END ;Clean up and Quit
  1. D:'$D(ZTQUEUED) ^%ZISC
  1. K ACT,ASKTYPE,DIR,DIV,CL,CL0,FND,I,NCNT,PGNO,PSTOP,SSTOP,STN,STOP1,STOP2,CLABR,CLDIV,CLINS,CLNM,CLTYP,POP,Y,ZTDESC,ZTQUEUE,ZTRTN,ZTSK
  1. Q
  1. ;
  1. ACT ;View active, inactive or both clinics
  1. S DIR(0)="SA^A:ACTIVE;I:INACTIVE;B:BOTH^",DIR("B")="B"
  1. S DIR("A")="List which clinics - (A)ctive, (I)nactive or (B)oth ? "
  1. D ^DIR
  1. S ACT=Y
  1. Q
  1. ;
  1. ASKTYPE ;Ask clinic type
  1. S DIR(0)="SA^C:CLINIC;M:MODULE;W:WARD;Z:OTHER LOCATION;N:NON-CLINIC STOP;F:FILE AREA;I:IMAGING;R:OPERATING ROOM;A:ALL^",DIR("B")="C"
  1. S DIR("A")="List which clinic types - (C)linic, (M)odule, (W)ard, (Z)Other Location, (N)on-Clinic Stop, (F)ile Area, (I)maging, Operating (R)oom or (A)ll ? "
  1. D ^DIR
  1. I Y="R" S Y="OR"
  1. S ASKTYPE=Y
  1. Q