[613] | 1 | SDSCINS ;ALB/JAM/RBS - ASCD Check on Newly Identified Insurance ; 2/15/07 12:57pm ; 4/3/07 11:19am
|
---|
| 2 | ;;5.3;Scheduling;**495**;Aug 13, 1993;Build 50
|
---|
| 3 | ;;MODIFIED FOR NATIONAL RELEASE from a Class III software product
|
---|
| 4 | ;;known as Service Connected Automated Monitoring (SCAM).
|
---|
| 5 | ;
|
---|
| 6 | ;**Program Description**
|
---|
| 7 | ; This program will check the Audit file for any newly identified
|
---|
| 8 | ; insurance policies
|
---|
| 9 | Q
|
---|
| 10 | EN(SDSCINS,SDSCSVC) ; Entry point
|
---|
| 11 | ;
|
---|
| 12 | ; Input: SDSCINS and SDSCSVC passed by reference
|
---|
| 13 | ;
|
---|
| 14 | ; Output:
|
---|
| 15 | ; SDSCINS - count of records found with late-identified insurance
|
---|
| 16 | ; SDSCSVC - count of those found records just filed to (#409.48)
|
---|
| 17 | ;
|
---|
| 18 | N SDSCPAR
|
---|
| 19 | K SDSCBDT,SDSCEDT
|
---|
| 20 | ;if audit not turned on quit
|
---|
| 21 | D FIELD^DID(2,.3192,"","AUDIT","SDSCPAR")
|
---|
| 22 | I $G(SDSCPAR("AUDIT"))'["YES" Q
|
---|
| 23 | K SDSCPAR
|
---|
| 24 | D FIELD^DID(2.312,.01,"","AUDIT","SDSCPAR")
|
---|
| 25 | I $G(SDSCPAR("AUDIT"))'["YES" Q
|
---|
| 26 | ; Get encounter date range to check - start with from 24 months back
|
---|
| 27 | S SDSCBDT=$$FMADD^XLFDT(DT,-731),SDSCEDT=$O(^SDSC(409.48,"AE",""),-1)\1
|
---|
| 28 | ;
|
---|
| 29 | N SDSCADT,SDEADT,SDINS
|
---|
| 30 | S SDSCADT=$$FMADD^XLFDT(DT,-1),SDEADT=$$FMADD^XLFDT(DT,-1)
|
---|
| 31 | F S SDSCADT=$O(^DIA(2,"C",SDSCADT)) Q:SDSCADT=""!((SDSCADT\1)>SDEADT) D
|
---|
| 32 | . S SDIEN="" F S SDIEN=$O(^DIA(2,"C",SDSCADT,SDIEN)) Q:SDIEN="" D
|
---|
| 33 | .. S SDUFLD=$P(^DIA(2,SDIEN,0),U,3)
|
---|
| 34 | .. I SDUFLD'=.3192,SDUFLD'[.3121 Q
|
---|
| 35 | .. I SDUFLD=.3192 D COV Q:'SDCOV
|
---|
| 36 | .. I SDUFLD=".3121,.01" D NINS Q:'SDIN
|
---|
| 37 | .. S SDFN=$P(^DIA(2,SDIEN,0),U,1) S:SDFN["," SDFN=$P(SDFN,",",1)
|
---|
| 38 | .. ;
|
---|
| 39 | .. ; check if this patient has encounters for the date range
|
---|
| 40 | .. S SDECDT=SDSCBDT
|
---|
| 41 | .. F S SDECDT=$O(^SCE("ADFN",SDFN,SDECDT)) Q:SDECDT=""!((SDECDT\1)>SDSCEDT) D
|
---|
| 42 | ... S IEN="" F S IEN=$O(^SCE("ADFN",SDFN,SDECDT,IEN)) Q:IEN="" D
|
---|
| 43 | .... S SDINS=SDSCSVC
|
---|
| 44 | .... S SDOE=IEN,SDOEDT=$P(^SCE(SDOE,0),U,1) D OPT1^SDSCOMP
|
---|
| 45 | .... ; count the number of service connected records from late-identified insurance
|
---|
| 46 | .... I SDINS'=SDSCSVC S SDSCINS=SDSCINS+1
|
---|
| 47 | ;
|
---|
| 48 | EXIT ; Exit
|
---|
| 49 | K SDOE,IEN,SDECDT,SDIN,SDCOV
|
---|
| 50 | K SDUFLD,SDFN,SDIEN,SDOEDT
|
---|
| 51 | Q
|
---|
| 52 | ;
|
---|
| 53 | AUDIT(SDTEXT,SDCNT) ; Check if auditing is turned on
|
---|
| 54 | N SDSCPAR,SDARY,SDCT
|
---|
| 55 | S SDCT=0,SDCNT=$G(SDCNT)
|
---|
| 56 | D FIELD^DID(2,.3192,"","AUDIT","SDSCPAR")
|
---|
| 57 | I $G(SDSCPAR("AUDIT"))'["YES" D
|
---|
| 58 | . S SDCT=SDCT+1,SDARY(SDCT)="Auditing is not turned on for field COVERED BY HEALTH INSURANCE?"
|
---|
| 59 | K SDSCPAR
|
---|
| 60 | D FIELD^DID(2.312,.01,"","AUDIT","SDSCPAR")
|
---|
| 61 | I $G(SDSCPAR("AUDIT"))'["YES" D
|
---|
| 62 | . S SDCT=SDCT+1,SDARY(SDCT)="Auditing is not turned on for field INSURANCE TYPE"
|
---|
| 63 | I SDCT D
|
---|
| 64 | . S SDCNT=SDCNT+1,SDTEXT(SDCNT)="",SDCNT=SDCNT+1
|
---|
| 65 | . S SDTEXT(SDCNT)="ASCD Late Insurance Check:"
|
---|
| 66 | . S SDCT=0 F S SDCT=$O(SDARY(SDCT)) Q:'SDCT D
|
---|
| 67 | . . S SDCNT=SDCNT+1,SDTEXT(SDCNT)=SDARY(SDCT)
|
---|
| 68 | Q
|
---|
| 69 | MMSG ; Send mail message
|
---|
| 70 | I $G(DUZ)="" S XMZ(.5)=""
|
---|
| 71 | S XMZ(DUZ)="",XMDUZ="ASCD Insurance Check",XMY("G.SDSC NIGHTLY TALLY")=""
|
---|
| 72 | S XMTEXT="SDTEXT(",XMSUB="ASCD Insurance Identified"
|
---|
| 73 | D ^XMD
|
---|
| 74 | K XMY,XMDUZ,XMTEXT,SDTEXT,XMSUB,XMZ
|
---|
| 75 | Q
|
---|
| 76 | ;
|
---|
| 77 | COV ; Covered by insurance
|
---|
| 78 | N SDOLD,SDNEW
|
---|
| 79 | S SDCOV=0
|
---|
| 80 | S SDOLD=$G(^DIA(2,SDIEN,2)),SDNEW=$G(^DIA(2,SDIEN,3))
|
---|
| 81 | I SDOLD="NO",SDNEW="YES" S SDCOV=1 Q
|
---|
| 82 | Q
|
---|
| 83 | ;
|
---|
| 84 | NINS ; New insurance company added
|
---|
| 85 | N SDOLD,SDNEW
|
---|
| 86 | S SDIN=0
|
---|
| 87 | S SDOLD=$G(^DIA(2,SDIEN,2)),SDNEW=$G(^DIA(2,SDIEN,3))
|
---|
| 88 | I SDOLD="",SDNEW'="" S SDIN=1
|
---|
| 89 | Q
|
---|