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

APCPACHA.m

Go to the documentation of this file.
  1. APCPACHA ; IHS/TUCSON/LAB - create CHA activity reporting system record AUGUST 14, 1992 ; [ 09/16/02 12:15 PM ]
  1. ;;2.0;IHS PCC DATA EXTRACTION SYSTEM;**6**;APR 03, 1998
  1. ;
  1. D ACTCODE
  1. S (APCPCHD1,APCPCHD2)=" "
  1. D POV
  1. G:$D(APCPE) EOJ
  1. D TIME
  1. G:$D(APCPE) EOJ
  1. D CHART
  1. D SETTX
  1. EOJ ;
  1. K APCPT,APCPCHD1,APCPCHD2
  1. Q
  1. ACTCODE ;
  1. I APCPV("SRV CAT")="N" S APCPT("ACTC")="03" Q
  1. S APCPT("ACTC")=$S(APCPV("CLINIC CODE")=11:"01",1:"02")
  1. Q
  1. POV ;get POV information
  1. S (APCPT(1),APCPT(2))=0 F S APCPT(2)=$O(^AUPNVPOV("AD",APCP("V DFN"),APCPT(2))) Q:APCPT(1)>1!(APCPT(2)'=+APCPT(2))!($D(APCPE("ERROR"))) S APCPT(1)=APCPT(1)+1 D GETPOV
  1. Q
  1. GETPOV ;
  1. S APCPT("ICD PTR")=$P(^AUPNVPOV(APCPT(2),0),U),(APCPT("X"),APCPT("ICD"))=$P(^ICD9(APCPT("ICD PTR"),0),U) D ^APCPCICD
  1. Q:$D(APCPE("ERROR"))
  1. GETCODE ;
  1. S APCPT("ICD")=$P(APCPT("ICD"),".")_$P(APCPT("ICD"),".",2)_" "
  1. I $E(APCPT("X"))="V" S APCPT("X")=(9_$E(APCPT("X"),2,9999)-.000001),APCPT("X")="V"_$E(APCPT("X"),2,9999),APCPT("X")=$P(APCPT("X"),".")_$P(APCPT("X"),".",2)_" " G HIGH
  1. I $E(APCPT("X"))="0" S APCPT("X")=(9_$E(APCPT("X"),2,9999)-.000001),APCPT("X")="0"_$E(APCPT("X"),2,9999),APCPT("X")=$P(APCPT("X"),".")_$P(APCPT("X"),".",2)_" " G HIGH
  1. I $E(APCPT("X"))="." S APCPT("X")=(9_$E(APCPT("X"),2,9999)-.000001),APCPT("X")="."_$E(APCPT("X"),2,9999),APCPT("X")=$P(APCPT("X"),".")_$P(APCPT("X"),".",2)_" " G HIGH
  1. S APCPT("X")=APCPT("X")-.000001
  1. S APCPT("AC")="",APCPT("X")=($P(APCPT("X"),".")_$P(APCPT("X"),".",2))_" "
  1. HIGH S APCPT("HIGH")=$O(^AUTTCHA("AH",APCPT("X"))) I APCPT("HIGH")="" S APCPE("ERROR")="E064",APCPE("EDFN")=APCPT(2),APCPE("FILE")=9000010.07 Q
  1. S APCPT("DA1")=$O(^AUTTCHA("AH",APCPT("HIGH"),"")) I APCPT("DA1")="" S APCPE("ERROR")="E064",APCPE("EDFN")=APCPT(2),APCPE("FILE")=9000010.07 Q
  1. S APCPT("DA2")=$O(^AUTTCHA("AH",APCPT("HIGH"),APCPT("DA1"),""))
  1. S APCPT("LOW")=$P(^AUTTCHA(APCPT("DA1"),11,APCPT("DA2"),0),U)_" "
  1. I APCPT("LOW")]APCPT("ICD") S APCPE("ERROR")="E064",APCPE("FILE")=9000010.07,APCPE("EDFN")=APCPT(2) Q
  1. S APCPT("AC")=$P(^AUTTCHA(APCPT("DA1"),0),U)
  1. SETPOV S APCPT("VAR")="APCPCHD"_APCPT(1),@APCPT("VAR")=APCPT("AC")
  1. Q
  1. ;
  1. TIME ;
  1. S APCPT("AT REC")=$O(^AUPNVTM("AD",APCP("V DFN"),""))
  1. I APCPT("AT REC")="" S APCPE("ERROR")="E054" Q
  1. S APCPT("ACT TIME MIN")=$P(^AUPNVTM(APCPT("AT REC"),0),U),APCPT("TRAVEL TIME MIN")=$P(^AUPNVTM(APCPT("AT REC"),0),U,4)
  1. I 'APCPT("ACT TIME MIN") S APCPE("ERROR")="E052" Q
  1. S APCPT("ACT TIME MIN")=APCPT("ACT TIME MIN")*APCPT("CHA")
  1. S X=APCPT("ACT TIME MIN") D CONVERT S:H>9 H=9
  1. S APCPT("ACT TIME")=H_M
  1. I 'APCPT("TRAVEL TIME MIN") S APCPT("TRAVEL TIME MIN")=0 S APCPT("TRAVEL TIME")="000" Q
  1. S X=APCPT("TRAVEL TIME MIN") D CONVERT I H>9 S APCPE("ERROR")="E053" Q
  1. S APCPT("TRAVEL TIME")=H_M
  1. K X,Y,M,H
  1. Q
  1. CHART ;CHANGE CHART TO DUZ(2) IF EQUAL 999999
  1. S APCPT("CHA CHART")=""
  1. I $D(^AUPNPAT(APCPV("PATIENT DFN"),41,DUZ(2),0))#2 S APCPT("CHA CHART")=$P(^AUPNPAT(APCPV("PATIENT DFN"),41,DUZ(2),0),U,2)
  1. I APCPT("CHA CHART")="",$D(^AUPNPAT(APCPV("PATIENT DFN"),41,APCPV("LOC DFN"),0))#2 S APCPT("CHA CHART")=$P(^(0),U,2)
  1. I APCPT("CHA CHART")="" S APCPT("CHA CHART")=999999
  1. Q
  1. SETTX ;
  1. S APCPT("VD")=$E(APCPV("V DATE"),4,5)_$E(APCPV("V DATE"),6,7)_$E(APCPV("V DATE"),2,3)
  1. S APCP("CHA")=APCP("CHA")+1,APCP("COUNT")=APCP("COUNT")+1
  1. S APCPV("CHA TX GENERATED")=1,APCPV("TX GENERATED")=1
  1. S APCPV("TX")="CHN"_U_14_U_$E(APCP("RUN LOCATION"),1,2)_U_$E(APCP("RUN LOCATION"),3,4)_U_$E(APCP("RUN LOCATION"),5,6)_U_"00"_U_APCPT("VD")_U_$E(APCPV("COMM CODE"),5,7)_U_APCPT("ACTC")_U_APCPCHD1_U_U_U_APCPCHD2_U_U_U
  1. S APCPV("TX")=APCPV("TX")_APCPT("ACT TIME")_U_U_APCPT("CHA CHART")_U_$E(AUPNDOB,4,5)_$E(AUPNDOB,6,7)_$E(AUPNDOB,2,3)_U_AUPNSEX_U_U_APCPT("TRAVEL TIME")
  1. S ^BAPCDATA(APCP("COUNT"))=APCPV("TX")
  1. Q
  1. ;
  1. CONVERT ;convert minutes to hours
  1. S H=$P((X/60),"."),M=X-(H*60)
  1. I $L(M)=1 S M=0_M
  1. S:'H H=0
  1. Q
  1. ;left zero fill minutes
  1. ;if hours >9 error