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

ASDAMB.m

Go to the documentation of this file.
  1. ASDAMB ; IHS/ADC/PDW/ENM - APPT MADE BY ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;IHS SCHEDULING;;MAR 25, 1999
  1. ;
  1. PAT ; -- ask user for patient
  1. NEW DIC S DIC=9000001,DIC(0)="AEQM" D ^DIC Q:X=""!(X=U)
  1. I Y<0 W " ??",*7 G PAT
  1. S DFN=+Y
  1. ;
  1. DATE ; -- ask user for starting date
  1. K DIR,ASDBDT,ASDEDT
  1. S DIR(0)="DO^::EX",DIR("A")="Select beginning date"
  1. D ^DIR K DIR G PAT:$D(DIRUT),PAT:Y<1 S ASDBDT=Y
  1. I '$O(^DPT(DFN,"S",Y)) D G PAT
  1. . W !!,"NO APPOINTMENTS FOUND!",!
  1. ;
  1. EDATE ; -- ask user for ending date
  1. S DIR(0)="DO^::EX",DIR("A")="Select ending date"
  1. D ^DIR K DIR G PAT:$D(DIRUT),PAT:Y<1 S ASDEDT=Y
  1. ;
  1. D EN G PAT
  1. ;
  1. EN ; -- main entry point for SD IHS APPT MADE BY
  1. D EN^VALM("SD IHS APPT MADE BY")
  1. D EXIT Q
  1. ;
  1. HDR ; -- header code
  1. S VALMHDR(1)=$$PAD("",16)_$$CONF^ASDUT
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. NEW ASDX,ASDS,ASDL,ASDEND
  1. K ASDLN,ASDNUM,^TMP("ASDAMB",$J)
  1. S ASDX=ASDBDT,ASDEND=ASDEDT+.2400
  1. F S ASDX=$O(^DPT(DFN,"S",ASDX)) Q:'ASDX!(ASDX>ASDEND) D
  1. . S ASDS=^DPT(DFN,"S",ASDX,0)
  1. . S ASDL=$$PAD($$FMTE^XLFDT(ASDX),20) ;appt dt
  1. . S ASDL=ASDL_$$PAD($$VAL^XBDIQ1(44,$P(ASDS,U),.01),24)_" " ;clinic
  1. . D FINDUSR
  1. . I ASDU]"" S ASDL=ASDL_$$PAD($$VAL^XBDIQ1(200,ASDU,.01),17) ;made by
  1. . I ASDU="" S ASDL=ASDL_$$PAD("??",17)
  1. . I ASDM]"" S ASDL=ASDL_" "_$$FMTE^XLFDT(ASDM) ;appt made dt
  1. . I ASDM="" S ASDL=ASDL_" ??"
  1. . S ASDLN=$G(ASDLN)+1,ASDNUM=$G(ASDNUM)+1
  1. . S ^TMP("ASDAMB",$J,ASDLN,0)=$J(ASDNUM,2)_". "_ASDL
  1. . S ^TMP("ASDAMB",$J,"IDX",ASDLN,ASDNUM)=DFN_U_+ASDS_U_ASDX
  1. S VALMCNT=+$G(ASDLN)
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. K ASDBDT,ASDEDT,ASDA,ASDLN,ASDM,ASDNUM,ASDU,ASDX,AGE,SEX,DFN
  1. K SDC,SDIFN,SDP,SDPP,SDS,SDSTAT,SSN,VALMY,ORX
  1. K VALMBCK,VALMCNT,VALMHDR
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. RETURN ; -- reset variables for return to lt
  1. D TERM^VALM0 S VALMBCK="R" Q
  1. ;
  1. GETAPPT ; -- select appt from listing
  1. D FULL^VALM1
  1. S ASDA=""
  1. D EN^VALM2(XQORNOD(0),"OS")
  1. I '$D(VALMY) Q
  1. S X=$O(VALMY(0))
  1. S Y=0 F S Y=$O(^TMP("ASDAMB",$J,"IDX",Y)) Q:Y="" Q:ASDA]"" D
  1. . S Z=$O(^TMP("ASDAMB",$J,"IDX",Y,0))
  1. . Q:^TMP("ASDAMB",$J,"IDX",Y,Z)=""
  1. . I Z=X S ASDA=^TMP("ASDAMB",$J,"IDX",Y,Z)
  1. Q:ASDA=""
  1. S DFN=$P(ASDA,U),SDIFN=$P(ASDA,U,2),SDA=$P(ASDA,U,3)
  1. Q
  1. ;
  1. VA ;EP; called by View Appt action
  1. S (DFN,SDIFN,SDA)="" D GETAPPT
  1. I DFN=""!(SDIFN="")!(SDA="") D D RETURN Q
  1. . W !,"Sorry data missing on this appointment!"
  1. D ^XBCLS,P^SDCLK,PRTOPT^ASDVAR,RETURN
  1. Q
  1. ;
  1. FINDUSR ; -- gets user and date made from file 44
  1. NEW X,Y
  1. S Y=$P(^DPT(DFN,"S",ASDX,0),U,18,19)
  1. I +Y S ASDU=$P(Y,U),ASDM=$P(Y,U,2) Q
  1. K Y S X=0 F S X=$O(^SC(+ASDS,"S",ASDX,1,X)) Q:X=""!($D(Y)) D
  1. . I +^SC(+ASDS,"S",ASDX,1,X,0)'=DFN Q
  1. . S Y=$P(^SC(+ASDS,"S",ASDX,1,X,0),U,6,7)
  1. S ASDU=$P($G(Y),U),ASDM=$P($G(Y),U,2)
  1. Q
  1. ;
  1. PAD(DATA,LENGTH) ; -- SUBRTN to pad length of data
  1. Q $E(DATA_$$REPEAT^XLFSTR(" ",LENGTH),1,LENGTH)