- ORY148 ;SLC/PKS -- postinit rtn for OR*3*148 ;6/21/02 12:04 [7/23/02 2:15pm]
- ;;3.0;ORDER ENTRY/RESULTS REPORTING;**148**;Dec 17, 1997
- ;
- Q
- ;
- PRE ; -- preinit
- ;
- Q
- ;
- POST ; -- postinit
- ;
- N VER,ORCOUNT
- ;
- S VER=$P($T(VERSION^ORY148),";",3)
- D USERSET
- D PAROUT
- I +$$PATCH^XPDUTL("TIU*1.0*109") D CPREG
- I +$$PATCH^XPDUTL("TIU*1.0*112") D SURGREG
- D MAIL
- ;
- Q
- ;
- USERSET ; Queue background task to set user default settings.
- ;
- N ZTRTN,ZTDESC,ZTIO,ZTSAVE,ZTDTH,ZTSK
- ;
- S ZTRTN="DQSET^ORY148",ZTDESC="OR*3*148 Post Install",ZTIO="",ZTSAVE("DUZ")="",ZTDTH=$H
- D ^%ZTLOAD
- I $G(ZTSK) D MES^XPDUTL("User defaults for OR*3*148 queued as task number "_ZTSK_".")
- I '$G(ZTSK) D MES^XPDUTL("User defaults task did not queue")
- ;
- Q
- ;
- DQSET ; Queue background task to set user default settings.
- ;
- S ORCOUNT=0
- S ^TMP("ORY148",$J,1)="Background task for OR*3*148 has completed."
- S ^TMP("ORY148",$J,2)=" "
- S ^TMP("ORY148",$J,3)="The following problems were encountered:"
- S ^TMP("ORY148",$J,4)=" "
- S ORCOUNT=4
- ;
- ; Set user default settings:
- D DEFTABS
- I ORCOUNT=4 S ^TMP("ORY148",$J,5)="No problems encountered."
- ;
- ; Send message with results to user, postmaster:
- N XMSUB,XMTEXT,SMDUZ,SMY
- S XMSUB="Patch OR*3*148 Post-Install Complete" ; Message subject.
- S XMDUZ="Patch OR*3*148 Post Install" ; Message "from."
- S XMY(.5)="" S:$G(DUZ) XMY(DUZ)="" ; To user,postmaster.
- S XMTEXT="^TMP(""ORY148"",$J," ; Text for message.
- D ^XMD
- K ^TMP("ORY148",$J)
- ;
- Q
- ;
- DEFTABS ; Default tab, restricted patient list entries for GUI users.
- ;
- N ORZ,ORZZ,OROPT,ORUSER,DIE
- ;
- S OROPT="OR CPRS GUI CHART"
- S OROPT=$$OPTLK^XQCS(OROPT)
- S OROPT=+OROPT
- I OROPT<1 D Q
- .W !,"No OR CPRS GUI CHART Option found!"
- ;
- ; Establish loop to order through users:
- S ORUSER=0
- F S ORUSER=$O(^VA(200,ORUSER)) Q:'ORUSER>0 D
- .S ORZ=0
- .S ORZ=$$ACCESS^XQCHK(ORUSER,OROPT) ; Have OR CPRS GUI CHART option?
- .S ORZ=+ORZ
- .S ORZZ=$G(^VA(200,ORUSER,0))
- .S ORZZ=$P(ORZZ,U,4)
- .I ((ORZ>0)!(ORZZ["@")) D
- ..;
- ..; Set default of "COR" for CPRS tabs multiple:
- ..N ORFDA,ORIEN,ORERR
- ..S ORIEN(1)=ORUSER
- ..S ORFDA(200.010113,"+2,"_ORUSER_",",.01)=1
- ..S ORFDA(200.010113,"+2,"_ORUSER_",",.02)=DT
- ..I ('$D(^VA(200,ORUSER,"ORD",0))) D UPDATE^DIE("","ORFDA","ORIEN","ORERR")
- ..I $D(ORERR) D
- ...;
- ...; Send installation error message to run under Taskman:
- ...S ORCOUNT=ORCOUNT+1
- ...S ^TMP("ORY148",$J,ORCOUNT)="Could not create default COR Tab entry for user "_ORUSER_"."
- ..;
- ..; Set default of "N" for restricted patient list field:
- ..N ORFDA,ORIEN,ORERR
- ..S ORIEN(1)=ORUSER
- ..S ORFDA(200,ORUSER_",",101.01)=0
- ..I ('$D(^VA(200,ORUSER,101))) D UPDATE^DIE("","ORFDA","ORIEN","ORERR")
- ..I $D(ORERR) D
- ...;
- ...; Send installation error message to run under Taskman:
- ...S ORCOUNT=ORCOUNT+1
- ...S ^TMP("ORY148",$J,ORCOUNT)="Could not make RPL default NO entry for user "_ORUSER_"."
- ..;
- ..D CLEAN^DILF ; Clean up after DB call.
- ;
- Q
- ;
- CPREG ; Register TIU Clinical Procedures RPCs if TIU*1.0*109 present
- N MENU,RPC
- S MENU="OR CPRS GUI CHART"
- F RPC="TIU IS THIS A CLINPROC?","TIU IDENTIFY CLINPROC CLASS","TIU LONG LIST CLINPROC TITLES" D INSERT(MENU,RPC)
- 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" 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
- ;
- 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@DOMAIN.NAME",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
- ;
- PAROUT ; Remove entries, parameter "ORWT TOOLS RPT SETTINGS OFF" if found.
- ;
- ; Remove all instances of parameter:
- N DA,DIK,PAR,ENT,INST,DIRUT,DUOUT,DTOUT,ORIEN
- S PAR="ORWT TOOLS RPT SETTINGS OFF"
- ;
- S ORIEN=0
- S ORIEN=$O(^XTV(8989.51,"B",PAR,ORIEN))
- S ORIEN=+ORIEN
- I 'ORIEN Q
- ;
- S ENT=0
- F S ENT=$O(^XTV(8989.5,"AC",ORIEN,ENT)) Q:'ENT D
- .S INST=0
- .F S INST=$O(^XTV(8989.5,"AC",ORIEN,ENT,INST)) Q:INST="" D Q
- ..D DEL^XPAR(ENT,ORIEN,INST)
- ;
- ; Remove parameter definition itself:
- S DIK="^XTV(8989.51,"
- S DA=ORIEN
- D ^DIK
- ;
- Q
- ;
- LINE(DATA) ; set text into array
- S COUNT=COUNT+1
- S TEXT(COUNT)=DATA
- Q
- ;
- VERSION ;;19.15
- ORY148 ;SLC/PKS -- postinit rtn for OR*3*148 ;6/21/02 12:04 [7/23/02 2:15pm]
- +1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**148**;Dec 17, 1997
- +2 ;
- +3 QUIT
- +4 ;
- PRE ; -- preinit
- +1 ;
- +2 QUIT
- +3 ;
- POST ; -- postinit
- +1 ;
- +2 NEW VER,ORCOUNT
- +3 ;
- +4 SET VER=$PIECE($TEXT(VERSION^ORY148),";",3)
- +5 DO USERSET
- +6 DO PAROUT
- +7 IF +$$PATCH^XPDUTL("TIU*1.0*109")
- DO CPREG
- +8 IF +$$PATCH^XPDUTL("TIU*1.0*112")
- DO SURGREG
- +9 DO MAIL
- +10 ;
- +11 QUIT
- +12 ;
- USERSET ; Queue background task to set user default settings.
- +1 ;
- +2 NEW ZTRTN,ZTDESC,ZTIO,ZTSAVE,ZTDTH,ZTSK
- +3 ;
- +4 SET ZTRTN="DQSET^ORY148"
- SET ZTDESC="OR*3*148 Post Install"
- SET ZTIO=""
- SET ZTSAVE("DUZ")=""
- SET ZTDTH=$HOROLOG
- +5 DO ^%ZTLOAD
- +6 IF $GET(ZTSK)
- DO MES^XPDUTL("User defaults for OR*3*148 queued as task number "_ZTSK_".")
- +7 IF '$GET(ZTSK)
- DO MES^XPDUTL("User defaults task did not queue")
- +8 ;
- +9 QUIT
- +10 ;
- DQSET ; Queue background task to set user default settings.
- +1 ;
- +2 SET ORCOUNT=0
- +3 SET ^TMP("ORY148",$JOB,1)="Background task for OR*3*148 has completed."
- +4 SET ^TMP("ORY148",$JOB,2)=" "
- +5 SET ^TMP("ORY148",$JOB,3)="The following problems were encountered:"
- +6 SET ^TMP("ORY148",$JOB,4)=" "
- +7 SET ORCOUNT=4
- +8 ;
- +9 ; Set user default settings:
- +10 DO DEFTABS
- +11 IF ORCOUNT=4
- SET ^TMP("ORY148",$JOB,5)="No problems encountered."
- +12 ;
- +13 ; Send message with results to user, postmaster:
- +14 NEW XMSUB,XMTEXT,SMDUZ,SMY
- +15 ; Message subject.
- SET XMSUB="Patch OR*3*148 Post-Install Complete"
- +16 ; Message "from."
- SET XMDUZ="Patch OR*3*148 Post Install"
- +17 ; To user,postmaster.
- SET XMY(.5)=""
- IF $GET(DUZ)
- SET XMY(DUZ)=""
- +18 ; Text for message.
- SET XMTEXT="^TMP(""ORY148"",$J,"
- +19 DO ^XMD
- +20 KILL ^TMP("ORY148",$JOB)
- +21 ;
- +22 QUIT
- +23 ;
- DEFTABS ; Default tab, restricted patient list entries for GUI users.
- +1 ;
- +2 NEW ORZ,ORZZ,OROPT,ORUSER,DIE
- +3 ;
- +4 SET OROPT="OR CPRS GUI CHART"
- +5 SET OROPT=$$OPTLK^XQCS(OROPT)
- +6 SET OROPT=+OROPT
- +7 IF OROPT<1
- Begin DoDot:1
- +8 WRITE !,"No OR CPRS GUI CHART Option found!"
- End DoDot:1
- QUIT
- +9 ;
- +10 ; Establish loop to order through users:
- +11 SET ORUSER=0
- +12 FOR
- SET ORUSER=$ORDER(^VA(200,ORUSER))
- IF 'ORUSER>0
- QUIT
- Begin DoDot:1
- +13 SET ORZ=0
- +14 ; Have OR CPRS GUI CHART option?
- SET ORZ=$$ACCESS^XQCHK(ORUSER,OROPT)
- +15 SET ORZ=+ORZ
- +16 SET ORZZ=$GET(^VA(200,ORUSER,0))
- +17 SET ORZZ=$PIECE(ORZZ,U,4)
- +18 IF ((ORZ>0)!(ORZZ["@"))
- Begin DoDot:2
- +19 ;
- +20 ; Set default of "COR" for CPRS tabs multiple:
- +21 NEW ORFDA,ORIEN,ORERR
- +22 SET ORIEN(1)=ORUSER
- +23 SET ORFDA(200.010113,"+2,"_ORUSER_",",.01)=1
- +24 SET ORFDA(200.010113,"+2,"_ORUSER_",",.02)=DT
- +25 IF ('$DATA(^VA(200,ORUSER,"ORD",0)))
- DO UPDATE^DIE("","ORFDA","ORIEN","ORERR")
- +26 IF $DATA(ORERR)
- Begin DoDot:3
- +27 ;
- +28 ; Send installation error message to run under Taskman:
- +29 SET ORCOUNT=ORCOUNT+1
- +30 SET ^TMP("ORY148",$JOB,ORCOUNT)="Could not create default COR Tab entry for user "_ORUSER_"."
- End DoDot:3
- +31 ;
- +32 ; Set default of "N" for restricted patient list field:
- +33 NEW ORFDA,ORIEN,ORERR
- +34 SET ORIEN(1)=ORUSER
- +35 SET ORFDA(200,ORUSER_",",101.01)=0
- +36 IF ('$DATA(^VA(200,ORUSER,101)))
- DO UPDATE^DIE("","ORFDA","ORIEN","ORERR")
- +37 IF $DATA(ORERR)
- Begin DoDot:3
- +38 ;
- +39 ; Send installation error message to run under Taskman:
- +40 SET ORCOUNT=ORCOUNT+1
- +41 SET ^TMP("ORY148",$JOB,ORCOUNT)="Could not make RPL default NO entry for user "_ORUSER_"."
- End DoDot:3
- +42 ;
- +43 ; Clean up after DB call.
- DO CLEAN^DILF
- End DoDot:2
- End DoDot:1
- +44 ;
- +45 QUIT
- +46 ;
- CPREG ; Register TIU Clinical Procedures RPCs if TIU*1.0*109 present
- +1 NEW MENU,RPC
- +2 SET MENU="OR CPRS GUI CHART"
- +3 FOR RPC="TIU IS THIS A CLINPROC?","TIU IDENTIFY CLINPROC CLASS","TIU LONG LIST CLINPROC TITLES"
- DO INSERT(MENU,RPC)
- +4 QUIT
- +5 ;
- 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"
- 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 ;
- 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@DOMAIN.NAME",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 ;
- PAROUT ; Remove entries, parameter "ORWT TOOLS RPT SETTINGS OFF" if found.
- +1 ;
- +2 ; Remove all instances of parameter:
- +3 NEW DA,DIK,PAR,ENT,INST,DIRUT,DUOUT,DTOUT,ORIEN
- +4 SET PAR="ORWT TOOLS RPT SETTINGS OFF"
- +5 ;
- +6 SET ORIEN=0
- +7 SET ORIEN=$ORDER(^XTV(8989.51,"B",PAR,ORIEN))
- +8 SET ORIEN=+ORIEN
- +9 IF 'ORIEN
- QUIT
- +10 ;
- +11 SET ENT=0
- +12 FOR
- SET ENT=$ORDER(^XTV(8989.5,"AC",ORIEN,ENT))
- IF 'ENT
- QUIT
- Begin DoDot:1
- +13 SET INST=0
- +14 FOR
- SET INST=$ORDER(^XTV(8989.5,"AC",ORIEN,ENT,INST))
- IF INST=""
- QUIT
- Begin DoDot:2
- +15 DO DEL^XPAR(ENT,ORIEN,INST)
- End DoDot:2
- QUIT
- End DoDot:1
- +16 ;
- +17 ; Remove parameter definition itself:
- +18 SET DIK="^XTV(8989.51,"
- +19 SET DA=ORIEN
- +20 DO ^DIK
- +21 ;
- +22 QUIT
- +23 ;
- LINE(DATA) ; set text into array
- +1 SET COUNT=COUNT+1
- +2 SET TEXT(COUNT)=DATA
- +3 QUIT
- +4 ;
- VERSION ;;19.15