PSOTPHL1 ;BPFO/EL-CREATE HL7 BATCH MESSAGE FILE ;09/10/03
Source file <PSOTPHL1.m>
| Package | Total | Call Graph | 
|---|---|---|
| Health Level Seven | 4 | $$HLDATE^HLFNC (INIT,MSH)^HLFNC2 GENERATE^HLMA CREATE^HLTF | 
| Outpatient Pharmacy | 2 | EN^PSOTPHL1 BLDPID^PSOTPHL2 | 
| VA Fileman | 2 | (DW,NOW)^%DTC $$GET1^DIQ | 
| Kernel | 1 | (EDIT,RESCH)^XUTMOPT | 
| MailMan | 1 | ^XMD | 
| Registration | 1 | (ADD,DEM)^VADPT | 
| Package | Total | Caller Graph | 
|---|---|---|
| Outpatient Pharmacy | 3 | PSO TPB HL7 EXTRACT PSOHELP1 PSOTPHL1 | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| RESET | ; Reset to run tomorrow | |
| SUCC | ; Msg for successful run | |
| CLEANUP | ; Clean up variables | |
| MSH | ; CREATE "MSH" SEGMENT | |
| DATE | ; Check if first time run or Sunday | |
| SCH | ; CREATE "SCH" SEGMENT | |
| EN(RDT,EDT,SDT) | ; ENTRY POINT FOR PROCESS | |
| PID | ; CREATE "PID" SEGMENT | |
| P10 | ||
| INIT | ; Variable Initialization | |
| P30 | ||
| EXTRACT | ; Extract data from File 52.91 | |
| GEN | ||
| FRTIME | ; To generate a complete data set for the frist time | |
| ENDS | ||
| END | ||
| GDATE | ||
| INHL7 | ||
| WRITE | ; Write single line | |
| START | ||
| DFN | ||
| FAIL | ; Msg for unsuccessful run | |
| F10 | ||
| INHD | ||
| BTS | ; CREATE "BTS" SEGMENT | |
| PROCESS | ; Sort and Process the message body | |
| P20 | ||
| WRITEN | ; Write multiple lines | |
| RESET1 | ; Reset to run tomorrow | |
| ;Send mail message | ||
| BHS | ; CREATE "BHS" SEGMENT | |
| OUT | ; End of compilation | 
| Name | Field # of Occurrence | 
|---|---|
| DW^%DTC | DATE+4 | 
| NOW^%DTC | DATE+3, MAIL+24 | 
| $$GET1^DIQ | DATE+2, SCH+32 | 
| $$HLDATE^HLFNC | EXTRACT+10, SCH+28 | 
| INIT^HLFNC2 | INHL7+2 | 
| MSH^HLFNC2 | P30+2, MSH+2 | 
| GENERATE^HLMA | GEN | 
| CREATE^HLTF | INHL7+4 | 
| EN^PSOTPHL1 | START+2 | 
| BLDPID^PSOTPHL2 | PID+3 | 
| ADD^VADPT | PID+2 | 
| DEM^VADPT | PID+2 | 
| ^XMD | MAIL+26, MAIL+30 | 
| EDIT^XUTMOPT | RESET1+1 | 
| RESCH^XUTMOPT | RESET+1 | 
| FileNo | Call Tags | 
|---|---|
| ^DIC(4 - [#4] | GET1^DIQ | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^DD("DD" | MAIL+24 | 
| ^PS( | P10, P20, P20+1!, F10, F10+1, F10+2, EXTRACT+2, OUT+4* | 
| ^TMP( | INIT+6!, P20+2*, F10+4*, P30, DFN, DFN+1, OUT+2! | 
| ^TMP("HLS" | INIT+6!, WRITE+2*, WRITEN+1*, OUT+2! | 
| Name | Line Occurrences | 
|---|---|
| BHS | EN+2 | 
| BTS | EN+4 | 
| CLEANUP | END+1 | 
| DATE | START | 
| DFN | DFN+6 | 
| END | OUT+1 | 
| ENDS | START | 
| EXTRACT | DFN+2 | 
| F10 | F10+1, F10+5 | 
| FAIL | MAIL+13 | 
| FRTIME | PROCESS+2 | 
| GDATE | DATE+5 | 
| GEN | P30, DFN | 
| INHD | INHL7+5 | 
| INHL7 | INIT+4 | 
| INIT | EN+1 | 
| END | |
| MSH | DFN+3 | 
| OUT | EN+1, EN+5 | 
| P10 | P20 | 
| P20 | P20+1, P20+3 | 
| P30 | P10 | 
| PID | DFN+5 | 
| PROCESS | EN+3 | 
| RESET | ENDS, RESET1+1 | 
| SCH | DFN+4 | 
| SUCC | MAIL+14 | 
| WRITE | P30+3, MSH+4, SCH+37, PID+7 | 
| WRITEN | SCH+38, PID+8 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| >> % | MAIL+24 | 
| A | PSOTPHL1+22~, EXTRACT+1*, EXTRACT+9*, EXTRACT+10, SCH+1*, SCH+5*, SCH+19, CLEANUP+1!, MAIL+2*, MAIL+7* , MAIL+8*, MAIL+9*, MAIL+11, MAIL+12*, MAIL+29 | 
| B | PSOTPHL1+22~, EXTRACT+1*, EXTRACT+10*, SCH+1*, SCH+11*, SCH+20, CLEANUP+1!, MAIL+2*, MAIL+7*, MAIL+10* , MAIL+11, MAIL+17 | 
| BBDT | PSOTPHL1+24~, EXTRACT+1*, EXTRACT+6, SCH+26, CLEANUP+3! | 
| BCNT | PSOTPHL1+23~, INIT+1*, BHS+1*, CLEANUP+2! | 
| BEDT | PSOTPHL1+24~, EXTRACT+1*, SCH+27, CLEANUP+3! | 
| C | PSOTPHL1+22~, EXTRACT+1*, EXTRACT+10*, SCH+1*, SCH+13*, SCH+14*, SCH+15*, SCH+16*, SCH+20, CLEANUP+1! , MAIL+2*, MAIL+3*, MAIL+4, MAIL+5, MAIL+28 | 
| CK | PSOTPHL1+22~, START*, DATE+6*, INIT+1*, INHL7+3*, EN+1, CLEANUP+1!, OUT+1, MAIL+10, MAIL+13 | 
| DADT | PSOTPHL1+24~, EXTRACT+1*, SCH+24, CLEANUP+3! | 
| DATA | PSOTPHL1+23~, EXTRACT+1*, EXTRACT+3*, EXTRACT+4, CLEANUP+2! | 
| DFN | PSOTPHL1+23~, P10+2*, P20*, P20+1, P20+2, FRTIME+1*, F10*, F10+1, F10+2, F10+4 , P30+5*, DFN*, DFN+1, EXTRACT+2, PID+3, CLEANUP+2! | 
| DIFROM | MAIL+26~ | 
| DT | GDATE+2 | 
| DTIME | INHD* | 
| DUZ | MAIL+1, MAIL+29 | 
| EDT | PSOTPHL1+22~, START+2, DATE+1*, DATE+2*, DATE+5, DATE+8, GDATE+1, GDATE+2*, INIT+6, EN~ , P10, P20+2, F10+4, P30, DFN, DFN+1, CLEANUP+1!, OUT+2, OUT+3, OUT+4 | 
| ERR | PSOTPHL1+22~, INHL7+3*, PID+3, CLEANUP+1!, FAIL+1 | 
| EVENT | PSOTPHL1+23~, INHL7*, INHL7+2, GEN, CLEANUP+2! | 
| EXC | PSOTPHL1+24~, EXTRACT+1*, SCH+7*, SCH+11, SCH+20, CLEANUP+3! | 
| FRTIME | PSOTPHL1+22~, DATE+1*, DATE+5*, PROCESS+2, ENDS, MAIL+9 | 
| >> HL | INHL7+2, INHL7+3, P30+2, MSH+2, PID+3 | 
| >> HL("ACAT" | INHD+11* | 
| >> HL("APAT" | INHD+12* | 
| >> HL("CC" | INHD+10* | 
| >> HL("DTM" | INHD+1* | 
| >> HL("ECH" | INHD+3* | 
| >> HL("ETN" | INHD+4*, EXTRACT+6*, EXTRACT+7*, EXTRACT+8 | 
| >> HL("FS" | INHD+2*, SCH+19, SCH+20, SCH+21 | 
| >> HL("MTN" | INHD+5*, EXTRACT+8 | 
| >> HL("MTN_ETN" | INHD+6*, EXTRACT+8* | 
| >> HL("PID" | INHD+7* | 
| >> HL("Q" | INHD+8* | 
| >> HL("RAN" | INHD+14* | 
| >> HL("SAN" | INHD+13* | 
| >> HL("VER" | INHD+9* | 
| >> HLDA | INHL7+4, GEN, OUT+4, SUCC+4 | 
| >> HLDT | INHL7+4 | 
| >> HLDT1 | INHL7+4, INHD+1 | 
| >> HLMID | INHL7+4, P30+2, MSH+2 | 
| >> HLP | GEN* | 
| I | PSOTPHL1+22~, EXTRACT+4*, EXTRACT+10*, SCH+1*, SCH+22*, SCH+29, SCH+30*, SCH+33, SCH+34*, SCH+36* , SCH+37, PID+6*, PID+7, WRITEN+1, CLEANUP+1!, MAIL+2*, MAIL+19, FAIL+1*, SUCC+1* | 
| INS | PSOTPHL1+24~, EXTRACT+1*, SCH+32, CLEANUP+3! | 
| L | PSOTPHL1+22~, CLEANUP+1!, MAIL+2*, MAIL+20, FAIL+2*, SUCC+2* | 
| LN | PSOTPHL1+23~, INIT+1*, BHS+2*, BTS+1*, WRITE+1*, WRITE+2, WRITEN+1, CLEANUP+2!, OUT+4 | 
| MCNT | PSOTPHL1+23~, INIT+1*, P30+1*, P30+2, MSH+1*, MSH+2, CLEANUP+2!, OUT+4 | 
| PADT | PSOTPHL1+24~, EXTRACT+1*, EXTRACT+5*, SCH+25, CLEANUP+3! | 
| PGM | PSOTPHL1+23~, INIT+2*, INIT+6, P20+2, F10+4, P30, DFN, DFN+1, CLEANUP+2!, OUT+2 | 
| PID | PID+1!, PID+3, OUT+2! | 
| PID( | PID+6 | 
| PID(1 | PID+4 | 
| PN | PSOTPHL1+24~, EXTRACT+1*, CLEANUP+3! | 
| PS | PSOTPHL1+23~, DATE+1*, DATE+2, CLEANUP+2!, OUT+4 | 
| PSO | PSOTPHL1+23~, INIT+3*, P10, P20, P20+1, F10, F10+1, F10+2, EXTRACT+2, CLEANUP+2! | 
| PSOTTEXT | MAIL+2!, MAIL+31! | 
| PSOTTEXT( | MAIL+17*, MAIL+21*, MAIL+22* | 
| PSOTTEXT(1 | MAIL+5*, MAIL+29* | 
| PSOTTEXT(2 | MAIL+15* | 
| PSOTTEXT(3 | MAIL+16* | 
| PSOTTEXT(4 | MAIL+18* | 
| PSOTTEXT(5 | MAIL+19* | 
| PSOTTEXT(6 | MAIL+20* | 
| PSOTTEXT(7 | MAIL+23* | 
| PSOTTEXT(8 | MAIL+24* | 
| PSOTTEXT(9 | MAIL+25* | 
| R | PSOTPHL1+22~, GEN, CLEANUP+1!, MAIL+2*, MAIL+21, FAIL+3*, SUCC+3* | 
| RDT | PSOTPHL1+22~, START+2, GDATE*, GDATE+1*, EN~, PROCESS+1*, P10*, P10+1, P20, P20+1 , P20+2, FRTIME+1*, DFN+1*, EXTRACT+6, SCH+28, CLEANUP+1! | 
| REASON | PSOTPHL1+24~, EXTRACT+1*, SCH+1*, SCH+5, SCH+19, CLEANUP+3! | 
| SCH | SCH+1!, OUT+2! | 
| SCH( | SCH+22*, SCH+29*, SCH+30*, SCH+33*, SCH+34*, SCH+36 | 
| SDT | PSOTPHL1+22~, START+2, DATE+8*, EN~, PROCESS+1*, P10+1*, FRTIME+2*, F10+3*, CLEANUP+1!, OUT+3* , OUT+4 | 
| SET | PSOTPHL1+22~, DATE+1*, GDATE*, PROCESS+1, OUT+4, END+1, MAIL+8 | 
| STA | PSOTPHL1+24~, EXTRACT+1*, SCH+32, CLEANUP+3! | 
| U | INHL7+1* | 
| WAITYP | PSOTPHL1+24~, EXTRACT+1*, SCH+13, SCH+14, SCH+15, SCH+20, CLEANUP+3! | 
| X | PSOTPHL1+22~, DATE+6, FRTIME+1*, F10+2*, F10+3, F10+4, P30+2, EXTRACT+1*, EXTRACT+2*, EXTRACT+4 , MSH+2, SCH+1*, SCH+2*, SCH+3*, SCH+4*, SCH+5, SCH+7*, SCH+8*, SCH+9*, SCH+10* , SCH+11, SCH+18*, SCH+19*, SCH+20*, SCH+21*, SCH+22, SCH+24*, SCH+25*, SCH+26*, SCH+27* , SCH+28*, SCH+29, SCH+30, SCH+32*, SCH+33, SCH+34, SCH+36*, PID+5*, PID+6*, WRITE+2 , WRITEN+1, CLEANUP+1!, MAIL+2*, MAIL+22, FAIL+4*, SUCC+4* | 
| XMDUZ | MAIL+2*, MAIL+6*, MAIL+31! | 
| >> XMMG | MAIL+27, MAIL+29* | 
| XMSUB | MAIL+2*, MAIL+11*, MAIL+12, MAIL+29*, MAIL+31! | 
| >> XMTEST | MAIL+2* | 
| XMTEXT | MAIL+26*, MAIL+30*, MAIL+31! | 
| XMY | MAIL+2!, MAIL+31! | 
| XMY( | MAIL+4*, MAIL+28!, MAIL+29* | 
| >> Y | MAIL+24* | 
| >> ZTQUEUED | ENDS+1 | 
| >> ZTREQ | ENDS+1* |