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

PSOERXII.m

Go to the documentation of this file.
  1. PSOERXII ;ALB/BWF - eRx Utilities/RPC's ; 12/6/2019 1:14pm
  1. ;;7.0;OUTPATIENT PHARMACY;**581,635**;DEC 1997;Build 19
  1. ;
  1. Q
  1. SIG(ERXIEN,MIEN,SIGTEXT) ;
  1. N SCNT,SIGARY
  1. K ^TMP($J,"SIG")
  1. D TXT2ARY^PSOERXD1(.SIGARY,SIGTEXT,,80)
  1. S SCNT=0 F S SCNT=$O(SIGARY(SCNT)) Q:SCNT="" D
  1. .S ^TMP($J,"SIG",SCNT)=$G(SIGARY(SCNT))
  1. D WP^DIE(52.49311,MIEN_","_ERXIEN_",",8,"KA","^TMP($J,""SIG"")")
  1. K ^TMP($J,"SIG")
  1. Q
  1. IFU(ERXIEN,MIEN,MTYPE,MEDTYPE) ;
  1. N GLIFU,IFU1,IFU1CNT,IFUIENS,IFUIPC,IFUIPQ,IFUIPT,IFUIC,IFUIQ,IFUIT,IFUIVC,IFUIVQ,IFU1IVC
  1. N IVM,IVU1IVQ,IVUIVT,IVUC,IVUQ,IVUT,IVUOMC,IVUOMQ,IVUOMT,FDA,IFU1IVQ,IFU1IVT,IFUIVT,IFUSF
  1. S GLIFU=$NA(^TMP($J,"PSOERXO1","Message",0,"Body",0,MTYPE,0,MEDTYPE,0,"Sig",0,"IndicationForUse",0))
  1. S IFUSF=52.4931113
  1. S IFU1=-1 F S IFU1=$O(@GLIFU@(IFU1)) Q:IFU1="" D
  1. .S IFU1CNT=$G(IFU1CNT)+1
  1. .S IFUIENS="+"_IFU1CNT_","_MIEN_","_ERXIEN_","
  1. .S FDA(IFUSF,IFUIENS,.01)=IFU1CNT
  1. .S IFUIPC=$G(@GLIFU@("IndicationPrecursor",0,"Code",0)),FDA(IFUSF,IFUIENS,1)=IFUIPC
  1. .S IFUIPQ=$G(@GLIFU@("IndicationPrecursor",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,2)=IFUIPQ
  1. .S IFUIPT=$G(@GLIFU@("IndicationPrecursor",0,"Text",0)),FDA(IFUSF,IFUIENS,3)=IFUIPT
  1. .S IFUIC=$G(@GLIFU@("Indication",0,"Code",0)),FDA(IFUSF,IFUIENS,4)=IFUIC
  1. .S IFUIQ=$G(@GLIFU@("Indication",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,5)=IFUIQ
  1. .S IFUIT=$G(@GLIFU@("Indication",0,"Text",0)),FDA(IFUSF,IFUIENS,6)=IFUIT
  1. .S IFUIVC=$G(@GLIFU@("IndicationValue",0,"Code",0)),FDA(IFUSF,IFUIENS,7)=IFUIVC
  1. .S IFUIVQ=$G(@GLIFU@("IndicationValue",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,8)=IFUIVQ
  1. .S IFUIVT=$G(@GLIFU@("IndicationValue",0,"Text",0)),FDA(IFUSF,IFUIENS,9)=IFUIVT
  1. .S IFU1IVC=$G(@GLIFU@("IndicationValue",1,"Code",0)),FDA(IFUSF,IFUIENS,11)=IFU1IVC
  1. .S IVM=$G(@GLIFU@("IndicationVariableModifier",0)),FDA(IFUSF,IFUIENS,10)=IVM
  1. .S IFU1IVQ=$G(@GLIFU@("IndicationValue",1,"Qualifier",0)),FDA(IFUSF,IFUIENS,12)=IFU1IVQ
  1. .S IFU1IVT=$G(@GLIFU@("IndicationValue",1,"Text",0)),FDA(IFUSF,IFUIENS,13)=IFU1IVT
  1. .S IVUC=$G(@GLIFU@("IndicationValueUnit",0,"Code",0)),FDA(IFUSF,IFUIENS,14)=IVUC
  1. .S IVUQ=$G(@GLIFU@("IndicationValueUnit",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,15)=IVUQ
  1. .S IVUT=$G(@GLIFU@("IndicationValueUnit",0,"Text",0)),FDA(IFUSF,IFUIENS,16)=IVUT
  1. .S IVUOMC=$G(@GLIFU@("IndicationValueUnitOfMeasure",0,"Code",0)),FDA(IFUSF,IFUIENS,17)=IVUOMC
  1. .S IVUOMQ=$G(@GLIFU@("IndicationValueUnitOfMeasure",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,18)=IVUOMQ
  1. .S IVUOMT=$G(@GLIFU@("IndicationValueUnitOfMeasure",0,"Text",0)),FDA(IFUSF,IFUIENS,19)=IVUOMT
  1. .D CFDA^PSOERXIU(.FDA)
  1. .D UPDATE^DIE(,"FDA") K FDA
  1. Q
  1. MDR(ERXIEN,MIEN,MTYPE,MEDTYPE) ;
  1. N GL,MDRF,MDRIENS,MDR,MDRMEDF,MDRCFT,MDRDUC,MDRDUQ,MDRDUT,MDRDV,MDRFC,MDRFQ,MDRFT,MDRNV,MDRUC,MDRUT,MDRUQ,MDRCNT
  1. S MDRMEDF=52.4931114
  1. S MDRCNT=0
  1. S GL=$NA(^TMP($J,"PSOERXO1","Message",0,"Body",0,MTYPE,0,MEDTYPE,0,"Sig",0))
  1. S MDR=-1 F S MDR=$O(@GL@("MaximumDoseRestriction",MDR)) Q:MDR="" D
  1. .S MDRCNT=$G(MDRCNT)+1
  1. .S MDRIENS="+"_MDRCNT_","_MIEN_","_ERXIEN_","
  1. .S MDRCFT=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionClarifyingFreeText",0))
  1. .S MDRDUC=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationUnit",0,"Code",0))
  1. .S MDRDUQ=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationUnit",0,"Qualifier",0))
  1. .S MDRDUT=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationUnit",0,"Text",0))
  1. .S MDRDV=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationValue",0))
  1. .S MDRFC=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionForm",0,"Code",0))
  1. .S MDRFQ=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionForm",0,"Qualifier",0))
  1. .S MDRFT=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionForm",0,"Text",0))
  1. .S MDRNV=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionNumericValue",0))
  1. .S MDRUC=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionUnits",0,"Code",0))
  1. .S MDRUT=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionUnits",0,"Text",0))
  1. .S MDRUQ=$G(@GL@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionUnits",0,"Qualifier",0))
  1. .S FDA(MDRMEDF,MDRIENS,.01)=MDRCNT
  1. .S FDA(MDRMEDF,MDRIENS,1)=MDRNV
  1. .S FDA(MDRMEDF,MDRIENS,2)=MDRUC
  1. .S FDA(MDRMEDF,MDRIENS,3)=MDRUQ
  1. .S FDA(MDRMEDF,MDRIENS,4)=MDRUT
  1. .S FDA(MDRMEDF,MDRIENS,5)=MDRDV
  1. .S FDA(MDRMEDF,MDRIENS,6)=MDRDUC
  1. .S FDA(MDRMEDF,MDRIENS,7)=MDRDUQ
  1. .S FDA(MDRMEDF,MDRIENS,8)=MDRDUT
  1. .S FDA(MDRMEDF,MDRIENS,9)=MDRFC
  1. .S FDA(MDRMEDF,MDRIENS,10)=MDRFQ
  1. .S FDA(MDRMEDF,MDRIENS,11)=MDRFT
  1. .S FDA(MDRMEDF,MDRIENS,12)=MDRCFT
  1. D CFDA^PSOERXIU(.FDA)
  1. D UPDATE^DIE(,"FDA")
  1. Q
  1. MDRSF(GLINS,ERXIEN,MIEN,NINSIEN) ;
  1. N MDR,MDRCNT,MDRCFT,MDRDUC,MDRDUQ,MDRDUT,MDRDV,MDRFC,MDRFQ,MDRFT,MDRDV2,MDRCNT,MDRINS
  1. S MDRCNT=0,MDRINS=52.493111275
  1. S MDR=-1 F S MDR=$O(@GLINS@("MaximumDoseRestriction",MDR)) Q:MDR="" D
  1. .S MDRCNT=$G(MDRCNT)+1
  1. .S MDRIENS="+"_MDRCNT_","_NINSIEN_","_MIEN_","_ERXIEN_","
  1. .S MDRCFT=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionClarifyingFreeText",0))
  1. .S MDRDUC=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationUnit",0,"Code",0))
  1. .S MDRDUQ=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationUnit",0,"Qualifier",0))
  1. .S MDRDUT=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationUnit",0,"Text",0))
  1. .S MDRDV=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionDurationValue",0))
  1. .S MDRFC=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionForm",0,"Code",0))
  1. .S MDRFQ=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionForm",0,"Qualifier",0))
  1. .S MDRFT=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionForm",0,"Text",0))
  1. .S MDRNV=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionNumericValue",0))
  1. .S MDRUC=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionUnits",0,"Code",0))
  1. .S MDRUT=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionUnits",0,"Text",0))
  1. .S MDRUQ=$G(@GLINS@("MaximumDoseRestriction",MDR,"MaximumDoseRestrictionUnits",0,"Qualifier",0))
  1. .S FDA(MDRINS,MDRIENS,.01)=MDRCNT,FDA(MDRINS,MDRIENS,1)=MDRNV,FDA(MDRINS,MDRIENS,2)=MDRUC
  1. .S FDA(MDRINS,MDRIENS,3)=MDRUQ,FDA(MDRINS,MDRIENS,4)=MDRUT,FDA(MDRINS,MDRIENS,5)=MDRDV
  1. .S FDA(MDRINS,MDRIENS,6)=MDRDUC,FDA(MDRINS,MDRIENS,7)=MDRDUQ,FDA(MDRINS,MDRIENS,8)=MDRDUT
  1. .S FDA(MDRINS,MDRIENS,9)=MDRFC,FDA(MDRINS,MDRIENS,10)=MDRFQ,FDA(MDRINS,MDRIENS,11)=MDRFT,FDA(MDRINS,MDRIENS,12)=MDRCFT
  1. .D CFDA^PSOERXIU(.FDA)
  1. .D UPDATE^DIE(,"FDA") K FDA
  1. Q
  1. INSIFU(ERXIEN,MIEN,MTYPE,MEDTYPE,INS,INSIEN) ;
  1. N GLIFU,GLIFU2,IFU1,IFU1CNT,IFUIENS,IFUIPC,IFUIPQ,IFUIPT,IFUIC,IFUIQ,IFUIT,IFUIVC,IFUIVQ,IFU1IVC
  1. N IVM,IVU1IVQ,IVUIVT,IVUC,IVUQ,IVUT,IVUOMC,IVUOMQ,IVUOMT,FDA,IFU1IVQ,IFU1IVT,IFUIVT,IFUSF
  1. S GLIFU=$NA(^TMP($J,"PSOERXO1","Message",0,"Body",0,MTYPE,0,MEDTYPE,0,"Sig",0,"Instruction",INS,"IndicationForUse"))
  1. S IFUSF=52.493111267
  1. S IFU1=-1 F S IFU1=$O(@GLIFU@(IFU1)) Q:IFU1="" D
  1. .S GLIFU2=$NA(^TMP($J,"PSOERXO1","Message",0,"Body",0,MTYPE,0,MEDTYPE,0,"Sig",0,"Instruction",INS,"IndicationForUse",IFU1))
  1. .S IFU1CNT=$G(IFU1CNT)+1
  1. .S IFUIENS="+"_IFU1CNT_","_INSIEN_","_MIEN_","_ERXIEN_","
  1. .S FDA(IFUSF,IFUIENS,.01)=IFU1CNT
  1. .S IFUIPC=$G(@GLIFU2@("IndicationPrecursor",0,"Code",0)),FDA(IFUSF,IFUIENS,1)=IFUIPC
  1. .S IFUIPQ=$G(@GLIFU2@("IndicationPrecursor",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,2)=IFUIPQ
  1. .S IFUIPT=$G(@GLIFU2@("IndicationPrecursor",0,"Text",0)),FDA(IFUSF,IFUIENS,3)=IFUIPT
  1. .S IFUIC=$G(@GLIFU2@("Indication",0,"Code",0)),FDA(IFUSF,IFUIENS,4)=IFUIC
  1. .S IFUIQ=$G(@GLIFU2@("Indication",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,5)=IFUIQ
  1. .S IFUIT=$G(@GLIFU2@("Indication",0,"Text",0)),FDA(IFUSF,IFUIENS,6)=IFUIT
  1. .S IFUIVC=$G(@GLIFU2@("IndicationValue",0,"Code",0)),FDA(IFUSF,IFUIENS,7)=IFUIVC
  1. .S IFUIVQ=$G(@GLIFU2@("IndicationValue",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,8)=IFUIVQ
  1. .S IFUIVT=$G(@GLIFU2@("IndicationValue",0,"Text",0)),FDA(IFUSF,IFUIENS,9)=IFUIVT
  1. .S IFU1IVC=$G(@GLIFU2@("IndicationValue",1,"Code",0)),FDA(IFUSF,IFUIENS,11)=IFU1IVC
  1. .S IVM=$G(@GLIFU2@("IndicationVariableModifier",0)),FDA(IFUSF,IFUIENS,10)=IVM
  1. .S IFU1IVQ=$G(@GLIFU2@("IndicationValue",1,"Qualifier",0)),FDA(IFUSF,IFUIENS,12)=IFU1IVQ
  1. .S IFU1IVT=$G(@GLIFU2@("IndicationValue",1,"Text",0)),FDA(IFUSF,IFUIENS,13)=IFU1IVT
  1. .S IVUC=$G(@GLIFU2@("IndicationValueUnit",0,"Code",0)),FDA(IFUSF,IFUIENS,14)=IVUC
  1. .S IVUQ=$G(@GLIFU2@("IndicationValueUnit",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,15)=IVUQ
  1. .S IVUT=$G(@GLIFU2@("IndicationValueUnit",0,"Text",0)),FDA(IFUSF,IFUIENS,16)=IVUT
  1. .S IVUOMC=$G(@GLIFU2@("IndicationValueUnitOfMeasure",0,"Code",0)),FDA(IFUSF,IFUIENS,17)=IVUOMC
  1. .S IVUOMQ=$G(@GLIFU2@("IndicationValueUnitOfMeasure",0,"Qualifier",0)),FDA(IFUSF,IFUIENS,18)=IVUOMQ
  1. .S IVUOMT=$G(@GLIFU2@("IndicationValueUnitOfMeasure",0,"Text",0)),FDA(IFUSF,IFUIENS,19)=IVUOMT
  1. .D CFDA^PSOERXIU(.FDA)
  1. .D UPDATE^DIE(,"FDA") K FDA
  1. Q