HLPOST ;ALB/JRP - POST INIT DRIVER;23-MAR-95 ;;1.6;HEALTH LEVEL SEVEN;;Oct 13, 1995 ;DECLARE VARIABLES N DIC,X,Y,ALRDYRUN,PROTINST,LISTINST,FILECNV,DATERUN N ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSK,%ZIS,POP,%DT,%H ;CREATE ENTRY IN HL COMMUNICATION SERVER PARAMETER FILE (#869.3) D PARAM ;DETERMINE IF POST INIT HAS ALREADY BY RUN S DIC="^DIC(9.4," S DIC(0)="X" S X="HEALTH LEVEL SEVEN" D ^DIC S ALRDYRUN=+$P($G(^DIC(9.4,+Y,"INIT")),"^",2) S (PROTINST,LISTINST,FILECNV)=1 ;ALREADY RUN ASK USER WHAT TO DO I (ALRDYRUN) D Q:(('PROTINST)&('LISTINST)&('FILECNV)) .;RUN POST-INIT AGAIN .I ($$RUNAGAIN^HLPOSTQ(ALRDYRUN)<1) S (PROTINST,LISTINST,FILECNV)=0 Q .;RE-INSTALL PROTOCOLS .S PROTINST=$$PROTINST^HLPOSTQ .I (PROTINST<0) S (PROTINST,LISTINST,FILECNV)=0 Q .;RE-INSTALL LIST TEMPLATES .S LISTINST=$$LISTINST^HLPOSTQ .I (LISTINST<0) S (PROTINST,LISTINST,FILECNV)=0 Q .;RE-RUN FILE CONVERSION .S FILECNV=$$FILECNV^HLPOSTQ .S:(FILECNV<0) (PROTINST,LISTINST,FILECNV)=0 ;INSTALL PROTOCOLS I (PROTINST) W !! D ^HLONIT W:('PROTINST) !!,"Installation of PROTOCOLS not performed" ;INSTALL LIST TEMPLATES I (LISTINST) W !! D ^HLLM W:('LISTINST) !!,"Installation of LIST TEMPLATES not performed" ;NOT DOING FILE CONVERSION - DONE I ('FILECNV) W !!,"Running of file conversions not performed" Q CONVERT ;FILE CONVERSION S %ZIS="QN0" S %ZIS("A")="Select output device for file conversion: " W !! D ^%ZIS I (POP) W !!,"Running of the file conversions not performed" Q ;QUEUE TO DEVICE I (IO'=IO(0)) D Q:($G(ZTSK)) .;USER SELECTED HOST FILE .S:(IOT="HFS") IO("HFSIO")=IO .;QUEUE .S ZTRTN="^HLPOST16" .S ZTDESC="FILE CONVERSIONS REQUIRED BY INSTALLATION OF HL7 V1.6" .S ZTIO=ION .S:('$D(IO("Q"))) ZTDTH=$H .D ^%ZTLOAD .;ERROR QUEUEING .I ('$G(ZTSK)) D Q ..D HOME^%ZIS ..W !!,"** Running of file conversions could not be queued **" ..W !,"** File conversions will be run interactively **" .;TELL USER TASK NUMBER & QUEUEING TIME .D HOME^%ZIS .S %H=ZTSK("D") .D YX^%DTC .S DATERUN=$P(Y,"@",1)_" @ "_$P(Y,"@",2) .W !!,"Running of file conversions queued as task number ",ZTSK .W !,"Task will begin execution on ",DATERUN ;INTERACTIVE ;OPEN SLAVE I ($P(IOST,"-",1)["P") D .S %ZIS="" .S IOP=ION .D ^%ZIS ;DO CONVERSIONS D ^HLPOST16 ;CLOSE SLAVE DEVICE D ^%ZISC ;[RE]SET HOME DEVICE ATTRIBUTES D HOME^%ZIS Q ; REQUEUE ;ENTRY POINT FOR REQUEUEING/RUNNING OF FILE CONVERSIONS ;DECLARE VARIABLES N ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSK,%ZIS,POP,%DT,DATERUN,%H ;QUEUE/RUN FILE CONVERSIONS D CONVERT ;DONE Q PARAM ;CREATE INITIAL ENTRY IN HL COMMUNICATION SERVER PARAMETER file (#869.3) ;DECLARE VARIABLES N DIC,X,Y,DTOUT,DUOUT,DLAYGO ;CREATE/FIND ENTRY S DLAYGO=869.3 S DIC="^HLCS(869.3," S DIC(0)="L" S DIC("DR")="11///1;12///1" S X=1 D ^DIC ;Error I (Y="-1") D Q .W !!,"Unable to create/find entry in HL COMMUNICATION SERVER" .W !,"PARAMETER file (#869.3). Entry must exist in order for" .W !,"the incoming & outgoing filers to run. Use FileMan to" .W !,"create an initial entry for editing.",!! ;Entry created I ($P(Y,"^",3)) D .;Tell user entry was created .W !!,"Initial entry in HL COMMUNICATION SERVER PARAMETER file" .W !,"(#869.3) has been created.",! Q