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

AUPNPCT.m

Go to the documentation of this file.
  1. AUPNPCT ; IHS/CMI/LAB - CALLED FROM TRIGGER ON V MEAS ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009;Build 9
  1. ; FOR PERCENTILES, HT AND WT, AGE UP TO AND NOT INCLUDING AGE 18
  1. EN ; ENTRY POINT FROM MUMPS XREF ON VALUE FIELD OF V MEASUREMENT FILE
  1. I '$G(AUPNPAT) S AUPNPAT=$P(^AUPNVMSR(DA,0),U,2)
  1. I '$G(AUPNVSIT) S AUPNVSIT=$P(^AUPNVMSR(DA,0),U,3)
  1. S AUPNPD1=$P(^DPT(AUPNPAT,0),U,3)
  1. S AUPNPD2=+^AUPNVSIT(AUPNVSIT,0)
  1. I ((AUPNPD2-AUPNPD1)\10000)<18
  1. E K AUPNPD1,AUPNPD2 Q ; not under age 18
  1. S AUPNHTWT=+^AUPNVMSR(DA,0)
  1. I AUPNHTWT,($D(^AUTTMSR("B","HT",AUPNHTWT))!$D(^AUTTMSR("B","WT",AUPNHTWT))) S AUPNHTWT=$S($D(^AUTTMSR("B","HT",AUPNHTWT)):"HT",1:"WT")
  1. E I '$P(^AUPNVMSR(DA,0),U,5) K AUPNPD1,AUPNPD2,AUPNHTWT Q ; not HT or WT, no previous pctile for entry (would exist if type modified to not HT or WT)
  1. E D DELPCT K AUPNPD1,AUPNPD2,AUPNHTWT Q
  1. D AGEMO
  1. D GETPCT
  1. K AUPNHTWT
  1. Q
  1. ;
  1. AGEMO ; Get age in months
  1. ;S AUPNPYR=$E(AUPNPD2,2,3)-$E(AUPNPD1,2,3),AUPNPMO=$E(AUPNPD2,4,5)-$E(AUPNPD1,4,5)
  1. S AUPNPYR=(AUPNPD2\10000)-(AUPNPD1\10000),AUPNPMO=$E(AUPNPD2,4,5)-$E(AUPNPD1,4,5) ;IHS/DSD/JLG 2/18/98 for Y2K compliance
  1. I AUPNPMO<0 S AUPNPMO=AUPNPMO+12,AUPNPYR=AUPNPYR-1
  1. S AUPNAGE=12*AUPNPYR+AUPNPMO
  1. K AUPNPMO,AUPNPYR,AUPNPD1,AUPNPD2
  1. Q
  1. ;
  1. GETPCT ; Call to extrinsic function AUPNPC to get percentile for this ht or wt
  1. S AUPNSAVX=X
  1. S AUPNPCT=$$AUHTWT^AUPNPC(AUPNHTWT,$P(^DPT(AUPNPAT,0),U,2),AUPNAGE,$S($D(AUPNPT01):$P(^AUPNVMSR(DA,0),U,4),1:X))
  1. S AUPNPCT=$S(AUPNPCT[">":99.9,AUPNPCT["<":.1,1:AUPNPCT)
  1. S $P(^AUPNVMSR(DA,0),U,5)=$S(AUPNCIXF="S":AUPNPCT,1:"")
  1. D XREF
  1. S X=AUPNSAVX
  1. K AUPNAGE,AUPNPCT,AUPNSAVX
  1. Q
  1. ;
  1. XREF ; Set "APCT" xref on .05 field, execute other xrefs
  1. S X=AUPNPCT
  1. S AUPNV=$D(^AUPNVMSR("AQ",$S(AUPNHTWT="HT":"HPC",1:"WPC")_$E("000",1,3-$L($P(X,".")))_X,DA)) S:AUPNCIXF="S" ^(DA)="" K:AUPNCIXF="K" ^(DA)
  1. D ^XBGXREFS(9000010.01,.05,.AUPNXREF)
  1. S AUPNNUM=0 F S AUPNNUM=$O(AUPNXREF(21,AUPNNUM)) Q:'AUPNNUM X AUPNXREF(21,AUPNNUM,AUPNCIXF)
  1. K AUPNNUM,AUPNXREF,AUPNV
  1. Q
  1. ;
  1. DELPCT ; Called if type of meas. changes to not Ht or Wt and entry has pctile
  1. NEW X
  1. S X=$P(^AUPNVMSR(DA,0),U,5)
  1. S $P(^AUPNVMSR(DA,0),U,5)=""
  1. F AUPNTYP="HPC","WPC" K ^AUPNVMSR("AQ",AUPNTYP_$E("000",1,3-$L($P(X,".")))_X,DA)
  1. D ^XBGXREFS(9000010.01,.05,.AUPNXREF)
  1. S AUPNNUM=0 F S AUPNNUM=$O(AUPNXREF(21,AUPNNUM)) Q:'AUPNNUM X AUPNXREF(21,AUPNNUM,"K")
  1. K AUPNPCT,AUPNTYP
  1. Q
  1. ;