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

PSS1P201.m

Go to the documentation of this file.
  1. PSS1P201 ;BP/CMF - PATCH PSS*1*201 Pre/Post-Init Rtn ;09/13/2016
  1. ;;1.0;PHARMACY DATA MANAGEMENT;**201**;9/30/97;Build 25
  1. ;
  1. ENV ;environment check
  1. S XPDABORT=""
  1. ;D PRODCHK(.XPDABORT) I XPDABORT=2 Q restriction removed after sprint 3
  1. D PROGCHK(.XPDABORT)
  1. I XPDABORT="" K XPDABORT
  1. Q
  1. ;
  1. PRODCHK(XPDABORT) ;checks for test/production account
  1. ;
  1. I $$PROD^XUPROD DO
  1. . D BMES^XPDUTL("******")
  1. . D MES^XPDUTL("PSS*1*201 is not yet ready for production accounts.")
  1. . D MES^XPDUTL("Installation aborted.")
  1. . D MES^XPDUTL("******")
  1. . S XPDABORT=2
  1. Q
  1. ;
  1. PROGCHK(XPDABORT) ;checks for necessary programmer variables
  1. ;
  1. I '$G(DUZ)!($G(DUZ(0))'="@")!('$G(DT))!($G(U)'="^") DO
  1. . D BMES^XPDUTL("******")
  1. . D MES^XPDUTL("Your programming variables are not set up properly.")
  1. . D MES^XPDUTL("Installation aborted.")
  1. . D MES^XPDUTL("******")
  1. . S XPDABORT=2
  1. Q
  1. ;
  1. POST ;;
  1. D APSP ; add entries to Intervention Type file
  1. D DOSEUNIT ; edit entry 40
  1. Q
  1. ;;
  1. APSP ;;
  1. N FDA,FDERROR,LIST,LISTERR,I,IEN
  1. D BMES^XPDUTL("Adding entries to APSP Intervention Type file")
  1. D FIND^DIC(9009032.3,"","","X","MAX DAILY DOSE","","","","","LIST","LISTERR")
  1. D:$P(LIST("DILIST",0),U,1)=0
  1. .S FDA(1,9009032.3,"+1,",.01)="MAX DAILY DOSE"
  1. .D UPDATE^DIE("E","FDA(1)","","FDERROR")
  1. .I '$D(FDERROR) D MES^XPDUTL("MAX DAILY DOSE added.")
  1. .Q
  1. D:$P(LIST("DILIST",0),U,1)>1
  1. .S I=1
  1. .F S I=$O(LIST("DILIST",2,I)) Q:I="" D
  1. ..S IEN=LIST("DILIST",2,I)
  1. ..D KILLAPSP(IEN)
  1. ..Q
  1. K FDA,FDERROR,LIST,LISTERR,I,IEN
  1. D FIND^DIC(9009032.3,"","","X","MAX SINGLE DOSE & MAX DAILY DOSE","","","","","LIST","LISTERR")
  1. D:$P(LIST("DILIST",0),U,1)=0
  1. .S FDA(1,9009032.3,"+1,",.01)="MAX SINGLE DOSE & MAX DAILY DOSE"
  1. .D UPDATE^DIE("E","FDA(1)","","FDERROR")
  1. .I '$D(FDERROR) D MES^XPDUTL("MAX SINGLE DOSE & MAX DAILY DOSE added.")
  1. .Q
  1. D:$P(LIST("DILIST",0),U,1)>1
  1. .S I=1
  1. .F S I=$O(LIST("DILIST",2,I)) Q:I="" D
  1. ..S IEN=LIST("DILIST",2,I)
  1. ..D KILLAPSP(IEN)
  1. ..Q
  1. K FDA,FDERROR,LIST,LISTERR,I,IEN
  1. Q
  1. ;;
  1. KILLAPSP(IEN) ;; remove duplicates
  1. N DIK,DA
  1. S DIK="^APSPQA(32.3,",DA=IEN D ^DIK
  1. Q
  1. ;;
  1. DOSEUNIT ;; change file 51.24 entry 40 .01 value, so KIDS can update the correct entry
  1. N XUMF,DA,DIE,DR
  1. Q:$$FIND1^DIC(51.24,"","MX","SUPPOSITORY(IES)")>0
  1. S DA=+$$FIND1^DIC(51.24,"","MX","SUPPOSITOR(IES)")
  1. Q:DA<1
  1. S XUMF=1,DR=".01////SUPPOSITORY(IES)",DIE=51.24 D ^DIE
  1. D:$$FIND1^DIC(51.24,"","MX","SUPPOSITORY(IES)")>0 BMES^XPDUTL("Dose Unit Entry Modified")
  1. Q
  1. ;;