MDHL7U3 ;HOIFO/WAA - Utilities for CP to process HL7 messages ;02/17/10 15:59
Source file <MDHL7U3.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 |
|---|---|---|
| HL7CHK(MDD702) | ; Check to see of there is an entry in 703.1 for a patient.
|
|
| XVERT(MDA,MDB) | ; Strip out blank Lines
|
|
| PURGE(MDD7031) | ;
; This sub-routine will delete HL7 772 Message text after a message ; been processed by Imaging. |
|
| PHY(X,MDIEN) | ; Add the doc who did the exam to the report
|
|
| CPTICD(X,MDIEN) | ; Break out CPT and ICD9 codes
|
|
| FILECD(MDIEN,CODE,TYPE) | ; fILE THE DATA
|
|
| ADD(MDIEN,TYPE,LINE,CNT) | ;
; Create an entry in the .1 node |
|
| MSGIEN(MDHLIENS,MDHLREST) | ; Return the message as definded in MDHLIENS to the array in MDHLREST
; Only TCP type messages ; input: MDHLIENS= the intern entry number of the message in ^HLMA ; MDHLREST = the return array that will contain the whole HL7 message ; output: return "1^Message complete" if message was successful, "0^reason" if failed. |
|
| CICNV(MDIEN,RETURN) | ; This subroutine will read the data in 703.1 and return the results
|
|
| PROCESS(MDIEN,NODE,TYPE,ARRAY) | ; This will process the data for each
|
|
| NOTICE(SUBJECT,TXT,DEVIEN,DUZ) | ; This will fire off a mail message to the Indicated mail group saying that a study was deleted
|
|
| ALERT(MDSIEN) | ; This is to send an e-mail to the main device mail group that a study has been deleted
|
| Name | Field # of Occurrence |
|---|---|
| NOW^%DTC | ADD+8, ALERT+1 |
| $$FIND1^DIC | NOTICE+6 |
| $$GET1^DIQ | NOTICE+7, ALERT+2, ALERT+4, ALERT+10, ALERT+11, ALERT+12, ALERT+13, ALERT+14, ALERT+15, ALERT+16 , ALERT+17 |
| DELBODY^HLUOPT2 | PURGE+5 |
| $$ICDDATA^ICDXCODE | PROCESS+6 |
| $$CPT^ICPTCOD | PROCESS+7 |
| $$MG^MDHL7U2 | NOTICE+6 |
| CPTLEX^MDRPCWU | PROCESS+24 |
| $$FMTE^XLFDT | ALERT+5, ALERT+11, ALERT+16 |
| SENDMSG^XMXAPI | NOTICE+11 |
| FileNo | Call Tags |
|---|---|
| ^VA(200 - [#200] | GET1^DIQ |
| ^XMB(3.8 - [#3.8] | FIND1^DIC, GET1^DIQ |
| ^MDD(702 - [#702] | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^HL(772 - [#772] | MSGIEN+13, MSGIEN+21, MSGIEN+23 |
| ^HLMA - [#773] | MSGIEN+10, MSGIEN+11, MSGIEN+15 |
| ^MDD(702 - [#702] | HL7CHK+5 |
| ^MDD(703.1 - [#703.1] | HL7CHK+6, HL7CHK+8, PURGE+3, PURGE+4, PURGE+6*, ADD+3, ADD+6*, ADD+7*, ADD+9*, CICNV+7 , CICNV+10, CICNV+11, CICNV+12, PROCESS+3, PROCESS+4, PROCESS+6 |
| ^MDS(702.09 - [#702.09] | NOTICE+5 |
| ^TMP("MDLEX" | PROCESS+25, PROCESS+27, PROCESS+29 |
| ^TMP($J | XVERT+3, XVERT+6, XVERT+7, XVERT+12*, XVERT+16* |
| ^XMB("NETNAME" | NOTICE+8 |
| Name | Line Occurrences |
|---|---|
| ADD | PHY+8, FILECD+7 |
| FILECD | CPTICD+3, CPTICD+4 |
| PROCESS | CICNV+13, CICNV+14 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| >> % | FILECD+5, ALERT+5 |
| AR | PROCESS+1~, PROCESS+6*, PROCESS+7*, PROCESS+9, PROCESS+10, PROCESS+15, PROCESS+16, PROCESS+17, PROCESS+18, PROCESS+19 , PROCESS+21, PROCESS+37, PROCESS+38, PROCESS+39, PROCESS+40, PROCESS+42 |
| ARRAY | CICNV+13, CICNV+14, CICNV+17, PROCESS~ |
| ARRAY( | PROCESS+9*, PROCESS+15*, PROCESS+16*, PROCESS+17*, PROCESS+18*, PROCESS+19*, PROCESS+37*, PROCESS+38*, PROCESS+39*, PROCESS+40* , PROCESS+42* |
| ARRAY(0 | CICNV+6*, PROCESS+45* |
| ARRAY(1 | PROCESS+45 |
| ARRAY(2 | PROCESS+45 |
| >> BODY(1 | ALERT+3* |
| >> BODY(10 | ALERT+12* |
| >> BODY(11 | ALERT+13* |
| >> BODY(12 | ALERT+14* |
| >> BODY(13 | ALERT+15* |
| >> BODY(14 | ALERT+16* |
| >> BODY(2 | ALERT+4* |
| >> BODY(3 | ALERT+5* |
| >> BODY(4 | ALERT+6* |
| >> BODY(5 | ALERT+7* |
| >> BODY(6 | ALERT+8* |
| >> BODY(7 | ALERT+9* |
| >> BODY(8 | ALERT+10* |
| >> BODY(9 | ALERT+11* |
| CNT | XVERT+4~, XVERT+5*, XVERT+12, XVERT+15*, XVERT+16, FILECD+1~, FILECD+2*, FILECD+4, FILECD+5, FILECD+6 , FILECD+7, ADD~, PROCESS+1~, PROCESS+2*, PROCESS+3*, PROCESS+4, PROCESS+36 |
| CNT2 | XVERT+4~, XVERT+11*, XVERT+12, XVERT+17* |
| CODE | FILECD~, FILECD+2, FILECD+4, PROCESS+1~, PROCESS+4*, PROCESS+5, PROCESS+6, PROCESS+7, PROCESS+24 |
| CONT | PROCESS+1~, PROCESS+2*, PROCESS+8*, PROCESS+9, PROCESS+14 |
| CPT | CPTICD+1~, CPTICD+3* |
| CPTCNT | PROCESS+22~, PROCESS+26*, PROCESS+27*, PROCESS+29 |
| DESC | PROCESS+11~, PROCESS+13*, PROCESS+18, PROCESS+22~, PROCESS+26*, PROCESS+27, PROCESS+31*, PROCESS+33*, PROCESS+40 |
| DEVIEN | NOTICE~, NOTICE+4, ALERT+17* |
| DUZ | NOTICE~, NOTICE+11, ALERT+4 |
| FLG | XVERT+4~, XVERT+5*, XVERT+9*, XVERT+10, XVERT+14, XVERT+17*, CICNV+2~, CICNV+3*, CICNV+7*, CICNV+10 |
| I | XVERT+4~, XVERT+5*, XVERT+6*, XVERT+7, FILECD+1~, FILECD+4*, PROCESS+14*, PROCESS+15, PROCESS+16, PROCESS+17 , PROCESS+18, PROCESS+19, PROCESS+36*, PROCESS+37, PROCESS+38, PROCESS+39, PROCESS+40, PROCESS+42 |
| ICD | CPTICD+1~, CPTICD+4* |
| IN | PROCESS+11~, PROCESS+12*, PROCESS+22~, PROCESS+23* |
| INST | NOTICE+2~, NOTICE+4*, NOTICE+5 |
| LEX | PROCESS+22~, PROCESS+24 |
| LINE | PHY+3~, PHY+5*, PHY+6*, PHY+7*, PHY+8, FILECD+1~, FILECD+3*, FILECD+7, ADD~, ADD+9 , PROCESS+28~, PROCESS+29*, PROCESS+30, PROCESS+31 |
| LINE( | FILECD+4*, FILECD+5* |
| LINE1 | PHY+3~, PHY+4*, PHY+5, PHY+6, PHY+7 |
| LN | PROCESS+11~, PROCESS+22~ |
| LOC | PROCESS+1~ |
| MDA | XVERT~, XVERT+1, XVERT+3, XVERT+6, XVERT+7 |
| MDB | XVERT~, XVERT+2, XVERT+12, XVERT+16 |
| MDD702 | HL7CHK~, HL7CHK+5, HL7CHK+6, HL7CHK+8 |
| MDD7031 | PURGE~, PURGE+3, PURGE+4, PURGE+6 |
| >> MDD772 | PURGE+4*, PURGE+5 |
| MDHLCNT | MSGIEN+6~, MSGIEN+7*, MSGIEN+17*, MSGIEN+18*, MSGIEN+22*, MSGIEN+23, MSGIEN+25 |
| MDHLI | MSGIEN+6~, MSGIEN+7*, MSGIEN+20*, MSGIEN+21*, MSGIEN+23 |
| MDHLIEN | MSGIEN+6~, MSGIEN+11*, MSGIEN+12, MSGIEN+13, MSGIEN+21, MSGIEN+23 |
| MDHLIENS | MSGIEN~, MSGIEN+8, MSGIEN+10, MSGIEN+11, MSGIEN+15 |
| MDHLREST | MSGIEN~, MSGIEN+9, MSGIEN+17, MSGIEN+18, MSGIEN+23 |
| MDHLZ | MSGIEN+6~, MSGIEN+15*, MSGIEN+16, MSGIEN+17 |
| MDIEN | PHY~, PHY+8, CPTICD~, CPTICD+2, CPTICD+3, CPTICD+4, FILECD~, FILECD+7, ADD~, ADD+3 , ADD+6, ADD+7, ADD+9, CICNV~, CICNV+4, CICNV+7, CICNV+10, CICNV+11, CICNV+12, CICNV+13 , CICNV+14, PROCESS~, PROCESS+3, PROCESS+4, PROCESS+6 |
| MDSIEN | ALERT~, ALERT+2, ALERT+9, ALERT+10, ALERT+11, ALERT+12, ALERT+13, ALERT+14, ALERT+15, ALERT+16 , ALERT+17 |
| MG | NOTICE+2~, NOTICE+3*, NOTICE+5*, NOTICE+6*, NOTICE+7*, NOTICE+8 |
| N | NOTICE+2~ |
| NODE | XVERT+4~, XVERT+7*, XVERT+8*, XVERT+9, XVERT+12, XVERT+16, ADD+2~, ADD+3*, ADD+4*, ADD+5* , ADD+6, ADD+7, ADD+9, CICNV+2~, CICNV+9*, CICNV+11*, CICNV+12, CICNV+13, CICNV+14, PROCESS~ , PROCESS+3, PROCESS+4 |
| RESULT | FILECD+1~, FILECD+4* |
| RET | MSGIEN+6~, MSGIEN+7*, MSGIEN+8*, MSGIEN+9*, MSGIEN+10*, MSGIEN+12*, MSGIEN+13*, MSGIEN+16*, MSGIEN+25*, MSGIEN+26* , MSGIEN+27 |
| RETURN | CICNV~, CICNV+5, CICNV+17 |
| SUBJECT | NOTICE~, NOTICE+10, ALERT+2* |
| TP | PROCESS+1~, PROCESS+6*, PROCESS+7*, PROCESS+15, PROCESS+37 |
| TXT | NOTICE~ |
| TYPE | FILECD~, FILECD+7, ADD~, ADD+7, CICNV+12*, CICNV+13, CICNV+14, PROCESS~, PROCESS+6, PROCESS+7 |
| U | PURGE+4, PURGE+6, MSGIEN+11 |
| X | HL7CHK+1~, HL7CHK+2*, HL7CHK+5*, HL7CHK+8*, HL7CHK+10, PHY~, PHY+4, CPTICD~, CPTICD+3, CPTICD+4 , ADD+2~, PROCESS+1~, PROCESS+6*, PROCESS+7*, PROCESS+12, PROCESS+13, PROCESS+16, PROCESS+17, PROCESS+23, PROCESS+38 , PROCESS+39, NOTICE+2~ |
| XMBODY | NOTICE+2~, NOTICE+9*, NOTICE+11 |
| XMDUZ | NOTICE+2~ |
| >> XMINSTR | NOTICE+11 |
| >> XMINSTR("FROM" | NOTICE+8* |
| XMSUBJ | NOTICE+2~, NOTICE+10*, NOTICE+11 |
| XMTO | NOTICE+2~, NOTICE+8*, NOTICE+11 |
| Y | HL7CHK+4~, HL7CHK+7*, HL7CHK+8*, FILECD+1~, FILECD+4* |