| 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 !
 | 
|---|