| 1 | PSOLLU4 ;BIR/EJW - CHANGE CONTROL CODES ;05/23/2004 | 
|---|
| 2 | ;;7.0;OUTPATIENT PHARMACY;**161**;DEC 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | ;Read-only reference to %ZIS(2 supported by DBIA 3435 | 
|---|
| 5 | ;Reference to %ZIS(2 supported by DBIA 3884 | 
|---|
| 6 | ; | 
|---|
| 7 | N IO,IOST | 
|---|
| 8 | S %ZIS="MN" | 
|---|
| 9 | IO D ^%ZIS | 
|---|
| 10 | I '$G(IOST(0)) W "No terminal type available." Q | 
|---|
| 11 | I '$D(DUZ(0)) W "No DUZ defined." Q | 
|---|
| 12 | I DUZ(0)'="@" W "FileMan access must be @." Q | 
|---|
| 13 | I '$D(^%ZIS(2,IOST(0),55,"B","LL")) W "No CONTROL CODES defined." Q | 
|---|
| 14 | W !!,"You will be copying the CONTROL CODES to device: ",IO K DIR W ! S DIR(0)="Y",DIR("B")="YES",DIR("A")="Are you sure" D ^DIR K DIR I Y'=1 G IO | 
|---|
| 15 | W !,"Copying..." | 
|---|
| 16 | S AB="PFI",NAME="PATIENT FILL INITIALIZATION",CODE="S PSOFONT=""F10"",PSOX=1210,PSOY=710,PSOYI=45,PSOHFONT=""F12"",PSOBYI=100" D FILE | 
|---|
| 17 | S AB="PFDW",NAME="PHARMACY FILL DOCUMENT WARNING",CODE="S PSOY=1258,PSOX=660,PSOYI=30,PSOFONT=""F8"",PSOYM=1329" D FILE | 
|---|
| 18 | S AB="MLI",NAME="MAILING LABEL INITIALIZATION",CODE="S PSOFONT=""F10"",PSOX=1680,PSOY=175,PSOYI=50" D FILE | 
|---|
| 19 | S AB="RMI",NAME="RETURN MAIL INITIALIZATION",CODE="S PSOHFONT=""F8"",PSOFONT=""F10"",PSOX=1680,PSOY=35,PSORYI=40,PSOHYI=40,PSOTFONT=""F8"",PSOTY=550" D FILE | 
|---|
| 20 | D CLEAN | 
|---|
| 21 | Q | 
|---|
| 22 | FILE K DIC,DIE S DIC(0)="L",DA(1)=IOST(0),X=AB,DIC="^%ZIS(2,"_DA(1)_",55," D FILE^DICN | 
|---|
| 23 | K DA,DR,DIE S DIE=DIC,DA=+Y,DA(1)=IOST(0) | 
|---|
| 24 | S DR=".01////"_AB_";1////"_NAME_";2////"_CODE D ^DIE | 
|---|
| 25 | Q | 
|---|
| 26 | ; | 
|---|
| 27 | CLEAN ; REMOVE EXACT DUPLICATE CONTROL CODES RESULTING WHEN CHANGE CONTROL CODES ROUTINES ARE RUN MORE THAN ONCE | 
|---|
| 28 | I '$G(DT) S DT=$$DT^XLFDT | 
|---|
| 29 | I '$D(^XTMP("PSOLLU4")) S X1=DT,X2=+90 D C^%DTC S ^XTMP("PSOLLU4",0)=$G(X)_"^"_DT | 
|---|
| 30 | I '$D(IOST(0)) Q | 
|---|
| 31 | M ^XTMP("PSOLLU4",$J,IOST(0))=^%ZIS(2,IOST(0)) ; SAVE COPY OF SETTINGS BEFORE CLEAN-UP | 
|---|
| 32 | S CODE="" F  S CODE=$O(^%ZIS(2,IOST(0),55,"B",CODE)) Q:CODE=""  S SEQ=0 F  S SEQ=$O(^%ZIS(2,IOST(0),55,"B",CODE,SEQ)) Q:'SEQ  D | 
|---|
| 33 | .I '$D(^%ZIS(2,IOST(0),55,SEQ)) K ^%ZIS(2,IOST(0),55,"B",CODE,SEQ) Q | 
|---|
| 34 | .S SEQ1=$O(^%ZIS(2,IOST(0),55,"B",CODE,SEQ)) I SEQ1="" Q | 
|---|
| 35 | .S X0=$G(^%ZIS(2,IOST(0),55,SEQ,0)),X1=$G(^(1)) | 
|---|
| 36 | .S Z0=$G(^%ZIS(2,IOST(0),55,SEQ1,0)),Z1=$G(^(1)) | 
|---|
| 37 | .I X0'="",X1'="" D | 
|---|
| 38 | ..I X0=Z0,X1=Z1 K ^%ZIS(2,IOST(0),55,"B",CODE,SEQ),^%ZIS(2,IOST(0),55,SEQ) | 
|---|
| 39 | Q | 
|---|
| 40 | ; | 
|---|