| [613] | 1 | QAOC102 ;HISC/DAD-OCCURRENCE SCREEN AUTO ENROLLMENT ;6/14/93  07:11
 | 
|---|
 | 2 |  ;;3.0;Occurrence Screen;;09/14/1993
 | 
|---|
 | 3 |  ;SCREEN 102 -- ADMISSION WITHIN 3 DAYS OF UNSCHEDULED AMBULATORY CARE VISIT
 | 
|---|
 | 4 |  Q:$$INACTIVE^QAOC0(102)
 | 
|---|
 | 5 |  S QAODISPL=3600*$P($G(^QA(740,1,"OS")),"^",6)
 | 
|---|
 | 6 |  F QAOSDT=(QAMTODAY-.0000001):0 S QAOSDT=$O(^DGPM("AMV1",QAOSDT)) Q:QAOSDT'>0!(QAOSDT>(QAMTODAY+.24))!(QAOSDT\1'?7N)  F QAOSDFN=0:0 S QAOSDFN=$O(^DGPM("AMV1",QAOSDT,QAOSDFN)) Q:QAOSDFN'>0  D
 | 
|---|
 | 7 |  . F QAOSD0=0:0 S QAOSD0=$O(^DGPM("AMV1",QAOSDT,QAOSDFN,QAOSD0)) Q:QAOSD0'>0  S QAOSZERO=$G(^DGPM(QAOSD0,0)) I QAOSZERO]"" D MAIN
 | 
|---|
 | 8 |  . Q
 | 
|---|
 | 9 |  Q
 | 
|---|
 | 10 | MAIN ;
 | 
|---|
 | 11 |  Q:$$SCHED^QAOC0(QAOSDFN,QAOSDT)
 | 
|---|
 | 12 |  S INTYP=$P(QAOSZERO,"^",18) Q:INTYP=40
 | 
|---|
 | 13 |  S SPECDT=+$O(^DGPM("APTT6",QAOSDFN,+QAOSZERO-.0000001))
 | 
|---|
 | 14 |  S SPECD0=$O(^DGPM("APTT6",QAOSDFN,SPECDT,0))
 | 
|---|
 | 15 |  S TXSP=$S(SPECD0'>0:"",$D(^DGPM(SPECD0,0))#2:$P(^(0),"^",9),1:"")
 | 
|---|
 | 16 |  Q:$$TXSP^QAOC0("AS",TXSP)'>0  ; Change "AS" to "ASP" to include psych
 | 
|---|
 | 17 |  S X1=QAOSDT,X2=-4 D C^%DTC
 | 
|---|
 | 18 |  S (SV,VIS,REGEND)=X\1_".24",REGEND=9999999-REGEND,FLG=0,QAOVISIT=""
 | 
|---|
 | 19 |  S QACLINIC=""
 | 
|---|
 | 20 |  G:'$D(^DPT(QAOSDFN,"S",0)) TYPE2
 | 
|---|
 | 21 |  F VIS=VIS:0 S VIS=$O(^DPT(QAOSDFN,"S",VIS)) Q:(VIS'>0)!(VIS>QAOSDT)!(VIS\1=(QAOSDT\1))!(VIS\1'?7N)  D:$P(^DPT(QAOSDFN,"S",VIS,0),"^",2)="" LOOP1 Q:FLG
 | 
|---|
 | 22 | TYPE2 ;
 | 
|---|
 | 23 |  G:FLG FILE
 | 
|---|
 | 24 |  ;F SV=SV:0 S SV=$O(^SDV("B",SV)) Q:(SV'>0)!(SV>QAOSDT)!(SV\1=(QAOSDT\1))!(SV\1'?7N)  I $D(^SDV(SV,0)),$P(^(0),"^",2)=QAOSDFN S FLG=1,QAOVISIT=SV Q
 | 
|---|
 | 25 | TYPE3 ;
 | 
|---|
 | 26 |  G FILE:FLG,FILE:'$D(^DPT(QAOSDFN,"DIS",0))
 | 
|---|
 | 27 |  S X1=QAOSDT,X2=-1 D C^%DTC S REG=9999999-(X\1_".24")
 | 
|---|
 | 28 |  F REG=REG:0 S REG=$O(^DPT(QAOSDFN,"DIS",REG)) Q:(REG'>0)!(REG'<REGEND)!(REG\1'?7N)  D LOOP2 Q:FLG
 | 
|---|
 | 29 | FILE ;
 | 
|---|
 | 30 |  D:FLG
 | 
|---|
 | 31 |  . D VADPT^QAOC0(QAOSDFN,QAOSD0)
 | 
|---|
 | 32 |  . S WARDCLIN=+VAIP(5)_"^"_$S(QACLINIC:QACLINIC,1:"")
 | 
|---|
 | 33 |  . S ^UTILITY($J,"QAM CONDITION",QAMD1,QAOSDFN,QAMTODAY)=""
 | 
|---|
 | 34 |  . S ^UTILITY($J,"QAM FALL OUT",QAMD0,QAOSDFN,QAMTODAY,"WARD")=WARDCLIN
 | 
|---|
 | 35 |  . S ^UTILITY($J,"QAM FALL OUT",QAMD0,QAOSDFN,QAMTODAY,"TXSP")=+VAIP(8)
 | 
|---|
 | 36 |  . S ^UTILITY($J,"QAM FALL OUT",QAMD0,QAOSDFN,QAMTODAY,"MVDT")=QAOVISIT
 | 
|---|
 | 37 |  . S ^UTILITY($J,"QAM FALL OUT",QAMD0,QAOSDFN,QAMTODAY,"DIAG")=VAIP(9)
 | 
|---|
 | 38 |  . S ^UTILITY($J,"QAM FALL OUT",QAMD0,QAOSDFN,QAMTODAY,"AADM")=VAIP(13)
 | 
|---|
 | 39 |  . Q
 | 
|---|
 | 40 |  Q
 | 
|---|
 | 41 | LOOP1 ;
 | 
|---|
 | 42 |  S LOC=^DPT(QAOSDFN,"S",VIS,0) I LOC]"",$P(LOC,"^",7)=4 S FLG=1,QAOVISIT=VIS,QACLINIC=+$P(LOC,"^")
 | 
|---|
 | 43 |  Q
 | 
|---|
 | 44 | LOOP2 ;
 | 
|---|
 | 45 |  Q:$D(^DPT(QAOSDFN,"DIS",REG,0))[0  S LOC=^(0) Q:$P(LOC,"^",2)>1
 | 
|---|
 | 46 |  S OUT=$P(LOC,"^",6) Q:OUT'>0
 | 
|---|
 | 47 |  S X=QAOSDT D H^%DTC S QAOSH=%H,QAOST=%T,X=OUT
 | 
|---|
 | 48 |  D H^%DTC S QAOSH=QAOSH-%H,QAOST=QAOST-%T
 | 
|---|
 | 49 |  S QAOST=QAOST+(86400*QAOSH) ; TIME BETWEEN ADMISSION & LOG OUT
 | 
|---|
 | 50 |  Q:QAOST<QAODISPL  ; QUIT IF TIME < MIN TIME BETWEEN LOG OUT & ADM
 | 
|---|
 | 51 |  S FLG=1,QAOVISIT=9999999-REG
 | 
|---|
 | 52 |  Q
 | 
|---|