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

APCHS3F.m

Go to the documentation of this file.
  1. APCHS3F ; IHS/CMI/LAB - PART 3A OF APCHS -- SUMMARY PRODUCTION COMPONENTS ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. MRL ; ******************** MOST RECENT LAB * 9000010.09 *******
  1. I '$D(^AUPNVBB("AA",APCHSPAT)) G MRLX
  1. W !?3,"See the Lab Package for More Complete Blood Bank Information than ",!,"contained below."
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. X:'APCHSNPG APCHSBRK
  1. ; <SETUP>
  1. ; <PROCESS>
  1. D LBLD,LPRT
  1. D ANTIBOD
  1. ; <CLEANUP>
  1. MRLX K APCHSLT,APCHSLR,APCHSLTX,APCHSLRT,APCHSLL,APCHSLW,APCHSNMX,APCHSDFN,APCHSIVD,APCHSLTD,APCHSN,Y
  1. K ^TMP($J,"APCHS"),^TMP($J,"APCHS1")
  1. Q
  1. ; <BUILD>
  1. LBLD K ^TMP($J,"APCHS","LAB"),^TMP($J,"APCHS1")
  1. S APCHSLRT="" F APCHSQ=0:0 S APCHSLRT=$O(^AUPNVBB("AA",APCHSPAT,APCHSLRT)) Q:APCHSLRT="" D LDATE
  1. D REORDER
  1. Q
  1. REORDER ;reorder by accession, parent and child
  1. S X=0 F S X=$O(^TMP($J,"APCHS","LAB",X)) Q:X'=+X D
  1. .S D=0 F S D=$O(^TMP($J,"APCHS","LAB",X,D)) Q:D'=+D D
  1. ..S Y=$P(^TMP($J,"APCHS","LAB",X,D),U,3)
  1. ..;S %=$E($P(^AUPNVBB(Y,0),U,6),1,2) S:%="" %="ZZ"
  1. ..S %=X
  1. ..S %1=$S($P($G(^AUPNVBB(Y,12)),U,8)]"":$P(^AUPNVBB(Y,12),U,8),1:Y)
  1. ..S %2=$S($P($G(^AUPNVBB(Y,12)),U,8)="":0,1:Y)
  1. ..S ^TMP($J,"APCHS1",%,%1,%2,X)=^TMP($J,"APCHS","LAB",X,D)
  1. .Q
  1. K ^TMP($J,"APCHS")
  1. Q
  1. LDATE S APCHSIVD=$O(^AUPNVBB("AA",APCHSPAT,APCHSLRT,0))
  1. S APCHSDFN=0 F S APCHSDFN=$O(^AUPNVBB("AA",APCHSPAT,APCHSLRT,APCHSIVD,APCHSDFN)) Q:APCHSDFN'=+APCHSDFN D:APCHSIVD&(APCHSIVD'>APCHSDLM) LSET
  1. Q
  1. LSET ;
  1. S APCHSN=^AUPNVBB(APCHSDFN,0),APCHSLR=$P(APCHSN,U,4)
  1. I $P($G(^AUPNVBB(APCHSDFN,11)),U,9)="R",APCHSLR="",$$VALI^XBDIQ1(60,$P(APCHSN,U),999999901) Q ;do not display tests that are resulted, result is null and flag says don't display
  1. ;I APCHSLR="",$P($G(^TMP($J,"APCHS","LAB",APCHSLRT)),U,2)]"" Q
  1. ;S P=$P($G(^AUPNVBB(APCHSDFN,12)),U,8) I P="" S P=APCHSDFN
  1. ;S C=APCHSDFN I $P($G(^AUPNVBB(APCHSDFN,12)),U,8)="" S C=0
  1. S ^TMP($J,"APCHS","LAB",APCHSLRT,APCHSDFN)=(-APCHSIVD\1+9999999)_U_APCHSLR_U_APCHSDFN S APCHSLTX=$P(^LAB(60,APCHSLRT,0),U,1)
  1. Q
  1. ; <PRINT>
  1. LPRT ;
  1. W ?34,"COLL DATE",?45,"RESULTS",?60,"ANTIBODY",!
  1. S APCHSACC="" F S APCHSACC=$O(^TMP($J,"APCHS1",APCHSACC)) Q:APCHSACC=""!($D(APCHSQIT)) D
  1. .S APCHSPAR=0 F S APCHSPAR=$O(^TMP($J,"APCHS1",APCHSACC,APCHSPAR)) Q:APCHSPAR'=+APCHSPAR!($D(APCHSQIT)) D
  1. ..S APCHCHIL="" F S APCHCHIL=$O(^TMP($J,"APCHS1",APCHSACC,APCHSPAR,APCHCHIL)) Q:APCHCHIL="" D
  1. ...S APCHSLT=$O(^TMP($J,"APCHS1",APCHSACC,APCHSPAR,APCHCHIL,0))
  1. ...S APCHSDFN=$P(^TMP($J,"APCHS1",APCHSACC,APCHSPAR,APCHCHIL,APCHSLT),U,3)
  1. ...S Y=$P(^TMP($J,"APCHS1",APCHSACC,APCHSPAR,APCHCHIL,APCHSLT),U,1),APCHSLR=$P(^TMP($J,"APCHS1",APCHSACC,APCHSPAR,APCHCHIL,APCHSLT),U,2) X APCHSCVD S APCHSLTD=Y
  1. ...D LPRT2
  1. K APCHCHIL,APCHSPAR,APCHSACC,APCHSLT
  1. Q
  1. LPRT2 ;
  1. S APCHSLTX=$S($P($G(^AUPNVBB(APCHSDFN,0)),U,7)]"":$P(^AUPNVBB(APCHSDFN,0),U,7),1:$P(^LAB(60,APCHSLT,0),U))
  1. X APCHSCKP Q:$D(APCHSQIT) I APCHSNPG W ?34,"COLL DATE",?45,"RESULTS",?60,"ANTIBODY",!
  1. W:APCHCHIL " " W:'APCHCHIL ! W APCHSLTX,$S(APCHCHIL:"",1:":"),?35,APCHSLTD,?45,APCHSLR
  1. W ?60,$$VAL^XBDIQ1(9000010.31,APCHSDFN,.05)
  1. ;W ?78," ",$P($G(^AUPNVBB(APCHSDFN,11)),U,9)
  1. W !
  1. Q
  1. ;
  1. ANTIBOD ; - antibody display
  1. ;gather up all v blood bank entries with an antibody and display
  1. Q:'$D(^AUPNVBB("AC",APCHSPAT))
  1. K ^TMP($J,"APCHS")
  1. S X=0 F S X=$O(^AUPNVBB("AC",APCHSPAT,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVBB(X,0))
  1. .S A=$P(^AUPNVBB(X,0),U,5) Q:A=""
  1. .S Y="",V=$P(^AUPNVBB(X,0),U,3) I V,$D(^AUPNVSIT(V,0)) S Y=$P($P(^AUPNVSIT(V,0),U),".")=$P
  1. .S D=$P($P($G(^AUPNVBB(X,12)),U),".")
  1. .S D=$S(D]"":D,1:Y),D=9999999-D
  1. .S ^TMP($J,"APCHS",A,D,X)=""
  1. .Q
  1. PRTANTI ;
  1. G:'$D(^TMP($J,"APCHS")) ANTIBODX
  1. X APCHSCKP G:$D(APCHSQIT) ANTIBODX
  1. W !!?2,"ANTIBODIES",!
  1. S APCHSA=0 F S APCHSA=$O(^TMP($J,"APCHS",APCHSA)) Q:APCHSA'=+APCHSA!($D(APCHSQIT)) D
  1. .S APCHSD=$O(^TMP($J,"APCHS",APCHSA,0))
  1. .X APCHSCKP Q:$D(APCHSQIT) I APCHSNPG W !!?2,"ANTIBODIES",!
  1. .S Y=9999999-APCHSD X APCHSCVD
  1. .W ?3,Y,?13,$P($G(^LAB(61.3,APCHSA,0)),U),!
  1. ANTIBODX ;
  1. K V,X,Y,D,APCHSX,APCHSD
  1. K ^TMP($J,"APCHS")
  1. Q
  1. ;
  1. ;