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

ASDWL.m

Go to the documentation of this file.
  1. ASDWL ; IHS/ADC/PDW/ENM - WAITING LIST ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;IHS SCHEDULING;;MAR 25, 1999
  1. ;
  1. K ^TMP("ASDWL",$J)
  1. A ; -- driver
  1. NEW ASDC,ASDS
  1. D SC I Y<0 Q
  1. D SB I $D(DIRUT) Q
  1. D SD I POP D Q Q
  1. B
  1. I $D(IO("Q")) D QUE,Q Q
  1. EN ;EP; -- queued EP
  1. U IO
  1. D LF,HD,LT,Q Q
  1. ;
  1. ;
  1. SC ; -- select clinic
  1. K DIC S DIC="^ASDWL(",DIC(0)="AEQ" D ^DIC S ASDC=+Y K DIC Q
  1. ;
  1. SB ; -- sort by
  1. K DIR S DIR("A")="Select SORT for Report",DIR(0)="N^1:3"
  1. S DIR("A",1)="Sort by (1) Provider to be Seen"
  1. S DIR("A",2)=" (2) Date Added to List"
  1. S DIR("A",3)=" (3) Recall Date"
  1. W ! D ^DIR S ASDS=Y K DIR Q
  1. ;
  1. SD ; -- select device
  1. S %ZIS="PQ" D ^%ZIS Q
  1. ;
  1. QUE ; -- queued output
  1. S ZTRTN="EN^ASDWL",ZTDESC="Waiting List"
  1. S ZTSAVE("ASDC")="",ZTSAVE("ASDS")=""
  1. D ^%ZTLOAD Q
  1. ;
  1. LF ; -- loop waiting list
  1. NEW I,N
  1. S I=0 F S I=$O(^ASDWL(ASDC,1,I)) Q:'I D
  1. . S N=$G(^ASDWL(ASDC,1,I,0)) Q:'N
  1. . S ^TMP("ASDWL",$J,ASDC,$$SORT(ASDS,N),+N,I)=N
  1. Q
  1. ;
  1. LT ; -- loop temp
  1. NEW ASDI,DFN,ASDJ
  1. S ASDQ="",ASDI=0
  1. F S ASDI=$O(^TMP("ASDWL",$J,ASDC,ASDI)) Q:ASDI=""!(ASDQ=U) D
  1. . S DFN=0
  1. . F S DFN=$O(^TMP("ASDWL",$J,ASDC,ASDI,DFN)) Q:'DFN!(ASDQ=U) D
  1. .. S ASDJ=0
  1. .. F S ASDJ=$O(^TMP("ASDWL",$J,ASDC,ASDI,DFN,ASDJ)) Q:'ASDJ!(ASDQ=U) D
  1. ... I $Y>(IOSL-4) D NWPG Q:ASDQ=U
  1. ... S N=^TMP("ASDWL",$J,ASDC,ASDI,DFN,ASDJ)
  1. ... W !!,$E($P(^DPT(DFN,0),U),1,20),?22,$$HRN^ASDUT(DFN)
  1. ... W ?32,$$AGE(DFN),?40,$$PHONE(DFN)
  1. ... W ?56,$$DT($P(N,U,3)),?66,$$DT($P(N,U,6))
  1. ... W ?76,$$PRV($P(N,U,7))
  1. ... W:$P(N,U,4)]"" !?3,"(",$E($P(N,U,4),1,75),")"
  1. Q
  1. ;
  1. HD ; -- heading
  1. I IOST["C-" W @IOF
  1. W !?12,$$CONF^ASDUT
  1. W !?2,"WAITING LIST for ",$P($G(^SC(+ASDC,0)),U)
  1. S Y=DT X ^DD("DD") W ?60,Y
  1. W !!,"Patient",?22,"HRCN",?33,"Age",?40,"Phone",?56,"Dt Added"
  1. W ?66,"Recall",?76,"Prov"
  1. W !,$$REPEAT^XLFSTR("=",80) Q
  1. ;
  1. Q ; -- cleanup
  1. D ^%ZISC K ^TMP("ASDWL",$J) K DIR,POP,ASDQ Q
  1. ;
  1. NWPG ; -- new page
  1. I IOST'["C-" W @IOF D HD Q
  1. K DIR S DIR(0)="E" D ^DIR S ASDQ=X
  1. I ASDQ="" D HD
  1. Q
  1. ;
  1. DT(Y) ; -- date entered
  1. Q $S(Y="":"",1:$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3))
  1. ;
  1. PRV(X) ; -- returns provider name
  1. Q $P($G(^VA(200,+X,0)),U,2)
  1. ;
  1. SORT(S,N) ; -- returns sort subscript
  1. I S=1 Q $S($P(N,U,7)]"":$$PRV($P(N,U,7)),1:" ")
  1. I S=2 Q $S($P(N,U,3)]"":$P(N,U,3),1:" ")
  1. I S=3 Q $S($P(N,U,6)]"":$P(N,U,6),1:" ")
  1. Q " "
  1. ;
  1. AGE(DFN) ; -- returns printable age
  1. Q $$VAL^XBDIQ1(9000001,DFN,1102.98)
  1. ;
  1. PHONE(DFN) ; -- returns patient's phone #
  1. Q $E($$VAL^XBDIQ1(2,DFN,.131),1,15)