Code |
N GMVADIFF,GMVADT,GMVAVAL,GMVBDIFF,GMVBDT,GMVBVAL,GMVDATA,GMVTI S GMVDFN=+$G(GMVDFN),GMVDT=+$G(GMVDT),GMVT=$G(GMVT),GMVFLAG=+$G(GMVFLAG) S GMVFLAG=$S(GMVFLAG=2:2,GMVFLAG=1:1,1:0) I 'GMVDFN S RESULT="-1^DFN not defined" Q I '$D(^PXRMINDX(120.5,"PI",GMVDFN)) S RESULT="-2^Patient has no Vitals data on file" Q I 'GMVDT S GMVDT=$$NOW^XLFDT() I GMVT="" S RESULT="-1^Vital Type not defined" Q S GMVTI=$$GETIEN^GMVGETVT(GMVT,2) I 'GMVTI S RESULT="-1^Vital Type not found" Q I '$D(^PXRMINDX(120.5,"PI",GMVDFN,GMVTI)) S RESULT="-2^Patient has no data on file for this type" Q S (GMVADT,GMVAVAL,GMVBDT,GMVBVAL,GMVDATA)="" I GMVFLAG=0!(GMVFLAG=1) D .S GMVDATA=$$FIND(GMVDFN,GMVTI,GMVDT,0,-1) .S GMVBDT=$P(GMVDATA,U,1),GMVBVAL=$P(GMVDATA,U,2) S GMVDATA="" I GMVFLAG=0!(GMVFLAG=2) D .S GMVDATA=$$FIND(GMVDFN,GMVTI,GMVDT,0,1) .S GMVADT=$P(GMVDATA,U,1),GMVAVAL=$P(GMVDATA,U,2) I GMVFLAG=1 D .I GMVBDT'>0 S RESULT="-2^Before date not found" Q .I GMVBVAL="" S RESULT="-2^Before value not found" Q .S RESULT=GMVBDT_U_GMVBVAL I GMVFLAG=2 D .I GMVADT'>0 S RESULT="-2^After date not found" Q .I GMVAVAL="" S RESULT="-2^After value not found" Q .S RESULT=GMVADT_U_GMVAVAL I GMVFLAG=0 D .I GMVADT'>0,GMVBDT'>0 D Q ..S RESULT="-2^No records found" .I GMVADT'>0,GMVBDT>0 D Q ..S:GMVBVAL]"" RESULT=GMVBDT_U_GMVBVAL ..S:GMVBVAL="" RESULT="-2^No records found" .I GMVADT>0,GMVBDT'>0 D Q ..S:GMVAVAL]"" RESULT=GMVADT_U_GMVAVAL ..S:GMVAVAL="" RESULT="-2^No records found" .I GMVADT>0,GMVBDT>0 D ..S GMVBDIFF=+$$FMDIFF^XLFDT(GMVDT,GMVBDT,2) ..S GMVADIFF=+$$FMDIFF^XLFDT(GMVADT,GMVDT,2) ..I GMVBDIFF ..I GMVADIFF ..I GMVADIFF=GMVBDIFF S RESULT=GMVADT_U_GMVAVAL
|