OCXOZ11 ;SLC/RJS,CLA - Order Check Scan ;JUN 2,2026 at 09:53
Source file <OCXOZ11.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| R71R1A | ; Verify all Event/Elements of Rule #71 'OPIOID MEDICATIONS' Relation #1 'OPIOID MED ORDER AND DUP OPIOID MEDS'
; Called from EL138+5^OCXOZ0H, and EL139+5^OCXOZ0H. |
|
| R71R1B | ; Send Order Check, Notication messages and/or Execute code for Rule #71 'OPIOID MEDICATIONS' Relation #1 'OPIOID MED ORDER AND DUP OPIOID MEDS'
; Called from R71R1A+12. |
|
| R72R1A | ; Verify all Event/Elements of Rule #72 'AUTO DCED CONTROLLED SUBSTANCE ORDERS' Relation #1 'PHARM DCED AND PHARM HASH MISMATCH'
; Called from EL142+5^OCXOZ0H, and EL143+5^OCXOZ0H. |
|
| R72R1B | ; Send Order Check, Notication messages and/or Execute code for Rule #72 'AUTO DCED CONTROLLED SUBSTANCE ORDERS' Relation #1 'PHARM DCED AND PHARM HASH MISMATCH'
; Called from R72R1A+12. |
|
| R72R2A | ; Verify all Event/Elements of Rule #72 'AUTO DCED CONTROLLED SUBSTANCE ORDERS' Relation #2 'PHARM DCED AND DEA CERT REVOKED'
; Called from EL142+6^OCXOZ0H, and EL141+5^OCXOZ0H. |
|
| CKSUM(STR) | ; Compiler Function: GENERATE STRING CHECKSUM
|
|
| GETDATA(DFN,OCXL,OCXDFI) | ; This Local Extrinsic Function returns runtime data
|
|
| MCE138() | ; Verify Event/Element: DUP OPIOID MEDS
|
|
| MCE139() | ; Verify Event/Element: OPIOID MED ORDER
|
|
| MCE141() | ; Verify Event/Element: HL7 DEA CERT REVOKED
|
|
| MCE142() | ; Verify Event/Element: HL7 PHARMACY DCED ORDER
|
|
| MCE143() | ; Verify Event/Element: HL7 PHARMACY HASH MISMATCH
|
|
| NEWRULE(OCXDFN,OCXORD,OCXRUL,OCXREL,OCXNOTF,OCXMESS) | ; Has this rule already been triggered for this order number
|
|
| SETAP(ROOT,DD,DATA,DA) | ; Set Rule Event data
|
|
| OPIOID(ORPT) | ;determine if pat is receiving opioid med
; rtn 1^opioid drug 1, opioid drug 2, opioid drug3, ... |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^OCXD(860.7 - [#860.7] | NEWRULE+13, NEWRULE+47! |
| ^OCXS(860.2 - [#860.2] | R71R1A+9, R72R1A+9, R72R2A+9, NEWRULE+38 |
| ^ORD(100.98 - [#100.98] | OPIOID+5 |
| ^PSDRUG - [#50] | OPIOID+15 |
| ^TMP("OCXCHK" | GETDATA+3, MCE138+8, MCE138+11*, MCE139+6, MCE141+5, MCE142+5, MCE143+5, NEWRULE+50, NEWRULE+55 |
| ^TMP("OCXSWAP" | R72R1B+20 |
| ^TMP("ORR" | OPIOID+4!, OPIOID+8, OPIOID+9, OPIOID+10, OPIOID+27! |
| Name | Line Occurrences |
|---|---|
| $$CKSUM | NEWRULE+10 |
| $$GETDATA | R71R1B+11, R71R1B+12 |
| $$MCE138 | R71R1A+12 |
| $$MCE139 | R71R1A+11 |
| $$MCE141 | R72R2A+12 |
| $$MCE142 | R72R1A+11, R72R2A+11 |
| $$MCE143 | R72R1A+12 |
| $$NEWRULE | R72R1B+27 |
| $$OPIOID | MCE138+9, MCE138+11 |
| R71R1B | R71R1A+12 |
| R72R1B | R72R1A+12 |
| SETAP | NEWRULE+23, NEWRULE+30, NEWRULE+36, NEWRULE+48, NEWRULE+57 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ASC | CKSUM+2~, CKSUM+4* |
| CKSUM | CKSUM+2~*, CKSUM+4*, CKSUM+5 |
| DA | SETAP~, SETAP+2, SETAP+3 |
| DATA | SETAP~, SETAP+1 |
| DD | SETAP~, SETAP+2, SETAP+3 |
| DFN | R71R1B+11, R71R1B+12, R72R1B+27, R72R1B+28, GETDATA~, GETDATA+3, MCE138+7, MCE139+5 |
| DUP | OPIOID+2~ |
| DUP( | OPIOID+19*, OPIOID+25, OPIOID+26 |
| DUPI | OPIOID+2~, OPIOID+3*, OPIOID+19*, OPIOID+21, OPIOID+24 |
| DUPJ | OPIOID+2~, OPIOID+24*, OPIOID+25, OPIOID+26 |
| DUPLEN | OPIOID+2~, OPIOID+3*, OPIOID+23*, OPIOID+25, OPIOID+26 |
| HOR | OPIOID+7~*, OPIOID+8*, OPIOID+9, OPIOID+10 |
| J | OPIOID+7~* |
| OCXCKSUM | NEWRULE+7~, NEWRULE+10*, NEWRULE+13, NEWRULE+20 |
| OCXCMSG | R71R1B+10~, R71R1B+11*, R71R1B+12*, R71R1B+19, R72R1B+10~, R72R1B+11* |
| OCXDATA | R71R1B+10~, R72R1B+10~, R72R1B+18*, R72R1B+20*, R72R1B+21*, R72R1B+28, NEWRULE+7~, NEWRULE+17!, NEWRULE+23, NEWRULE+25! , NEWRULE+30, NEWRULE+32!, NEWRULE+36, NEWRULE+42!, NEWRULE+48, NEWRULE+53!, NEWRULE+57 |
| OCXDATA( | NEWRULE+18*, NEWRULE+26*, NEWRULE+27*, NEWRULE+33*, NEWRULE+43*, NEWRULE+44*, NEWRULE+45*, NEWRULE+54*, NEWRULE+55* |
| OCXDATA("AT" | NEWRULE+20* |
| OCXDATA("B" | NEWRULE+19*, NEWRULE+28*, NEWRULE+34*, NEWRULE+46*, NEWRULE+56* |
| >> OCXDF(157 | MCE138+9* |
| >> OCXDF(158 | MCE138+11* |
| >> OCXDF(37 | MCE138+7*, MCE138+8, MCE138+9, MCE138+11, MCE139+5*, MCE139+6, MCE141+4, MCE141+5, MCE142+4, MCE142+5 , MCE143+4, MCE143+5 |
| OCXDFI | GETDATA~, GETDATA+3, NEWRULE+7~, NEWRULE+50*, NEWRULE+54, NEWRULE+55, NEWRULE+56, NEWRULE+57 |
| OCXDFN | NEWRULE~, NEWRULE+3, NEWRULE+5*, NEWRULE+13, NEWRULE+18, NEWRULE+19, NEWRULE+20, NEWRULE+23, NEWRULE+29, NEWRULE+47 , NEWRULE+50, NEWRULE+55 |
| OCXDUZ | R71R1B+10~, R72R1B+10~, R72R1B+18*, R72R1B+28 |
| OCXDUZ( | R72R1B+23* |
| OCXE | GETDATA+2~, GETDATA+3* |
| OCXELE | NEWRULE+7~, NEWRULE+38*, NEWRULE+43, NEWRULE+44, NEWRULE+45, NEWRULE+46, NEWRULE+47, NEWRULE+48, NEWRULE+50, NEWRULE+52 , NEWRULE+55 |
| OCXFORD | R71R1B+10~, R72R1B+10~ |
| OCXGR | NEWRULE+7~, NEWRULE+22*, NEWRULE+23, NEWRULE+29*, NEWRULE+30, NEWRULE+35*, NEWRULE+36, NEWRULE+41 |
| OCXGR1 | NEWRULE+40~, NEWRULE+41*, NEWRULE+48, NEWRULE+52 |
| OCXGR2 | NEWRULE+51~, NEWRULE+52*, NEWRULE+57 |
| OCXL | GETDATA~, GETDATA+3 |
| OCXLOGD | R71R1B+10~, R72R1B+10~ |
| OCXLOGS | R71R1B+10~, R72R1B+10~ |
| OCXMESS | NEWRULE~, NEWRULE+4, NEWRULE+10, NEWRULE+27 |
| OCXNDX | NEWRULE+7~ |
| OCXNMSG | R71R1B+10~, R71R1B+13*, R72R1B+10~, R72R1B+12*, R72R1B+27, R72R1B+28 |
| OCXNOTF | NEWRULE~, NEWRULE+4 |
| OCXNUM | R71R1B+10~, R72R1B+10~, R72R1B+18*, R72R1B+21*, R72R1B+24*, R72R1B+25*, R72R1B+27, R72R1B+28 |
| >> OCXOCMSG( | R71R1B+19* |
| >> OCXOCMSG(999999 | R71R1B+19 |
| >> OCXOERR | R71R1A+3, R71R1B+3, R71R1B+15, R72R1A+3, R72R1B+3, R72R1B+14, R72R2A+3 |
| >> OCXOLOG | NEWRULE+45 |
| OCXORD | R72R1B+23, R72R1B+24, NEWRULE~, NEWRULE+5*, NEWRULE+13, NEWRULE+20, NEWRULE+26 |
| >> OCXOSRC | R71R1B+11, R72R1B+19, R72R1B+22, R72R1B+25 |
| OCXPORD | R71R1B+10~, R72R1B+10~ |
| >> OCXPSD | R71R1B+11, R72R1B+25 |
| OCXQUIT | R71R1B+10~, R72R1B+10~ |
| OCXREL | NEWRULE~, NEWRULE+4, NEWRULE+33, NEWRULE+34, NEWRULE+36, NEWRULE+41, NEWRULE+47 |
| OCXRES | MCE138+6~, MCE139+4~, MCE141+3~, MCE142+3~, MCE143+3~ |
| OCXRES(138 | MCE138+7*, MCE138+9*, MCE138+11*, MCE138+12 |
| OCXRES(139 | MCE139+5* |
| OCXRES(141 | MCE141+4* |
| OCXRES(142 | MCE142+4* |
| OCXRES(143 | MCE143+4* |
| OCXRUL | NEWRULE~, NEWRULE+3, NEWRULE+13, NEWRULE+20, NEWRULE+26, NEWRULE+27, NEWRULE+28, NEWRULE+30, NEWRULE+35, NEWRULE+38 , NEWRULE+47 |
| >> OCXRULE("R71R1B" | R71R1B+8 |
| >> OCXRULE("R72R1B" | R72R1B+8, R72R1B+26* |
| OCXTIME | NEWRULE+7~, NEWRULE+9*, NEWRULE+13, NEWRULE+20, NEWRULE+26, NEWRULE+44 |
| >> OCXTRACE | R72R1B+28 |
| OCXTSP | NEWRULE+7~, NEWRULE+12*, NEWRULE+15, NEWRULE+20 |
| >> OCXTSPI | NEWRULE+13 |
| OCXTSPL | NEWRULE+7~, NEWRULE+13*, NEWRULE+15 |
| ORDCLAS | OPIOID+2~, OPIOID+15*, OPIOID+16 |
| ORDERS | OPIOID+2~, OPIOID+25*, OPIOID+26*, OPIOID+28 |
| ORDG | OPIOID+2~, OPIOID+3*, OPIOID+5*, OPIOID+6 |
| ORDI | OPIOID+2~, OPIOID+13*, OPIOID+14, OPIOID+15 |
| >> ORIFN | OPIOID+12 |
| ORNUM | OPIOID+2~, OPIOID+11*, OPIOID+12, OPIOID+13, OPIOID+17 |
| ORPT | OPIOID~, OPIOID+6 |
| ORTEXT | OPIOID+2~, OPIOID+17*, OPIOID+18*, OPIOID+19 |
| ORTN | OPIOID+2~, OPIOID+3*, OPIOID+8, OPIOID+20*, OPIOID+28 |
| PC | GETDATA+2~, GETDATA+3* |
| PTR | CKSUM+2~, CKSUM+4* |
| ROOT | SETAP~, SETAP+1, SETAP+2, SETAP+3* |
| SEQ | OPIOID+7~*, OPIOID+9*, OPIOID+10 |
| STR | CKSUM~, CKSUM+3*, CKSUM+4 |
| U | R72R1B+23, R72R1B+24, GETDATA+3, NEWRULE+26, SETAP+2, SETAP+3, OPIOID+15, OPIOID+18, OPIOID+28 |
| VAL | GETDATA+2~*, GETDATA+3*, GETDATA+4 |
| X | OPIOID+7~, OPIOID+10*, OPIOID+11 |