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

IBDFC.m

Go to the documentation of this file.
  1. IBDFC ;ALB/CJM - ENCOUNTER FORM - CONVERSION UTILTY ;FEB 30,1995
  1. ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
  1. ;
  1. FORMLIST ;
  1. N IBDEVICE
  1. N IBFASTXT ;set to 1 for fast exit from system
  1. S IBFASTXT=0
  1. D DEVICE^IBDFUA(1,.IBDEVICE)
  1. K XQORS,VALMEVL
  1. D VALMSG
  1. D EN^VALM("IBDFC CONVERSION UTILITY")
  1. Q
  1. ONENTRY ;
  1. S VALMCNT=0 K @VALMAR
  1. Q
  1. ONEXIT ;
  1. D KILL^%ZISS
  1. K ^TMP("IB",$J),^TMP("IBDF",$J),VALMY,IBQUIT,VALMBCK,X,Y,I,DA,D0
  1. Q
  1. ;
  1. HDR ;
  1. S VALMHDR(1)=" *** LIST OF FORMS TO CONVERT FOR SCANNING ***"
  1. I $O(^IBD(359,0)) S VALMHDR(2)=" Converted Forms Exist, Use'View Conversion Log' to view converted forms"
  1. Q
  1. REMOVE ;allows user to select a form, then deletes it
  1. N SEL,FORM,LAST
  1. K DIR
  1. D EN^VALM2($G(XQORNOD(0)),"S")
  1. S SEL=$O(VALMY(""))
  1. I SEL K @VALMAR@(SEL),@VALMAR@("IDX",SEL)
  1. ;fill in the hole with the last form on the list
  1. S LAST=$S(VALMCNT<2:0,SEL=VALMCNT:0,1:VALMCNT)
  1. I LAST D
  1. .S FORM=@VALMAR@("IDX",LAST,LAST)
  1. .K @VALMAR@(LAST),@VALMAR@("IDX",LAST)
  1. .S VALMCNT=VALMCNT-1
  1. .D DISPLAY(SEL,FORM)
  1. S VALMCNT=VALMCNT-1
  1. D VALMSG
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. ADDONE ;adds a single form to the list for conversion
  1. N FORM,NODE,CNV,CNVNM,PREV,IBQUIT
  1. S NODE="",IBQUIT=0
  1. S VALMBCK="R"
  1. S FORM=$$SLCTFORM^IBDFU4("",.NODE) Q:'FORM
  1. I +$P(NODE,"^",17)>2 W !,"This form is already a version "_$P(NODE,"^",17)_" form!" D PAUSE^IBDFU5,VALMSG Q
  1. ;
  1. ; -- see if form already converted
  1. S CNV=0 F S CNV=$O(^IBD(359,"AORIG",FORM,CNV)) Q:'CNV D
  1. .S PREV=+$G(^IBD(359,CNV,0))
  1. .I PREV W !,"This form previously converted, new form name = "_$P($G(^IBE(357,PREV,0)),"^") S IBQUIT=1
  1. I $O(^IBE(357,"B","CNV."_$E($P(NODE,"^"),1,41),0)) W !!,"Form Name "_"CNV."_$E($P(NODE,"^"),1,41)_" already exists. Form must be renamed first!" D PAUSE^IBDFU5 Q
  1. D VALMSG
  1. I IBQUIT D PAUSE^IBDFU5
  1. ;
  1. D DISPLAY(VALMCNT+1,FORM)
  1. D VALMSG
  1. Q
  1. ;
  1. DISPLAY(IDX,FORM) ;
  1. N NODE
  1. S NODE=$G(^IBE(357,FORM,0)) Q:NODE=""
  1. S VALMCNT=VALMCNT+1
  1. S @VALMAR@(IDX,0)=$J(IDX,3)_" "_$$PADRIGHT^IBDFU($P(NODE,"^"),30)_" "_$E($P(NODE,"^",3),1,80),@VALMAR@("IDX",IDX,IDX)=FORM D FLDCTRL^VALM10(IDX)
  1. Q
  1. ;
  1. CNVTLIST ;
  1. N IBFORM,IDX,QUIT,PRINT,DIR,DIRUT,DUOUT,DTOUT
  1. S (QUIT,PRINT)=0
  1. S VALMBCK="R"
  1. D FULL^VALM1
  1. ;
  1. I $O(@VALMAR@("IDX",0))="" W !!,"No forms on List to convert!" D PAUSE^IBDFU5,VALMSG Q
  1. ;
  1. W !!,"Each form on the list will be made scannable. However, the results should be",!,"carefully reviewed before putting the form into use.",!
  1. K DIR S DIR(0)="Y",DIR("A")="Do you want to print the form(s) after they have been converted",DIR("B")="YES"
  1. D ^DIR Q:(Y<0)!($D(DIRUT)) K DIR I Y=1 D Q:QUIT
  1. .S PRINT=1
  1. .D DEVICE
  1. ;
  1. S IBDASK("ADDOTHER")=$$ASKOTH^IBDFC2B Q:IBDASK("ADDOTHER")<0
  1. S IBDASK("AUTOCHG")=$$ASKAUTO^IBDFC2B Q:IBDASK("AUTOCHG")<0
  1. ;
  1. S IDX=0 F S IDX=$O(@VALMAR@("IDX",IDX)) Q:'IDX S IBFORM=$G(@VALMAR@("IDX",IDX,IDX)) Q:'IDX S IBFORM=$$CONVERT^IBDFC2(IBFORM) D:PRINT QUEUE
  1. I PRINT D ^%ZISC
  1. K @VALMAR
  1. D VALMSG
  1. Q
  1. ;
  1. DEVICE ;
  1. W !,"** You must queue the form to print. **"
  1. W !,$C(7),"** Forms require 132 columns and a page length of 80 lines. **",!
  1. ;
  1. ;queuing is automatic - the device is not opened
  1. K %IS,%ZIS,IOP S %ZIS="N0Q",%ZIS("A")="Printer to queue to: ",%ZIS("B")="",%ZIS("S")="I $E($P($G(^%ZIS(2,+$G(^%ZIS(1,Y,""SUBTYPE"")),0)),U),1,2)=""P-""" D ^%ZIS
  1. I POP S QUIT=1
  1. Q
  1. ;
  1. QUEUE S ZTRTN="PRINT^IBDFC",ZTSAVE("IBFORM")="",ZTDESC="ENCOUNTER FORM - FROM CONVERSION",ZTDTH=$H D ^%ZTLOAD W !,$S($D(ZTSK):"Request Queued Task="_ZTSK,1:"Request Canceled")
  1. Q
  1. ;
  1. PRINT ;
  1. D FORM^IBDF2A(IBFORM,0)
  1. Q
  1. ;
  1. VALMSG ;
  1. I $O(^IBD(359,0)) S VALMSG="Use 'View Conversion Log' to view converted forms."
  1. I '$O(^IBD(359,0)) S VALMSG="Use 'Add Form to List' to convert a form"
  1. Q
  1. ;
  1. HELP ;
  1. D FULL^VALM1
  1. W !!,"To convert a form follow the following steps:"
  1. W !," 1. Use 'Add Form to List' to select the form. Add all the forms to"
  1. W !," the list you wish to at this time."
  1. W !," 2. Use 'Convert List' to convert the forms."
  1. W !," 3. Use 'View Conversion Log' to review the conversion process and "
  1. W !," assign the converted form to a clinic.",!
  1. W !,"Hint: The conversion creates a new copy of your form with the same name"
  1. W !," as the original but prefixed with 'CNV.'. (i.e. form PRIM CARE"
  1. W !," would be renamed CNV.PRIM CARE)"
  1. S X="?" D DISP^XQORM1 W !