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
|
---|