ORY53906 ;SLC/RJS,CLA - OCX PACKAGE RULE TRANSPORT ROUTINE (Delete after Install of OR*3*539) ;JAN 13,2021 at 11:13
;;3.0;ORDER ENTRY/RESULTS REPORTING;**539**;Dec 17,1997;Build 41
;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
;
S ;
;
D DOT^ORY539ES
;
;
K REMOTE,LOCAL,OPCODE,REF
F LINE=1:1:500 S TEXT=$P($T(DATA+LINE),";",2,999) Q:TEXT I $L(TEXT) D Q:QUIT
.S ^TMP("OCXRULE",$J,$O(^TMP("OCXRULE",$J,"A"),-1)+1)=TEXT
;
;
;
Q
;
DATA ;
;
;;R^"860.8:",100,2
;;D^ ; ;
;;R^"860.8:",100,3
;;D^T+; W:$G(OCXTRACE) !!,"$$CLIST(",DATA,",""",LIST,""")"
;;R^"860.8:",100,4
;;D^ ; N PC F PC=1:1:$L(LIST,","),0 I PC,$L($P(LIST,",",PC)),(DATA[$P(LIST,",",PC)) Q
;;R^"860.8:",100,5
;;D^ ; Q ''PC
;;EOR^
;;EOF^OCXS(860.8)^1
;;SOF^860.6 ORDER CHECK DATA CONTEXT
;;KEY^860.6:^CPRS ORDER PROTOCOL
;;R^"860.6:",.01,"E"
;;D^CPRS ORDER PROTOCOL
;;R^"860.6:",.02,"E"
;;D^OERR
;;R^"860.6:",1,"E"
;;D^DATA DRIVEN
;;EOR^
;;KEY^860.6:^DATABASE LOOKUP
;;R^"860.6:",.01,"E"
;;D^DATABASE LOOKUP
;;R^"860.6:",.02,"E"
;;D^DL
;;R^"860.6:",1,"E"
;;D^PACKAGE LOOKUP
;;EOR^
;;KEY^860.6:^GENERIC HL7 MESSAGE ARRAY
;;R^"860.6:",.01,"E"
;;D^GENERIC HL7 MESSAGE ARRAY
;;R^"860.6:",.02,"E"
;;D^HL7
;;R^"860.6:",1,"E"
;;D^DATA DRIVEN
;;EOR^
;;EOF^OCXS(860.6)^1
;;SOF^860.5 ORDER CHECK DATA SOURCE
;;KEY^860.5:^DATABASE LOOKUP
;;R^"860.5:",.01,"E"
;;D^DATABASE LOOKUP
;;R^"860.5:",.02,"E"
;;D^DATABASE LOOKUP
;;EOR^
;;KEY^860.5:^HL7 PATIENT ID SEGMENT
;;R^"860.5:",.01,"E"
;;D^HL7 PATIENT ID SEGMENT
;;R^"860.5:",.02,"E"
;;D^GENERIC HL7 MESSAGE ARRAY
;;EOR^
;;KEY^860.5:^OERR ORDER EVENT FLAG PROTOCOL
;;R^"860.5:",.01,"E"
;;D^OERR ORDER EVENT FLAG PROTOCOL
;;R^"860.5:",.02,"E"
;;D^CPRS ORDER PROTOCOL
;;EOR^
;;EOF^OCXS(860.5)^1
;;SOF^860.4 ORDER CHECK DATA FIELD
;;KEY^860.4:^CURRENT DATE/TIME
;;R^"860.4:",.01,"E"
;;D^CURRENT DATE/TIME
;;R^"860.4:",1,"E"
;;D^CDT
;;R^"860.4:",101,"E"
;;D^FREE TEXT
;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.01,"E"
;;D^DATABASE LOOKUP
;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.02,"E"
;;D^DATABASE LOOKUP
;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",1,"E"
;;D^CURRENT_DATE/TIME
;;EOR^
;;KEY^860.4:^ORDER FLAGGED FOR CLARIFICATION
;;R^"860.4:",.01,"E"
;;D^ORDER FLAGGED FOR CLARIFICATION
;;R^"860.4:",101,"E"
;;D^BOOLEAN
;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.01,"E"
;;D^CPRS ORDER PROTOCOL
;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.02,"E"
;;D^OERR ORDER EVENT FLAG PROTOCOL
;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",1,"E"
;;D^PATIENT.OERR_ORDER_FLAGGED
;;EOR^
;;KEY^860.4:^PATIENT IEN
;;R^"860.4:",.01,"E"
;;D^PATIENT IEN
;;R^"860.4:",101,"E"
;;D^NUMERIC
;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.01,"E"
;;D^CPRS ORDER PROTOCOL
;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.02,"E"
;;D^OERR ORDER EVENT FLAG PROTOCOL
;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",1,"E"
;;D^PATIENT.OERR_ORDER_PATIENT
;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.01,"E"
;;D^DATABASE LOOKUP
;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.02,"E"
;;D^DATABASE LOOKUP
;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",1,"E"
;;D^PATIENT.IEN
;;R^"860.4:","860.41:GENERIC HL7 MESSAGE ARRAY^860.6",.01,"E"
;;D^GENERIC HL7 MESSAGE ARRAY
;;R^"860.4:","860.41:GENERIC HL7 MESSAGE ARRAY^860.6",.02,"E"
;;D^HL7 PATIENT ID SEGMENT
;;R^"860.4:","860.41:GENERIC HL7 MESSAGE ARRAY^860.6",1,"E"
;;D^PATIENT.HL7_PATIENT_ID
;;EOR^
;;EOF^OCXS(860.4)^1
;;SOF^860.3 ORDER CHECK ELEMENT
;;KEY^860.3:^ORDER FLAGGED
;;R^"860.3:",.01,"E"
;;D^ORDER FLAGGED
;;R^"860.3:",.02,"E"
;;D^CPRS ORDER PROTOCOL
;;R^"860.3:","860.31:1",.01,"E"
;;D^1
;;R^"860.3:","860.31:1",1,"E"
;;D^ORDER FLAGGED FOR CLARIFICATION
;;R^"860.3:","860.31:1",2,"E"
;;D^LOGICAL TRUE
;;EOR^
;;KEY^860.3:^ORDER UNFLAGGED
;;R^"860.3:",.01,"E"
;;D^ORDER UNFLAGGED
;;R^"860.3:",.02,"E"
;;D^CPRS ORDER PROTOCOL
;;R^"860.3:","860.31:1",.01,"E"
;;D^1
;;R^"860.3:","860.31:1",1,"E"
;;D^ORDER FLAGGED FOR CLARIFICATION
;;R^"860.3:","860.31:1",2,"E"
;;D^LOGICAL FALSE
;;EOR^
;;EOF^OCXS(860.3)^1
;;SOF^860.2 ORDER CHECK RULE
;;KEY^860.2:^ORDER FLAGGED FOR CLARIFICATION
;;R^"860.2:",.01,"E"
;;D^ORDER FLAGGED FOR CLARIFICATION
;;R^"860.2:","860.21:2",.01,"E"
;;D^ORDER FLAGGED
;;R^"860.2:","860.21:2",.02,"E"
;;D^SIMPLE DEFINITION
;;R^"860.2:","860.21:2",1,"E"
;;D^ORDER FLAGGED
;;R^"860.2:","860.21:3",.01,"E"
;;D^ORDER UNFLAGGED
;;R^"860.2:","860.21:3",.02,"E"
;;D^SIMPLE DEFINITION
;;R^"860.2:","860.21:3",1,"E"
;;D^ORDER UNFLAGGED
;;R^"860.2:","860.22:1",.01,"E"
;;D^1
;;R^"860.2:","860.22:1",1,"E"
;;D^ORDER FLAGGED
;;R^"860.2:","860.22:1",3,"E"
;;D^FLAG ORDER FOR CLARIFICATION
;;R^"860.2:","860.22:1",5,"E"
;;D^Order(s) needing clarification: Flagged |CURRENT DATE/TIME|.
;;R^"860.2:","860.22:1",9,"E"
;;D^N I,USR S I=0 F S I=$O(ORLIST(I)) Q:'I S USR=+ORLIST(I) I USR S OCXDUZ(USR)=""
;;R^"860.2:","860.22:2",.01,"E"
;;D^2
;;R^"860.2:","860.22:2",1,"E"
;;D^ORDER UNFLAGGED
;;R^"860.2:","860.22:2",9,"E"
;;D^D UNFLAG^ORB3FUP1(|PATIENT IEN|)
;;EOR^
;;EOF^OCXS(860.2)^1
;1;
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HORY53906 5312 printed Dec 13, 2024@02:42:51 Page 2
ORY53906 ;SLC/RJS,CLA - OCX PACKAGE RULE TRANSPORT ROUTINE (Delete after Install of OR*3*539) ;JAN 13,2021 at 11:13
+1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**539**;Dec 17,1997;Build 41
+2 ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
+3 ;
S ;
+1 ;
+2 DO DOT^ORY539ES
+3 ;
+4 ;
+5 KILL REMOTE,LOCAL,OPCODE,REF
+6 FOR LINE=1:1:500
SET TEXT=$PIECE($TEXT(DATA+LINE),";",2,999)
if TEXT
QUIT
IF $LENGTH(TEXT)
Begin DoDot:1
+7 SET ^TMP("OCXRULE",$JOB,$ORDER(^TMP("OCXRULE",$JOB,"A"),-1)+1)=TEXT
End DoDot:1
if QUIT
QUIT
+8 ;
+9 ;
+10 ;
+11 QUIT
+12 ;
DATA ;
+1 ;
+2 ;;R^"860.8:",100,2
+3 ;;D^ ; ;
+4 ;;R^"860.8:",100,3
+5 ;;D^T+; W:$G(OCXTRACE) !!,"$$CLIST(",DATA,",""",LIST,""")"
+6 ;;R^"860.8:",100,4
+7 ;;D^ ; N PC F PC=1:1:$L(LIST,","),0 I PC,$L($P(LIST,",",PC)),(DATA[$P(LIST,",",PC)) Q
+8 ;;R^"860.8:",100,5
+9 ;;D^ ; Q ''PC
+10 ;;EOR^
+11 ;;EOF^OCXS(860.8)^1
+12 ;;SOF^860.6 ORDER CHECK DATA CONTEXT
+13 ;;KEY^860.6:^CPRS ORDER PROTOCOL
+14 ;;R^"860.6:",.01,"E"
+15 ;;D^CPRS ORDER PROTOCOL
+16 ;;R^"860.6:",.02,"E"
+17 ;;D^OERR
+18 ;;R^"860.6:",1,"E"
+19 ;;D^DATA DRIVEN
+20 ;;EOR^
+21 ;;KEY^860.6:^DATABASE LOOKUP
+22 ;;R^"860.6:",.01,"E"
+23 ;;D^DATABASE LOOKUP
+24 ;;R^"860.6:",.02,"E"
+25 ;;D^DL
+26 ;;R^"860.6:",1,"E"
+27 ;;D^PACKAGE LOOKUP
+28 ;;EOR^
+29 ;;KEY^860.6:^GENERIC HL7 MESSAGE ARRAY
+30 ;;R^"860.6:",.01,"E"
+31 ;;D^GENERIC HL7 MESSAGE ARRAY
+32 ;;R^"860.6:",.02,"E"
+33 ;;D^HL7
+34 ;;R^"860.6:",1,"E"
+35 ;;D^DATA DRIVEN
+36 ;;EOR^
+37 ;;EOF^OCXS(860.6)^1
+38 ;;SOF^860.5 ORDER CHECK DATA SOURCE
+39 ;;KEY^860.5:^DATABASE LOOKUP
+40 ;;R^"860.5:",.01,"E"
+41 ;;D^DATABASE LOOKUP
+42 ;;R^"860.5:",.02,"E"
+43 ;;D^DATABASE LOOKUP
+44 ;;EOR^
+45 ;;KEY^860.5:^HL7 PATIENT ID SEGMENT
+46 ;;R^"860.5:",.01,"E"
+47 ;;D^HL7 PATIENT ID SEGMENT
+48 ;;R^"860.5:",.02,"E"
+49 ;;D^GENERIC HL7 MESSAGE ARRAY
+50 ;;EOR^
+51 ;;KEY^860.5:^OERR ORDER EVENT FLAG PROTOCOL
+52 ;;R^"860.5:",.01,"E"
+53 ;;D^OERR ORDER EVENT FLAG PROTOCOL
+54 ;;R^"860.5:",.02,"E"
+55 ;;D^CPRS ORDER PROTOCOL
+56 ;;EOR^
+57 ;;EOF^OCXS(860.5)^1
+58 ;;SOF^860.4 ORDER CHECK DATA FIELD
+59 ;;KEY^860.4:^CURRENT DATE/TIME
+60 ;;R^"860.4:",.01,"E"
+61 ;;D^CURRENT DATE/TIME
+62 ;;R^"860.4:",1,"E"
+63 ;;D^CDT
+64 ;;R^"860.4:",101,"E"
+65 ;;D^FREE TEXT
+66 ;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.01,"E"
+67 ;;D^DATABASE LOOKUP
+68 ;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.02,"E"
+69 ;;D^DATABASE LOOKUP
+70 ;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",1,"E"
+71 ;;D^CURRENT_DATE/TIME
+72 ;;EOR^
+73 ;;KEY^860.4:^ORDER FLAGGED FOR CLARIFICATION
+74 ;;R^"860.4:",.01,"E"
+75 ;;D^ORDER FLAGGED FOR CLARIFICATION
+76 ;;R^"860.4:",101,"E"
+77 ;;D^BOOLEAN
+78 ;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.01,"E"
+79 ;;D^CPRS ORDER PROTOCOL
+80 ;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.02,"E"
+81 ;;D^OERR ORDER EVENT FLAG PROTOCOL
+82 ;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",1,"E"
+83 ;;D^PATIENT.OERR_ORDER_FLAGGED
+84 ;;EOR^
+85 ;;KEY^860.4:^PATIENT IEN
+86 ;;R^"860.4:",.01,"E"
+87 ;;D^PATIENT IEN
+88 ;;R^"860.4:",101,"E"
+89 ;;D^NUMERIC
+90 ;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.01,"E"
+91 ;;D^CPRS ORDER PROTOCOL
+92 ;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",.02,"E"
+93 ;;D^OERR ORDER EVENT FLAG PROTOCOL
+94 ;;R^"860.4:","860.41:CPRS ORDER PROTOCOL^860.6",1,"E"
+95 ;;D^PATIENT.OERR_ORDER_PATIENT
+96 ;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.01,"E"
+97 ;;D^DATABASE LOOKUP
+98 ;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",.02,"E"
+99 ;;D^DATABASE LOOKUP
+100 ;;R^"860.4:","860.41:DATABASE LOOKUP^860.6",1,"E"
+101 ;;D^PATIENT.IEN
+102 ;;R^"860.4:","860.41:GENERIC HL7 MESSAGE ARRAY^860.6",.01,"E"
+103 ;;D^GENERIC HL7 MESSAGE ARRAY
+104 ;;R^"860.4:","860.41:GENERIC HL7 MESSAGE ARRAY^860.6",.02,"E"
+105 ;;D^HL7 PATIENT ID SEGMENT
+106 ;;R^"860.4:","860.41:GENERIC HL7 MESSAGE ARRAY^860.6",1,"E"
+107 ;;D^PATIENT.HL7_PATIENT_ID
+108 ;;EOR^
+109 ;;EOF^OCXS(860.4)^1
+110 ;;SOF^860.3 ORDER CHECK ELEMENT
+111 ;;KEY^860.3:^ORDER FLAGGED
+112 ;;R^"860.3:",.01,"E"
+113 ;;D^ORDER FLAGGED
+114 ;;R^"860.3:",.02,"E"
+115 ;;D^CPRS ORDER PROTOCOL
+116 ;;R^"860.3:","860.31:1",.01,"E"
+117 ;;D^1
+118 ;;R^"860.3:","860.31:1",1,"E"
+119 ;;D^ORDER FLAGGED FOR CLARIFICATION
+120 ;;R^"860.3:","860.31:1",2,"E"
+121 ;;D^LOGICAL TRUE
+122 ;;EOR^
+123 ;;KEY^860.3:^ORDER UNFLAGGED
+124 ;;R^"860.3:",.01,"E"
+125 ;;D^ORDER UNFLAGGED
+126 ;;R^"860.3:",.02,"E"
+127 ;;D^CPRS ORDER PROTOCOL
+128 ;;R^"860.3:","860.31:1",.01,"E"
+129 ;;D^1
+130 ;;R^"860.3:","860.31:1",1,"E"
+131 ;;D^ORDER FLAGGED FOR CLARIFICATION
+132 ;;R^"860.3:","860.31:1",2,"E"
+133 ;;D^LOGICAL FALSE
+134 ;;EOR^
+135 ;;EOF^OCXS(860.3)^1
+136 ;;SOF^860.2 ORDER CHECK RULE
+137 ;;KEY^860.2:^ORDER FLAGGED FOR CLARIFICATION
+138 ;;R^"860.2:",.01,"E"
+139 ;;D^ORDER FLAGGED FOR CLARIFICATION
+140 ;;R^"860.2:","860.21:2",.01,"E"
+141 ;;D^ORDER FLAGGED
+142 ;;R^"860.2:","860.21:2",.02,"E"
+143 ;;D^SIMPLE DEFINITION
+144 ;;R^"860.2:","860.21:2",1,"E"
+145 ;;D^ORDER FLAGGED
+146 ;;R^"860.2:","860.21:3",.01,"E"
+147 ;;D^ORDER UNFLAGGED
+148 ;;R^"860.2:","860.21:3",.02,"E"
+149 ;;D^SIMPLE DEFINITION
+150 ;;R^"860.2:","860.21:3",1,"E"
+151 ;;D^ORDER UNFLAGGED
+152 ;;R^"860.2:","860.22:1",.01,"E"
+153 ;;D^1
+154 ;;R^"860.2:","860.22:1",1,"E"
+155 ;;D^ORDER FLAGGED
+156 ;;R^"860.2:","860.22:1",3,"E"
+157 ;;D^FLAG ORDER FOR CLARIFICATION
+158 ;;R^"860.2:","860.22:1",5,"E"
+159 ;;D^Order(s) needing clarification: Flagged |CURRENT DATE/TIME|.
+160 ;;R^"860.2:","860.22:1",9,"E"
+161 ;;D^N I,USR S I=0 F S I=$O(ORLIST(I)) Q:'I S USR=+ORLIST(I) I USR S OCXDUZ(USR)=""
+162 ;;R^"860.2:","860.22:2",.01,"E"
+163 ;;D^2
+164 ;;R^"860.2:","860.22:2",1,"E"
+165 ;;D^ORDER UNFLAGGED
+166 ;;R^"860.2:","860.22:2",9,"E"
+167 ;;D^D UNFLAG^ORB3FUP1(|PATIENT IEN|)
+168 ;;EOR^
+169 ;;EOF^OCXS(860.2)^1
+170 ;1;
+171 ;