[613] | 1 | IBDFC ;ALB/CJM - ENCOUNTER FORM - CONVERSION UTILTY ;FEB 30,1995
|
---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
| 3 | ;
|
---|
| 4 | FORMLIST ;
|
---|
| 5 | N IBDEVICE
|
---|
| 6 | N IBFASTXT ;set to 1 for fast exit from system
|
---|
| 7 | S IBFASTXT=0
|
---|
| 8 | D DEVICE^IBDFUA(1,.IBDEVICE)
|
---|
| 9 | K XQORS,VALMEVL
|
---|
| 10 | D VALMSG
|
---|
| 11 | D EN^VALM("IBDFC CONVERSION UTILITY")
|
---|
| 12 | Q
|
---|
| 13 | ONENTRY ;
|
---|
| 14 | S VALMCNT=0 K @VALMAR
|
---|
| 15 | Q
|
---|
| 16 | ONEXIT ;
|
---|
| 17 | D KILL^%ZISS
|
---|
| 18 | K ^TMP("IB",$J),^TMP("IBDF",$J),VALMY,IBQUIT,VALMBCK,X,Y,I,DA,D0
|
---|
| 19 | Q
|
---|
| 20 | ;
|
---|
| 21 | HDR ;
|
---|
| 22 | S VALMHDR(1)=" *** LIST OF FORMS TO CONVERT FOR SCANNING ***"
|
---|
| 23 | I $O(^IBD(359,0)) S VALMHDR(2)=" Converted Forms Exist, Use'View Conversion Log' to view converted forms"
|
---|
| 24 | Q
|
---|
| 25 | REMOVE ;allows user to select a form, then deletes it
|
---|
| 26 | N SEL,FORM,LAST
|
---|
| 27 | K DIR
|
---|
| 28 | D EN^VALM2($G(XQORNOD(0)),"S")
|
---|
| 29 | S SEL=$O(VALMY(""))
|
---|
| 30 | I SEL K @VALMAR@(SEL),@VALMAR@("IDX",SEL)
|
---|
| 31 | ;fill in the hole with the last form on the list
|
---|
| 32 | S LAST=$S(VALMCNT<2:0,SEL=VALMCNT:0,1:VALMCNT)
|
---|
| 33 | I LAST D
|
---|
| 34 | .S FORM=@VALMAR@("IDX",LAST,LAST)
|
---|
| 35 | .K @VALMAR@(LAST),@VALMAR@("IDX",LAST)
|
---|
| 36 | .S VALMCNT=VALMCNT-1
|
---|
| 37 | .D DISPLAY(SEL,FORM)
|
---|
| 38 | S VALMCNT=VALMCNT-1
|
---|
| 39 | D VALMSG
|
---|
| 40 | S VALMBCK="R"
|
---|
| 41 | Q
|
---|
| 42 | ;
|
---|
| 43 | ADDONE ;adds a single form to the list for conversion
|
---|
| 44 | N FORM,NODE,CNV,CNVNM,PREV,IBQUIT
|
---|
| 45 | S NODE="",IBQUIT=0
|
---|
| 46 | S VALMBCK="R"
|
---|
| 47 | S FORM=$$SLCTFORM^IBDFU4("",.NODE) Q:'FORM
|
---|
| 48 | I +$P(NODE,"^",17)>2 W !,"This form is already a version "_$P(NODE,"^",17)_" form!" D PAUSE^IBDFU5,VALMSG Q
|
---|
| 49 | ;
|
---|
| 50 | ; -- see if form already converted
|
---|
| 51 | S CNV=0 F S CNV=$O(^IBD(359,"AORIG",FORM,CNV)) Q:'CNV D
|
---|
| 52 | .S PREV=+$G(^IBD(359,CNV,0))
|
---|
| 53 | .I PREV W !,"This form previously converted, new form name = "_$P($G(^IBE(357,PREV,0)),"^") S IBQUIT=1
|
---|
| 54 | 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
|
---|
| 55 | D VALMSG
|
---|
| 56 | I IBQUIT D PAUSE^IBDFU5
|
---|
| 57 | ;
|
---|
| 58 | D DISPLAY(VALMCNT+1,FORM)
|
---|
| 59 | D VALMSG
|
---|
| 60 | Q
|
---|
| 61 | ;
|
---|
| 62 | DISPLAY(IDX,FORM) ;
|
---|
| 63 | N NODE
|
---|
| 64 | S NODE=$G(^IBE(357,FORM,0)) Q:NODE=""
|
---|
| 65 | S VALMCNT=VALMCNT+1
|
---|
| 66 | 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)
|
---|
| 67 | Q
|
---|
| 68 | ;
|
---|
| 69 | CNVTLIST ;
|
---|
| 70 | N IBFORM,IDX,QUIT,PRINT,DIR,DIRUT,DUOUT,DTOUT
|
---|
| 71 | S (QUIT,PRINT)=0
|
---|
| 72 | S VALMBCK="R"
|
---|
| 73 | D FULL^VALM1
|
---|
| 74 | ;
|
---|
| 75 | I $O(@VALMAR@("IDX",0))="" W !!,"No forms on List to convert!" D PAUSE^IBDFU5,VALMSG Q
|
---|
| 76 | ;
|
---|
| 77 | W !!,"Each form on the list will be made scannable. However, the results should be",!,"carefully reviewed before putting the form into use.",!
|
---|
| 78 | K DIR S DIR(0)="Y",DIR("A")="Do you want to print the form(s) after they have been converted",DIR("B")="YES"
|
---|
| 79 | D ^DIR Q:(Y<0)!($D(DIRUT)) K DIR I Y=1 D Q:QUIT
|
---|
| 80 | .S PRINT=1
|
---|
| 81 | .D DEVICE
|
---|
| 82 | ;
|
---|
| 83 | S IBDASK("ADDOTHER")=$$ASKOTH^IBDFC2B Q:IBDASK("ADDOTHER")<0
|
---|
| 84 | S IBDASK("AUTOCHG")=$$ASKAUTO^IBDFC2B Q:IBDASK("AUTOCHG")<0
|
---|
| 85 | ;
|
---|
| 86 | 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
|
---|
| 87 | I PRINT D ^%ZISC
|
---|
| 88 | K @VALMAR
|
---|
| 89 | D VALMSG
|
---|
| 90 | Q
|
---|
| 91 | ;
|
---|
| 92 | DEVICE ;
|
---|
| 93 | W !,"** You must queue the form to print. **"
|
---|
| 94 | W !,$C(7),"** Forms require 132 columns and a page length of 80 lines. **",!
|
---|
| 95 | ;
|
---|
| 96 | ;queuing is automatic - the device is not opened
|
---|
| 97 | 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
|
---|
| 98 | I POP S QUIT=1
|
---|
| 99 | Q
|
---|
| 100 | ;
|
---|
| 101 | 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")
|
---|
| 102 | Q
|
---|
| 103 | ;
|
---|
| 104 | PRINT ;
|
---|
| 105 | D FORM^IBDF2A(IBFORM,0)
|
---|
| 106 | Q
|
---|
| 107 | ;
|
---|
| 108 | VALMSG ;
|
---|
| 109 | I $O(^IBD(359,0)) S VALMSG="Use 'View Conversion Log' to view converted forms."
|
---|
| 110 | I '$O(^IBD(359,0)) S VALMSG="Use 'Add Form to List' to convert a form"
|
---|
| 111 | Q
|
---|
| 112 | ;
|
---|
| 113 | HELP ;
|
---|
| 114 | D FULL^VALM1
|
---|
| 115 | W !!,"To convert a form follow the following steps:"
|
---|
| 116 | W !," 1. Use 'Add Form to List' to select the form. Add all the forms to"
|
---|
| 117 | W !," the list you wish to at this time."
|
---|
| 118 | W !," 2. Use 'Convert List' to convert the forms."
|
---|
| 119 | W !," 3. Use 'View Conversion Log' to review the conversion process and "
|
---|
| 120 | W !," assign the converted form to a clinic.",!
|
---|
| 121 | W !,"Hint: The conversion creates a new copy of your form with the same name"
|
---|
| 122 | W !," as the original but prefixed with 'CNV.'. (i.e. form PRIM CARE"
|
---|
| 123 | W !," would be renamed CNV.PRIM CARE)"
|
---|
| 124 | S X="?" D DISP^XQORM1 W !
|
---|