1 | IBDF18E4 ;ALB/DHH - ENCOUNTER FORM - MISC INTERFACES utilities ;19-JUN-01
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**37**;APR 24, 1997
|
---|
3 | ;
|
---|
4 | ;-- this routine is to be called after PXCA is called in order to
|
---|
5 | ; send additional information to other packages that PCE does not
|
---|
6 | ; send to currently
|
---|
7 | ;
|
---|
8 | GAF ;send GAF information to Mental Health
|
---|
9 | ;
|
---|
10 | ;-- GAF information is filed with Mental Health only if the following
|
---|
11 | ; variables are set
|
---|
12 | ; -- DFN = Patient IEN
|
---|
13 | ; SCORE = GAF Score
|
---|
14 | ; PROV = Provider holding SD GAF SCORE security key
|
---|
15 | ; DATE = Encounter Date/Time
|
---|
16 | ; VISIT = Inpatient or Outpatient Visit
|
---|
17 | ;
|
---|
18 | N DIG1,DIG2,DIG3,EPROV,SCORE,PROV,DATE,VISIT,X,DFN
|
---|
19 | S (SCORE,PROV,DATE,VISIT)=""
|
---|
20 | ;
|
---|
21 | ; --if pxca (ibd gaf score col 3) exist the there should be 3
|
---|
22 | ; columns present to make the 3 character number
|
---|
23 | ;
|
---|
24 | I $D(PXCA("IBD GAF SCORE COL 3")) D
|
---|
25 | . ;
|
---|
26 | . S (DIG1,DIG2,DIG3)=""
|
---|
27 | . ;
|
---|
28 | . ; checking to see if column 3 is existing
|
---|
29 | . ; column 1 and 2 are not required to make score
|
---|
30 | . ;
|
---|
31 | . Q:'$D(PXCA("IBD GAF SCORE COL 3"))
|
---|
32 | . S EPROV="" F S EPROV=$O(PXCA("IBD GAF SCORE COL 3",EPROV)) Q:EPROV="" D
|
---|
33 | .. ;
|
---|
34 | .. S DIG1=$P($G(PXCA("IBD GAF SCORE COL 1",EPROV,+$O(PXCA("IBD GAF SCORE COL 1",EPROV,0)))),"^",1)
|
---|
35 | .. S DIG2=$P($G(PXCA("IBD GAF SCORE COL 2",EPROV,+$O(PXCA("IBD GAF SCORE COL 2",EPROV,0)))),"^",1)
|
---|
36 | .. S DIG3=$P($G(PXCA("IBD GAF SCORE COL 3",EPROV,+$O(PXCA("IBD GAF SCORE COL 3",EPROV,0)))),"^",1)
|
---|
37 | .. S SCORE=DIG1_DIG2_DIG3
|
---|
38 | .. ;
|
---|
39 | .. ; -- score is required to be 1-100
|
---|
40 | .. ;
|
---|
41 | .. I SCORE>100 S SCORE=""
|
---|
42 | .. S PXCA("IBD GAF SCORE COL 1",EPROV,1)=SCORE
|
---|
43 | .. ;
|
---|
44 | I $D(PXCA("IBD GAF SCORE COL 1")) D
|
---|
45 | . S EPROV="" F S EPROV=$O(PXCA("IBD GAF SCORE COL 1",EPROV)) Q:EPROV="" D
|
---|
46 | .. S SCORE=$P($G(PXCA("IBD GAF SCORE COL 1",EPROV,+$O(PXCA("IBD GAF SCORE COL 1",EPROV,0)))),"^")
|
---|
47 | .. S PROV=$P($G(PXCA("IBD GAF SCORE PROVIDER",EPROV,+$O(PXCA("IBD GAF SCORE PROVIDER",EPROV,0)))),"^")
|
---|
48 | .. S DFN=$P($G(PXCA("ENCOUNTER")),"^",2)
|
---|
49 | .. S DATE=$P($G(PXCA("ENCOUNTER")),"^",14)
|
---|
50 | .. S VISIT=$S($P($G(PXCA("ENCOUNTER")),"^",3)="W":"I",1:"O")
|
---|
51 | .. ;
|
---|
52 | .. ; do error check and file error quit if error
|
---|
53 | .. ; -- if any mandated information is missing file an error
|
---|
54 | .. ; in AICS' error log.
|
---|
55 | .. ;
|
---|
56 | .. I DFN="" D LOGERR^IBDF18E2(3570005,.FORMID) Q
|
---|
57 | .. I SCORE>100!(SCORE<1) D LOGERR^IBDF18E2(3570005,.FORMID) Q
|
---|
58 | .. I DATE="" D LOGERR^IBDF18E2(3570005,.FORMID) Q
|
---|
59 | .. I PROV="" D LOGERR^IBDF18E2(3570005,.FORMID) Q
|
---|
60 | .. I VISIT="" D LOGERR^IBDF18E2(3570005,.FORMID) Q
|
---|
61 | .. D UPD^YSGAF(DFN,SCORE,DATE,PROV,VISIT)
|
---|
62 | Q
|
---|