ORM ; SLC/MKB/JDL - ORM msg router ;15-Jun-2010 21:22;PLS
Source file <ORM.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| PV1 | ; -- Returns patient location in PV1 segment in current msg ; Sets PV1, ORCAT, & ORL if valid location, ORAPPT: IMO appointment | |
| ORDITEM(USID) | ; -- Returns pointer to Orderable Item file for USID | |
| FIND(SEG,PIECE) | ; -- Returns value in $P(@ORMSG@(SEG),"|",PIECE) | |
| URGENCY(CODE) | ; -- Return ptr to Order Urgency file #101.42 | |
| FQ | ||
| EN(MSG) | ; -- main entry point for OR RECEIVE where MSG contains HL7 msg | |
| PID | ; -- Returns patient from PID segment in current msg ; Sets PID, ORVP, ORTS if valid patient | |
| SAVEVAL(ORIFN,PMPT) | ;EP | |
| EN1 | ||
| NMSP(NAME) | ; -- Returns pkg namespace | |
| FMDATE(Y) | ; -- Convert HL7 date/time to FM format | |
| ERROR | ; -- Sends a DE reply to current msg ; Uses ORVP, ORNMSP, ORDUZ, ORIFN, ORERR, and PKGIFN | |
| XTMP | ; -- Save package auto-dc'd order numbers in ^XTMP ; Uses ORIFN, ORNMSP | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^DPT - [#2] | PID+5 | 
| ^OR(100 - [#100] | EN1+5, XTMP+2 | 
| ^ORD(101.41 - [#101.41] | SAVEVAL+2 | 
| ^ORD(101.42 - [#101.42] | URGENCY+2 | 
| ^ORD(101.43 - [#101.43] | ORDITEM+3 | 
| ^SC - [#44] | PV1+5 | 
| ^XTMP( | XTMP+4!, XTMP+5, XTMP+7*, XTMP+8* | 
| Name | Line Occurrences | 
|---|---|
| $$FMDATE | EN1+7, EN1+8, PV1+7 | 
| $$NMSP | EN+7 | 
| $$URGENCY | EN1+8 | 
| @( | EN1+11 | 
| ERROR | EN1+3, EN1+5, EN1+11 | 
| PID | EN+9, ERROR+4 | 
| PV1 | EN+10 | 
| XTMP | EN1+13 | 
| Name | Field # of Occurrence | 
|---|---|
| ^(0 | EN1+5, XTMP+4 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| CODE | URGENCY~, URGENCY+1*, URGENCY+2 | 
| DFN | PID+2~, PID+4*, PID+5 | 
| >> DGPMDA | XTMP+3 | 
| >> DGPMT | EN1+13 | 
| DONE | FIND+1~, FIND+2*, FIND+3, FIND+4*, FIND+6*, FIND+8* | 
| DUZ | ERROR+4 | 
| FLDS | FIND+1~, FIND+2*, FIND+4, FIND+5, FIND+9* | 
| I | PID+2~*, PID+3*, PID+4, PID+6, PV1+2~*, PV1+3*, PV1+4, PV1+6, FIND+1~, FIND+2* , FIND+6*, FIND+7, FIND+8*, FIND+9 | 
| ID | ORDITEM+1~, ORDITEM+2*, ORDITEM+3 | 
| INST | SAVEVAL+1~, SAVEVAL+3* | 
| MSG | EN~, EN+3 | 
| MSH | EN+1~, EN+5*, EN+6, EN+7, PID+2 | 
| NAME | NMSP~, NMSP+1, NMSP+2, NMSP+3, NMSP+4, NMSP+5, NMSP+6, NMSP+7 | 
| OI | ORDITEM+1~, ORDITEM+3*, ORDITEM+4 | 
| ORAPPT | EN+1~, EN+2*, PV1+6*, PV1+7* | 
| ORC | EN+1~, EN+10*, EN1*, EN1+2*, EN1+4, EN1+6, EN1+8, EN1+9 | 
| ORCAT | EN+1~, PV1+4* | 
| ORDC | XTMP+3~*, XTMP+4, XTMP+5, XTMP+7, XTMP+8 | 
| ORDCNTRL | EN1+1~, EN1+2*, EN1+3, EN1+12, EN1+13 | 
| >> ORDIALOG( | SAVEVAL+3* | 
| ORDSTS | EN1+1~, EN1+6* | 
| ORDUZ | EN1+1~, EN1+9*, ERROR+4*, ERROR+6 | 
| OREASON | EN1+1~, EN1+9*, EN1+10 | 
| OREMSG | ERROR+4~, ERROR+7 | 
| OREMSG(1 | ERROR+5* | 
| OREMSG(2 | ERROR+5* | 
| OREMSG(3 | ERROR+6* | 
| ORERR | EN1+1~, EN1+3*, EN1+5*, EN1+11, ERROR+2, ERROR+6 | 
| ORIFN | EN1+1~, EN1+4*, EN1+5, EN1+12, ERROR+6, XTMP+2, XTMP+8, SAVEVAL~, SAVEVAL+3 | 
| ORL | EN+1~, EN+2*, PV1+5* | 
| ORLOG | EN1+1~, EN1+8* | 
| ORMSG | EN+1~, EN+3*, EN+4, EN+5, EN+6, EN+7, EN+8, EN+9, EN1, EN1+2 , PID+3, PID+4, PID+6, PV1+3, PV1+4, PV1+6, ERROR+2, FIND+2, FIND+6, FIND+7 , FIND+8, FIND+9 | 
| ORNATR | EN1+1~, EN1+10* | 
| ORNMSP | EN+1~, EN+7*, EN+8, EN1+11, ERROR+3, ERROR+5, ERROR+6, ERROR+7, XTMP+8 | 
| ORNOW | XTMP+3~*, XTMP+4, XTMP+6, XTMP+7 | 
| ORNOW1H | XTMP+6~*, XTMP+7 | 
| ORNP | EN1+1~, EN1+9* | 
| ORQT | EN1+1~, EN1+6*, EN1+7, EN1+8 | 
| ORSTOP | EN1+1~, EN1+7* | 
| ORSTRT | EN1+1~, EN1+7* | 
| ORTN | EN1+1~, EN1+11* | 
| ORTS | EN+1~, PID+5*, ERROR+4~ | 
| ORTYPE | EN+1~, EN+7*, ERROR+3 | 
| ORURG | EN1+1~, EN1+8* | 
| ORV | ERROR+2~ | 
| ORV("XQY0" | ERROR+2* | 
| ORVP | EN+1~, EN+9, EN1+5, PID+5*, PID+6*, ERROR+4~, ERROR+5 | 
| PID | EN+1~, EN+10, PID+2*, PID+4*, PV1+2 | 
| PIECE | FIND~, FIND+4, FIND+5, FIND+6, FIND+9* | 
| PKGIFN | EN1+1~, EN1+4*, ERROR+6 | 
| PMPT | SAVEVAL~, SAVEVAL+2, SAVEVAL+3 | 
| PTR | SAVEVAL+1~, SAVEVAL+2*, SAVEVAL+3 | 
| PV1 | EN+1~, PV1+2*, PV1+4* | 
| SEG | PID+2~, PID+3*, PV1+2~, PV1+3*, FIND~, FIND+2, FIND+6, FIND+7, FIND+8, FIND+9 | 
| U | EN1+2, EN1+4, EN1+5, EN1+7, EN1+8, EN1+10, ORDITEM+2, ERROR+6, XTMP+2, XTMP+7 | 
| USID | ORDITEM~, ORDITEM+2 | 
| VAL | SAVEVAL+1~, SAVEVAL+3* | 
| X | PV1+2~, PV1+4*, PV1+5, FIND+1~, FIND+2*, FIND+4, FIND+6, FIND+9* | 
| Y | FMDATE~, FMDATE+1, FIND+1~, FIND+2*, FIND+4*, FIND+6*, FIND+7*, FIND+8*, FQ |