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

APCPHOSP.m

Go to the documentation of this file.
  1. APCPHOSP ; IHS/TUCSON/LAB - VISIT REVIEW - HOSPITALIZATIONS AUGUST 14, 1992 ; [ 04/03/98 08:39 AM ]
  1. ;;2.0;IHS PCC DATA EXTRACTION SYSTEM;;APR 03, 1998
  1. CHKHOSP ;
  1. Q:"C"[$P(APCPV("V REC"),U,3)
  1. I '$D(^AUPNVINP("AD",APCP("V DFN"))) S APCPE("ERROR")="E302" G XIT
  1. S APCPH("VINP PTR")=$O(^AUPNVINP("AD",APCP("V DFN"),""))
  1. I $P(^AUPNVINP(APCPH("VINP PTR"),0),U,15) S APCPE("ERROR")="E337" G XIT
  1. D GETACC^APCPHOS2
  1. D GETTS
  1. G:$D(APCPE("ERROR")) XIT
  1. D GETPOVS
  1. I '$D(APCPH("POV","P")) S APCPE("ERROR")="E300" G XIT
  1. I APCP3>1 S APCPE("ERROR")="E301" G XIT
  1. G:$D(APCPE("ERROR")) XIT
  1. D ^APCPHOS2
  1. G:$D(APCPE("ERROR")) XIT
  1. D CHECKPVS
  1. I $D(APCPE) S APCPE("FILE")=9000010,APCPE("EDFN")=APCP("V DFN") G XIT
  1. D ^APCPHOS1
  1. XIT ;
  1. K APCP1,APCP2,APCP3,APCPSC,APCPPREC
  1. Q
  1. GETTS ;
  1. S APCPH("VINP PTR")=$O(^AUPNVINP("AD",APCP("V DFN"),"")),APCPH("VINP REC")=^AUPNVINP(APCPH("VINP PTR"),0),APCPH("A TS CODE")=$P(APCPH("VINP REC"),U,4),APCPH("D TS CODE")=$P(APCPH("VINP REC"),U,5)
  1. I APCPH("A TS CODE")="" S APCPE("ERROR")="E303" Q
  1. I APCPH("D TS CODE")="" S APCPE("ERROR")="E304" Q
  1. S APCPH("A TS CODE")=$P(^DIC(45.7,APCPH("A TS CODE"),9999999),U),APCPH("D TS CODE")=$P(^DIC(45.7,APCPH("D TS CODE"),9999999),U)
  1. I APCPH("A TS CODE")="" S APCPE("ERROR")="E305"
  1. I APCPH("D TS CODE")="" S APCPE("ERROR")="E306"
  1. Q
  1. GETPOVS ;
  1. S (APCP1,APCP2,APCP3)=0 F S APCP2=$O(^AUPNVPOV("AD",APCP("V DFN"),APCP2)) Q:APCP2="" S APCP1=APCP1+1 D SETPOV
  1. Q
  1. SETPOV ;
  1. S APCPPREC=^AUPNVPOV(APCP2,0)
  1. S APCPSC=$P(APCPPREC,U,12) S:APCPSC="" APCPSC="S"
  1. I APCPSC="P" S APCP3=APCP3+1,APCPH("POV","P")=$P(^ICD9($P(APCPPREC,U),0),U)_"^"_$P(APCPPREC,U)_"^"_APCP2 Q
  1. S APCPH("POV",APCPSC,APCP1)=$P(^ICD9($P(APCPPREC,U),0),U)_"^"_$P(APCPPREC,U)_"^"_APCP2
  1. Q
  1. CHECKPVS ;
  1. C2 ;CERTAIN "V" CODES CANNOT BE PRIMARY DXS
  1. I $D(^APCDINPT(2,11,"AC",$P(APCPH("POV","P"),U))) S APCPE("ERROR")="E307" Q
  1. C1 ;IF PRIMARY DX IS A "V" CODE SECONDARY MUST BE "V" CODE ALSO
  1. ;WITH EXCEPTIONS
  1. I $E($P(APCPH("POV","P"),U))="V",'$D(^APCDINPT(1,11,"AC",$P(APCPH("POV","P"),U))) D
  1. .S APCP1=0 F S APCP1=$O(APCPH("POV","S",APCP1)) Q:APCP1'=+APCP1 D
  1. ..I $E($P(APCPH("POV","S",APCP1),U))'="V" S APCPE("ERROR")="E308"
  1. ..Q
  1. .Q
  1. Q:$D(APCPE("ERROR"))
  1. E1 ;CERTAIN CODES REQUIRE AN ACCEPT COMMAND
  1. I $D(^APCDINPT(8,11,"AC",$P(APCPH("POV","P"),U))),'$D(APCPV("ACC")) S APCPE("ERROR")="E309" Q
  1. S APCP1=0 F S APCP1=$O(APCPH("POV","S",APCP1)) Q:APCP1'=+APCP1 D E11
  1. Q:$D(APCPE("ERROR"))
  1. ;
  1. E2 ;IF CODE V30-V39 (.0) ADM SRV MUST BE NEWBORN
  1. I $D(^APCDINPT(4,11,"AC",$P(APCPH("POV","P"),U))),APCPH("A TS CODE")'="07" S APCPE("ERROR")="E311" Q
  1. I '$D(^APCDINPT(4,11,"AC",$P(APCPH("POV","P"),U))),APCPH("A TS CODE")="07" S APCPE("ERROR")="E331" Q
  1. E3 ;IF PRIMARY DX IS V30-V39(.1) ADM SRV MUST BE ,11
  1. I $D(^APCDINPT(3,11,"AC",$P(APCPH("POV","P"),U))),APCPH("A TS CODE")'=11 S APCPE("ERROR")="E312" Q
  1. E4 ;IF PRIM DX (V30-V39 (.0 OR ,.1)) AGE CANNOT BE > 3 DAYS
  1. I (($D(^APCDINPT(4,11,"AC",$P(APCPH("POV","P"),U))))!($D(^APCDINPT(3,11,"AC",$P(APCPH("POV","P"),U))))),AUPNDAYS>3 S APCPE("ERROR")="E313" Q
  1. Q
  1. E11 ;
  1. I $D(^APCDINPT(8,11,"AC",$P(APCPH("POV","S",APCP1),U))),'$D(APCPV("ACC")) S APCPE("ERROR")="E309" Q
  1. Q