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

ACHSRMVD.m

Go to the documentation of this file.
  1. ACHSRMVD ;IHS/OIT/FCJ - REMOVE DOC CAUSING THE DUPLICATE DOC ERROR;JUL 10, 2008
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**13,14,21**;JUN 11,2001;Build 43
  1. ;ACHS*3.1*13 IHS/OIT/FCJ NEW ROUTINE FOR PATCH 13
  1. ;ACHS*3.1*14 IHS/OIT/FCJ
  1. ST ;
  1. W @IOF
  1. W ?5,"This routine removes documents that have been added",!
  1. W ?5,"after the site manager has removed the entire fiscal",!
  1. W ?5,"year documents. You will need to enter the 4 digit",!
  1. W ?5,"fiscal year. The duplicate documents will then be",!
  1. W ?5,"displayed. You will need to confirm deletion of the",!
  1. W ?5,"documents.",!!
  1. W ?5,"NOTE: FY ON DISPLAYED DOCUMENTS SHOULD DISPLAY 10 YRS PRIOR TO FY ENTERED,",!
  1. W ?5,"EXAMPLE: IF 2008 ENTERED THEN THE FY: 1998 SHOULD DISPLAY FOR DOCUMENTS."
  1. W !
  1. FY ;Enter FY to remove documents from
  1. S DIR(0)="N^1996:"_ACHSCFY,DIR("A")="Enter the 4 digit FY the duplicate error is occurring in"
  1. D ^DIR K DIR
  1. G:$D(DIRUT) EXT
  1. G:Y<1 FY
  1. S ACHSEFY=Y
  1. ;
  1. PROC ; Beg process to display and delete documents
  1. ;ACHS*3.1*14 IHS/OIT/FCJ USER READ PROMPT AS CURRENT FY
  1. S (ACHSTMP,ACHSDOC)=""
  1. I '$D(^ACHS(9,DUZ(2),"FY",ACHSEFY)) W !,"This FY is not valid for this facility" G FY
  1. S (ACHSTMP,ACHSDOC)=1_$E(ACHSEFY,4)_"00000"+$P(^ACHS(9,DUZ(2),"FY",ACHSEFY,"C"),U) ;BEG DOC NUMBER
  1. ;I $D(^ACHS(9,DUZ(2),"FY",ACHSEFY)) S (ACHSTMP,ACHSDOC)=1_$E(ACHSEFY,4)_"00000"+$P(^ACHS(9,DUZ(2),"FY",ACHSEFY,"C"),U)
  1. ;I ACHSDOC="",ACHSEFY+10'>ACHSCFY S (ACHSTMP,ACHSDOC)=1_$E(ACHSEFY,4)_"00000"+$P(^ACHS(9,DUZ(2),"FY",ACHSEFY+10,"C"),U)
  1. W !,"Documents to be Removed:"
  1. S ACHSCTN=0,LISTCNT=1
  1. I ACHSDOC'="" D LOOP
  1. I LISTCNT=1 W !,"There are no documents to be removed...." D RTRN^ACHS G EXT
  1. S DIR(0)="Y",DIR("A")="Would you like to continue with deletion of these documents",DIR("B")="N"
  1. D ^DIR K DIR
  1. I Y=1 S ACHSCTN=1,LISTCNT=1 W !,"Deleting Documents: " D LOOP
  1. G EXT
  1. Q
  1. LOOP ;
  1. F S ACHSDOC=$O(^ACHSF(DUZ(2),"D","B",ACHSDOC)) Q:(ACHSDOC'?1N.N)!($E(ACHSDOC,2)>$E(ACHSEFY,4)) D
  1. . S ACHSDIEN=0
  1. . F S ACHSDIEN=$O(^ACHSF(DUZ(2),"D","B",ACHSDOC,ACHSDIEN)) Q:ACHSDIEN'?1N.N D
  1. . .D DSPL
  1. I ACHSCTN=1 W !,"Removed ",LISTCNT-1," Documents"
  1. S ACHSDOC=ACHSTMP
  1. Q
  1. DSPL ;Display document information
  1. ;ACHS*3.1*21 ADDED NXT 3 LINES FOR TESTING FOR INDX W/O DATA
  1. I '$D(^ACHSF(DUZ(2),"D",ACHSDIEN)) D Q
  1. .W !,"Index with no data ",ACHSDOC," Index removed",!
  1. .K ^ACHSF(DUZ(2),"D","B",ACHSDOC,ACHSDIEN)
  1. W !,LISTCNT,". Document: "
  1. S Y=ACHSDIEN D Q3^ACHSUD
  1. S Y=$P(DOCDATA,U,2) X ^DD("DD")
  1. W !?13," FY: ",$P(DOCDATA,U,27)," Date Entered: ",Y
  1. Q:'ACHSCTN
  1. DEL ;Delete the records
  1. S DIK="^ACHSF("_DUZ(2)_",""D"",",DA(1)=DUZ(2),DA=ACHSDIEN
  1. D ^DIK K DIK
  1. W " DELETED"
  1. Q
  1. EXT ;
  1. K ACHSDOC,ACHSTMP,ACHSCTN,ACHSDIEN,LISTCNT,DOCDATA,ACHSEFY
  1. Q