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

AZXRVP1B.m

Go to the documentation of this file.
  1. AZXRVP1B ;PAO/IHS/JHL;VISITS BY PROVIDERS[ 08/30/93 11:00 AM ]
  1. ;Version 1;VISITS BY PROVIDERS;;****;DATE OF RELEASE HERE
  1. ;JOHN H. LYNCH
  1. ;
  1. ;AZXRVP1B, INPUT PROGRAM 2 OF 4.
  1. ;THE ROUTINES THAT CALL AZXRVP1:
  1. ;AZXRVP1, 1st input program.
  1. ;THE ROUTINES THAT AZXRVP1 CALLS:
  1. ;AZXRVP1C, 3rd input program.
  1. ;^DIC, Fileman Lookup.
  1. ;^%DT, Fileman Date Conversion.
  1. ;Variable List
  1. ;DIC= Global root of file for Fileman Lookup.
  1. ;DIC(0)= Fileman Lookup parameters.
  1. ;DIC("A")= Fileman Lookup default prompt.
  1. ;%DT= Fileman Date Conversion parameters.
  1. ;%DT("A")= Fileman Date Conversion default prompt.
  1. ;DTOUT= Used for checking timeout.
  1. ;AZXRBCK= Flags whether user wants to back up one prompt.
  1. ;AZXRCLNC(#)= Clinic stops from AZXRVP1.
  1. ;AZXRFAC= Facility in external form^DFN from LOCATION file.
  1. ;AZXRFDT= Fileman From Date is returned in AZXRFDT.
  1. ;AZXRTDT= Fileman To Date is return in AZXRTDT.
  1. ;AZXROK= Check flag for validating all prompt entries.
  1. ;J,L= Counter variables.
  1. ;X= Lookup value from user input.
  1. ;Y= Returned lookup value from ^DIC.
  1. FDATE ;ASK USER FOR THE FROM DATE TO USE FOR REPORT
  1. ;SET LOCAL VARIABLES
  1. S AZXRBCK="N" ;AZXRBCK= VARIABLE USED FOR
  1. ; CHECKING WHETHER USER
  1. ; WANTS TO BACK UP "^"
  1. S %DT="AEX" ;VALIDATES DATE INPUT AND
  1. ;CONVERTS IT FOR STORAGE
  1. ; A= ASK FOR DATE INPUT
  1. ; E= ECHO ANSWER
  1. ; X= EXACT DATE REQUIRED
  1. S %DT("A")="From Date: " ;%DT("A")= DEFAULT PROMPT
  1. D ^%DT ;CALL FILEMAN DATE CONVERSION
  1. I (X="^")!(X="")!($D(DTOUT)) K DTOUT S AZXRBCK="Y" Q
  1. ;USER WANTS TO BACK UP
  1. ;OR TIMEOUT
  1. I X?1.3"?" G FDATE ;INQUIRY TO HELP; GOTO FDATE
  1. I Y=-1 W !!,*7,"Invalid Date: Press a '?' for help." G FDATE
  1. ;INVALID ENTRY; GOTO FDATE
  1. S AZXRFDT=Y ;AZXRFDT= FILEMAN DT RETURNED
  1. ; IN Y
  1. D TDATE ;SET TO DATE
  1. G:AZXRBCK="Y" FDATE ;USER WANTS TO BACK UP "^"
  1. Q
  1. TDATE ;ASK USER FOR THE TO DATE TO USE FOR REPORT
  1. ;SET LOCAL VARIABLES
  1. S AZXRBCK="N" ;AZXRBCK= VARIABLE USED FOR
  1. ; CHECKING WHETHER USR
  1. ; WANTS TO BACK UP "^"
  1. S %DT="AEX" ;VALIDATES DATE INPUT AND
  1. ;CONVERTS IT FOR STORAGE
  1. ; A= ASK FOR DATE INPUT
  1. ; E= ECHO ANSWER
  1. ; X= EXACT DATE REQUIRED
  1. S %DT("A")="To Date: " ;%DT("A")= DEFAULT PROMPT
  1. D ^%DT ;CALL FILEMAN
  1. I (X="^")!(X="")!($D(DTOUT)) K DTOUT S AZXRBCK="Y" Q
  1. ;USER WANTS TO BACK UP
  1. ;OR TIMEOUT
  1. I X?1.3"?" G TDATE ;INQUIRY TO HELP; GOTO TDATE
  1. I Y=-1 W !!,*7,"Invalid Date: Press a '?' for help." G TDATE
  1. ;INVALID ENTRY; GOTO TDATE
  1. S AZXRTDT=Y ;AZXRTDT= FILEMAN DT RETURNED
  1. ; IN Y
  1. I AZXRTDT<AZXRFDT W !!,"'To Date' must be greater than or equal to 'From Date'",! G TDATE
  1. D CLINICS ;ASK USER FOR CLINIC STOPS
  1. G:AZXRBCK="Y" TDATE ;USER WANTS TO BACKUP "^"
  1. Q
  1. CLINICS ;ASK USER FOR ALL CLINIC STOPS
  1. ;SET LOCAL VARIABLES
  1. S AZXRBCK="N" ;AZXRBCK= VARIABLE USED FOR
  1. ; CHECKING WHETHER USER
  1. ; WANTS TO BACK UP "^"
  1. S DIC="^DIC(40.7," ;USE ^DIC(40.7, FOR LOOKUP
  1. ;CLINIC STOP FILE
  1. S DIC(0)="AEOQZ" ;DIC(0)= LOOKUP VALUES
  1. ; A= ASK THE ENTRY
  1. ; E= ECHO BACK ANSWER
  1. ; O= ONLY FIND ONE ANSWER
  1. ; Q= QUESTION ERROR INPUT
  1. ; Z= OUTPUT IN Y(0),Y(0,0)
  1. S DIC("A")="Enter Clinic Stop: " ;DIC("A")= DEFAULT PROMPT
  1. S L=1 ;L= FIRST CLINIC STOP SUBSCRPT
  1. F Q:AZXRBCK="Y" S AZXROK="Y" Q:L>5 D ^DIC Q:(X="")&(L>1) D
  1. .I (X="^")!((X="")&(L=1))!($D(DTOUT)) K DTOUT S AZXRBCK="Y" Q
  1. .I L>1 F J=1:1:(L-1) I Y(0,0)=$P(AZXRCLNC(J),U,2) S AZXROK="N" Q
  1. .I AZXROK="Y" S $P(AZXRCLNC(L),U,2)=Y(0,0),$P(AZXRCLNC(L),U)=$P(Y,U,1),L=L+1 Q
  1. .W !!,*7,"All clinic stops must be unique, please try again.",!
  1. ;DO LOOKUP FOR CLINIC STOPS
  1. ;CHECK IF USER WANTS TO BACK
  1. ;UP OR TIMEOUT
  1. ;MAKE SURE ALL CLINIC STOPS
  1. ;ARE UNIQUE
  1. ;AZXRCLNC(L)= 1) INTERNAL # OF
  1. ; CLINIC STOPS
  1. ; 2) EXTERNAL FORM
  1. Q:AZXRBCK="Y" ;GO BACK TO FACILITY PROMPT
  1. D AFFIL^AZXRVP1C ;GET AFFILIATIONS
  1. G:AZXRBCK="Y" CLINICS ;USER WANTS TO BACKUP "^"
  1. Q