- MCARAMLA ;WASH ISC/JKL-MUSE AUTO RETRANSMISSION-TRAN INCOMP ;2/27/95 11:15
- ;;2.3;Medicine;;09/13/1996
- ;
- ;
- ;Called from ^MCARAML
- ;Retransmit records with same date/time,
- ;no transaction zero node, no EKG SSN, no EKG record by date
- N MCDATE,MCIEN,MCZERO,MCNAME,MCSSN,MCI,MCJ,MCK,MCL,MCERR
- S MCDATE=0
- F MCI=1:1 S MCDATE=$O(^MCAR(700.5,"B",MCDATE)) Q:MCDATE="" D FORMAT
- Q
- FORMAT ;
- S MCIEN=0 F MCJ=1:1 S MCIEN=$O(^MCAR(700.5,"B",MCDATE,MCIEN)) Q:MCIEN="" D SAVE
- Q
- SAVE ;
- I '$D(^MCAR(700.5,MCIEN,0)) Q
- S MCZERO=^MCAR(700.5,MCIEN,0),MCNAME=$P(MCZERO,"^",4),MCSSN=$P(MCZERO,"^",3)
- I $P(MCZERO,"^",2)="MHOLT" Q
- I '$D(^MCAR(691.5,"B",MCDATE)) D SET Q
- S (MCERR,MCEKG)=0
- F MCK=1:1 S MCEKG=$O(^MCAR(691.5,"B",MCDATE,MCEKG)) Q:MCEKG="" Q:('$D(^MCAR(691.5,MCEKG,.1))) I MCSSN=^MCAR(691.5,MCEKG,.1) S MCERR=1
- I MCERR>0 Q
- D SET Q
- SET ;
- I MCNAME="" S MCNAME="NO PATIENT NAME"
- I MCSSN="" S MCSSN="NO SSN"
- I $L(MCNAME)<30 F MCL=$L(MCNAME):1:30 S MCNAME=MCNAME_" "
- I $L(MCSSN)<10 F MCL=$L(MCSSN):1:10 S MCSSN=MCSSN_" "
- I $D(^TMP($J,0,"MC",MCNAME,MCSSN,MCDATE)) Q
- S MCCNT=MCCNT+1 W:MCCNT#100=0 "."
- S ^TMP($J,0,"MC",MCNAME,MCSSN,MCDATE)=""
- S ^TMP($J,0,"MC",0)=MCCNT
- Q
- MCARAMLA ;WASH ISC/JKL-MUSE AUTO RETRANSMISSION-TRAN INCOMP ;2/27/95 11:15
- +1 ;;2.3;Medicine;;09/13/1996
- +2 ;
- +3 ;
- +4 ;Called from ^MCARAML
- +5 ;Retransmit records with same date/time,
- +6 ;no transaction zero node, no EKG SSN, no EKG record by date
- +7 NEW MCDATE,MCIEN,MCZERO,MCNAME,MCSSN,MCI,MCJ,MCK,MCL,MCERR
- +8 SET MCDATE=0
- +9 FOR MCI=1:1
- SET MCDATE=$ORDER(^MCAR(700.5,"B",MCDATE))
- IF MCDATE=""
- QUIT
- DO FORMAT
- +10 QUIT
- FORMAT ;
- +1 SET MCIEN=0
- FOR MCJ=1:1
- SET MCIEN=$ORDER(^MCAR(700.5,"B",MCDATE,MCIEN))
- IF MCIEN=""
- QUIT
- DO SAVE
- +2 QUIT
- SAVE ;
- +1 IF '$DATA(^MCAR(700.5,MCIEN,0))
- QUIT
- +2 SET MCZERO=^MCAR(700.5,MCIEN,0)
- SET MCNAME=$PIECE(MCZERO,"^",4)
- SET MCSSN=$PIECE(MCZERO,"^",3)
- +3 IF $PIECE(MCZERO,"^",2)="MHOLT"
- QUIT
- +4 IF '$DATA(^MCAR(691.5,"B",MCDATE))
- DO SET
- QUIT
- +5 SET (MCERR,MCEKG)=0
- +6 FOR MCK=1:1
- SET MCEKG=$ORDER(^MCAR(691.5,"B",MCDATE,MCEKG))
- IF MCEKG=""
- QUIT
- IF ('$DATA(^MCAR(691.5,MCEKG,.1)))
- QUIT
- IF MCSSN=^MCAR(691.5,MCEKG,.1)
- SET MCERR=1
- +7 IF MCERR>0
- QUIT
- +8 DO SET
- QUIT
- SET ;
- +1 IF MCNAME=""
- SET MCNAME="NO PATIENT NAME"
- +2 IF MCSSN=""
- SET MCSSN="NO SSN"
- +3 IF $LENGTH(MCNAME)<30
- FOR MCL=$LENGTH(MCNAME):1:30
- SET MCNAME=MCNAME_" "
- +4 IF $LENGTH(MCSSN)<10
- FOR MCL=$LENGTH(MCSSN):1:10
- SET MCSSN=MCSSN_" "
- +5 IF $DATA(^TMP($JOB,0,"MC",MCNAME,MCSSN,MCDATE))
- QUIT
- +6 SET MCCNT=MCCNT+1
- IF MCCNT#100=0
- WRITE "."
- +7 SET ^TMP($JOB,0,"MC",MCNAME,MCSSN,MCDATE)=""
- +8 SET ^TMP($JOB,0,"MC",0)=MCCNT
- +9 QUIT