- 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 Feb 19, 2025@00:07:14 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