PSJA0103 ;BIR/JLC - Check for Non-Standard Schedules ;01-MAR-04
;;5.0; INPATIENT MEDICATIONS ;**103**;16 DEC 97
;
SENDMSG ;
D NOW^%DTC S (Y,YA)=% X ^DD("DD") S YT=Y
K PSG,XMY S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="ADMIN SCHEDULES",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
S PSG(2,0)=" ",PSG(3,0)=" Here is the list of all medication administration schedules in use: ",PSG(4,0)=" "
S PSJSCHD="",OCNT=4,X=""
F S PSJSCHD=$O(^XTMP("PSJSC","ALL",PSJSCHD)) Q:PSJSCHD="" S X=X_PSJSCHD_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="ADMIN SCHEDULES NOT IN 51.1",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of administration schedules not in the",PSG(4,0)="ADMINISTRATION SCHEDULE file (#51.1): "
S PSG(5,0)=" ",PSJSCHD="",OCNT=5,X=""
F S PSJSCHD=$O(^XTMP("PSJSC","NSS",PSJSCHD)) Q:PSJSCHD="" S X=X_PSJSCHD_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="DANGEROUS SCHEDULES IN 51.1",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
S PSG(3,0)=" ",PSG(4,0)="Here is the list of administration schedules in 51.1",PSG(5,0)="considered 'dangerous': "
S PSG(6,0)=" ",PSJSCHD="",OCNT=6,X=""
F S PSJSCHD=$O(^XTMP("PSJSC","DAN51.1",PSJSCHD)) Q:PSJSCHD="" S X=X_PSJSCHD_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="DANGEROUS SCHEDULE ABBREVIATIONS",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of administration schedules JCAHO labels",PSG(4,0)="as dangerous: "
S PSG(5,0)=" ",PSJSCHD="",OCNT=5,X=""
F S PSJSCHD=$O(^XTMP("PSJSC","DAN",PSJSCHD)) Q:PSJSCHD="" S X=X_PSJSCHD_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="NON-STANDARD SCHEDULES IN QUICK CODES",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of IV Additives / IV Quick Codes with non-standard schedules:"
S PSG(4,0)=" ",A="",OCNT=4,X=""
F S A=$O(^XTMP("PSJSC","QC","NSS",A)) Q:A="" S X=X_A_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="DANGEROUS SCHEDULES IN QUICK CODES",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of IV Additives / IV Quick Codes with dangerous abbreviations:"
S PSG(4,0)=" ",A="",OCNT=4,X=""
F S A=$O(^XTMP("PSJSC","QC","DAN",A)) Q:A="" S X=X_A_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="NON-STANDARD SCHEDULES IN ORDER SETS",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of Unit Dose Order Sets with non-standard schedules:"
S PSG(4,0)=" ",A="",OCNT=4,X=""
F S A=$O(^XTMP("PSJSC","OS","NSS",A)) Q:A="" S X=X_A_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="DANGEROUS SCHEDULES IN ORDER SETS",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of Unit Dose Order Sets with dangerous abbreviations:"
S PSG(4,0)=" ",A="",OCNT=4,X=""
F S A=$O(^XTMP("PSJSC","OS","DAN",A)) Q:A="" S X=X_A_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="NON-STANDARD SCHEDULES IN ORDERABLE ITEMS",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of Orderable Items-Dosage Forms with dangerous abbreviations:"
S PSG(4,0)=" ",A="",OCNT=4,X=""
F S A=$O(^XTMP("PSJSC","OI","NSS",A)) Q:A="" S X=X_A_"-"_^(A)_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
K PSG S XMDUZ="MEDICATIONS,INPATIENT",XMSUB="DANGEROUS SCHEDULES IN ORDERABLE ITEMS",XMTEXT="PSG(",XMY(DUZ)=""
S PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
S PSG(2,0)=" ",PSG(3,0)="Here is the list of Orderable Items-Dosage Forms with dangerous abbreviations:"
S PSG(4,0)=" ",A="",OCNT=4,X=""
F S A=$O(^XTMP("PSJSC","OI","DAN",A)) Q:A="" S X=X_A_"-"_^(A)_", " I $L(X)>60 S OCNT=OCNT+1,PSG(OCNT,0)=X,X=""
I X]"" S OCNT=OCNT+1,PSG(OCNT,0)=X
D ^XMD
Q
PSJA0103 ;BIR/JLC - Check for Non-Standard Schedules ;01-MAR-04
+1 ;;5.0; INPATIENT MEDICATIONS ;**103**;16 DEC 97
+2 ;
SENDMSG ;
+1 DO NOW^%DTC
SET (Y,YA)=%
XECUTE ^DD("DD")
SET YT=Y
+2 KILL PSG,XMY
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="ADMIN SCHEDULES"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+3 SET PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
+4 SET PSG(2,0)=" "
SET PSG(3,0)=" Here is the list of all medication administration schedules in use: "
SET PSG(4,0)=" "
+5 SET PSJSCHD=""
SET OCNT=4
SET X=""
+6 FOR
SET PSJSCHD=$ORDER(^XTMP("PSJSC","ALL",PSJSCHD))
IF PSJSCHD=""
QUIT
SET X=X_PSJSCHD_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+7 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+8 DO ^XMD
+9 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="ADMIN SCHEDULES NOT IN 51.1"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+10 SET PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
+11 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of administration schedules not in the"
SET PSG(4,0)="ADMINISTRATION SCHEDULE file (#51.1): "
+12 SET PSG(5,0)=" "
SET PSJSCHD=""
SET OCNT=5
SET X=""
+13 FOR
SET PSJSCHD=$ORDER(^XTMP("PSJSC","NSS",PSJSCHD))
IF PSJSCHD=""
QUIT
SET X=X_PSJSCHD_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+14 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+15 DO ^XMD
+16 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="DANGEROUS SCHEDULES IN 51.1"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+17 SET PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
+18 SET PSG(3,0)=" "
SET PSG(4,0)="Here is the list of administration schedules in 51.1"
SET PSG(5,0)="considered 'dangerous': "
+19 SET PSG(6,0)=" "
SET PSJSCHD=""
SET OCNT=6
SET X=""
+20 FOR
SET PSJSCHD=$ORDER(^XTMP("PSJSC","DAN51.1",PSJSCHD))
IF PSJSCHD=""
QUIT
SET X=X_PSJSCHD_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+21 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+22 DO ^XMD
+23 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="DANGEROUS SCHEDULE ABBREVIATIONS"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+24 SET PSG(1,0)=" The check of Inpatient Medications 5.0 orders is complete."
+25 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of administration schedules JCAHO labels"
SET PSG(4,0)="as dangerous: "
+26 SET PSG(5,0)=" "
SET PSJSCHD=""
SET OCNT=5
SET X=""
+27 FOR
SET PSJSCHD=$ORDER(^XTMP("PSJSC","DAN",PSJSCHD))
IF PSJSCHD=""
QUIT
SET X=X_PSJSCHD_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+28 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+29 DO ^XMD
+30 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="NON-STANDARD SCHEDULES IN QUICK CODES"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+31 SET PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
+32 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of IV Additives / IV Quick Codes with non-standard schedules:"
+33 SET PSG(4,0)=" "
SET A=""
SET OCNT=4
SET X=""
+34 FOR
SET A=$ORDER(^XTMP("PSJSC","QC","NSS",A))
IF A=""
QUIT
SET X=X_A_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+35 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+36 DO ^XMD
+37 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="DANGEROUS SCHEDULES IN QUICK CODES"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+38 SET PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
+39 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of IV Additives / IV Quick Codes with dangerous abbreviations:"
+40 SET PSG(4,0)=" "
SET A=""
SET OCNT=4
SET X=""
+41 FOR
SET A=$ORDER(^XTMP("PSJSC","QC","DAN",A))
IF A=""
QUIT
SET X=X_A_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+42 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+43 DO ^XMD
+44 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="NON-STANDARD SCHEDULES IN ORDER SETS"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+45 SET PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
+46 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of Unit Dose Order Sets with non-standard schedules:"
+47 SET PSG(4,0)=" "
SET A=""
SET OCNT=4
SET X=""
+48 FOR
SET A=$ORDER(^XTMP("PSJSC","OS","NSS",A))
IF A=""
QUIT
SET X=X_A_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+49 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+50 DO ^XMD
+51 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="DANGEROUS SCHEDULES IN ORDER SETS"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+52 SET PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
+53 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of Unit Dose Order Sets with dangerous abbreviations:"
+54 SET PSG(4,0)=" "
SET A=""
SET OCNT=4
SET X=""
+55 FOR
SET A=$ORDER(^XTMP("PSJSC","OS","DAN",A))
IF A=""
QUIT
SET X=X_A_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+56 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+57 DO ^XMD
+58 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="NON-STANDARD SCHEDULES IN ORDERABLE ITEMS"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+59 SET PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
+60 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of Orderable Items-Dosage Forms with dangerous abbreviations:"
+61 SET PSG(4,0)=" "
SET A=""
SET OCNT=4
SET X=""
+62 FOR
SET A=$ORDER(^XTMP("PSJSC","OI","NSS",A))
IF A=""
QUIT
SET X=X_A_"-"_^(A)_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+63 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+64 DO ^XMD
+65 KILL PSG
SET XMDUZ="MEDICATIONS,INPATIENT"
SET XMSUB="DANGEROUS SCHEDULES IN ORDERABLE ITEMS"
SET XMTEXT="PSG("
SET XMY(DUZ)=""
+66 SET PSG(1,0)=" The check of Inpatient Medications 5.0 is complete."
+67 SET PSG(2,0)=" "
SET PSG(3,0)="Here is the list of Orderable Items-Dosage Forms with dangerous abbreviations:"
+68 SET PSG(4,0)=" "
SET A=""
SET OCNT=4
SET X=""
+69 FOR
SET A=$ORDER(^XTMP("PSJSC","OI","DAN",A))
IF A=""
QUIT
SET X=X_A_"-"_^(A)_", "
IF $LENGTH(X)>60
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
SET X=""
+70 IF X]""
SET OCNT=OCNT+1
SET PSG(OCNT,0)=X
+71 DO ^XMD
+72 QUIT