VistA-FOIAVistA/r/REGISTRATION-DGQE-DG-DPT-GR.../DG53672R.m

66 lines
2.9 KiB
Mathematica

DG53672R ;ALB/BRM;Clean-up Other EC of Reimbursable Insurance ; 9/6/05 7:39am
;;5.3;Registration;**672**;Aug 13,1993
;;
;
; Called from inside Patient File (#2) loop in DG53672C.
;
RSETUP(ELIG) ; entry point
N EC81,EC8
; get local codes assigned to the national Reimbursable code
S EC81=$O(^DIC(8.1,"B","REIMBURSABLE INSURANCE",""))
S EC8=""
F S EC8=$O(^DIC(8,"D",EC81,EC8)) Q:'EC8 S ELIG(EC8)=""
Q
;
REIM(DFN,RIELIG) ;check for Eligibility Code of Reimbursable Insurance
N EC8,IEN,QFLG,PRIMEC,DOD
S DOD=$P($G(^DPT(DFN,.35)),"^") ;Date of Death
S PRIMEC=$P($G(^DPT(DFN,.36)),"^"),EC8=""
F S EC8=$O(RIELIG(EC8)) Q:'EC8 D
.Q:'$D(^DPT(DFN,"E","B",EC8))
.S IEN="",QFLG=0
.F S IEN=$O(^DPT(DFN,"E","B",EC8,IEN)) Q:'IEN D
..I PRIMEC=EC8,'$G(QFLG) S QFLG=1 S:'DOD ^XTMP("DG53672C","DG53672R","PRIMCNT")=$G(^XTMP("DG53672C","DG53672R","PRIMCNT"))+1 Q
..S ^XTMP("DG53672C","DG53672R","CNT")=$G(^XTMP("DG53672C","DG53672R","CNT"))+1
..S ^XTMP("DG53672C","DG53672R","DATA",DFN)=EC8_"^"_$$EXTERNAL^DILFD(2.0361,.01,"",EC8)
..D KILL(DFN,IEN)
Q
;
KILL(DFN,IEN) ;
; Delete Reimbursable Insurance entry.
N DA,DATA,DIK
S DA(1)=DFN,DA=IEN,DIK="^DPT("_DA(1)_",""E"","
D ^DIK
Q
SNDMSG ; Send Mailman bulletin when process completes
N DIFROM,SITE,STATN,SITENM,XMDUZ,XMSUB,XMY,XMTEXT,MSG
S SITE=$$SITE^VASITE,STATN=$P($G(SITE),U,3),SITENM=$P($G(SITE),U,2)
S:$$GET1^DIQ(869.3,"1,",.03,"I")'="P" STATN=STATN_" [TEST]"
S XMDUZ="REIMBURSABLE INS OTHER EC CLEANUP",XMSUB=XMDUZ_" - "_STATN
S (XMY(DUZ),XMY("HECDQSUPPORT@med.va.gov"))=""
S XMTEXT="MSG("
S MSG(1)="The Reimbursable Insurance Other Eligibility clean-up process has completed successfully."
S MSG(2)="This process searched for patient records with an other eligibility code of"
S MSG(3)="Reimbursable Insurance, and deleted it as the code is no longer active."
S MSG(4)=""
S MSG(5)="Task: "_$G(^XTMP("DG53672C",0,"TASK"))
S MSG(6)="Site Station Number: "_STATN
S MSG(7)="Site Name: "_SITENM
S MSG(8)=""
S MSG(9)="Process started : "_$$FMTE^XLFDT($P($G(^XTMP("DG53672C",0)),U,2))
S MSG(10)="Process completed : "_$$FMTE^XLFDT($P($G(^XTMP("DG53672C",0)),"^",4))
S MSG(10.5)=""
S MSG(11)="Total Patients processed : "_+$G(^XTMP("DG53672C","TCNT"))
S MSG(12)="Total non-Primary Reimbursable ECs Removed : "_+$G(^XTMP("DG53672C","DG53672R","CNT"))
S MSG(12.1)="Total Reimbursable Primary ECs* : "_+$G(^XTMP("DG53672C","DG53672R","PRIMCNT"))
S MSG(12.2)=" *Primary Reimbursable ECs were not removed, and sites must review"
S MSG(12.3)=" and fix manually by assigning a new Primary EC."
S MSG(12.5)=""
S MSG(13)="To identify patients at the site for whom the non-Primary Reimbursable"
S MSG(14)=" Insurance Eligibility Code was removed, the IRM or person(s) responsible"
S MSG(14.5)=" for installing the patch can review the following global:"
S MSG(15)=" ^XTMP(""DG53672C"",""DG536572R"",""DATA"",DFN)"
S MSG(16)=" DFN = internal entry number of the Patient file (#2)."
D ^XMD
Q