PSULRHL3 ;HCIOFO/BH - Daily file procesing ; 4/28/04 3:10pm ;;4.0;PHARMACY BENEFITS MANAGEMENT;**3**;MARCH, 2005 ; ; ** THIS ROUTINE SHOULD NEVER BE INSTALLED AT A SITE *** ; ** THIS ROUTINE IS ONLY TO BE RUN ON THE CMOP-NAT SERVER *** ; Q ; PROCESS ; This process loops through the file containing parsed HL7 data. ; This process runs each day and collects up to the previous days data. ; The data is ordered by facility. All the data for the facility for ; for up to the previous day gets filed into one flat file for PBM to ; process. A pre-init sub routine CULL loops through all x-refs that ; indicate processed data for facility and date and culls the data and ; removes the FD x-ref. ; ; D CULL ; ; N DFN,EDATE,FACILITY,FILE,IEN,OPEN,OUTDIR,PSUDTE,QUIT,RDATE,RC,SDATE,TEMP,X,X1,X2 ; ; End date for search D NOW^%DTC S TEMP=%,EDATE=$P(TEMP,".",1) ; Run date i.e. going to process data up to yesterday S X1=$P(TEMP,".",1),X2="-1" D C^%DTC S RDATE=$P(X,".",1) ; ; S FACILITY="",(QUIT,OPEN)=0 ; F S FACILITY=$O(^DIZ(99999,"FDP",FACILITY)) Q:'FACILITY!(QUIT) D . ; . I $D(^DIZ(99999,"FD",FACILITY,RDATE)) D Q . . D ERROR(3,FACILITY,RDATE) Q . ; New facility so close any open files. . I OPEN D CLOSE S OPEN=0 . S DATE="0" . F S DATE=$O(^DIZ(99999,"FDP",FACILITY,DATE)) Q:'DATE!(DATE'PDATE) D . . . S DFN=0 . . . F S DFN=$O(^DIZ(99999,"FDP",FAC,IDATE,DFN)) Q:'DFN D . . . . S IEN=0 . . . . F S IEN=$O(^DIZ(99999,"FDP",FAC,IDATE,DFN,IEN)) Q:'IEN D . . . . . K A . . . . . S A(99999,IEN_",",.01)="@" D FILE^DIE(,"A") Q ; ; ERORDSP ; Display errors ; N DATE,DONE,EDATE,FAC,IEN,PG S PG=0,DATE=$E(DT,4,5)_"/"_$E(DT,6,7)_"/"_$E(DT,2,3) D HEAD I '$D(^DIZ(99999,"FDE")) W "No Error's to report." H 4 Q ; ; S FAC="0" F S FAC=$O(^DIZ(99999,"FDE",FAC)) Q:'FAC D . ; . S EDATE=0 . F S EDATE=$O(^DIZ(99999,"FDE",FAC,EDATE)) Q:'EDATE D . . S IEN=0 . . F S IEN=$O(^DIZ(99999,"FDE",FAC,EDATE,IEN)) Q:'IEN D . . . S MSG=^DIZ(99999,IEN,2) . . . I ($Y+4>IOSL) D PRTC Q:$D(DONE) D HEAD . . . W !," "_MSG,! Q ; HEAD ; W:$Y>0 @IOF S PG=PG+1 W " "_DATE,?71,"Page ",PG,!! W " Error log for PBM III national database processing.",! W " ---------------------------------------------------",! Q ; PRTC ;press return to continue prompt Q:$E(IOST,1,2)'="C-"!($D(IO("S"))) K DIR W ! S DIR(0)="E" D ^DIR K DIR I 'Y S DONE=1 Q ; ;