ORY280P ;slc/dcm - Export Package Level Parameters ;3/17/10 09:18
;;3.0;ORDER ENTRY/RESULTS REPORTING;**280**;Dec 17, 1997;Build 85
MAIN ; main (initial) parameter transport routine
K ^TMP($J,"XPARRSTR")
N ENT,IDX,ROOT,REF,VAL,I
S ROOT=$NAME(^TMP($J,"XPARRSTR")),ROOT=$E(ROOT,1,$L(ROOT)-1)_","
D LOAD
S IDX=0,ENT="PKG.ORDER ENTRY/RESULTS REPORTING"
F S IDX=$O(^TMP($J,"XPARRSTR",IDX)) Q:'IDX D
. N PAR,INST,ORVAL,ORERR
. S PAR=$P(^TMP($J,"XPARRSTR",IDX,"KEY"),U),INST=$P(^("KEY"),U,2)
. M ORVAL=^TMP($J,"XPARRSTR",IDX,"VAL")
. D EN^XPAR(ENT,PAR,INST,.ORVAL,.ORERR)
K ^TMP($J,"XPARRSTR")
D PKG
Q
LOAD ; load data into ^TMP (expects ROOT to be defined)
S I=1 F S REF=$T(DATA+I) Q:REF="" S VAL=$T(DATA+I+1) D
. S I=I+2,REF=$P(REF,";",3,999),VAL=$P(VAL,";",3,999)
. S @(ROOT_REF)=VAL
Q
PKG ;Setup VBECS package level parameters of Pointer Type
N ORX,P
S P="OR VBECS COMPONENT ORDER"
D SET("RED BLOOD CELLS",P,5,"S.VBC")
D SET("FRESH FROZEN PLASMA",P,10,"S.VBC")
D SET("PLATELETS",P,15,"S.VBC")
D SET("CRYOPRECIPITATE",P,20,"S.VBC")
D SET("WHOLE BLOOD",P,25,"S.VBC")
D SET("OTHER",P,30,"S.VBC")
S P="OR VBECS DIAGNOSTIC TEST ORDER"
D SET("ABO/RH",P,5,"S.VBT")
D SET("ANTIBODY SCREEN",P,10,"S.VBT")
D SET("DIRECT ANTIGLOBULIN TEST",P,15,"S.VBT")
D SET("TRANSFUSION REACTION WORKUP",P,20,"S.VBT")
D SET("TYPE & SCREEN",P,25,"S.VBT")
Q
SET(ONAME,P,S,XREF) ;Set the parameter
;ONAME=Report name
;P=Parameter name
;S=Sequence (count)
;XREF=Cross Reference to screen on
N DA,ORERR
S DA=0 F S DA=$O(^ORD(101.43,XREF,ONAME,DA)) Q:'DA D
. D EN^XPAR("PKG.ORDER ENTRY/RESULTS REPORTING",P,S,ONAME,.ORERR)
Q
DATA ; parameter data
;;9343,"KEY")
;;OR VBECS REMOVE COLL TIME^1
;;9343,"VAL")
;;NO
;;9344,"KEY")
;;OR VBECS DIAGNOSTIC PANEL 1ST^1
;;9344,"VAL")
;;NO
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HORY280P 1854 printed Dec 13, 2024@02:40:42 Page 2
ORY280P ;slc/dcm - Export Package Level Parameters ;3/17/10 09:18
+1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**280**;Dec 17, 1997;Build 85
MAIN ; main (initial) parameter transport routine
+1 KILL ^TMP($JOB,"XPARRSTR")
+2 NEW ENT,IDX,ROOT,REF,VAL,I
+3 SET ROOT=$NAME(^TMP($JOB,"XPARRSTR"))
SET ROOT=$EXTRACT(ROOT,1,$LENGTH(ROOT)-1)_","
+4 DO LOAD
+5 SET IDX=0
SET ENT="PKG.ORDER ENTRY/RESULTS REPORTING"
+6 FOR
SET IDX=$ORDER(^TMP($JOB,"XPARRSTR",IDX))
if 'IDX
QUIT
Begin DoDot:1
+7 NEW PAR,INST,ORVAL,ORERR
+8 SET PAR=$PIECE(^TMP($JOB,"XPARRSTR",IDX,"KEY"),U)
SET INST=$PIECE(^("KEY"),U,2)
+9 MERGE ORVAL=^TMP($JOB,"XPARRSTR",IDX,"VAL")
+10 DO EN^XPAR(ENT,PAR,INST,.ORVAL,.ORERR)
End DoDot:1
+11 KILL ^TMP($JOB,"XPARRSTR")
+12 DO PKG
+13 QUIT
LOAD ; load data into ^TMP (expects ROOT to be defined)
+1 SET I=1
FOR
SET REF=$TEXT(DATA+I)
if REF=""
QUIT
SET VAL=$TEXT(DATA+I+1)
Begin DoDot:1
+2 SET I=I+2
SET REF=$PIECE(REF,";",3,999)
SET VAL=$PIECE(VAL,";",3,999)
+3 SET @(ROOT_REF)=VAL
End DoDot:1
+4 QUIT
PKG ;Setup VBECS package level parameters of Pointer Type
+1 NEW ORX,P
+2 SET P="OR VBECS COMPONENT ORDER"
+3 DO SET("RED BLOOD CELLS",P,5,"S.VBC")
+4 DO SET("FRESH FROZEN PLASMA",P,10,"S.VBC")
+5 DO SET("PLATELETS",P,15,"S.VBC")
+6 DO SET("CRYOPRECIPITATE",P,20,"S.VBC")
+7 DO SET("WHOLE BLOOD",P,25,"S.VBC")
+8 DO SET("OTHER",P,30,"S.VBC")
+9 SET P="OR VBECS DIAGNOSTIC TEST ORDER"
+10 DO SET("ABO/RH",P,5,"S.VBT")
+11 DO SET("ANTIBODY SCREEN",P,10,"S.VBT")
+12 DO SET("DIRECT ANTIGLOBULIN TEST",P,15,"S.VBT")
+13 DO SET("TRANSFUSION REACTION WORKUP",P,20,"S.VBT")
+14 DO SET("TYPE & SCREEN",P,25,"S.VBT")
+15 QUIT
SET(ONAME,P,S,XREF) ;Set the parameter
+1 ;ONAME=Report name
+2 ;P=Parameter name
+3 ;S=Sequence (count)
+4 ;XREF=Cross Reference to screen on
+5 NEW DA,ORERR
+6 SET DA=0
FOR
SET DA=$ORDER(^ORD(101.43,XREF,ONAME,DA))
if 'DA
QUIT
Begin DoDot:1
+7 DO EN^XPAR("PKG.ORDER ENTRY/RESULTS REPORTING",P,S,ONAME,.ORERR)
End DoDot:1
+8 QUIT
DATA ; parameter data
+1 ;;9343,"KEY")
+2 ;;OR VBECS REMOVE COLL TIME^1
+3 ;;9343,"VAL")
+4 ;;NO
+5 ;;9344,"KEY")
+6 ;;OR VBECS DIAGNOSTIC PANEL 1ST^1
+7 ;;9344,"VAL")
+8 ;;NO