Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AMHEYC1

AMHEYC1.m

Go to the documentation of this file.
  1. AMHEYC1 ; IHS/CMI/LAB - RECORD REVIEW PROCESS ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;;MAY 14, 2010
  1. ;
  1. ;
  1. ;
  1. ;
  1. START ;
  1. S (AMHBT,AMHBTH)=$H,AMHJOB=$J,AMH("ERROR COUNT")=0,AMHO("RUN")="NEW"
  1. D DATE,XIT
  1. Q
  1. ;
  1. DATE ; Run by encounter date
  1. S X1=AMHBD,X2=-1 D C^%DTC S AMHSD=X
  1. S AMHODAT=AMHSD_".9999" F S AMHODAT=$O(^AMHREC("AEX",AMHODAT)) Q:AMHODAT=""!((AMHODAT\1)>AMHED) D D1
  1. Q
  1. ;
  1. XIT ;
  1. S AMHET=$H
  1. D EOJ
  1. Q
  1. EOJ ;
  1. Q
  1. D1 ;
  1. S (AMHR,AMHRCNT)=0 F S AMHR=$O(^AMHREC("AEX",AMHODAT,AMHR)) Q:AMHR'=+AMHR S AMHREC=^AMHREC(AMHR,0) D PROC
  1. Q
  1. PROC ;
  1. K AMHE,AMHTX D RECORD
  1. Q:AMHE=""
  1. S AMH("ERROR COUNT")=AMH("ERROR COUNT")+1
  1. S AMHE("ERR DFN")=$O(^AMHERR("B",AMHE,"")) I AMHE("ERR DFN")="" S AMHE("MSG")=AMHE_"-ERROR INFORMATION NOT IN ERROR FILE" G ERR
  1. S AMHE("MSG")=AMHE_"-"_$P(^AMHERR(AMHE("ERR DFN"),0),U,2) S:$L(AMHE("MSG"))=5 AMHE("MSG")=AMHE("MSG")_"- ERROR INFORMATION NOT IN ERROR FILE" S AMHE("MSG")=$E(AMHE("MSG"),1,45)
  1. ERR S ^XTMP("AMHEYC",AMHJOB,AMHBT,"ERRORS",AMHR)=AMHE("MSG")
  1. Q
  1. ;
  1. RECORD ;EP
  1. S (AMHE,AMHTX)="" K AMHRTYPE
  1. I '$D(^AMHREC(AMHR)) S AMHE="E026" Q
  1. ;
  1. D S X=$P($P(AMHREC,U),".") I X="" S AMHE="E001" Q
  1. ;
  1. PROG S X=$P(AMHREC,U,2) I X="" S AMHE="E003" Q
  1. ;
  1. LOENC S X=$P(AMHREC,U,4) I X="" S AMHE="E004" Q
  1. S X=$P(^AUTTLOC(X,0),U,10) I X=""!($L(X)'=6) S AMHE="E005" Q
  1. COMM S AMHCOM=$P(AMHREC,U,5) I AMHCOM="" S AMHE="E006" Q
  1. S X=$P(^AUTTCOM(AMHCOM,0),U,8) I X="" S AMHE="E007" Q
  1. ;
  1. ACT S X=$P(AMHREC,U,6) I X="" S AMHE="E009" Q
  1. I '$D(^AMHTACT(X)) S AMHE="E009" Q
  1. S X=$P(^AMHTACT(X,0),U) I X="" S AMHE="E009" Q
  1. ;
  1. CONT S X=$P(AMHREC,U,7) I X="" S AMHE="E010" Q
  1. I '$D(^AMHTSET(X)) S AMHE="E010" Q
  1. S X=$P(^AMHTSET(X,0),U,2) I X="" S AMHE="E010" Q
  1. ;
  1. PROV ;get providers
  1. I '$D(^AMHRPROV("AD",AMHR)) S AMHE="E022" Q
  1. S X=0 F S X=$O(^AMHRPROV("AD",AMHR,X)) Q:X'=+X S Y=$P($G(^AMHRPROV(X,0)),U) I '$D(^VA(200,Y,0)) S AMHE="E023" Q
  1. S AMHAFF=$$PPAFFL^AMHUTIL(AMHR,"I") I AMHAFF=""!(AMHAFF["?") S AMHE="E023" Q
  1. S AMHDISC=$$PPCLSC^AMHUTIL(AMHR) I AMHDISC=""!(AMHDISC["?") S AMHE="E024" Q
  1. S AMHINI=$$PPINI^AMHUTIL(AMHR) I AMHINI["?" S AMHE="E025" Q
  1. S AMHRIEN=0,AMHC=1 F S AMHRIEN=$O(^AMHRPROV("AD",AMHR,AMHRIEN)) Q:AMHRIEN'=+AMHRIEN!(AMHE]"") I $P(^AMHRPROV(AMHRIEN,0),U,4)'="P" S AMHX=$P(^AMHRPROV(AMHRIEN,0),U) D
  1. .S AMHAFF=$$PROVAFFL^XBFUNC1(AMHX,"I") I AMHAFF=""!(AMHAFF["?") S AMHE="E023" Q
  1. .S AMHDISC=$$PROVCLSC^XBFUNC1(AMHX) I AMHDISC=""!(AMHDISC["?")!(AMHDISC["UNKNOWN") S AMHE="E024" Q
  1. .S AMHINI=$$PROVINI^XBFUNC1(AMHX) I AMHINI=""!(AMHINI["?") S AMHE="E025" Q
  1. Q:AMHE]""
  1. POVS ;get problems first 4
  1. I '$D(^AMHRPRO("AD",AMHR)) S AMHE="E021" Q
  1. PATIENT ;
  1. I $P(AMHREC,U,8)="" Q
  1. S AMHPAT=$P(AMHREC,U,8)
  1. S Y=AMHPAT D ^AUPNPAT
  1. SEX ;
  1. I AUPNSEX="" S AMHE="E014" Q
  1. S X=AUPNSEX ;
  1. DOB ;
  1. I AUPNDOB="" S AMHE="E015" Q
  1. S X=AUPNDOB ;
  1. I '$D(^AUPNPAT(AMHPAT,11)) S AMHE="E016" Q
  1. COMRES ;
  1. S Y=0,AMHCOM="" F S Y=$O(^AUPNPAT(AMHPAT,51,Y)) Q:Y'=+Y S AMHCOM=Y
  1. I AMHCOM="" S AMHE="E016" Q
  1. S AMHCOM=$P(^AUPNPAT(AMHPAT,51,AMHCOM,0),U,3) I AMHCOM="" S AMHE="E017" Q
  1. I '$D(^AUTTCOM(AMHCOM,0)) S AMHE="E017" Q
  1. I AMHCOM]"" S X=$P(^AUTTCOM(AMHCOM,0),U,8) I X="" S AMHE="E017" Q
  1. ;
  1. TRIBE ;
  1. S X=$P(^AUPNPAT(AMHPAT,11),U,8) I X="" S AMHE="E018" Q
  1. I $P(^AUTTTRI(X,0),U,4)="Y" S AMHE="E019" Q
  1. S X=$P(^AUTTTRI(X,0),U,2) I X="" S AMHE="E020" Q
  1. ;
  1. Q