| [613] | 1 | IBDFBKS4 ;ALB/AAS - Create form spec file for scanning ; 6-JUN-95
 | 
|---|
 | 2 |  ;;3.0;AUTOMATED INFO COLLECTION SYS;**3,25**;APR 24, 1997
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | RECOMP ;Recompiles all form specs for paper keyboard
 | 
|---|
 | 5 |  N QZZ
 | 
|---|
 | 6 |  S QZZ=0 F  S QZZ=$O(^IBD(359.2,QZZ)) Q:'QZZ  D SCAN^IBDFBKS(QZZ)
 | 
|---|
 | 7 |  Q
 | 
|---|
 | 8 |  ;
 | 
|---|
 | 9 | FIELDS ;
 | 
|---|
 | 10 |  S FLD=1 F  S FLD=$O(@FIELDS@(PAGE,FLD)) Q:'FLD  D
 | 
|---|
 | 11 |  .N DATATP S DATATP=$G(@FIELDS@(PAGE,FLD,"DATATYPE"))
 | 
|---|
 | 12 |  .I DATATP="" D  Q
 | 
|---|
 | 13 |  ..S (LBEGIN,LEND,QUIT)=0
 | 
|---|
 | 14 |  ..S LBEGIN=FLD F  S FLD=$O(@FIELDS@(PAGE,FLD)) Q:QUIT  D  Q:QUIT
 | 
|---|
 | 15 |  ...I LEND=0,$S(FLD="":1,1:$G(@FIELDS@(PAGE,FLD,"DATATYPE"))'="") S FLD=LBEGIN D ONEBUB S QUIT=1 Q
 | 
|---|
 | 16 |  ...I FLD="",LEND>LBEGIN D LOOP(LBEGIN,LEND) S FLD=LEND,QUIT=1 Q
 | 
|---|
 | 17 |  ...I $G(@FIELDS@(PAGE,FLD,"DATATYPE"))'="" D LOOP(LBEGIN,LEND) S FLD=LEND,QUIT=1 Q
 | 
|---|
 | 18 |  ...S LEND=FLD
 | 
|---|
 | 19 |  ...Q
 | 
|---|
 | 20 |  .;
 | 
|---|
 | 21 |  .I DATATP'="" D
 | 
|---|
 | 22 |  ..N TOSTRING
 | 
|---|
 | 23 |  ..S TOSTRING=$S($G(@FIELDS@(PAGE,FLD,"START")):"narrative",1:"str")
 | 
|---|
 | 24 |  ..;
 | 
|---|
 | 25 |  ..D BLDARY^IBDFBKS(" "_TOSTRING_"=\""\"";")
 | 
|---|
 | 26 |  ..;
 | 
|---|
 | 27 |  ..I DATATP="ALPHA" D BLDARY^IBDFBKS(" if (GETSTATUS("_FLD_")==FIELD_OK) "_TOSTRING_"=STRIP(GETAVALUE("_FLD_"));") Q
 | 
|---|
 | 28 |  ..;
 | 
|---|
 | 29 |  ..I DATATP="FLOAT" D BLDARY^IBDFBKS(" if (GETSTATUS("_FLD_")==FIELD_OK) "_TOSTRING_"=STRIP(FTOA(GETFVALUE("_FLD_")));") Q
 | 
|---|
 | 30 |  ..;
 | 
|---|
 | 31 |  ..I DATATP="INT" D BLDARY^IBDFBKS(" if (GETSTATUS("_FLD_")==FIELD_OK) "_TOSTRING_"=STRIP(ITOA(GETIVALUE("_FLD_")));")  Q
 | 
|---|
 | 32 |  ..;
 | 
|---|
 | 33 |  ..I DATATP="DATE" D BLDARY^IBDFBKS(" if (GETSTATUS("_FLD_")==FIELD_OK) "_TOSTRING_"=STRIP(DTOA(GETIVALUE("_FLD_")));") Q
 | 
|---|
 | 34 |  ..;
 | 
|---|
 | 35 |  ..I DATATP="TIME" D BLDARY^IBDFBKS(" if (GETSTATUS("_FLD_")==FIELD_OK) "_TOSTRING_"=STRIP(TTOA(GETIVALUE("_FLD_")));") Q
 | 
|---|
 | 36 |  ..;
 | 
|---|
 | 37 |  ..;D BLDARY^IBDFBKS(" "_TOSTRING_"=STRFIELDS("_FLD_","_FLD_");") Q
 | 
|---|
 | 38 |  .;
 | 
|---|
 | 39 |  .I $G(@FIELDS@(PAGE,FLD,"MULT")),'$G(@FIELDS@(PAGE,FLD,"START")) D BLDARY^IBDFBKS(" if (str!=\""\"") narrative=STRIP(STRCAT(STRCAT(narrative,\"" \""),str));")
 | 
|---|
 | 40 |  .;
 | 
|---|
 | 41 |  .I '$G(@FIELDS@(PAGE,FLD,"MULT")) D
 | 
|---|
 | 42 |  ..D BLDARY^IBDFBKS(" if (str != \""\"") {")
 | 
|---|
 | 43 |  ..D BLDARY^IBDFBKS("   Data=Add;")
 | 
|---|
 | 44 |  ..I @FIELDS@(PAGE,FLD)'="" D BLDARY^IBDFBKS("   Data=STRCAT(Data,\"""_@FIELDS@(PAGE,FLD)_"\"");")
 | 
|---|
 | 45 |  ..D BLDARY^IBDFBKS("   Data=STRCAT(Data,str);")
 | 
|---|
 | 46 |  ..D BLDARY^IBDFBKS("   Data=STRCAT(Data,\"",\"");")
 | 
|---|
 | 47 |  ..D BLDARY^IBDFBKS("   if (ddechan != 0) result=DDEEXEC(ddechan,Data);}")
 | 
|---|
 | 48 |  ..D BLDARY^IBDFBKS("   ")
 | 
|---|
 | 49 |  .;
 | 
|---|
 | 50 |  .I $G(@FIELDS@(PAGE,FLD,"END")) D
 | 
|---|
 | 51 |  ..D BLDARY^IBDFBKS("    if (narrative!=\""\"") {")
 | 
|---|
 | 52 |  ..D BLDARY^IBDFBKS("   Data=Add;")
 | 
|---|
 | 53 |  ..I @FIELDS@(PAGE,FLD)'="" D BLDARY^IBDFBKS("   Data=STRCAT(Data,\"""_@FIELDS@(PAGE,FLD)_"\"");")
 | 
|---|
 | 54 |  ..D BLDARY^IBDFBKS("   Data=STRCAT(Data,narrative);")
 | 
|---|
 | 55 |  ..I $P($G(@FIELDS@(PAGE,FLD)),":")'="H" D BLDARY^IBDFBKS("   Data=STRCAT(Add,str);")
 | 
|---|
 | 56 |  ..D BLDARY^IBDFBKS("   Data=STRCAT(Data,\"",\"");")
 | 
|---|
 | 57 |  ..D BLDARY^IBDFBKS("   if (ddechan != 0) result=DDEEXEC(ddechan,Data);}")
 | 
|---|
 | 58 | FIELDSQ Q
 | 
|---|
 | 59 |  ;
 | 
|---|
 | 60 | ONEBUB ; -- for a single bubble field
 | 
|---|
 | 61 |  D BLDARY^IBDFBKS(" str=STRFIELDS("_FLD_","_FLD_");")
 | 
|---|
 | 62 |  D BLDARY^IBDFBKS(" if (str!=\""\"") {")
 | 
|---|
 | 63 |  I @FIELDS@(PAGE,FLD)'="" D BLDARY^IBDFBKS("   Data=STRCAT(Data,\"""_@FIELDS@(PAGE,FLD)_"\"");")
 | 
|---|
 | 64 |  D BLDARY^IBDFBKS("      Data=STRCAT(Add,str);")
 | 
|---|
 | 65 |  D BLDARY^IBDFBKS("      Data=STRCAT(Data,\"",\"");")
 | 
|---|
 | 66 |  D BLDARY^IBDFBKS("      if (ddechan != 0) result=DDEEXEC(ddechan,Data);}")
 | 
|---|
 | 67 |  Q
 | 
|---|
 | 68 |  ;
 | 
|---|
 | 69 | LOOP(LBEGIN,LEND) ; -- Loop through fields instead of one by one
 | 
|---|
 | 70 |  D BLDARY^IBDFBKS("  ")
 | 
|---|
 | 71 |  D BLDARY^IBDFBKS(" loop="_LBEGIN_";")
 | 
|---|
 | 72 |  D BLDARY^IBDFBKS(" while (loop < "_(LEND+1)_"){")
 | 
|---|
 | 73 |  D BLDARY^IBDFBKS("   str=STRFIELDS(loop,loop);")
 | 
|---|
 | 74 |  D BLDARY^IBDFBKS("   if (str!=\""\"") {")
 | 
|---|
 | 75 |  D BLDARY^IBDFBKS("      Data=STRCAT(Add,str);")
 | 
|---|
 | 76 |  D BLDARY^IBDFBKS("      Data=STRCAT(Data,\"",\"");")
 | 
|---|
 | 77 |  D BLDARY^IBDFBKS("      if (ddechan != 0) result=DDEEXEC(ddechan,Data);}")
 | 
|---|
 | 78 |  D BLDARY^IBDFBKS("   loop=loop+1;")
 | 
|---|
 | 79 |  D BLDARY^IBDFBKS(" if (loop > "_LEND_") break;}")
 | 
|---|
 | 80 |  D BLDARY^IBDFBKS("  ")
 | 
|---|
 | 81 |  Q
 | 
|---|
 | 82 |  ;
 | 
|---|
 | 83 |  ;;loop=9;
 | 
|---|
 | 84 |  ;;while (loop < 51){
 | 
|---|
 | 85 |  ;;    str=STRFIELDS(loop,loop);
 | 
|---|
 | 86 |  ;;    if (str!=\"\") {
 | 
|---|
 | 87 |  ;;      Data=STRCAT(Data,str);
 | 
|---|
 | 88 |  ;;      Data=STRCAT(Data,RS);}
 | 
|---|
 | 89 |  ;;   loop=loop+1;
 | 
|---|
 | 90 |  ;;   if (loop > 51) break;
 | 
|---|
 | 91 |  ;;   }
 | 
|---|
 | 92 |  ;;
 | 
|---|
 | 93 |  ;;\'SHOW(Data);
 | 
|---|
 | 94 | DATA1 ;;    Data = STRCAT(\"FORMTYPE=153\", RS);
 | 
|---|
 | 95 |  ;;    Data = STRCAT(Data, \"FORMID=\");
 | 
|---|
 | 96 |  ;;    Data = STRCAT(Data, ITOA(GETIVALUE(7)));
 | 
|---|
 | 97 |  ;;    Data = STRCAT(Data,RS);
 | 
|---|
 | 98 |  ;;    Data = STRCAT(Data,\"PAGE=1\");
 | 
|---|
 | 99 |  ;;    Data = STRCAT(Data,RS);
 | 
|---|
 | 100 |  ;;    Data = STRCAT(Data, \"DATA=\");
 | 
|---|
 | 101 |  ;;    Data = STRCAT(Data,RS);
 | 
|---|
 | 102 |  ;;
 | 
|---|