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

ADEMNG.m

Go to the documentation of this file.
  1. ADEMNG ; IHS/HQT/MJL - DENTAL FOLLOWUP MGMT ; [ 03/24/1999 9:04 AM ]
  1. ;;6.0;ADE;;APRIL 1999
  1. ;S ADEREF=0,ADEREC=1,ADEWAI=0 ;SET IN CALLING OPTION
  1. ;------->INITIALIZE
  1. Q:'$D(ADEREF)!'$D(ADEREC)!'$D(ADEWAI) S ADEINT=0,$P(ADELIN,"*",79)=""
  1. S ADETYP=$S(ADEREF:"rf",ADEREC:"rc",ADEWAI:"w")
  1. D ^XBKVAR I '$D(DUZ(2)) W !,"DIVISION NOT SET IN USER FILE -- CONTACT SITE MANAGER OR ISC" Q
  1. I DUZ(2)=0 W !,"DIVISION SET TO ZERO (UNIVERSAL). DIVISION MUST BE SET TO ONE OF THE ",!,"SITES IN THE DENTAL SITE PARAMETER FILE. -- CONTACT SITE MANAGER" Q
  1. ONE ;------->RESET CONSTANT FOLLOWUP SUBTYPE
  1. ; RETURN ADESUB=DFN IN ^ADETYP(
  1. D RESET^ADEMNG1 G:Y<1 END
  1. TWO ;------->LOOK UP A PATIENT
  1. ; RETURN ADENEWM=1 IF NEW =0 IF EDIT
  1. D PTLOOK^ADEMNG1 G:Y<1 ONE
  1. FOUR ;------->CHECK IF ALREADY ON LIST ;***ASK IF SHOULD BE REMOVED
  1. I $D(^ADEFOL("TYPE",ADEPAT,ADETYP,ADESUB)) D MOD
  1. ADDR ;------->EDIT ADDRESS
  1. D P2^ADEMNG1
  1. I $D(Y) W !,"***FOLLOWUP DATA ENTRY ABORTED***" H 2 G:ADEINT END1 K ^ADEUTL("ADELOCK",ADEPAT) G TWO
  1. FIVE ;------->COLLECT FOLLOWUP INFO
  1. D ^ADEMNG3
  1. SIX ;------->WRITE DATA TO DISK, QUIT IF CALLED INTERNALLY
  1. D:Y ^ADEMNG6 G:ADEINT END1
  1. SEVEN ;------->GET ANOTHER PATIENT
  1. K ^ADEUTL("ADELOCK",ADEPAT)
  1. K ADENEWM,ADEPAT,ADEPRI,ADEMPRO,ADEMPROD,ADEMDAT,ADEMACT,ADEMDFN,ADENOD
  1. G TWO
  1. END D ^ADECLS K ADELIN
  1. END1 K ADEDICS,ADEFUNC,ADEINT,ADEMDAT,ADEMDFN,ADEMDUZ,ADEMPRO,ADEMPROD,ADENEWM,ADEPRI,ADEREC,ADEREF,ADESUB,ADESUBN,ADETITL,ADETYP,ADEWAI
  1. Q
  1. MOD ;------->LOAD LOCALS WITH EDIT DATA
  1. W !?5,*7,$P(^DPT(ADEPAT,0),U)," IS ALREADY ON THE ",$P(^ADETYP(ADESUB,0),U)," ",$S(ADEWAI:"WAITING",ADEREC:"RECALL",1:"REFERRAL")," LIST!"
  1. S ADENOD=^ADEFOL(ADEMDFN,0),ADEPRI=$P(ADENOD,U,5),ADEMDAT=$P(ADENOD,U,3),ADEMPROD=$P(ADENOD,U,7),ADEMACT=$P(ADENOD,U,4)
  1. F J="ADEMDAT","ADEMACT" S Y=@J X ^DD("DD") S @J=Y
  1. I ADEMPROD'="",$D(^DIC(16,ADEMPROD,0)) S ADEMPRO=$P(^DIC(16,ADEMPROD,0),U) ;IHS/HMW ADDED CONDITIONAL SET 6-20-90
  1. Z S ADEPRI=$S(ADEPRI="u":"URGENT",ADEPRI="r":"ROUTINE",1:"HIGH")
  1. Q
  1. EN ;EP
  1. ;------->GET A FOLLOWUP SUBTYPE IF CALLED INTERNALLY --ENDO,PROS
  1. ; THIS IS INTERNAL ENTRY POINT -- TYPE SET BY CALLING ROUTINE
  1. ; RETURN ADENEWM=1 IF NEW, 0 IF EDIT
  1. S ADEINT=1 D R2^ADEMNG1 G:Y<1 END1
  1. S ADENEWM=1
  1. I $D(^ADEFOL("TYPE",ADEPAT,ADETYP,ADESUB)) S ADEMDFN=$O(^ADEFOL("TYPE",ADEPAT,ADETYP,ADESUB,0)),ADENEWM=0 D MOD
  1. G ADDR