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

PSSP254A.m

Go to the documentation of this file.
PSSP254A ;CAN/EJD - PATCH PSS*1*254 Pre/Post-Init Rtn ; Jun 29, 2024@16:00
 ;;1.0;PHARMACY DATA MANAGEMENT;**254**;9/30/97;Build 109
 ;
 ;
 ;
RTEUNIT ; Call to setup when the install has already been done
 K ^TMP("PSS254P",$J)
 ;
 ;Headers are handled in NEWROUTE
 D NEWROUTE
 ;
 ;Start header for this like ST
 D BMES^XPDUTL("DOSE UNITS file (#51.24) and DOSE UNIT CONVERSION file (#51.25) Updates:")
 D SETTXT^PSSP254("")
 D SETTXT^PSSP254("DOSE UNITS (#51.24) and DOSE UNIT CONVERSION file (#51.25) Updates:")
 D SETTXT^PSSP254("===================================================================")
 D NEWUNITS
 ;
 ;Mailer
 D MAIL^PSSP254
 K ^TMP("PSS254P",$J)
 Q
 ;
NEWROUTE ; Addition of new STANDARD MEDICATION ROUTES (51.23) available in 4.5
 ;PSLIST - 1 - Route Name
 ;         2 - FDB Name
 ;
 N DA,DIC,EFFDT,MTXT,PSJ,PSLIST,X,XUMF,Y
 S XUMF=1
 S EFFDT=3240501.083001  ;May 01, 2024 at 0830
 ;
 D SETTXT^PSSP254("")
 S MTXT="STANDARD MEDICATION ROUTES file (#51.23) New Entries:"
 D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 D SETTXT^PSSP254("=================================================")
 ;
 F PSJ=1:1 S PSLIST=$P($T(LISTRTE+PSJ),";;",2) Q:PSLIST=""  D
 . K DA,DIC
 . S DIC(0)="L"
 . S X=$P(PSLIST,";")
 . S DA=$$FIND1^DIC(51.23,"","B",X) Q:DA
 . ;
 . S DIC="^PS(51.23,",DIC("DR")="1///"_$P(PSLIST,";",2)
 . D FILE^DICN
 . ;
 . ;If failed to add, log and get the next
 . I Y<0 D  Q
 . . S MTXT="  - Failed to Add '"_X_"'"
 . . D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 . ;
 . ;Log Add
 . S DA=+Y
 . S ^XTMP("PSSP254B","NEWROUTE",51.23,DA)=X
 . S MTXT="  - Added '"_$$GET1^DIQ(51.23,DA,1)_"'"
 . D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 . ;
 . ;Add Effdt
 . K DIC
 . S DIC(0)="L"
 . S DA(1)=+Y
 . S X=EFFDT
 . S DIC="^PS(51.23,"_DA(1)_",""TERMSTATUS"","
 . S DIC("DR")=".02///ACTIVE"
 . D FILE^DICN
 ;
 ;Index Rebuilds
 D SETTXT^PSSP254("")
 S MTXT="MEDICATION ROUTES Index Rebuild:"
 D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 ;
RIDX N DIK
 S MTXT="  - Medication Routes"
 D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 S DIK="^PS(51.2,",DIK(1)=".01^FDBMRT" D ENALL^DIK K DIK    ;Rebuild
 ;
 S MTXT="  - Standard Medication Routes"
 D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 S DIK="^PS(51.23,",DIK(1)="1^FDBMRT" D ENALL^DIK K DIK     ;Rebuild
 Q
 ;
NEWUNITS ; Addition of new DOSE UNITS (51.24) available in 4.5
 ;PSLIST - 1 - Unit Name and FDB Name
 ;         2 - Dose Form Indicator (Y/N)
 ;         3 - Synonyms
 ; 
 N DA,DIC,EFFDT,MTXT,PSI,PSJ,PSLIST,SYN,X,XUMF,Y
 S XUMF=1
 ;
 D SETTXT^PSSP254("")
 S MTXT="o New DOSE UNITs:" D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 F PSJ=1:1 S PSLIST=$P($T(LISTUNIT+PSJ),";;",2) Q:PSLIST=""  D
 . K DA,DIC
 . S DIC(0)="L"
 . S X=$P(PSLIST,";")
 . S DA=$$FIND1^DIC(51.24,"","B",X) Q:DA
 . ;
 . S DIC="^PS(51.24,",DIC("DR")="1///"_$P(PSLIST,";")_";3///"_$P(PSLIST,";",2)
 . D FILE^DICN
 . ;
 . ;If failed to add, log and get the next
 . I Y<0 D  Q
 . . S MTXT="  - Failed to Add '"_X_"'"
 . . D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 . ;
 . ;Log Add
 . S DA=+Y
 . S ^XTMP("PSSP254B","NEWUNIT",51.24,DA)=X
 . S MTXT="  - Added '"_$$GET1^DIQ(51.24,DA,.01)_"'"
 . D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 . ;
 . ;Add Synonyms
 . K DIC
 . S DIC(0)="L"
 . S DA(1)=+Y
 . S DIC="^PS(51.24,"_DA(1)_",1,"
 . S SYM=$P(PSLIST,";",3)
 . F PSI=1:1 S X=$P(SYM,",",PSI) Q:X=""  D FILE^DICN
 ;
 ;Index Rebuilds
 D SETTXT^PSSP254("")
 S MTXT="o Index Rebuild:"
 D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 ;
UIDX N DIK
 S MTXT="  - DOSE UNITS"
 D BMES^XPDUTL(MTXT),SETTXT^PSSP254(MTXT)
 S DIK="^PS(51.24,",DIK(1)=".01^FDBNAME" D ENALL^DIK K DIK   ;Rebuild
 ;
 S DIK="^PS(51.24,",DIK(1)="1^FDBUNIT" D ENALL^DIK K DIK     ;Rebuild
 ;
 ;Multiple - Loop through the entries and call the build
 N DFN S DFN=0
 F  S DFN=$O(^PS(51.24,DFN)) Q:'DFN  D
 . S DA(1)=DFN,DIK="^PS(51.24,"_DA(1)_",1,",DIK(1)=".01^FDBSYN" D ENALL^DIK K DIK
 Q
 ;
 ;Removed the following routes from the list
 ;;FEEDING TUBE;FEEDING TUBE
 ;;G-TUBE;G-TUBE 
 ;;J-TUBE;J-TUBE
 ;;PERIPHERAL NERVE BLOCK;PERIPHERAL NERVE BLOCK
 ;;SUBCUTANEOUS (VIA WEARABLE INJECTOR);SUBCUTANEOUS (VIA WEARABLE INJECTOR)
LISTRTE ;New Routes 51.23
 ;;ADDUCTOR CANAL BLOCK;ADDUCTOR CANAL BLOCK
 ;;CERVICAL;CERVICAL
 ;;ECTOPIC GESTATIONAL SAC;ECTOPIC GESTATIONAL SAC
 ;;ENDOTRACHEAL;ENDOTRACHEAL
 ;;HAND BULB NEBULIZER;HAND BULB NEBULIZER
 ;;IMPLANT;IMPLANT
 ;;INFRACLAVICULAR;INFRACLAVICULAR
 ;;INSTILLATION;INSTILLATION
 ;;INTERSCALENE;INTERSCALENE
 ;;INTRACANALICULAR;INTRACANALICULAR
 ;;INTRACORONARY;INTRACORONARY
 ;;INTRALUMBAR;INTRALUMBAR
 ;;INTRALYMPHATIC;INTRALYMPHATIC
 ;;INTRAPERICARDIAL;INTRAPERICARDIAL
 ;;INTRAPROSTATIC;INTRAPROSTATIC
 ;;INTRA-PYELOCALYCEAL;INTRA-PYELOCALYCEAL
 ;;INTRASALIVARY GLAND;INTRASALIVARY GLAND
 ;;INTRA-SUBACROMIAL SPACE;INTRA-SUBACROMIAL SPACE
 ;;INTRA-UMBILICAL VEIN;INTRA-UMBILICAL VEIN
 ;;INTRAVENTRICULAR;INTRAVENTRICULAR
 ;;IPPB;IPPB
 ;;JUXTASCLERAL;JUXTASCLERAL
 ;;MISCELLANEOUS;MISCELLANEOUS
 ;;MUCOUS MEMBRANE;MUCOUS MEMBRANE
 ;;O2 AEROSOLIZATION;O2 AEROSOLIZATION
 ;;PERCUTANEOUS;PERCUTANEOUS
 ;;PERFUSION;PERFUSION
 ;;PERIARTICULAR;PERIARTICULAR
 ;;PERINEURAL INJECTION;PERINEURAL INJECTION
 ;;SUBLESIONAL;SUBLESIONAL
 ;;SUBRETINAL;SUBRETINAL
 ;;SUPRACHOROIDAL;SUPRACHOROIDAL
 ;;TENDON SHEATH INJ;TENDON SHEATH INJ.
 ;;TRANSTRACHEAL;TRANSTRACHEAL
 ;;TRANSURETHRAL;TRANSURETHRAL
 ;;
 ;;Unit Name;Y/N Dose Form Indicator;Synonyms
LISTUNIT ;New Units 51.24
 ;;AMPULE;Y;AMPULES,AMP,AMPS
 ;;BILLION CELLS;Y;
 ;;CELL;Y;CELLS
 ;;COLONY FORMING UNIT;Y;COLONY FORMING UNITS,CF UNIT
 ;;MELT;Y;MELTS
 ;;MICROGRAM DIETARY FOLATE EQUIVALENT;N;MICROGRAM DIETARY FOLATE EQUIVALENTS,MCG DFE
 ;;MILLICURIE;Y;MILLICURIES,MCI
 ;;MILLIGRAM FISH OIL;N;MILLIGRAMS FISH OIL,MG FISH OIL
 ;;MILLION CELLS;Y;MMU CELLS
 ;;MILLION PLAQUE FORMING UNITS;Y;MPF UNIT,MPF UNITS
 ;;MILLIUNIT;N;MILLIUNITS
 ;;PLAQUE FORMING UNIT;Y;PLAQUE FORMING UNITS,PF UNIT
 ;;TOWELETTE;Y;TOWELETTES,TOWEL,TOWELS
 ;;TUBE;Y;TUBES
 ;;