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

VENPCCS3.m

Go to the documentation of this file.
  1. VENPCCS3 ; IHS/OIT/GIS - RESULT GRAPHING ;
  1. ;;2.6;PCC+;;NOV 12, 2007
  1. ;
  1. ; GRAPH RESULTS IN 2.5
  1. ;
  1. GRAPH(DFN,DEFEF) ; EP-GIVEN PT DFN AND ENCOUNTER FORM IEN, RETURN ALL DATA TO MAKE ALL OF THAT FORMS GRAPHS
  1. I '$D(^VEN(7.41,+$G(DEFEF),6)) Q ; NO GRAPHS ASSOCIATED WITH THIS FORM
  1. I '$D(^DPT(+$G(DFN),0)) Q ; INVALID PATIENT DFN
  1. N RIEN,GIEN,NAME,GNAME,XAX,YAX,UNITS,MVS,MVSTG,OTRANS
  1. N VAL3,VAL,MAXM,MAXDP,RTYPE,LIEN,MIEN,OBFLD,DATA,TOT,STG,X,Y,%
  1. S GIEN=0,TOT=0,STG=""
  1. F S GIEN=$O(^VEN(7.41,DEFEF,6,GIEN)) Q:'GIEN S RIEN=+$G(^VEN(7.41,DEFEF,6,GIEN,0)) I RIEN D
  1. . S X=$G(^VEN(7.63,RIEN,0)) I '$L(X) Q
  1. . S NAME=$P(X,U),RTYPE=$P(X,U,2),MAXM=$P(X,U,3),MAXDP=$P(X,U,4),GNAME=$P(X,U,5),XAX=$P(X,U,6)
  1. . S YAX=$P(X,U,7),UNITS=$P(X,U,8),MIEN=$P(X,U,11),LIEN=$P(X,U,12),OBFLD=$P(X,U,13),MVS=$G(^VEN(7.63,RIEN,1)),OTRANS=$G(^VEN(7.63,RIEN,2))
  1. . I 'RTYPE Q
  1. . I GNAME="" S GNAME=NAME ; GRAPH NAME
  1. . I MAXM="" S MAXM=24 ; MAX MONTHS
  1. . I MAXDP="" S MAXDP=25 ; MAX DATA POINTS
  1. . S MVSTG=$$MVS(MVS) ; MULTIVALUED RESULTS
  1. . S DATA=$$DATA(RTYPE) I DATA="" S DATA="NO DATA AVAILABLE"
  1. . S TOT=TOT+1
  1. . S $P(STG,"`",TOT)=GNAME_"\"_XAX_"\"_YAX_"\"_UNITS_"\"_$P(MVSTG,"~",2,99)_"\"_DATA
  1. S SPECHOLD("u90")=STG ; ALL GRAPH RESULTS STORED IN MAIL MERGE FIELD "u90"
  1. Q
  1. ;
  1. MVS(MVS) ; EP-GET MULTIVALUED DATA ELEMENT NAMES AND DELIMITER
  1. N STG,PCE,DELIM
  1. I MVS["-" S DELIM="-" G MVS1
  1. I MVS["/" S DELIM="/" G MVS1
  1. I MVS[":" S DELIM=":" G MVS1
  1. I MVS[";" S DELIM=";" G MVS1
  1. Q ""
  1. MVS1 I $L(MVS)<3 Q ""
  1. S STG=DELIM
  1. F PCE=1:1:$L(MVS,DELIM) S STG=STG_"~"_$P(MVS,DELIM,PCE)
  1. Q STG
  1. ;
  1. DATA(RTYPE) ; EP-RETURN THE DATA STRING
  1. N RES,DATE,VAL1,VAL2
  1. I RTYPE=1 Q $$MEAS(DFN,MAXM,MAXDP,MIEN,MVSTG,OTRANS)
  1. I RTYPE=2 Q $$LAB(DFN,MAXM,MAXDP,LIEN,MVSTG,OTRANS)
  1. I RTYPE=3 Q $$OB(DFN,MAXM,MAXDP,OBFLD,MVSTG,OTRANS)
  1. Q ""
  1. ;
  1. LAB(DFN,MAXM,MAXDP,LIEN,MVSTG,OTRANS) ; EP-RETURN LAB RESULTS
  1. N VLIEN,IDATE,X,Y,DATE,STG,RES,DELIM,TOT,STOP,VIEN,PCE
  1. S IDATE=0,STG="",TOT=0
  1. F Q:$G(STOP) S IDATE=$O(^AUPNVLAB("AA",DFN,LIEN,IDATE)) Q:'IDATE S VLIEN=0 F Q:$G(STOP) S VLIEN=$O(^AUPNVLAB("AA",DFN,LIEN,IDATE,VLIEN)) Q:'VLIEN D
  1. . S X=$G(^AUPNVLAB(VLIEN,0)) I '$L(X) Q
  1. . S VIEN=+$P(X,U,3) I 'VIEN Q
  1. . S Y=+$G(^AUPNVSIT(VIEN,0)) I 'Y Q
  1. . S Y=Y\1
  1. . I $$CHKDT(Y,MAXM) S DATE=$$DT(Y)
  1. . E S STOP=1 Q
  1. . S RES=$P($G(^AUPNVLAB(VLIEN,0)),U,4)
  1. . I '$L(RES) Q
  1. . I $L(MVSTG) S DELIM=$P(MVSTG,"~"),RES=$TR(RES,DELIM,"~")
  1. . I $L(OTRANS) F PCE=1:1:$L(RES,"~") S X=$P(RES,"~",PCE) X OTRANS S $P(RES,"~",PCE)=X
  1. . I STG'="" S STG=STG_"|"
  1. . S STG=STG_DATE_"~"_RES
  1. . S TOT=TOT+1
  1. . I TOT=MAXDP S STOP=1
  1. . Q
  1. Q STG
  1. ;
  1. MEAS(DFN,MAXM,MAXDP,MIEN,MVSTG,OTRANS) ; EP-RETURN MEASUREMENT RESULTS
  1. N VMIEN,IDATE,X,Y,DATE,STG,RES,DELIM,TOT,STOP,VIEN,PCE,FLD,SS,PCE,FLDN
  1. S IDATE=0,STG="",TOT=0
  1. F Q:$G(STOP) S IDATE=$O(^AUPNVMSR("AA",DFN,MIEN,IDATE)) Q:'IDATE S VMIEN=0 F Q:$G(STOP) S VMIEN=$O(^AUPNVMSR("AA",DFN,MIEN,IDATE,VMIEN)) Q:'VMIEN D
  1. . S X=$G(^AUPNVMSR(VMIEN,0)) I '$L(X) Q
  1. . S VIEN=+$P(X,U,3) I 'VIEN Q
  1. . S Y=+$G(^AUPNVSIT(VIEN,0)) I 'Y Q
  1. . S Y=Y\1
  1. . I $$CHKDT(Y,MAXM) S DATE=$$DT(Y)
  1. . E S STOP=1 Q
  1. . S RES=$P($G(^AUPNVMSR(VMIEN,0)),U,4)
  1. . I '$L(RES) Q
  1. . F Q:RES'["/20" S RES=$P(RES,"/20",1)_$P(RES,"/20",2,99)
  1. . I $L(MVSTG) S DELIM=$P(MVSTG,"~"),RES=$TR(RES,DELIM,"~")
  1. . I $L(OTRANS) F PCE=1:1:$L(RES,"~") S X=$P(RES,"~",PCE) X OTRANS S $P(RES,"~",PCE)=X
  1. . I STG'="" S STG=STG_"|"
  1. . S STG=STG_DATE_"~"_RES
  1. . S TOT=TOT+1
  1. . I TOT=MAXDP S STOP=1
  1. . Q
  1. Q STG
  1. ;
  1. OB(DFN,MAXM,MAXDP,OBFLD,MVSTG,OTRANS) ; EP-RETURN PRENATAL RESULTS
  1. N VOBIEN,IDATE,X,Y,DATE,STG,RES,DELIM,TOT,STOP,VIEN,PCE,SS,PCE,FLDN,%
  1. S IDATE=0,STG="",TOT=0
  1. I '$L($G(OBFLD)) Q
  1. S FLDN=$O(^DD(9000010.43,"B",OBFLD,0)) I 'FLDN Q
  1. S %=$P($G(^DD(9000010.43,FLDN,0)),U,4),SS=$P(%,";"),PCE=$P(%,";",2) ; GET DATA LOCATION PARAMETERS
  1. I $L(SS),PCE
  1. E Q
  1. F Q:$G(STOP) S IDATE=$O(^AUPNVOB("AA",DFN,IDATE)) Q:'IDATE S VOBIEN=0 F Q:$G(STOP) S VOBIEN=$O(^AUPNVOB("AA",DFN,IDATE,VOBIEN)) Q:'VOBIEN D
  1. . S X=$G(^AUPNVOB(VOBIEN,0)) I '$L(X) Q
  1. . S VIEN=+$P(X,U,3) I 'VIEN Q
  1. . S Y=+$G(^AUPNVSIT(VIEN,0)) I 'Y Q
  1. . S Y=Y\1
  1. . I $$CHKDT(Y,MAXM) S DATE=$$DT(Y)
  1. . E S STOP=1 Q
  1. . S RES=$P($G(^AUPNVOB(VOBIEN,SS)),U,PCE)
  1. . I '$L(RES) Q
  1. . I $L(MVSTG) S DELIM=$P(MVSTG,"~"),RES=$TR(RES,DELIM,"~")
  1. . I $L(OTRANS) F PCE=1:1:$L(RES,"~") S X=$P(RES,"~",PCE) X OTRANS S $P(RES,"~",PCE)=X
  1. . I STG'="" S STG=STG_"|"
  1. . S STG=STG_DATE_"~"_RES
  1. . S TOT=TOT+1
  1. . I TOT=MAXDP S STOP=1
  1. . Q
  1. Q STG
  1. ;
  1. DT(X) ; CONVERT A DATE
  1. N D,M,Y
  1. S D=$E(X,6,7)
  1. S M=$E(X,4,5)
  1. S Y=$E(X,1,3)+1700
  1. Q M_"/"_D_"/"_Y
  1. ;
  1. CHKDT(DATE,MAXM) ; CHECK DATE
  1. N M,D,Y,X,Z,R
  1. S Y=$E(DT,1,3),M=$E(DT,4,5),D=$E(DT,6,7)
  1. I MAXM>11 D G C1
  1. . S X=MAXM\12,Y=Y-X
  1. . S R=MAXM#12
  1. . I M>R S M=M-R Q
  1. . S Y=Y-1,M=12-(R-M)
  1. . Q
  1. I M>MAXM S M=M-MAXM
  1. E S Y=Y-1,M=12-(MAXM-M)
  1. C1 S M=+M
  1. I M=2,D>28 S D=28
  1. I D=31,M=11 S D=30
  1. I D=31,"469"[M S D=30
  1. I $L(M)=1 S M="0"_M
  1. S Z=(Y_M_D)
  1. I DATE<Z Q 0
  1. Q 1
  1. ;
  1. BMI(DFN,WT,IDATE) ; EP- GIVEN PT DFN, WT AND INVERSE DATE, RETURN THE BMI FOR THAT DATE
  1. N X
  1. I $D(^DPT(+$G(DFN),0)),$G(WT),$G(IDATE)
  1. E Q ""
  1. S X=$$BMI^APCHS2A3(DFN,WT,IDATE)
  1. S X=+$$STRIP^VENPCCU(X)
  1. I 'X Q ""
  1. Q X
  1. ;
  1. FUND(VOBIEN,PCE) ; EP-GIVEN V OB IEN AND RESULT PIECE RETURN THE COMPOUND VALUE FUNDAL HT / EGW
  1. N X,EWG,FH
  1. I '$D(^AUPNVOB(+$G(VOBIEN),1)) Q ""
  1. I $G(PCE)'=1 Q ""
  1. S X=^AUPNVOB(VOBIEN,1),FH=$P(X,U,3),EWG=$P(X,U,13)
  1. I FH,EWG
  1. E Q ""
  1. Q FH_"~"_EWG
  1. ;