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

APCDRVH.m

Go to the documentation of this file.
  1. APCDRVH ; IHS/CMI/LAB - VISIT REVIEW HOSPITALIZATIONS ;
  1. ;;2.0;IHS PCC SUITE;**11,13**;MAY 14, 2009;Build 9
  1. CHKHOSP ;CHECK HOSPITALIZATION EDITS
  1. S APCDVREC=^AUPNVSIT(APCDVSIT,0)
  1. Q:"C"[$P(APCDVREC,U,3)
  1. I '$D(^AUPNVINP("AD",APCDVSIT)) S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E302" D ERR G XIT
  1. S APCDVINP=$O(^AUPNVINP("AD",APCDVSIT,"")),APCDVINR=^AUPNVINP(APCDVINP,0)
  1. I $P(APCDVINR,U,12)="" S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E338" D ERR G XIT
  1. D GETTS
  1. Q:APCDTS=""
  1. Q:APCDDS=""
  1. D GETPOVS
  1. I '$D(APCDPOV("P")) S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E300" D ERR G XIT
  1. I APCD3>1 S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E301" D ERR G XIT
  1. D ^APCDRVH2
  1. D CHECKPVS
  1. D ^APCDRVH1
  1. XIT ;
  1. K APCDTS,APCDVINR,APCDDS,APCDIACC,APCD1,APCD2,APCD3,APCDPREC,APCDSC,APCDICD9,APCDPOV,APCDACC,APCDDUPE,APCDDXP,APCDACCO,APCDDUPO,APCDOPP,APCDDX,APCDPX,APCDFOUN,APCDOPP,APCDOPC,APCDDXP,APCDDXC,APCDDXOP,APCDOPDX
  1. K APCDE,APCDPOV,APCDVINP,APCDADM,APCDDIS,APCDVREC
  1. Q
  1. ERR ;
  1. D ERR^APCDRV
  1. Q
  1. GETTS ;
  1. S APCDTS=$P(APCDVINR,U,4),APCDDS=$P(APCDVINR,U,5)
  1. I APCDTS="" S APCDE("FILE")=9000010.02,APCDE("ENTRY")=APCDVINP,APCDE="E303" D ERR Q
  1. I APCDDS="" S APCDE("FILE")=9000010.02,APCDE("ENTRY")=APCDVINP,APCDE="E304" D ERR Q
  1. S APCDTS=$P(^DIC(45.7,APCDTS,9999999),U),APCDDS=$P(^DIC(45.7,APCDDS,9999999),U)
  1. I APCDTS="" S APCDE("FILE")=9000010.02,APCDE("ENTRY")=APCDVINP,APCDE="E305" D ERR
  1. I APCDDS="" S APCDE("FILE")=9000010.02,APCDE("ENTRY")=APCDVINP,APCDE="E306" D ERR
  1. Q
  1. GETPOVS ;
  1. S (APCD1,APCD2,APCD3)=0 F S APCD2=$O(^AUPNVPOV("AD",APCDVSIT,APCD2)) Q:APCD2="" S APCD1=APCD1+1 D SETPOV
  1. Q
  1. SETPOV ;
  1. S APCDPREC=^AUPNVPOV(APCD2,0),APCDSC=$P(APCDPREC,U,12) S:APCDSC="" APCDSC="S"
  1. I APCDSC="P" S APCD3=APCD3+1,APCDPOV("P")=$$ICDDX^ICDEX($P(APCDPREC,U))_"^"_$P(APCDPREC,U)_"^"_APCD2 Q
  1. S APCDPOV(APCDSC,APCD1)=$$ICDDX^ICDEX($P(APCDPREC,U))_"^"_$P(APCDPREC,U)_"^"_APCD2
  1. Q
  1. ;
  1. ;
  1. CHECKPVS ;
  1. Q:$D(APCDACC)
  1. C2 ;CERTAIN "V" CODES CANNOT BE PRIMARY DXS
  1. ;I $D(^APCDINPT(2,11,"AC",$P(APCDPOV("P"),U))) S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E307" D ERR Q
  1. C1 ;IF PRIMARY DX IS A "V" CODE SECONDARY MUST BE "V" CODE ALSO
  1. ;WITH EXCEPTIONS
  1. ;I $E($P(APCDPOV("P"),U))="V",'$D(^APCDINPT(1,11,"AC",$P(APCDPOV("P"),U))) D
  1. ;. S APCD1=0 F S APCD1=$O(APCDPOV("S",APCD1)) Q:APCD1'=+APCD1 D
  1. ;.. ;I $E($P(APCDPOV("S",APCD1),U))'="V" S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E308" D ERR
  1. E1 ;CERTAIN CODES REQUIRE AN ACCEPT COMMAND
  1. ;I $D(^APCDINPT(8,11,"AC",$P(APCDPOV("P"),U))) D E1W
  1. ;S APCD1=0 F S APCD1=$O(APCDPOV("S",APCD1)) Q:APCD1'=+APCD1 D E11
  1. ;
  1. E2 ;IF CODE V30-V39 (.0) ADM SRV MUST BE NEWBORN
  1. I $D(^APCDINPT(4,11,"AC",$P(APCDPOV("P"),U))),APCDTS'="07" S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E311" D ERR Q
  1. ;I '$D(^APCDINPT(4,11,"AC",$P(APCDPOV("P"),U))),APCDTS="07" S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E331" D ERR Q
  1. E3 ;IF PRIMARY DX IS V30-V39(.1) ADM SRV MUST BE ,11
  1. ;COMMENTED OUT BECAUSE NO EVIDENCE OF THIS EDIT IN KAUFMANN'S
  1. ;MEMO OF JAN, 1990.
  1. E4 ;IF PRIM DX (V30-V39 (.0 OR ,.1)) AGE CANNOT BE > 3 DAYS
  1. I (($D(^APCDINPT(4,11,"AC",$P(APCDPOV("P"),U))))!($D(^APCDINPT(3,11,"AC",$P(APCDPOV("P"),U))))),AUPNDAYS>3 S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E313" D ERR Q
  1. Q
  1. E11 ;CHECK SECONDARY FOR REQUIRED ACCEPT COMMAND/INVALID SECONDARY PVS
  1. ;I $D(^APCDINPT(8,11,"AC",$P(APCDPOV("S",APCD1),U))) D E1W
  1. Q
  1. E1W ;
  1. ;S APCDE("FILE")=9000010,APCDE("ENTRY")=APCDVSIT,APCDE="E309" D ERR
  1. Q
  1. ;