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

APCLDF2.m

Go to the documentation of this file.
  1. APCLDF2 ; IHS/CMI/LAB - YRULER<->PCC PROCESS ALGORITHM ;
  1. ;;2.0;IHS PCC SUITE;**2,4**;MAY 14, 2009
  1. ;
  1. VI ; - ENTRY POINT - Ptr val for .01 field not in "AA" xref for this V FILE
  1. I VAL]"",'$D(APCLTX) S TVAL=$O(@TABLE@(XREF,VAL_" ","")) I TVAL="" S X=VAL,DIC(0)=$S($D(APCLINT):"MQEZ",1:"MO"),DIC=$S($E(TABLE,$L(TABLE))=")":$TR(TABLE,")",","),1:TABLE_"(") D ^DIC K DIC D I Y=-1 S APCLER=8 G X4
  1. . I Y'=-1 S TVAL=+Y,VAL=$P(@TABLE@(+Y,0),U)
  1. S N=$S($G(N):N,1:0),C=$S($G(C):C,1:0)
  1. F D=0:0 S D=$O(@LKUP@("AA",PAT,D)) Q:'D S E="" F S E=$O(@LKUP@("AA",PAT,D,E)) Q:'E I $D(@LKUP@(E,0)),$D(@TABLE@(+@LKUP@(E,0),0)) D
  1. . I $S('$D(TVAL)&($D(APCLTX)):$D(^TMP("APCLTAX",$J,$P(@LKUP@(E,0),U))),$D(TVAL):$P(@LKUP@(E,0),U)=TVAL,1:1) S C=C+1,N=N+1 S:'$D(TVAL) VAL=$P(@TABLE@(+@LKUP@(E,0),0),U) D TMP
  1. I '$D(APCLTX) D RESULTS
  1. I $D(APCLTX) S VAL=""
  1. X4 Q
  1. ;
  1. VV ; - ENTRY POINT - Ptr val. for .01 field in "AA" xref for this V FILE
  1. K NVAL
  1. I VAL]"",'$D(APCLTX) S TVAL=$O(@TABLE@(XREF,VAL,"")) S:$P($O(@TABLE@(XREF,VAL)),VAL)="" TVAL=""
  1. E S TVAL=0,NVAL=""
  1. I VAL]"",TVAL="" S X=VAL,DIC(0)=$S($D(APCLINT):"MZQE",1:"MO"),DIC=$S($E(TABLE,$L(TABLE))=")":$TR(TABLE,")",","),1:TABLE_"(") D ^DIC K DIC D I Y=-1 S APCLER=8 G X5
  1. . I Y'=-1 S TVAL=+Y,VAL=$P(@TABLE@(+Y,0),U)
  1. I 'TVAL D I 1
  1. . S (C,N)=0 F S TVAL=$O(@LKUP@("AA",PAT,TVAL)) Q:'TVAL I $S('$D(APCLTX):1,$D(APCLTX)&$D(^TMP("APCLTAX",$J,TVAL)):1,1:0) D
  1. .. F D=0:0 S D=$O(@LKUP@("AA",PAT,TVAL,D)) Q:'D S E="" F S E=$O(@LKUP@("AA",PAT,TVAL,D,E)) Q:'E I $D(@LKUP@(E,0)) S C=C+1,N=N+1,VAL=$P(@TABLE@(+@LKUP@(E,0),0),U) D TMP
  1. E D
  1. . S N=$S($G(N):N,1:0),C=$S($G(C):C,1:0)
  1. . F D=0:0 S D=$O(@LKUP@("AA",PAT,TVAL,D)) Q:'D S E="" F S E=$O(@LKUP@("AA",PAT,TVAL,D,E)) Q:'E I $D(@LKUP@(E,0)) S C=C+1,N=N+1 D TMP
  1. I '$D(APCLTX) D RESULTS
  1. X5 Q
  1. ;
  1. NV ; - ENTRY POINT - Not a V FILE
  1. I VAL]"" S TVAL=$S('$D(APCLTX):$O(@TABLE@(XREF,VAL,"")),1:VAL)
  1. E I VAL="" F D=0:0 S D=$O(@LKUP@("AC",PAT,D)) D:'D RESULTS Q:'D D
  1. . X:$D(SCRN) SCRN I $T S ^TMP("APCLDF",$J,"TMP",$S(COND="LAST":9999999-$P(@LKUP@(D,0),U,3),1:$P(@LKUP@(D,0),U,3)),D)=$P(@TABLE@(+@LKUP@(D,0),0),U)_"^"_$P(@TABLE@(+@LKUP@(D,0),0),U)_"^"_D_";"_$E(LKUP,2,20)
  1. I VAL]"",TVAL="" S X=VAL,DIC(0)=$S($D(APCLINT):"MZQE",1:"MO"),DIC=TABLE_"(" D ^DIC K DIC D I Y=-1 S APCLER=8 G X6
  1. . I Y'=-1 S TVAL=+Y,VAL=$P(@TABLE@(+Y,0),U)
  1. I VAL]"" D
  1. . F D=0:0 S D=$O(@LKUP@("AC",PAT,D)) D:'D RESULTS Q:'D D
  1. .. I 1 X:$D(SCRN) SCRN I $T,+@LKUP@(D,0)=TVAL D
  1. ... Q:$P(@LKUP@(D,0),U,3)=""
  1. ... S ^TMP("APCLDF",$J,"TMP",$S(COND="LAST":9999999-$P(@LKUP@(D,0),U,3),1:$P(@LKUP@(D,0),U,3)),D)=$S('$D(APCLTX):VAL,1:TVAL)_"^"_$S('$D(APCLTX):VAL_"^"_D_";"_$E(LKUP,1,20),1:TVAL_"^"_D_";"_$E(LKUP,2,20))
  1. X6 Q
  1. ;
  1. TMP ; Store dates, values
  1. ; if in a lab taxonomy lookup q if vlab site exists and doesn't equal site in taxonomy file
  1. ;I $D(APCLTX),TAX="LAB TAX",$P($G(^AUPNVLAB(E,11)),U,3)]"",$O(^TMP("APCLTAX",$J,TVAL,0)),'$D(^TMP("APCLTAX",$J,TVAL,$P($G(^AUPNVLAB(E,11)),U,3))) Q ;IHS/CMI/LAB - do not look at site/specimen
  1. I LKUP["AUPNVMSR" Q:$P($G(^AUPNVMSR(E,2)),U,1) ;skip measurements entered in error
  1. S ^TMP("APCLDF",$J,"TMP",$S(COND="LAST"&(DATE=""):D,1:9999999-D),C)=$S(TYPE="VV"&($P(@LKUP@(E,0),U,4)]""):$P(^(0),U,4)_"^"_VAL,1:$S(TYPE="VI":VAL_"^"_VAL,1:"?"_"^"_VAL))_"^"_E_";"_$E(LKUP,2,20)_"^"_$P(^(0),U,3)
  1. I DATE="",COND="LAST",N=NUM,'$D(NVAL) S (D,E)=999999999,VAL=""
  1. X2 Q
  1. ;
  1. RESULTS ;EP - Store results
  1. NEW D
  1. I DATE]"" D DATE^APCLDF3
  1. S I=0,%="" F S %=$O(^TMP("APCLDF",$J,"TMP",%)) Q:'% F D=0:0 S D=$O(^TMP("APCLDF",$J,"TMP",%,D)) S:D I=I+1 Q:'D!(I>NUM) D
  1. . S @(APCLY_I_")")=$S(COND="LAST":9999999-%,1:%)_"^"_^TMP("APCLDF",$J,"TMP",%,D)
  1. K ^TMP("APCLDF",$J,"TMP")
  1. Q
  1. ;
  1. ERROR ; Error flag list - APCLER value
  1. 1 ;;variable with patient and script value not passed
  1. 2 ;;variable with array value not passed
  1. 3 ;;taxonomy not allowed for this file
  1. 4 ;;demographic field/value not found
  1. 5 ;;class (file name) not found
  1. 6 ;;patient id not passed
  1. 7 ;;lookup into QMAN DICTIONARY OF TERMS failed
  1. 8 ;;entity unresolved, i.e., the name of a lab test or medication
  1. 9 ;;
  1. 10 ;;unresolved taxonomy
  1. 11 ;;value(s) not indicated
  1. 12 ;;unresolvable class(file name)
  1. 13 ;;unresolvable demographic attribute
  1. 14 ;;use last or first only for visit related data
  1. 15 ;;patient demographic attribute not entered
  1. 16 ;;indicated date parameter, i.e., since, before, etc., unacceptable
  1. 17 ;;date(s) not correctly indicated
  1. 18 ;;visit date not allowed for this attribute