| 1 | GECSENTR ;WISC/RFJ-stuff data into template map automatically       ;08 Nov 93 | 
|---|
| 2 | ;;2.0;GCS;;MAR 14, 1995 | 
|---|
| 3 | ;  the following needs to be defined for automatic stuffing of data: | 
|---|
| 4 | ;  GECS("STRING",0) or GECS("STRING",1), etc.=String to be stuffed delimited by ^ | 
|---|
| 5 | ;  GECSSYS=Batch type name from file 2101.1 | 
|---|
| 6 | ;  GECS("TTF")=Transaction/Segment name from file 2101.2 | 
|---|
| 7 | ;  GECS("SITENOASK")=Station number_Suffix (from field 99 in the institution file) | 
|---|
| 8 | ;  GECS("AMIS")=month/year of amis in form 2890800 | 
|---|
| 9 | ;  set the variable GECSAUTO="BATCH" to auto-mark for batch without asking | 
|---|
| 10 | ;  set the variable GECSAUTO="SAVE"  to save code sheet for edit | 
|---|
| 11 | ; | 
|---|
| 12 | ;  check for variables passed | 
|---|
| 13 | I '$D(GECS("STRING",0)) Q | 
|---|
| 14 | I '$G(GECS("SITENOASK")) Q | 
|---|
| 15 | I '$L($G(GECSSYS)) Q | 
|---|
| 16 | ; | 
|---|
| 17 | N %X,D,D0,DA,DI,DQ,GECSAMIS,GECSDATA,GECSEDIT,GECSI,GECSMAP,GECSNASK,GECSNEXT,GECSPCNT,GECSPIEC,GECSTT,N,P,X,Y | 
|---|
| 18 | ; | 
|---|
| 19 | ;  set passed data in temporary variable to prevent killing | 
|---|
| 20 | S %X="GECS(""STRING"",",%Y="GECSDATA(" D %XY^%RCR | 
|---|
| 21 | S GECSTT=$G(GECS("TTF")) | 
|---|
| 22 | S GECSAMIS=$G(GECS("AMIS")) | 
|---|
| 23 | S GECSNASK=$G(GECS("SITENOASK")) | 
|---|
| 24 | ; | 
|---|
| 25 | N GECS | 
|---|
| 26 | ; | 
|---|
| 27 | ;  get transaction type and input template | 
|---|
| 28 | S GECSEDIT=$P($G(^GECS(2101.2,+$O(^GECS(2101.2,"B",GECSTT,0)),0)),"^",3) I GECSEDIT="" Q | 
|---|
| 29 | S GECSEDIT=$E(GECSEDIT,2,$L(GECSEDIT)-1) | 
|---|
| 30 | S %=$O(^DIE("B",GECSEDIT,0)) I '% Q | 
|---|
| 31 | D GETMAP^GECSXMAP(%) I '$D(GECSMAP) Q | 
|---|
| 32 | ; | 
|---|
| 33 | I GECSNASK S GECS("SITENOASK")=GECSNASK | 
|---|
| 34 | D ^GECSSITE I '$G(GECS("SITE")) Q | 
|---|
| 35 | D BATTYPE^GECSUSEL(GECSSYS,1) I '$G(GECS("BATDA")) Q | 
|---|
| 36 | S GECS("TT")=GECSTT,GECS("EDIT")="["_GECSEDIT_"]" | 
|---|
| 37 | W !,"Transaction Type: ",GECSTT | 
|---|
| 38 | D NEWCS^GECSEDIT I '$D(GECS("CSDA")) Q | 
|---|
| 39 | ; | 
|---|
| 40 | W !,"Stuffing data into the following fields:" | 
|---|
| 41 | ;  stuff amis | 
|---|
| 42 | I $G(GECSAMIS) S Y=GECSAMIS D DD^%DT W !,"AMIS MONTH/YEAR: ",Y D | 
|---|
| 43 | .   N DA,DIC,DIE,DR | 
|---|
| 44 | .   S (DIC,DIE)="^GECS(2100,",DA=GECS("CSDA"),DR="9.1///"_GECSAMIS D ^DIE | 
|---|
| 45 | ; | 
|---|
| 46 | S GECSNEXT=0,GECSPIEC=1,DA=GECS("CSDA") | 
|---|
| 47 | S GECSI=0 F  S GECSI=$O(GECSMAP(GECSI)) Q:'GECSI  D | 
|---|
| 48 | .   F GECSPCNT=1:1 S Y=$P(GECSMAP(GECSI),"\",GECSPCNT) Q:Y=""  D | 
|---|
| 49 | .   .   I $P($G(GECSDATA(GECSNEXT)),"^",GECSPIEC,255)="" S GECSNEXT=GECSNEXT+1,GECSPIEC=1 Q:'$D(GECSDATA(GECSNEXT)) | 
|---|
| 50 | .   .   S X=$P(GECSDATA(GECSNEXT),"^",GECSPIEC),P=$P(Y,";",3),N=$P(Y,";",2),$P(^GECS(2100,DA,N),"^",P)=X,GECSPIEC=GECSPIEC+1 | 
|---|
| 51 | .   .   W !,$P(^DD(2100,+$P(Y,"^"),0),"^"),": ",X | 
|---|
| 52 | I $$MAPDATA^GECSXBLD(DA) D ASKTOBAT^GECSXBL1(DA) | 
|---|
| 53 | Q | 
|---|