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

PSSP134.m

Go to the documentation of this file.
  1. PSSP134 ;REPORT OF REFORMATTED LOCAL POSSIBLE DOSES
  1. ;;1.0;PHARMACY DATA MANAGEMENT;**134**;9/30/97;Build 8
  1. ;
  1. LOOP ;LOOP THROUGH DRUG FILE FOR ALL LOCAL POSSIBLE DOSES
  1. N PSSDRUG,PSSLPD2,PSSNLPD,PSSLPDX,PSSXDT,X1,X2,X,PSSDRUGN
  1. K ^XTMP("PSSP134")
  1. S X1=DT,X2=90 D C^%DTC S PSSXDT=$G(X)
  1. S ^XTMP("PSSP134",0)=PSSXDT_"^"_DT
  1. S PSSDRUG=0 F S PSSDRUG=$O(^PSDRUG(PSSDRUG)) Q:'PSSDRUG D
  1. .S PSSLPDX=0 F S PSSLPDX=$O(^PSDRUG(PSSDRUG,"DOS2",PSSLPDX)) Q:'PSSLPDX D
  1. ..S PSSLPD2=$P($G(^PSDRUG(PSSDRUG,"DOS2",PSSLPDX,0)),"^",1)
  1. ..I PSSLPD2="" Q
  1. ..S PSSNLPD=$$DOSE(PSSLPD2)
  1. ..S PSSDRUGN=$P($G(^PSDRUG(PSSDRUG,0)),"^")
  1. ..S ^XTMP("PSSP134",PSSDRUGN,PSSDRUG,PSSLPDX)=PSSLPD2_"^"_PSSNLPD
  1. D REPORT
  1. Q
  1. ;
  1. DOSE(PSSDOSE) ;
  1. N PSSCHAR,PSSXX,PSSDOSR
  1. S (PSSXX,PSSDOSR)=""
  1. F PSSXX=1:1:$L(PSSDOSE) D
  1. .S PSSCHAR=$E(PSSDOSE,PSSXX)
  1. .I PSSCHAR=".",$E(PSSDOSE,PSSXX+1),$E(PSSDOSR,$L(PSSDOSR))'?1N S PSSCHAR=0_PSSCHAR
  1. .I PSSDOSR]"",$E(PSSDOSR,$L(PSSDOSR))?1N,PSSCHAR'?1N,"() -./%,"'[PSSCHAR S PSSDOSR=PSSDOSR_" "_PSSCHAR Q
  1. .I PSSDOSR]"",$E(PSSDOSR,$L(PSSDOSR))'?1N,"() -./%,"'[$E(PSSDOSR,$L(PSSDOSR)),PSSCHAR?1N S PSSDOSR=PSSDOSR_" "_PSSCHAR Q
  1. .I PSSDOSR]"",$E(PSSDOSR,$L(PSSDOSR))?1N,PSSCHAR'?1N S PSSDOSR=PSSDOSR_PSSCHAR Q
  1. .I PSSDOSR]"",$E(PSSDOSR,$L(PSSDOSR))'?1N,PSSCHAR'?1N S PSSDOSR=PSSDOSR_PSSCHAR Q
  1. .S PSSDOSR=PSSDOSR_PSSCHAR
  1. .Q
  1. Q PSSDOSR
  1. ;
  1. REPORT ;REPORT OF LOCAL POSSIBLE DOSES BEFORE AND AFTER
  1. N XMDUZ,XMSUB,XMTEXT,XMY,Y,PSSDT,PSSXDT,DIFROM,PSSI
  1. K ^XTMP("PSSP134R")
  1. S X1=DT,X2=90 D C^%DTC S PSSXDT=$G(X)
  1. S ^XTMP("PSSP134R",0)=PSSXDT_"^"_DT
  1. S XMDUZ="REFORMATTED LOCAL POSSIBLE DOSES",XMSUB="REFORMATTED LOCAL POSSIBLE DOSES",XMTEXT="^XTMP(""PSSP134R"","
  1. I $D(^XUSEC("PSNMGR")) F PSSI=0:0 S PSSI=$O(^XUSEC("PSNMGR",PSSI)) Q:'PSSI S XMY(PSSI)=""
  1. D NOW^%DTC S Y=% X ^DD("DD") S PSSDT=Y
  1. S ^XTMP("PSSP134R",1)="REFORMATTED LOCAL POSSIBLE DOSES USING API ASSOCIATED WITH PSS*1.0*78"
  1. S ^XTMP("PSSP134R",2)=PSSDT
  1. S ^XTMP("PSSP134R",3)=""
  1. N PSSLPD,PSSNLPD,PSSDRUG,PSSLPDX,PSSLPDD,PSSLINE,PSSXX,PSSDRUGN,PSSSPC,PSSX
  1. ;
  1. S PSSXX=4,PSSLINE="",PSSSPC=""
  1. F PSSX=1:1:50 S $E(PSSLINE,PSSXX)="-",$E(PSSSPC,PSSXX)=" "
  1. S PSSDRUGN="" F S PSSDRUGN=$O(^XTMP("PSSP134",PSSDRUGN)) Q:PSSDRUGN="" D
  1. .S PSSDRUG=0 F S PSSDRUG=$O(^XTMP("PSSP134",PSSDRUGN,PSSDRUG)) Q:'PSSDRUG D
  1. ..S ^XTMP("PSSP134R",PSSXX)=$P($G(^PSDRUG(PSSDRUG,0)),"^",1)_" (#"_PSSDRUG_")"
  1. ..S PSSXX=PSSXX+1
  1. ..S PSSLPDX=0 F S PSSLPDX=$O(^XTMP("PSSP134",PSSDRUGN,PSSDRUG,PSSLPDX)) Q:'PSSLPDX D
  1. ...S PSSLPDD=^XTMP("PSSP134",PSSDRUGN,PSSDRUG,PSSLPDX)
  1. ...S PSSLPD=$P(PSSLPDD,"^"),PSSNLPD=$P(PSSLPDD,"^",2)
  1. ...S ^XTMP("PSSP134R",PSSXX)=$E(PSSSPC,1,10)_PSSLPD
  1. ...S ^XTMP("PSSP134R",PSSXX+1)=$E(PSSSPC,1,10)_PSSNLPD
  1. ...S ^XTMP("PSSP134R",PSSXX+2)=""
  1. ...S PSSXX=PSSXX+3
  1. D ^XMD
  1. Q