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

ASDCR.m

Go to the documentation of this file.
  1. ASDCR ; IHS/ADC/PDW/ENM - CHART REQUEST (FUTURE) ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;IHS SCHEDULING;;MAR 25, 1999
  1. ; -- uses non-namespaced variables for calls to VA rtns
  1. ;
  1. D DT^DICRW
  1. A1 ;
  1. K SDMADE S ASDCR=""
  1. S DIC=44,DIC(0)="AEMQ" W !!
  1. S DIC("A")="REQUEST CHARTS FOR REVIEW FOR WHICH CLINIC: "
  1. S DIC("S")="I $P(^(0),U,3)=""C"",$D(^(""SL""))"
  1. D ^DIC K DIC G END:X[U!(Y<0)
  1. S SC=+Y,YY=Y,SDSL=$S($D(^SC(SC,"SL")):+^("SL"),1:"") K SDRE,SDIN,SDRE1
  1. ;
  1. I $D(^SC(SC,"I")) D
  1. . S SDIN=+^SC(SC,"I"),SDRE=+$P(^("I"),U,2),Y=SDRE D DTS^SDUTL S SDRE1=Y
  1. ;
  1. I $S('$D(SDIN):0,'SDIN:0,SDIN>DT:0,SDRE'>DT&(SDRE):0,1:1) D G A1
  1. . W !,*7,"Clinic is inactive ",$S(SDRE:"from ",1:"as of ")
  1. . S Y=SDIN D DTS^SDUTL W Y,$S(SDRE:" to "_SDRE1,1:"")
  1. ;
  1. ;
  1. OTHER S DIR(0)="F^2:200"
  1. S DIR("A")="DELIVER CHARTS TO (PROVIDER/LOCATION/EXT.)"
  1. S DIR("?")=" "
  1. S DIR("?",1)="Enter the clinic/provider who is requesting the charts"
  1. S DIR("?",2)="with physical location and extension (Westley/2W5/x1669)"
  1. D ^DIR K DIR G A1:$D(DIRUT) S SDZPL=Y
  1. ;
  1. TIME ; -- ask user for date/time to be ready
  1. K DIR S DIR(0)="DA^"_$$DAYS_"::EFT",DIR("B")=$$DAYSP,DIR("?")=" "
  1. S DIR("?",1)="Enter the date@time you would like the charts to be ready."
  1. S DIR("?",2)="Please allow at least "_$$DAYSN_" days for charts to be pulled."
  1. S DIR("A")="DATE/TIME NEEDED: " D ^DIR K DIR G A1:$D(DIRUT),A1:Y<1
  1. ;
  1. S SDZY=$S(Y[".":Y,1:Y_".08"),SDZYY=$P(SDZY,".")
  1. ;
  1. PT ; -- get patient
  1. W !! S DIC="^DPT(",DIC(0)="AEQMZ" D ^DIC K DIC,I,J S DFN=+Y
  1. I Y<0 G PRT:$D(SDMADE),A1:'$D(SDMADE)
  1. ;
  1. I $S('$D(^DPT(DFN,.35)):0,$P(^(.35),U,1)]"":1,1:0) D
  1. . W *7,!,"** PATIENT HAS DIED! **"
  1. ;
  1. F SDPR=DT:0 S SDPR=$O(^DPT(+Y,"S",SDPR)) Q:SDPR=""!(SDPR>(DT+.2400)) D
  1. . I $P(^DPT(+Y,"S",SDPR,0),U,2)'["C",$P(^(0),U,2)'["N" S I(SDPR)=+^(0)
  1. ;
  1. S J=0 F S J=$O(^DPT(DFN,"DE",J)) Q:'$D(^(+J,0)) S:$P(^(0),U,2)'["I" J(+^(0))=""
  1. F SDPR=0:0 S SDPR=$O(I(SDPR)) Q:SDPR="" D
  1. . F I=0:0 S I=$O(^SC(I(SDPR),"S",SDPR,1,I)) Q:'$D(^(+I,0)) D
  1. .. I ^SC(I(SDPR),"S",SDPR,1,I,0)-DFN=0 D
  1. ... D GOT S D=$P(^DPT(DFN,0),U,2)="F"
  1. ;
  1. I ('$D(J(SC)))&('$D(J(+$P(^SC(SC,"SL"),U,5)))) D ENR
  1. ;
  1. S Y=SDZY D OKTD^SDI G PT
  1. ;
  1. ;
  1. ENR ; -- enroll patient in clinic
  1. S Y=$P(^SC(SC,"SL"),U,5) I '$D(^SC(+Y,0)) S Y=+SC
  1. S Y=$P(^SC(Y,0),U,1)
  1. S SDY=Y,X="NOW",%DT="XT" D ^%DT S HEY=Y
  1. S DA=DFN,DR="3///"_SDY,(DIE,DIC)="^DPT(",DP=2
  1. S DR(2,2.001)=".01///"_SDY_";1///"_HEY
  1. S DR(3,2.011)=".01///"_HEY_";1///O" D ^DIE K DR
  1. Q
  1. ;
  1. GOT ;W !,"REQUESTED FOR "_$E(SDPR_"000",9,12)_" ON "
  1. S SDMADE="" S:'$D(^SC(I(SDPR),"S",0)) ^(0)="^44.001DA^^" Q
  1. ;
  1. PRT ; -- prints out routing slips for patients selected
  1. I $$VAL^XBDIQ1(40.8,$$DIV^ASDUT,9999999.14)="NO" G END
  1. K ASDCR,SDZPL
  1. S SDX="ADD",SDSP="N"
  1. S (SDIQ,DIV,SDHS,SDPP,APCHSTYP,SDAIU,SDREP)="",SDNFF=0
  1. W !!,"TO BYPASS PRINTING OF ROUTING SLIPS NOW - TYPE IN ^"
  1. D DIV^SDUTL I $T D ROUT^SDDIV G:Y<0 END
  1. S VAUTC=0,VAUTC($P(^SC(SC,0),U))=SC,ORDER=2,SDSTART=""
  1. S SDATE=SDZYY
  1. S APDATE=$E(SDATE,4,5)_"/"_$E(SDATE,6,7)_"/"_$E(SDATE,2,3)
  1. S PRDATE=$E(DT,4,5)_"/"_$E(DT,6,7)_"/"_$E(DT,2,3)
  1. S %ZIS="Q",%ZIS("B")=$$CRPTR D ^%ZIS
  1. G END:POP,QUE:$D(IO("Q")) D START^SDROUT,END Q
  1. ;
  1. QUE ;
  1. K IO("Q"),ZTSAVE
  1. F %="DIV","SDREP","SDSP","SDX","SDZPL","DUZ(2)","DT","SDSTART","SDATE","APDATE","PRDATE","SDIQ","YY","SDHS","SDPP","APCHSTYP","SDNFF","SDAIU","VAUTC(","VAUTC","ORDER" S ZTSAVE(%)=""
  1. S ZTRTN="START^SDROUT",ZTDESC="ROUTING SLIPS"
  1. D ^%ZTLOAD K ZTSK D HOME^%ZIS G END
  1. ;
  1. END K %,%DT,APCHSTYP,D,DA,DFN,DIC,DIE,DP,DR,GDATE,I,SDZY,J,PRDATE,SDATE
  1. K SDHS,SDAIU,SDNFF,SDPP,SC,SD,SDAPTYP,SDD,SDINP,SDIQ,SDPL,SDPR,SDRT
  1. K SDSC,SDSL,SDTTM,SDY,SDX,SDZPL,X,Y,Y1,SDMADE,ASDCR,YY,SDZYY
  1. D END^SDROUT1
  1. Q
  1. ;
  1. DAYS() ; -- returns default first date for charts to be ready
  1. NEW X1,X2,X
  1. S X1=DT,X2=$$VAL^XBDIQ1(40.8,$$DIV^ASDUT,9999999.07)
  1. S:X2="" X2=3 D C^%DTC
  1. Q X_".0800"
  1. ;
  1. DAYSP() ; -- return default day in readable format
  1. Q $$FMTE^XLFDT($$DAYS,2)
  1. ;
  1. ;
  1. DAYSN() ; -- returns default # of days
  1. Q $$VAL^XBDIQ1(40.8,$$DIV^ASDUT,9999999.07)
  1. ;
  1. CRPTR() ; -- returns default chart request printer
  1. Q $$VAL^XBDIQ1(40.8,$$DIV^ASDUT,9999999.05)