- ORY195 ;SLCOIFO - Pre and Post-init for patch OR*3*195 [10/4/04 7:21am] ; [1/20/05 9:26am]
- ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997
- ;
- PRE ; initiate pre-init processes
- ;
- ; Dump previously-installed param templates w/bad "B" x-ref entries:
- ;
- N DA,DIK
- ;
- S DA=$O(^XTV(8989.52,"B","ORQQ SEARCH RANGE (DIVISION)",0))
- I +DA>0 S DIK="^XTV(8989.52," D ^DIK
- ;
- S DA=$O(^XTV(8989.52,"B","ORQQ SEARCH RANGE (SERVICE)",0))
- I +DA>0 S DIK="^XTV(8989.52," D ^DIK
- ;
- S DA=$O(^XTV(8989.52,"B","ORQQ SEARCH RANGE (SYSTEM)",0))
- I +DA>0 S DIK="^XTV(8989.52," D ^DIK
- ;
- S DA=$O(^XTV(8989.52,"B","ORQQ SEARCH RANGE (USER)",0))
- I +DA>0 S DIK="^XTV(8989.52," D ^DIK
- ;
- Q
- ;
- POST ; initiate post-init processes
- ;
- I +$$PATCH^XPDUTL("TIU*1.0*112") D SURGREG
- I +$$PATCH^XPDUTL("OR*3.0*222") D GNRPCS
- I +$$PATCH^XPDUTL("MAG*3.0*7") D MAGRPC1
- I +$$PATCH^XPDUTL("MAG*3.0*37") D MAGRPC2
- D SETIMO
- D PARVAL
- D STUFDTRG
- D MAIL
- D Q^ORY195A ;Queue lab order check routine
- Q
- ;
- MAIL ; send bulletin of installation time
- N COUNT,DIFROM,I,START,TEXT,XMDUZ,XMSUB,XMTEXT,XMY
- S COUNT=0,XMDUZ="CPRS PACKAGE",XMTEXT="TEXT("
- S XMSUB="Version "_$P($T(VERSION),";;",2)_" Installed"
- F I="G.CPRS GUI INSTALL@ISC-SLC.DOMAIN.EXT",DUZ S XMY(I)=""
- ;
- 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
- ;
- 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
- ;
- SETIMO ; Create "CLINIC MEDICATIONS" display group
- N NDATA,DLG,IEN,X
- S (NDATA,DLG,IEN,X)=""
- S NDATA="CLINIC MEDICATIONS^Clin. Meds^C RX^"
- N DIC
- S DIC="^ORD(100.98,",DIC(0)="BX",X=$P(NDATA,U)
- D ^DIC
- I Y'=-1 S ^ORD(100.98,+Y,0)=NDATA Q
- I Y=-1 S DIC(0)="L" D ^DIC
- S DIC(0)="BX" D ^DIC
- S IEN=+Y
- I 'IEN Q
- N DIE,DA,DR
- S DIE="^ORD(100.98,",DA=IEN,DR="2///Clin. Meds;3///C RX"
- D ^DIE
- N DLAYGO
- S DA(1)=$O(^ORD(100.98,"B","PHARMACY",0)) Q:'DA(1)
- S:'$D(^ORD(100.98,DA(1),1,0)) ^(0)="^100.981P^^"
- S DIC="^ORD(100.98,"_DA(1)_",1,",DIC(0)="NLX",DLAYGO=100.98
- S X="CLINIC MEDICATIONS" D ^DIC
- K Y
- Q
- PARVAL ;add Clin. Meds display group to SEQUENCE parameter
- N X
- Q:'$D(^ORD(100.98,"B","CLINIC MEDICATIONS"))
- S X=0,X=$O(^ORD(100.98,"B","CLINIC MEDICATIONS",X)) Q:'X D
- . D PUT^XPAR("PKG","ORWOR CATEGORY SEQUENCE",69,X)
- Q
- ;
- SCH ; -- Adjust admin schedule Help Msg for Non-Std Schedules
- N SCH,I,DG,PKG,IPKG,DLG,PRMT,OR0
- S SCH=+$O(^ORD(101.41,"B","OR GTX SCHEDULE",0)) Q:SCH<1
- F I="I","UD","O","C" S X=+$O(^ORD(100.98,"B",I_" RX",0)) S:X DG(X)=""
- F I="RX","SPLY" S X=+$O(^ORD(100.98,"B",I,0)) S:X DG(X)=""
- F PKG="PSJ","PSO","PSS" D
- . S IPKG=+$O(^DIC(9.4,"C",PKG,0))
- . S DLG=0 F S DLG=+$O(^ORD(101.41,"APKG",IPKG,DLG)) Q:DLG<1 D
- .. S OR0=$G(^ORD(101.41,DLG,0)) Q:$P(OR0,U,4)'="D" Q:'$D(DG($P(OR0,U,5)))
- .. S PRMT=+$O(^ORD(101.41,DLG,10,"D",SCH,0)) Q:PRMT<1
- .. S ^ORD(101.41,DLG,10,PRMT,1)="Enter a standard administration schedule."
- Q
- ;
- STUFDTRG ; Stuff existing date ranges into new parameters for CS and PCE.
- ;
- ; Get existing settings, stuff into new parameters.
- ;
- ; NOTE: ORQQCSDR params will allow "T, T+, T- settings.
- ; ORQQEAPT params allow single value number entries only.
- ;
- N ORBE,ORBX,ORBZ,ORDUZ,ORERR,ORLST,ORNEG,ORSTART,ORSTOP,ORVAL
- ;
- ; First deal with PKG level settings.
- ;
- ; Clean out any existing settings:
- D NDEL^XPAR("PKG","ORQQEAPT ENC APPT START",.ORERR)
- D NDEL^XPAR("PKG","ORQQEAPT ENC APPT STOP",.ORERR)
- D NDEL^XPAR("PKG","ORQQCSDR CS RANGE START",.ORERR)
- D NDEL^XPAR("PKG","ORQQCSDR CS RANGE STOP",.ORERR)
- ;
- ; Get settings of previously-used high level params:
- S ORSTART=$$GET^XPAR("DIV^SYS^PKG","ORQQVS SEARCH RANGE START",1,"I")
- I '$L(ORSTART) S ORSTART=90
- S ORSTOP=$$GET^XPAR("DIV^SYS^PKG","ORQQAP SEARCH RANGE STOP",1,"I")
- I '$L(ORSTOP) S ORSTOP=90
- ;
- ; Stuff retrieved values into PKG level of first set of new params:
- D EN^XPAR("PKG","ORQQCSDR CS RANGE START",1,ORSTART)
- D EN^XPAR("PKG","ORQQCSDR CS RANGE STOP",1,ORSTOP)
- ;
- ; Treat "start" value and stuff it:
- S ORVAL=ORSTART,ORNEG=0
- I ORVAL["T" S ORVAL=$P(ORVAL,"T",2)
- I ORVAL["t" S ORVAL=$P(ORVAL,"t",2)
- I ORVAL["-" S ORNEG=1,ORVAL=$P(ORVAL,"-",2)
- I ORVAL["+" S ORVAL=$P(ORVAL,"+",2)
- S ORVAL=+ORVAL
- I 'ORNEG S ORVAL=0 ; Can't have later than "Today" for "start."
- D EN^XPAR("PKG","ORQQEAPT ENC APPT START",1,ORVAL)
- ;
- ; Treat "stop" value and stuff it:
- S ORVAL=ORSTOP,ORNEG=0
- I ORVAL["T" S ORVAL=$P(ORVAL,"T",2)
- I ORVAL["t" S ORVAL=$P(ORVAL,"t",2)
- I ORVAL["-" S ORNEG=1,ORVAL=$P(ORVAL,"-",2)
- I ORVAL["+" S ORVAL=$P(ORVAL,"+",2)
- S ORVAL=+ORVAL
- I ORNEG S ORVAL=0 ; Won't allow earlier than "Today" for "stop."
- D EN^XPAR("PKG","ORQQEAPT ENC APPT STOP",1,ORSTOP)
- ;
- ; Deal with User level settings.
- ;
- S (ORBE,ORBX,ORBZ,ORDUZ,ORERR,ORLST,ORNEG,ORVAL)=""
- ;
- ; Begin with the START parameter:
- D ENVAL^XPAR(.ORLST,"ORQQAP SEARCH RANGE START",1,.ORERR)
- I 'ORERR,$G(ORLST)>0 D
- .F ORBX=1:1:ORLST S ORBE=$O(ORLST(ORBE)) D
- ..S ORBZ=$P(ORBE,";",2)
- ..I ORBZ="VA(200," S ORDUZ=$P(ORBE,";") I $L($G(ORDUZ)) D
- ...S ORVAL=ORLST(ORBE,1) ; Current setting.
- ...;
- ...; Eliminate any existing entries:
- ...D NDEL^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE START",.ORERR)
- ...;
- ...; Stuff value:
- ...D EN^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE START",1,ORVAL)
- ...;
- ...; Treat value:
- ...S ORNEG=0
- ...I ORVAL["T" S ORVAL=$P(ORVAL,"T",2)
- ...I ORVAL["t" S ORVAL=$P(ORVAL,"t",2)
- ...I ORVAL["-" S ORNEG=1,ORVAL=$P(ORVAL,"-",2)
- ...I ORVAL["+" S ORVAL=$P(ORVAL,"+",2)
- ...S ORVAL=+ORVAL
- ...I 'ORNEG S ORVAL=0 ; Can't have later than "Today" for "start."
- ...;
- ...; Eliminate any existing entries:
- ...D NDEL^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT START",.ORERR)
- ...;
- ...; Stuff value:
- ...D EN^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT START",1,ORVAL)
- ;
- ; Now do the STOP parameter:
- S (ORBE,ORBX,ORBZ,ORDUZ,ORERR,ORLST,ORNEG,ORVAL)=""
- ;
- D ENVAL^XPAR(.ORLST,"ORQQVS SEARCH RANGE STOP",1,.ORERR)
- I 'ORERR,$G(ORLST)>0 D
- .F ORBX=1:1:ORLST S ORBE=$O(ORLST(ORBE)) D
- ..S ORBZ=$P(ORBE,";",2)
- ..I ORBZ="VA(200," S ORDUZ=$P(ORBE,";") I $L($G(ORDUZ)) D
- ...S ORVAL=ORLST(ORBE,1) ; Current setting.
- ...;
- ...; Eliminate any existing entries:
- ...D NDEL^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE STOP",.ORERR)
- ...;
- ...; Stuff value:
- ...D EN^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE STOP",1,ORVAL)
- ...;
- ...; Treat parameter value:
- ...S ORNEG=0
- ...I ORVAL["T" S ORVAL=$P(ORVAL,"T",2)
- ...I ORVAL["t" S ORVAL=$P(ORVAL,"t",2)
- ...I ORVAL["-" S ORNEG=1,ORVAL=$P(ORVAL,"-",2)
- ...I ORVAL["+" S ORVAL=$P(ORVAL,"+",2)
- ...S ORVAL=+ORVAL
- ...I ORNEG S ORVAL=0 ; Can't have earlier than "Today" for "stop."
- ...;
- ...; Eliminate any existing entries:
- ...D NDEL^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT STOP",.ORERR)
- ...;
- ...; Stuff value:
- ...D EN^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT STOP",1,ORVAL)
- ;
- Q
- ;
- GNRPCS ;
- N MENU,I
- S MENU="OR CPRS GUI CHART"
- F I="ORWGN GNLOC","ORWGN AUTHUSR" D INSERT(MENU,I)
- Q
- ;
- MAGRPC1 ; Register Imaging RPC if MAG*3.0*7 present (DBIA 4526)
- D INSERT("OR CPRS GUI CHART","MAG4 REMOTE IMPORT")
- Q
- ;
- MAGRPC2 ; Register Imaging RPCS if MAG*3.0*37 installed (DBIA 4528/4530)
- D INSERT("OR CPRS GUI CHART","MAG IMPORT CHECK STATUS")
- D INSERT("OR CPRS GUI CHART","MAG IMPORT CLEAR STATUS")
- Q
- ;
- VERSION ;;25.28
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HORY195 8053 printed Mar 13, 2025@21:44:01 Page 2
- ORY195 ;SLCOIFO - Pre and Post-init for patch OR*3*195 [10/4/04 7:21am] ; [1/20/05 9:26am]
- +1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997
- +2 ;
- PRE ; initiate pre-init processes
- +1 ;
- +2 ; Dump previously-installed param templates w/bad "B" x-ref entries:
- +3 ;
- +4 NEW DA,DIK
- +5 ;
- +6 SET DA=$ORDER(^XTV(8989.52,"B","ORQQ SEARCH RANGE (DIVISION)",0))
- +7 IF +DA>0
- SET DIK="^XTV(8989.52,"
- DO ^DIK
- +8 ;
- +9 SET DA=$ORDER(^XTV(8989.52,"B","ORQQ SEARCH RANGE (SERVICE)",0))
- +10 IF +DA>0
- SET DIK="^XTV(8989.52,"
- DO ^DIK
- +11 ;
- +12 SET DA=$ORDER(^XTV(8989.52,"B","ORQQ SEARCH RANGE (SYSTEM)",0))
- +13 IF +DA>0
- SET DIK="^XTV(8989.52,"
- DO ^DIK
- +14 ;
- +15 SET DA=$ORDER(^XTV(8989.52,"B","ORQQ SEARCH RANGE (USER)",0))
- +16 IF +DA>0
- SET DIK="^XTV(8989.52,"
- DO ^DIK
- +17 ;
- +18 QUIT
- +19 ;
- POST ; initiate post-init processes
- +1 ;
- +2 IF +$$PATCH^XPDUTL("TIU*1.0*112")
- DO SURGREG
- +3 IF +$$PATCH^XPDUTL("OR*3.0*222")
- DO GNRPCS
- +4 IF +$$PATCH^XPDUTL("MAG*3.0*7")
- DO MAGRPC1
- +5 IF +$$PATCH^XPDUTL("MAG*3.0*37")
- DO MAGRPC2
- +6 DO SETIMO
- +7 DO PARVAL
- +8 DO STUFDTRG
- +9 DO MAIL
- +10 ;Queue lab order check routine
- DO Q^ORY195A
- +11 QUIT
- +12 ;
- MAIL ; send bulletin of installation time
- +1 NEW COUNT,DIFROM,I,START,TEXT,XMDUZ,XMSUB,XMTEXT,XMY
- +2 SET COUNT=0
- SET XMDUZ="CPRS PACKAGE"
- SET XMTEXT="TEXT("
- +3 SET XMSUB="Version "_$PIECE($TEXT(VERSION),";;",2)_" Installed"
- +4 FOR I="G.CPRS GUI INSTALL@ISC-SLC.DOMAIN.EXT",DUZ
- SET XMY(I)=""
- +5 ;
- +6 SET X=$PIECE($TEXT(VERSION),";;",2)
- +7 DO LINE("Version "_X_" has been installed.")
- +8 DO LINE(" ")
- +9 DO LINE("Install complete: "_$$FMTE^XLFDT($$NOW^XLFDT()))
- +10 ;
- +11 DO ^XMD
- +12 QUIT
- +13 ;
- LINE(DATA) ; set text into array
- +1 SET COUNT=COUNT+1
- +2 SET TEXT(COUNT)=DATA
- +3 QUIT
- +4 ;
- 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 ;
- SETIMO ; Create "CLINIC MEDICATIONS" display group
- +1 NEW NDATA,DLG,IEN,X
- +2 SET (NDATA,DLG,IEN,X)=""
- +3 SET NDATA="CLINIC MEDICATIONS^Clin. Meds^C RX^"
- +4 NEW DIC
- +5 SET DIC="^ORD(100.98,"
- SET DIC(0)="BX"
- SET X=$PIECE(NDATA,U)
- +6 DO ^DIC
- +7 IF Y'=-1
- SET ^ORD(100.98,+Y,0)=NDATA
- QUIT
- +8 IF Y=-1
- SET DIC(0)="L"
- DO ^DIC
- +9 SET DIC(0)="BX"
- DO ^DIC
- +10 SET IEN=+Y
- +11 IF 'IEN
- QUIT
- +12 NEW DIE,DA,DR
- +13 SET DIE="^ORD(100.98,"
- SET DA=IEN
- SET DR="2///Clin. Meds;3///C RX"
- +14 DO ^DIE
- +15 NEW DLAYGO
- +16 SET DA(1)=$ORDER(^ORD(100.98,"B","PHARMACY",0))
- if 'DA(1)
- QUIT
- +17 if '$DATA(^ORD(100.98,DA(1),1,0))
- SET ^(0)="^100.981P^^"
- +18 SET DIC="^ORD(100.98,"_DA(1)_",1,"
- SET DIC(0)="NLX"
- SET DLAYGO=100.98
- +19 SET X="CLINIC MEDICATIONS"
- DO ^DIC
- +20 KILL Y
- +21 QUIT
- PARVAL ;add Clin. Meds display group to SEQUENCE parameter
- +1 NEW X
- +2 if '$DATA(^ORD(100.98,"B","CLINIC MEDICATIONS"))
- QUIT
- +3 SET X=0
- SET X=$ORDER(^ORD(100.98,"B","CLINIC MEDICATIONS",X))
- if 'X
- QUIT
- Begin DoDot:1
- +4 DO PUT^XPAR("PKG","ORWOR CATEGORY SEQUENCE",69,X)
- End DoDot:1
- +5 QUIT
- +6 ;
- SCH ; -- Adjust admin schedule Help Msg for Non-Std Schedules
- +1 NEW SCH,I,DG,PKG,IPKG,DLG,PRMT,OR0
- +2 SET SCH=+$ORDER(^ORD(101.41,"B","OR GTX SCHEDULE",0))
- if SCH<1
- QUIT
- +3 FOR I="I","UD","O","C"
- SET X=+$ORDER(^ORD(100.98,"B",I_" RX",0))
- if X
- SET DG(X)=""
- +4 FOR I="RX","SPLY"
- SET X=+$ORDER(^ORD(100.98,"B",I,0))
- if X
- SET DG(X)=""
- +5 FOR PKG="PSJ","PSO","PSS"
- Begin DoDot:1
- +6 SET IPKG=+$ORDER(^DIC(9.4,"C",PKG,0))
- +7 SET DLG=0
- FOR
- SET DLG=+$ORDER(^ORD(101.41,"APKG",IPKG,DLG))
- if DLG<1
- QUIT
- Begin DoDot:2
- +8 SET OR0=$GET(^ORD(101.41,DLG,0))
- if $PIECE(OR0,U,4)'="D"
- QUIT
- if '$DATA(DG($PIECE(OR0,U,5)))
- QUIT
- +9 SET PRMT=+$ORDER(^ORD(101.41,DLG,10,"D",SCH,0))
- if PRMT<1
- QUIT
- +10 SET ^ORD(101.41,DLG,10,PRMT,1)="Enter a standard administration schedule."
- End DoDot:2
- End DoDot:1
- +11 QUIT
- +12 ;
- STUFDTRG ; Stuff existing date ranges into new parameters for CS and PCE.
- +1 ;
- +2 ; Get existing settings, stuff into new parameters.
- +3 ;
- +4 ; NOTE: ORQQCSDR params will allow "T, T+, T- settings.
- +5 ; ORQQEAPT params allow single value number entries only.
- +6 ;
- +7 NEW ORBE,ORBX,ORBZ,ORDUZ,ORERR,ORLST,ORNEG,ORSTART,ORSTOP,ORVAL
- +8 ;
- +9 ; First deal with PKG level settings.
- +10 ;
- +11 ; Clean out any existing settings:
- +12 DO NDEL^XPAR("PKG","ORQQEAPT ENC APPT START",.ORERR)
- +13 DO NDEL^XPAR("PKG","ORQQEAPT ENC APPT STOP",.ORERR)
- +14 DO NDEL^XPAR("PKG","ORQQCSDR CS RANGE START",.ORERR)
- +15 DO NDEL^XPAR("PKG","ORQQCSDR CS RANGE STOP",.ORERR)
- +16 ;
- +17 ; Get settings of previously-used high level params:
- +18 SET ORSTART=$$GET^XPAR("DIV^SYS^PKG","ORQQVS SEARCH RANGE START",1,"I")
- +19 IF '$LENGTH(ORSTART)
- SET ORSTART=90
- +20 SET ORSTOP=$$GET^XPAR("DIV^SYS^PKG","ORQQAP SEARCH RANGE STOP",1,"I")
- +21 IF '$LENGTH(ORSTOP)
- SET ORSTOP=90
- +22 ;
- +23 ; Stuff retrieved values into PKG level of first set of new params:
- +24 DO EN^XPAR("PKG","ORQQCSDR CS RANGE START",1,ORSTART)
- +25 DO EN^XPAR("PKG","ORQQCSDR CS RANGE STOP",1,ORSTOP)
- +26 ;
- +27 ; Treat "start" value and stuff it:
- +28 SET ORVAL=ORSTART
- SET ORNEG=0
- +29 IF ORVAL["T"
- SET ORVAL=$PIECE(ORVAL,"T",2)
- +30 IF ORVAL["t"
- SET ORVAL=$PIECE(ORVAL,"t",2)
- +31 IF ORVAL["-"
- SET ORNEG=1
- SET ORVAL=$PIECE(ORVAL,"-",2)
- +32 IF ORVAL["+"
- SET ORVAL=$PIECE(ORVAL,"+",2)
- +33 SET ORVAL=+ORVAL
- +34 ; Can't have later than "Today" for "start."
- IF 'ORNEG
- SET ORVAL=0
- +35 DO EN^XPAR("PKG","ORQQEAPT ENC APPT START",1,ORVAL)
- +36 ;
- +37 ; Treat "stop" value and stuff it:
- +38 SET ORVAL=ORSTOP
- SET ORNEG=0
- +39 IF ORVAL["T"
- SET ORVAL=$PIECE(ORVAL,"T",2)
- +40 IF ORVAL["t"
- SET ORVAL=$PIECE(ORVAL,"t",2)
- +41 IF ORVAL["-"
- SET ORNEG=1
- SET ORVAL=$PIECE(ORVAL,"-",2)
- +42 IF ORVAL["+"
- SET ORVAL=$PIECE(ORVAL,"+",2)
- +43 SET ORVAL=+ORVAL
- +44 ; Won't allow earlier than "Today" for "stop."
- IF ORNEG
- SET ORVAL=0
- +45 DO EN^XPAR("PKG","ORQQEAPT ENC APPT STOP",1,ORSTOP)
- +46 ;
- +47 ; Deal with User level settings.
- +48 ;
- +49 SET (ORBE,ORBX,ORBZ,ORDUZ,ORERR,ORLST,ORNEG,ORVAL)=""
- +50 ;
- +51 ; Begin with the START parameter:
- +52 DO ENVAL^XPAR(.ORLST,"ORQQAP SEARCH RANGE START",1,.ORERR)
- +53 IF 'ORERR
- IF $GET(ORLST)>0
- Begin DoDot:1
- +54 FOR ORBX=1:1:ORLST
- SET ORBE=$ORDER(ORLST(ORBE))
- Begin DoDot:2
- +55 SET ORBZ=$PIECE(ORBE,";",2)
- +56 IF ORBZ="VA(200,"
- SET ORDUZ=$PIECE(ORBE,";")
- IF $LENGTH($GET(ORDUZ))
- Begin DoDot:3
- +57 ; Current setting.
- SET ORVAL=ORLST(ORBE,1)
- +58 ;
- +59 ; Eliminate any existing entries:
- +60 DO NDEL^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE START",.ORERR)
- +61 ;
- +62 ; Stuff value:
- +63 DO EN^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE START",1,ORVAL)
- +64 ;
- +65 ; Treat value:
- +66 SET ORNEG=0
- +67 IF ORVAL["T"
- SET ORVAL=$PIECE(ORVAL,"T",2)
- +68 IF ORVAL["t"
- SET ORVAL=$PIECE(ORVAL,"t",2)
- +69 IF ORVAL["-"
- SET ORNEG=1
- SET ORVAL=$PIECE(ORVAL,"-",2)
- +70 IF ORVAL["+"
- SET ORVAL=$PIECE(ORVAL,"+",2)
- +71 SET ORVAL=+ORVAL
- +72 ; Can't have later than "Today" for "start."
- IF 'ORNEG
- SET ORVAL=0
- +73 ;
- +74 ; Eliminate any existing entries:
- +75 DO NDEL^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT START",.ORERR)
- +76 ;
- +77 ; Stuff value:
- +78 DO EN^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT START",1,ORVAL)
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +79 ;
- +80 ; Now do the STOP parameter:
- +81 SET (ORBE,ORBX,ORBZ,ORDUZ,ORERR,ORLST,ORNEG,ORVAL)=""
- +82 ;
- +83 DO ENVAL^XPAR(.ORLST,"ORQQVS SEARCH RANGE STOP",1,.ORERR)
- +84 IF 'ORERR
- IF $GET(ORLST)>0
- Begin DoDot:1
- +85 FOR ORBX=1:1:ORLST
- SET ORBE=$ORDER(ORLST(ORBE))
- Begin DoDot:2
- +86 SET ORBZ=$PIECE(ORBE,";",2)
- +87 IF ORBZ="VA(200,"
- SET ORDUZ=$PIECE(ORBE,";")
- IF $LENGTH($GET(ORDUZ))
- Begin DoDot:3
- +88 ; Current setting.
- SET ORVAL=ORLST(ORBE,1)
- +89 ;
- +90 ; Eliminate any existing entries:
- +91 DO NDEL^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE STOP",.ORERR)
- +92 ;
- +93 ; Stuff value:
- +94 DO EN^XPAR("USR.`"_ORDUZ,"ORQQCSDR CS RANGE STOP",1,ORVAL)
- +95 ;
- +96 ; Treat parameter value:
- +97 SET ORNEG=0
- +98 IF ORVAL["T"
- SET ORVAL=$PIECE(ORVAL,"T",2)
- +99 IF ORVAL["t"
- SET ORVAL=$PIECE(ORVAL,"t",2)
- +100 IF ORVAL["-"
- SET ORNEG=1
- SET ORVAL=$PIECE(ORVAL,"-",2)
- +101 IF ORVAL["+"
- SET ORVAL=$PIECE(ORVAL,"+",2)
- +102 SET ORVAL=+ORVAL
- +103 ; Can't have earlier than "Today" for "stop."
- IF ORNEG
- SET ORVAL=0
- +104 ;
- +105 ; Eliminate any existing entries:
- +106 DO NDEL^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT STOP",.ORERR)
- +107 ;
- +108 ; Stuff value:
- +109 DO EN^XPAR("USR.`"_ORDUZ,"ORQQEAPT ENC APPT STOP",1,ORVAL)
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +110 ;
- +111 QUIT
- +112 ;
- GNRPCS ;
- +1 NEW MENU,I
- +2 SET MENU="OR CPRS GUI CHART"
- +3 FOR I="ORWGN GNLOC","ORWGN AUTHUSR"
- DO INSERT(MENU,I)
- +4 QUIT
- +5 ;
- MAGRPC1 ; Register Imaging RPC if MAG*3.0*7 present (DBIA 4526)
- +1 DO INSERT("OR CPRS GUI CHART","MAG4 REMOTE IMPORT")
- +2 QUIT
- +3 ;
- MAGRPC2 ; Register Imaging RPCS if MAG*3.0*37 installed (DBIA 4528/4530)
- +1 DO INSERT("OR CPRS GUI CHART","MAG IMPORT CHECK STATUS")
- +2 DO INSERT("OR CPRS GUI CHART","MAG IMPORT CLEAR STATUS")
- +3 QUIT
- +4 ;
- VERSION ;;25.28