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

AGEDBEE.m

Go to the documentation of this file.
  1. AGEDBEE ; IHS/ASDS/TPF - EDIT/DISPLAY BENEFITS COORDINATOR - PATIENT APPLICATION SUBMISSIONS SCREEN ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;
  1. ;AD0 AND AD1 WILL BE THE IENS NEEDED TO DISP THE 'PATIENTS APPLICATION
  1. ;SUBMISSION' WHICH WAS CHOSEN FROM THE PATIENT APPLICATIONS MAIN
  1. ;SCREEN (^AGEDBED)
  1. EN(AD0,AD1,AD2,NEWENTRY) ;
  1. ;IF ITS A NEW ENTRY, DISP THE SCREEN, DISP A MESSAGE, THEN CALL THE
  1. ;EDITS TO FIELDS APPROPRIATE FOR ADDING A NEW ENTRY
  1. I NEWENTRY D DRAW,WMSG,NEWENTRY I $G(Y)<0 W !,"Entry not made." H 2 D END Q
  1. S NEWENTRY=0
  1. ;BELOW ASKS SEQUENCE OF QUESTIONS
  1. ;S EXIT=0
  1. ;I NEWENTRY D Q:EXIT S NEWENTRY=0
  1. ;.D DRAW,WMSG,NEWENTRY I $G(Y)<0 W !,"No entry made" H 2 S EXIT=1 Q
  1. ;.D APSUBVIA
  1. ;.D APPREAS
  1. ;.D APPSUBBY
  1. ;
  1. VAR D DRAW
  1. W !,AGLINE("EQ")
  1. K DIR
  1. I '$D(AGSEENLY) D
  1. .S DIR("A")="Change which item (1-"_AG("N")_") OR Add <A>pplication Submission Status information"
  1. I $D(AGSEENLY) D
  1. .S DIR("A")="Press return to continue"
  1. .S DIR="FO"
  1. D READ^AGED1
  1. I $D(AGSEENLY) Q
  1. I $D(MYERRS("C","E")),(Y'?1N.N),(Y'="E") W !,"ERRORS ON THIS PAGE. PLEASE EDIT BEFORE EXITING!!" H 3 G VAR
  1. Q:Y=$G(AGOPT("ESCAPE"))
  1. G END:$D(DLOUT)!(Y["N")!$D(DUOUT),VAR:$D(AG("ERR"))
  1. Q:$D(DFOUT)!$D(DTOUT)
  1. I $G(Y)="A" D ADSUBSTA G VAR
  1. I $D(DQOUT)!(+Y<1)!(+Y>AG("N")) W !!,"You must enter a number from 1 to ",AG("N"),!,"or 'A' to add Application Submission Status information." H 3 G VAR
  1. ;DEPENDING ON USER'S CHOICE ITEM MAY BE AN EDIT ON THIS SCREEN OR
  1. ;IT MAY BE A PATIENT APPLICATION SUBMISSION WHICH IS ON ^AGEDBEE
  1. I $D(CHOICES(+Y)) S DORTN="APSUBDT",AD0=$P(CHOICES(+Y),U,2),AD1=$P(CHOICES(+Y),U,3),AD2=$P(CHOICES(+Y),U,4),AD3=$P(CHOICES(+Y),U,5) D @DORTN G VAR
  1. I $D(Y) D
  1. .S AGY=Y
  1. .F AGI=1:1 S AG("SEL")=+$P(AGY,",",AGI) Q:AG("SEL")<1!(AG("SEL")>AG("N")) D @($P(AG("C"),",",AG("SEL")))
  1. ;I AGY=1,'$D(^AUPNAUTH(AD0,11,AD1,1,AD2)) D CLEAN(AD0,AD1,AD2) Q ;USER HAS DELETED THE APP. SUBMITTED DATE
  1. ; THEY CHOSE TO ENTER THIS SCREEN. IT IS GONE
  1. ; SO RETURN TO PREV. SCREEN
  1. ;D CLEAN(AD0,AD1,AD2)
  1. I '$O(^AUPNAUTH(AD0,11,AD1,1,AD2,0)) Q
  1. D UPDATE1^AGED(DUZ(2),DFN,3,"")
  1. K AGI,AGY
  1. G VAR
  1. CLEAN(AD0,AD1,AD2) ;CLEAN EMPTY RECORD. IF NO SUBMISSION DATES HAVE
  1. ;BEEN ENTERED THEN THE RECORD IS MEANINGLESS
  1. ;CHECK HERE TO SEE IF ENTRIES HAVE ACTUALLY BEEN ENTERED. IF NOT
  1. ;CLEAR THE RECORD SINCE NOTHING REALLY EXISTS IN THIS
  1. ;RECORD AUPNAPPS(D0,11,D1,1,0)
  1. I $O(^AUPNAPPS(AD0,11,AD1,1,0))="" D
  1. .D CLEANZER(AD0,AD1)
  1. .W !,"RECORD DELETED!" H 2
  1. Q
  1. CLEANZER(AD0,AD1) ;EP
  1. K DIK,DA
  1. S DA(3)=AD0,DA(2)=AD1,DA=AD2,DIK="^AUPNAPPS("_DA(3)_",11,"_DA(2)_",1," D ^DIK
  1. Q
  1. END ;CLEAN UP THE VARS USED
  1. K AG,DLOUT,DTOUT,DFOUT,DQOUT,DA,DIC,DR,AGSCRN,Y,ADA,WDA,ADT,WDT,ADFN,WDFN,REC,NEWENTRY,CHOICES
  1. Q
  1. DRAW ;EP
  1. K CHOICES
  1. S AG("PG")="5BEE"
  1. S ROUTID=$P($T(+1)," ")
  1. D ^AGED
  1. D GETAW
  1. Q
  1. GETAW ;DISP
  1. K AG("C")
  1. F AG=1:1 D Q:$G(AGSCRN)[("*END*")
  1. . S AGSCRN=$P($T(@1+AG),";;",2,15)
  1. . Q:AGSCRN[("*END*")
  1. . S CAPTION=$P(AGSCRN,U) ;FLD CAP
  1. . I $E(CAPTION)="-" D CAPPARSE(CAPTION) Q ;PARSE OUT CAP
  1. . S DIC=$P(AGSCRN,U,3) ;FILE OR SUBFILE #
  1. . S DR=$P(AGSCRN,U,4) ;FLD #
  1. . S SKIPEXEC=$P(AGSCRN,"|",6) ;SKIP LOGIC. IF THIS IS TRUE WE
  1. . ; DON'T DEAL WITH THIS FLD AT ALL
  1. . I SKIPEXEC'="" X SKIPEXEC Q:$T
  1. . S NEWLINE=$P(AGSCRN,U,5) ;NEWLINE OR INDENT
  1. . S CAPDENT=$P(AGSCRN,U,2) ;CAP INDENT
  1. . S ITEMNUM=$P(AGSCRN,U,6) ;ITEM #
  1. . S TAGCALL=$P($P(AGSCRN,U,7),"|",1) ;TAG TO CALL TO EDIT THIS FLD
  1. . S EXECUTE=$P(AGSCRN,"|",2) ;USE TO DISP FLD WHICH IS DEPENDENT ON ANOTHER FLD
  1. . S PREEXEC=$P(AGSCRN,"|",3) ;PLACE CODE TO BE XECUTED PRIOR TO DISP OF THE FLD
  1. . S PRECAPEX=$P(AGSCRN,"|",4) ;PLACE CODE TO EXECUTE BEF CAP/FLD LBL
  1. . S POSTEXEC=$P(AGSCRN,"|",5) ;PLACE CODE HERE TO BE EXECUTED AFT DISP OF THE FLD
  1. . S:TAGCALL'="" $P(AG("C"),",",ITEMNUM)=TAGCALL ;SELECTION STRING
  1. . W @NEWLINE
  1. . W ITEMNUM
  1. . W $S(ITEMNUM'="":". ",1:"")
  1. . I PRECAPEX="" W @CAPDENT,$S($G(CAPTION)'="":CAPTION_": ",$G(CAPTION)="":"",1:$P($G(^DD(DIC,DR,0)),U)_": ")
  1. . I PRECAPEX'="" X PRECAPEX I $T W @CAPDENT,$S($G(CAPTION)'="":CAPTION_": ",$G(CAPTION)="":"",1:$P($G(^DD(DIC,DR,0)),U)_": ")
  1. .;IF EDITING DISP DATA ONLY
  1. .;E DISPLAY ONLY THE CAPS
  1. .I 'NEWENTRY D
  1. .. ;LOOP TO HANDLE MULTIPLE DR'S FOR ONE CAP
  1. .. I DIC["9000045.1101" D
  1. ... S D0=AD2_","_AD1_","_AD0_","
  1. ... N PIECE
  1. ... S VDR=DR
  1. ... F PIECE=1:1 S DR=$P(VDR,";",PIECE) Q:DR="" D
  1. .... I $P(PREEXEC,";",PIECE)'="" X $P(PREEXEC,";",PIECE)
  1. .... I $P(EXECUTE,";",PIECE)="" W $$GET1^DIQ(DIC,D0,DR)
  1. .... I $P(EXECUTE,";",PIECE)'="" S D0=$TR(D0,",") X $P(EXECUTE,";",PIECE)
  1. .... I $P(POSTEXEC,";",PIECE)'="" X $P(POSTEXEC,";",PIECE)
  1. ...K PIECE
  1. ..;LIST SUBMISSION STATUS DATES
  1. .. I DIC["9000045.110101" D
  1. ... S ITEM=4 ;PREVIOUS SECTION'S ITEMS END AT 4
  1. ... S VD0=AD0
  1. ... S VD1=AD1
  1. ... S VD2=AD2
  1. ... I '$O(^AUPNAPPS(VD0,11,VD1,1,VD2,1,0)) W !,"NO STATUSES ENTERED" Q
  1. ... S VD3=0
  1. ... F S VD3=$O(^AUPNAPPS(VD0,11,VD1,1,VD2,1,VD3)) Q:'VD3 D
  1. .... S ITEM=ITEM+1
  1. .... S CHOICES(ITEM)=DIC_U_VD0_U_VD1_U_VD2_U_VD3
  1. .... S D0=VD3_","_VD2_","_VD1_","_VD0_","
  1. .... W !,ITEM_"."
  1. .... N PIECE
  1. .... F PIECE=1:1 S DR=$P(VDR,";",PIECE) Q:DR="" D
  1. ..... I $P(PREEXEC,";",PIECE)'="" X $P(PREEXEC,";",PIECE)
  1. ..... I $P(EXECUTE,";",PIECE)="" W $$GET1^DIQ(DIC,D0,DR)
  1. ..... I $P(EXECUTE,";",PIECE)'="" X $P(EXECUTE,";",PIECE)
  1. ..... I $P(POSTEXEC,";",PIECE)'="" X $P(POSTEXEC,";",PIECE)
  1. ....K PIECE
  1. S AG("N")=$G(ITEM)
  1. W !,$G(AGLINE("-"))
  1. K MYERRS,MYVARS
  1. D FETCHERR^AGEDERR(AG("PG"),.MYERRS)
  1. S MYVARS("DFN")=DFN,MYVARS("FINDCALL")="",MYVARS("SELECTION")=$G(AGSELECT),MYVARS("SITE")=DUZ(2)
  1. D EDITCHEK^AGEDERR(.MYERRS,.MYVARS,1)
  1. D VERIF^AGUTILS
  1. Q
  1. CAPPARSE(CAPTION) ;EP - PARSE OUT THE CAP
  1. N LBRACKET,RBRACKET
  1. S LBRACKET="[",RBRACKET="]"
  1. I CAPTION'[LBRACKET W !,$E(CAPTION,2,199) Q ;- DENOTES SIMPLE SECTION
  1. ;PARSE OUT AND INSERT FLD VALUES
  1. S FIELDS=$L(CAPTION,LBRACKET)
  1. W !,$E($P(CAPTION,LBRACKET),2,199)
  1. F PIECE=1:1:FIELDS D
  1. .S FIELD=$P($P(CAPTION,LBRACKET,PIECE),RBRACKET)
  1. .W $$GET1^DIQ($P(FIELD,";"),AD1_","_AD0_",",$P(FIELD,";",2))
  1. W $P(CAPTION,RBRACKET,2)
  1. K LBRACKET,RBRACKET
  1. Q
  1. WMSG ;DISP THIS MSG IF THERE IS NO AUTHORIZATION DT FOUND
  1. W !,"You must first enter a APPLICATION SUBMISSION DATE"
  1. Q
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;
  1. ; EDIT AUTHORIZATION FLDS
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;
  1. NEWENTRY ;EP - NEW ENTRY
  1. APDTSUB ;APPLICATION SUBMISSION DT
  1. K DIC,DIE,DR,DA
  1. S DA(1)=AD1
  1. S DA(2)=AD0
  1. S DIC="^AUPNAPPS("_DA(2)_",11,"_DA(1)_",1,"
  1. S DIC(0)="ALMEQ"
  1. K DD,DO
  1. D ^DIC
  1. I +Y>0 S AD2=+Y Q
  1. Q
  1. APSUBVIA ;EP - EDIT APPLICATION SUBMITTED VIA
  1. K DIC,DR,DIE,DA,DD,DO
  1. S DA(1)=AD1
  1. S DA(2)=AD0
  1. S DA=AD2
  1. S DIE="^AUPNAPPS("_DA(2)_",11,"_DA(1)_",1,"
  1. S DR=.02
  1. D ^DIE
  1. K DIC,DR,DIE,DA
  1. Q
  1. APPREAS ;EP - EDIT REASON FOR SUBMISSION
  1. K DIC,DR,DIE,DA,DD,DO
  1. S DA(1)=AD1
  1. S DA(2)=AD0
  1. S DA=AD2
  1. S DIE="^AUPNAPPS("_DA(2)_",11,"_DA(1)_",1,"
  1. S DR=".03"
  1. D ^DIE
  1. K DIC,DR,DIE,DA
  1. Q
  1. APPSUBBY ;EP - EDIT REASON FOR SUBMISSION
  1. K DIC,DR,DIE,DA,DD,DO
  1. S DA(1)=AD1
  1. S DA(2)=AD0
  1. S DA=AD2
  1. S DIE="^AUPNAPPS("_DA(2)_",11,"_DA(1)_",1,"
  1. S DR=".04"
  1. D ^DIE
  1. K DIC,DR,DIE,DA
  1. Q
  1. ADSUBSTA ;EP - ADD APPLICATION SUBMISSION DT
  1. K DIC,DIE,DR,DA
  1. S DA(2)=AD1
  1. S DA(3)=AD0
  1. S DA(1)=AD2
  1. S DIC="^AUPNAPPS("_DA(3)_",11,"_DA(2)_",1,"_DA(1)_",1,"
  1. S DIC(0)="ALMEQ"
  1. K DD,DO
  1. D ^DIC
  1. Q:+Y<0
  1. S AD3=+Y
  1. D APSUBST
  1. Q
  1. APSUBDT ;EP - EDIT APPLICATION SUBMISSION STATUS DT
  1. K DIC,DR,DIE,DA,DD,DO
  1. S DA(2)=AD1
  1. S DA(3)=AD0
  1. S DA(1)=AD2
  1. S DA=AD3
  1. S DIE="^AUPNAPPS("_DA(3)_",11,"_DA(2)_",1,"_DA(1)_",1,"
  1. S DR=".01"
  1. D ^DIE
  1. Q:'$D(DA) ;SUBMISION STATUS DT DELETED
  1. K DIC,DR,DIE,DA
  1. D APSUBST
  1. Q
  1. APSUBST ;EP - EDIT SUBMISSION STATUS
  1. K DIC,DR,DIE,DA,DD,DO
  1. S DA(2)=AD1
  1. S DA(3)=AD0
  1. S DA(1)=AD2
  1. S DA=AD3
  1. S DIE="^AUPNAPPS("_DA(3)_",11,"_DA(2)_",1,"_DA(1)_",1,"
  1. S DR=".02"
  1. D ^DIE
  1. K DIC,DR,DIE,DA
  1. Q
  1. EDDTSUB ;EDIT DT APPLICATION SUBMITTED
  1. K DIC,DR,DIE,DA,DD,DO
  1. S DA(1)=AD1
  1. S DA(2)=AD0
  1. S DA=AD2
  1. S DIE="^AUPNAPPS("_DA(2)_",11,"_DA(1)_",1,"
  1. S DR=".01"
  1. D ^DIE
  1. K DIC,DR,DIE,DA
  1. Q
  1. ; ****************************************************************
  1. ; ON LINES BELOW:
  1. ; U "^" DELIMITED
  1. ; AGSCRN CONTAINS THE $TEXT OF EACH LINE BELOW STARTING AT TAG '1'
  1. ; PIECE VAR DESC
  1. ; ----- -------- -----------------------------------------------
  1. ; 1 CAPTION FLD CAP ASSIGNED BY PROGRAMMER OVERRIDES FLD LBL IF POPULATED
  1. ; 2 CAPDENT POSITION ON LINE TO DISP CAP
  1. ; 3 DIC FILE OR SUBFILE #
  1. ; 4 DR FLD # - THESE CAN BE SEPARATED BY ";" THIS ALLOWS
  1. ; MULTIPLE FLDS TO BE PRINTED WITH THE SAME CAP AS IN
  1. ; 'CITY,STATE,ZIP'
  1. ; 5 NEWLINE NEW LINE OR NOT (MUST BE EITHER A '!' OR '?#')
  1. ; USE THIS TO INDENT THE LINE
  1. ; 6 ITEMNUM ITEM # ASSIGNMENT. USE THIS TO ASSIGN THE ITEM #
  1. ; USED TO ALLOW USER TO CHOOSE THIS FLD TO EDIT
  1. ; 7 TAGCALL TAG TO CALL WHEN THIS FLD IS CHOSEN BY USER TO BE EDITED
  1. ;
  1. ; BAR "|" DELIMITED
  1. ; PIECE VAR DESC
  1. ; ----- -------- ----------------------------------------------
  1. ; 2 EXECUTE EXECUTE CODE TO GET FLD THAT ANOTHER IS POINTING TO.
  1. ; EXECUTED AFT FLD PRINT. IF MUTLIPLE FLDS ARE PRINTED
  1. ; THEN MULTIPLE EXECUTE CODES CAN BE SEPARATED BY ";".
  1. ; 3 PREEXEC EXECUTE CODE TO DO BEF FLD PRINTS. USE TO SCREEN OUT
  1. ; PRINTING A FLD VALUE. FOR MULTIPLES SEPARATE BY ";"
  1. ; 4 PRECAPEX EXECUTE CODE TO DO BEF PRINTING THE CAP OR FLD LBL.
  1. ; USE TO SCREEN OUT PRINTING A CAP/FLD LBL
  1. ; 5 POSTEXEC EXECUTE CODE TO DO AFT PRINTING THE FLD DATA
  1. ; FOR MULTIPLES SEPARATE BY ";"
  1. ; 6 SKIPEXEC EXECUTE CODE TO SKIP ENTIRE FLD
  1. ;
  1. 1 ;
  1. ;;--APPLICATION SUBMISSION DATA---------------------------------------------------
  1. ;;Date Submitted^?0^9000045.1101^.01^!?0^1^EDDTSUB||
  1. ;;App. Submitted via^?0^9000045.1101^.02^?40^2^APSUBVIA
  1. ;;Submission Reason^?0^9000045.1101^.03^!^3^APPREAS
  1. ;;Submitted by^?0^9000045.1101^.04^!^4^APPSUBBY
  1. ;;-
  1. ;;--SUBMISSION STATUS DATE------------SUBMISSION STATUS----------------------------
  1. ;;^?0^9000045.110101^.01;.02^?0^^APPSTADT||;W ?40
  1. ;;*END*
  1. ;;^?0^9000045.110101^.02^?40^4^APPSTAT