- ORY190 ; slc/CLA - Pre and Post-init for patch OR*3*190 ; Aug 6, 2003@11:02:31 [6/17/04 12:59pm]
- ;;3.0;ORDER ENTRY/RESULTS REPORTING;**190**;Dec 17, 1997
- ;
- PRE ;initiate pre-init processes
- ;
- Q
- ;
- POST ;initiate post-init processes
- ;
- N VER
- ;
- S VER=$P($T(VERSION^ORY190),";",3)
- I +$$PATCH^XPDUTL("TIU*1.0*112") D SURGREG
- D SETVAL
- D SORTCHG
- D PSIV
- D MAIL
- ;
- Q
- ;
- SURGREG ; Register TIU SURGERY RPCs if TIU*1.0*112 present
- N MENU,RPC
- S MENU="OR CPRS GUI CHART"
- F RPC="TIU IS THIS A SURGERY?","TIU IDENTIFY SURGERY CLASS","TIU LONG LIST SURGERY TITLES","TIU GET DOCUMENTS FOR REQUEST" D INSERT(MENU,RPC)
- Q
- ;
- INSERT(OPTION,RPC) ; Call FM Updater with each RPC
- ; Input -- OPTION Option file (#19) Name field (#.01)
- ; RPC RPC sub-file (#19.05) RPC field (#.01)
- ; Output -- None
- N FDA,FDAIEN,ERR,DIERR
- S FDA(19,"?1,",.01)=OPTION
- S FDA(19.05,"?+2,?1,",.01)=RPC
- D UPDATE^DIE("E","FDA","FDAIEN","ERR")
- Q
- ;
- SETVAL ; Set package-level values for params
- N X
- S X=0,X=$O(^ORD(100.98,"B","NON-VA MEDICATIONS",X)) Q:'X D
- . D PUT^XPAR("PKG","ORWOR CATEGORY SEQUENCE",68,X)
- S X=0,X=$O(^ORD(101.41,"B","PSH OERR",X)) Q:'X D
- . D PUT^XPAR("PKG","ORWOR WRITE ORDERS LIST",53,X)
- D PUT^XPAR("PKG","ORWD NONVA REASON",1,"Outside medication not recommended by provider.")
- D PUT^XPAR("PKG","ORWD NONVA REASON",2,"Outside medication recommended by provider.")
- D PUT^XPAR("PKG","ORWD NONVA REASON",3,"Patient buys OTC/herbal product without medical advice.")
- D PUT^XPAR("PKG","ORWD NONVA REASON",4,"Medication prescribed by another provider.")
- ;
- D PUT^XPAR("PKG","ORB SORT METHOD",1,"D") ; Date/Time
- Q
- ;
- SORTCHG ; conver "T" sort method values to "M"
- N ORLST,ORERR,ORBX,ORBE,ORBERR
- S ORBE=0,ORBX=0
- D ENVAL^XPAR(.ORLST,"ORB SORT METHOD",1,.ORERR)
- I 'ORERR,$G(ORLST)>0 D
- .F ORBX=1:1:ORLST S ORBE=$O(ORLST(ORBE)) I ORLST(ORBE,1)="T" D
- ..D EN^XPAR(ORBE,"ORB SORT METHOD",1,"M",.ORBERR)
- ..I +ORBERR>0 D
- ...S X="Error: "_ORBERR_" converting ORB SORT METHOD value 'T' to 'M' for entity "_ORBE
- ...D BMES^XPDUTL(X)
- Q
- ;
- PSIV ; convert package ptrs in #101.41 from PSIV to PSJ
- N ORPSIV,ORPSJ,ORI,X
- S ORPSIV=+$$PKG^ORMPS1("PSIV"),ORPSJ=+$$PKG^ORMPS1("PSJ") Q:ORPSJ<1
- S ORI=$O(^ORD(101.41,"B","PSJI OR PAT FLUID OE",0)) I ORI,$D(^ORD(101.41,ORI,0)) S X=$P(^(0),U,7),$P(^(0),U,7)=ORPSJ K ^ORD(101.41,"APKG",X,ORI) S ^ORD(101.41,"APKG",ORPSJ,ORI)="" ;ensure IV dlg is correct
- I ORPSIV S ORI=0 F S ORI=$O(^ORD(101.41,"APKG",ORPSIV,ORI)) Q:ORI<1 D
- . K ^ORD(101.41,"APKG",ORPSIV,ORI)
- . S $P(^ORD(101.41,ORI,0),U,7)=ORPSJ,^ORD(101.41,"APKG",ORPSJ,ORI)=""
- Q
- ;
- MAIL ; send bulletin of installation time
- N COUNT,DIFROM,I,START,TEXT,XMDUZ,XMSUB,XMTEXT,XMY
- S COUNT=0
- S XMSUB="Version "_$P($T(VERSION),";;",2)_" Installed"
- S XMDUZ="CPRS PACKAGE"
- F I="G.CPRS GUI INSTALL@ISC-SLC.VA.GOV",DUZ S XMY(I)=""
- S XMTEXT="TEXT("
- ;
- S X=$P($T(VERSION),";;",2)
- D LINE("Version "_X_" has been installed.")
- D LINE(" ")
- D LINE("Install complete: "_$$FMTE^XLFDT($$NOW^XLFDT()))
- ;
- D ^XMD
- Q
- ;
- LINE(DATA) ; set text into array
- S COUNT=COUNT+1
- S TEXT(COUNT)=DATA
- Q
- ;
- VERSION ;;24.26
- ORY190 ; slc/CLA - Pre and Post-init for patch OR*3*190 ; Aug 6, 2003@11:02:31 [6/17/04 12:59pm]
- +1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**190**;Dec 17, 1997
- +2 ;
- PRE ;initiate pre-init processes
- +1 ;
- +2 QUIT
- +3 ;
- POST ;initiate post-init processes
- +1 ;
- +2 NEW VER
- +3 ;
- +4 SET VER=$PIECE($TEXT(VERSION^ORY190),";",3)
- +5 IF +$$PATCH^XPDUTL("TIU*1.0*112")
- DO SURGREG
- +6 DO SETVAL
- +7 DO SORTCHG
- +8 DO PSIV
- +9 DO MAIL
- +10 ;
- +11 QUIT
- +12 ;
- SURGREG ; Register TIU SURGERY RPCs if TIU*1.0*112 present
- +1 NEW MENU,RPC
- +2 SET MENU="OR CPRS GUI CHART"
- +3 FOR RPC="TIU IS THIS A SURGERY?","TIU IDENTIFY SURGERY CLASS","TIU LONG LIST SURGERY TITLES","TIU GET DOCUMENTS FOR REQUEST"
- DO INSERT(MENU,RPC)
- +4 QUIT
- +5 ;
- INSERT(OPTION,RPC) ; Call FM Updater with each RPC
- +1 ; Input -- OPTION Option file (#19) Name field (#.01)
- +2 ; RPC RPC sub-file (#19.05) RPC field (#.01)
- +3 ; Output -- None
- +4 NEW FDA,FDAIEN,ERR,DIERR
- +5 SET FDA(19,"?1,",.01)=OPTION
- +6 SET FDA(19.05,"?+2,?1,",.01)=RPC
- +7 DO UPDATE^DIE("E","FDA","FDAIEN","ERR")
- +8 QUIT
- +9 ;
- SETVAL ; Set package-level values for params
- +1 NEW X
- +2 SET X=0
- SET X=$ORDER(^ORD(100.98,"B","NON-VA MEDICATIONS",X))
- IF 'X
- QUIT
- Begin DoDot:1
- +3 DO PUT^XPAR("PKG","ORWOR CATEGORY SEQUENCE",68,X)
- End DoDot:1
- +4 SET X=0
- SET X=$ORDER(^ORD(101.41,"B","PSH OERR",X))
- IF 'X
- QUIT
- Begin DoDot:1
- +5 DO PUT^XPAR("PKG","ORWOR WRITE ORDERS LIST",53,X)
- End DoDot:1
- +6 DO PUT^XPAR("PKG","ORWD NONVA REASON",1,"Outside medication not recommended by provider.")
- +7 DO PUT^XPAR("PKG","ORWD NONVA REASON",2,"Outside medication recommended by provider.")
- +8 DO PUT^XPAR("PKG","ORWD NONVA REASON",3,"Patient buys OTC/herbal product without medical advice.")
- +9 DO PUT^XPAR("PKG","ORWD NONVA REASON",4,"Medication prescribed by another provider.")
- +10 ;
- +11 ; Date/Time
- DO PUT^XPAR("PKG","ORB SORT METHOD",1,"D")
- +12 QUIT
- +13 ;
- SORTCHG ; conver "T" sort method values to "M"
- +1 NEW ORLST,ORERR,ORBX,ORBE,ORBERR
- +2 SET ORBE=0
- SET ORBX=0
- +3 DO ENVAL^XPAR(.ORLST,"ORB SORT METHOD",1,.ORERR)
- +4 IF 'ORERR
- IF $GET(ORLST)>0
- Begin DoDot:1
- +5 FOR ORBX=1:1:ORLST
- SET ORBE=$ORDER(ORLST(ORBE))
- IF ORLST(ORBE,1)="T"
- Begin DoDot:2
- +6 DO EN^XPAR(ORBE,"ORB SORT METHOD",1,"M",.ORBERR)
- +7 IF +ORBERR>0
- Begin DoDot:3
- +8 SET X="Error: "_ORBERR_" converting ORB SORT METHOD value 'T' to 'M' for entity "_ORBE
- +9 DO BMES^XPDUTL(X)
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +10 QUIT
- +11 ;
- PSIV ; convert package ptrs in #101.41 from PSIV to PSJ
- +1 NEW ORPSIV,ORPSJ,ORI,X
- +2 SET ORPSIV=+$$PKG^ORMPS1("PSIV")
- SET ORPSJ=+$$PKG^ORMPS1("PSJ")
- IF ORPSJ<1
- QUIT
- +3 ;ensure IV dlg is correct
- SET ORI=$ORDER(^ORD(101.41,"B","PSJI OR PAT FLUID OE",0))
- IF ORI
- IF $DATA(^ORD(101.41,ORI,0))
- SET X=$PIECE(^(0),U,7)
- SET $PIECE(^(0),U,7)=ORPSJ
- KILL ^ORD(101.41,"APKG",X,ORI)
- SET ^ORD(101.41,"APKG",ORPSJ,ORI)=""
- +4 IF ORPSIV
- SET ORI=0
- FOR
- SET ORI=$ORDER(^ORD(101.41,"APKG",ORPSIV,ORI))
- IF ORI<1
- QUIT
- Begin DoDot:1
- +5 KILL ^ORD(101.41,"APKG",ORPSIV,ORI)
- +6 SET $PIECE(^ORD(101.41,ORI,0),U,7)=ORPSJ
- SET ^ORD(101.41,"APKG",ORPSJ,ORI)=""
- End DoDot:1
- +7 QUIT
- +8 ;
- MAIL ; send bulletin of installation time
- +1 NEW COUNT,DIFROM,I,START,TEXT,XMDUZ,XMSUB,XMTEXT,XMY
- +2 SET COUNT=0
- +3 SET XMSUB="Version "_$PIECE($TEXT(VERSION),";;",2)_" Installed"
- +4 SET XMDUZ="CPRS PACKAGE"
- +5 FOR I="G.CPRS GUI INSTALL@ISC-SLC.VA.GOV",DUZ
- SET XMY(I)=""
- +6 SET XMTEXT="TEXT("
- +7 ;
- +8 SET X=$PIECE($TEXT(VERSION),";;",2)
- +9 DO LINE("Version "_X_" has been installed.")
- +10 DO LINE(" ")
- +11 DO LINE("Install complete: "_$$FMTE^XLFDT($$NOW^XLFDT()))
- +12 ;
- +13 DO ^XMD
- +14 QUIT
- +15 ;
- LINE(DATA) ; set text into array
- +1 SET COUNT=COUNT+1
- +2 SET TEXT(COUNT)=DATA
- +3 QUIT
- +4 ;
- VERSION ;;24.26