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

SCCVPAR.m

Go to the documentation of this file.
  1. SCCVPAR ;ALB/TMP - SCHED VISITS CONVERSION PARAMETERS; [ 03/02/98 10:47 AM ]
  1. ;;5.3;Scheduling;**211**;Aug 13, 1993
  1. ;
  1. PARAM ; Main entry point - display scheduling conversion parameters
  1. D EN^VALM("SCCV CONV PARAM MENU")
  1. D REFRESH^SCCVCDSP
  1. Q
  1. ;
  1. INIT ; -- set up initial variables
  1. D FNL
  1. S U="^",VALMCNT=0,VALMBG=1
  1. D BLD
  1. Q
  1. ;
  1. HDR ;
  1. S VALMHDR(1)=""
  1. Q
  1. ;
  1. FNL ; Clean up
  1. K ^TMP("SCCV.PARAM",$J),^TMP("SCCV.PARAM.DX",$J)
  1. Q
  1. ;
  1. BLD ;Build parameter display
  1. N SCCVCNV
  1. S VALMBG=1
  1. K ^TMP("SCCV.PARAM",$J)
  1. S VALMCNT=0
  1. S SCCVCNV=$G(^SD(404.91,1,"CNV"))
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT," ")
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT,"Earliest encounter date to be converted: "_$S(+SCCVCNV:$$FMTE^XLFDT(+SCCVCNV,"1D"),1:"<Not Specified>"))
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT,"Limit CST date range to 1 year or less?: "_$$EXPAND^SCCVDSP2(404.91,905,+$P(SCCVCNV,U,5)))
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT," Default Disposition Clinic: "_$$NONE^SCCVDSP2(404.91,902,$P(SCCVCNV,U,2),"<Not Specified>"))
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT," Maximum Errors Allowed: "_$$EXPAND^SCCVDSP2(404.91,907,$S($P(SCCVCNV,U,7):$P(SCCVCNV,U,7),1:1000)))
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT," Display Cancelled Templates: "_$$EXPAND^SCCVDSP2(404.91,909,+$P(SCCVCNV,U,9)))
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT," ")
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT,"Date Conversion Completed: "_$S('$$COMPL():"* UNEDITABLE - CST entry(s) missing or incomplete *",1:$$FMTE^XLFDT($P(SCCVCNV,U,4),"1D")))
  1. S VALMCNT=VALMCNT+1
  1. D SET^VALM10(VALMCNT,"Date Deletion Completed: "_$S('$$COMPL():"* UNEDITABLE - CST entry(s) missing or incomplete *",1:$$FMTE^XLFDT($P(SCCVCNV,U,3),"1D")))
  1. Q
  1. ;
  1. EDIT ; Edit scheduling conversion parameters
  1. N SCDT1
  1. S SCDT1=$P($G(^SD(404.91,1,"CNV")),U,4)
  1. D FULL^VALM1
  1. S DIE="^SD(404.91,",DA=1,DR="[SCCV CONV EDIT SITE PARAMS]"
  1. D ^DIE
  1. I 'SCDT1,$P($G(^SD(404.91,1,"CNV")),U,4) D
  1. . S DIR(0)="YA",DIR("A")="Do you want to delete the old scheduling files now? ",DIR("B")="NO" D ^DIR K DIR
  1. . I Y=1 D
  1. .. D EN^SCCVDEL
  1. D BLD
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. 903(SKIPTO) ;
  1. N DIR,Y
  1. ;
  1. Q:'$P($G(^SD(404.91,1,"CNV")),U,3)!($G(SCCVX(903)))
  1. ;
  1. I '$P($G(^SD(404.91,1,"CNV")),U,4) D G Q903
  1. .S DIR(0)="EA"
  1. .S DIR("A",1)="DATE CONVERSION COMPLETED must be entered before you can enter this date",DIR("A")="Press RETURN to continue"
  1. .D ^DIR K DIR
  1. .S SKIPTO="@30"
  1. ;
  1. S DIR(0)="YA",DIR("B")="NO"
  1. S DIR("A",1)="Entering this date indicates that your site is finished",DIR("A",2)="deleting any old encounter files that can be deleted.",DIR("A",3)=" ",DIR("A")="Are you sure you want to do this?: "
  1. D ^DIR K DIR
  1. I Y'=1 S SKIPTO="@30"
  1. ;
  1. Q903 Q
  1. ;
  1. 904(SKIPTO) ;
  1. N DIR,SC0,SCLACT,SCLEVT,SCOK,Y,Z
  1. ;
  1. G:'$P($G(^SD(404.91,1,"CNV")),U,4)!($G(SCCVX(904))) Q904
  1. ;
  1. ; All CST's must be canceled or completed before date can be entered
  1. I '$$COMPL() D S SKIPTO="@20" G Q904
  1. . W !
  1. . S DIR(0)="EA"
  1. .S DIR("A",1)="You must complete or cancel each CST before you may enter this date",DIR("A",2)="At least one CST was found to be missing or incomplete",DIR("A")="Press RETURN to continue "
  1. . D ^DIR K DIR
  1. . W !
  1. ;
  1. I $$SEQGAP() D S SKIPTO="@20" G Q904 ; Check for gaps in the dt range
  1. . N DIR,Y,SCDT1
  1. . S SCDT1=$P($G(^SD(404.91,1,"CNV")),U)
  1. . S:SCDT1 SCDT1=$$FMTE^XLFDT(SCDT1,2)
  1. . W !
  1. . S DIR(0)="EA"
  1. . S DIR("A",1)="You have one or more gaps in conversion dates from your earliest date to",DIR("A",2)=" convert ("_$S(SCDT1'="":SCDT1,1:"NOT ENTERED")_") to 9-30-96"
  1. . S DIR("A",3)="You must finish converting before you can enter the conversion completed date",DIR("A")="Press RETURN to continue "
  1. . D ^DIR K DIR
  1. . W !
  1. ;
  1. S DIR(0)="YA",DIR("B")="NO"
  1. S DIR("A",1)="Entering this date prevents you from converting any more data from the old",DIR("A",2)=" Scheduling files to the PCE V-files",DIR("A",3)=" ",DIR("A")="Are you sure you want to do this?: "
  1. D ^DIR K DIR
  1. I Y'=1 S SKIPTO="@20"
  1. ;
  1. Q904 Q
  1. ;
  1. COMPL(ANY) ; Check if all/any CST's are complete or canceled
  1. ; Returns 0 if function fails, 1 if function succeeds
  1. ; ANY = 1: just check for ANY completed
  1. ;
  1. N Z,SC0,SCOK,SCLACT,SCLEVT,SCANY
  1. ;
  1. I '$G(ANY) S SCOK='$$SEQGAP() G COMPLQ ;Check all for full range
  1. ;
  1. S Z=0,SCANY=0
  1. F S Z=$O(^SD(404.98,Z)) Q:'Z S SC0=$G(^(Z,0)) D Q:SCANY
  1. . Q:$P(SC0,U,9) ; CST canceled
  1. . S SCLACT=+$$LSTACT^SCCVLOG(Z),SCLEVT=+$$LSTEVT^SCCVLOG(Z)
  1. . I $S(SCLACT'=5:0,1:"12"[SCLEVT) S SCANY=1 Q ; Last actn (cnvrt/recnvrt) completed
  1. ;
  1. COMPLQ Q $S($G(ANY):SCANY,1:SCOK)
  1. ;
  1. SEQGAP() ; Checks entire date range from start to 9-30-96 has been converted
  1. ; Returns 0 if no gap found from earliest date to convert to 09/30/96
  1. ; 1 if gap found
  1. N Z,Z0,SC0,SCLACT,SCLEVT,SCGAP,SCDT1,SCDT2
  1. ;
  1. S Z=0,SCGAP=0
  1. F S Z=$O(^SD(404.98,Z)) Q:'Z S SC0=$G(^(Z,0)) D
  1. . Q:$P(SC0,U,9) ; CST canceled
  1. . S SCLACT=+$$LSTACT^SCCVLOG(Z),SCLEVT=+$$LSTEVT^SCCVLOG(Z)
  1. . I $S(SCLACT'=5:0,1:"12"[SCLEVT) D ; Last actn (cnvrt/recnvrt) completed
  1. .. S SCGAP(+$$FMTH^XLFDT($P(SC0,U,3),1))=+$$FMTH^XLFDT($P(SC0,U,4),1)
  1. ;
  1. S SCDT1=+$$FMTH^XLFDT(+$G(^SD(404.91,1,"CNV"),2801001),1) ; start date
  1. S SCDT2=+$$FMTH^XLFDT($$ENDDATE^SCCVU(),1) ; end date
  1. S SCGAP=0,Z=SCDT1
  1. F S Z0=$G(SCGAP(Z)) D Q:SCGAP!(Z0=SCDT2) ;Check ranges for gaps
  1. . I Z0=SCDT2 Q ; No gaps found
  1. . I Z0="" S SCGAP=1 Q ; Gap found...S/B an entry at Z
  1. . I Z=SCDT1 S Z=Z0+1 Q ; First date range
  1. . S Z=Z0+1
  1. ;
  1. Q SCGAP
  1. ;