Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Label References |  Local Variables |  Marked Items |  All
Print Page as PDF
Routine: PSXDODH1

Package: CMOP

Routine: PSXDODH1


Information

PSXDODH1 ;BIR/HTW-HL7 Message Conversion ;01/15/02 13:10:52

Source Information

Source file <PSXDODH1.m>

Call Graph

Call Graph Total: 1

Package Total Call Graph
Health Level Seven 1 $$FMDATE^HLFNC  

Caller Graph

Caller Graph Total: 1

Package Total Caller Graph
CMOP 1 PSXDODH  

Entry Points

Name Comments DBIA/ICR reference
BLDSEQ ;build check sequence of SEGMENTS
PUT(REC,DLM,XX) ;
; Set VAR into piece I of REC using delimiter DLM
STRBLD(STR0,SEPS) ;
; default separators for all segments, fields, components are | ^ &
; other separators can be passed in SEPS ex: "|,^,&" or "|,\F\,\S\"
; or placed within the field and segment nodes STR0( , , ..,"S")= separator
; ex: for NTE|1 of HL7 2.1
; segment NTE|1 STR0("S")="|"
; facility field STR0(4,"S")="\F\"
; address component STR0(4,2,"S")="\S\"
GETELM(STR,PIECES,SEPS) ;
; uses STRing and
; returns value of the element located by path of pieces and seperators
; ex: PIECES "3,2,1" SEPS "|,^,&"
CHECK ;patient safety check
TESTBT ;test the sequence of the messages in the batch
; stored in ^tmp($j,"PSXDOD","MSG0",I)
HEADER ; read FHS,BHS,ORC assemble $$XMIT,NTE|1 called from PSXDODH
L2
SEGBLD ; data for checking sequence of segments. ZR1 needs special handling.
L1
SETELM(STR,PIECES,SEPS,VALUE)
PIECE(REC,DLM,XX) ;
; Set VAR = piece I of REC using delimiter DLM
L3

External References

Name Field # of Occurrence
$$FMDATE^HLFNC HEADER+13

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !,"Order Sequence ",PSXERR,!,BATIDM,?40,BATIDB
  • Line Location: CHECK+3
Function Call: WRITE
  • Prompt: !,"Prescription Number ",PSXERR,!,RXIDE,?40,RXIDC
  • Line Location: CHECK+6
Function Call: WRITE
  • Prompt: !,"RX Number ",PSXERR,!,RXID1,?40,RXIDC
  • Line Location: CHECK+8
Function Call: WRITE
  • Prompt: !,"Batch Orders ",PSXERR,!,PTCNTB,?40,PTCNT
  • Line Location: CHECK+12
Function Call: WRITE
  • Prompt: !,"Batch Totals ",PSXERR,!,ORDCNTB,?40,ORDCNT
  • Line Location: CHECK+14

Label References

Name Line Occurrences
$$GETELM CHECK+4, HEADER+12, HEADER+16
CHECK TESTBT+8
L2 L1+4
L3 L2+4
PIECE HEADER+11, HEADER+17, HEADER+18, HEADER+19
PUT HEADER+23, HEADER+29, HEADER+30, HEADER+31

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
>> ADDRESS HEADER+19
>> BATIDB CHECK+1*, CHECK+2, CHECK+3
>> BATIDM CHECK+2*, CHECK+3
>> BATNM HEADER+12*
>> BHS CHECK+1*, HEADER+10*, HEADER+12
>> BTS CHECK+10*
>> DIVISION HEADER+16*, HEADER+17
>> DIVNUM HEADER+20*
DLM PIECE~, PIECE+2, PUT~, PUT+3
>> END HEADER+14*
>> FACNUM HEADER+20*
>> FHS TESTBT+5*, HEADER+10*, HEADER+11
>> G TESTBT+3, HEADER+10
I BLDSEQ+2*, PIECE+2~*, PUT+2~*, PUT+3, GETELM+5*, GETELM+6*, SETELM+6*, SETELM+7*, SETELM+8, SETELM+9*
IOST CHECK+3, CHECK+6, CHECK+8, CHECK+12, CHECK+14
>> J BLDSEQ+4*
>> LINE BLDSEQ+2*, BLDSEQ+3, BLDSEQ+4
>> LN TESTBT+3*, TESTBT+5, CHECK+1, CHECK+2, CHECK+4, CHECK+5, CHECK+7, CHECK+10
>> LNNUM TESTBT+3*, TESTBT+5, CHECK+4
>> LSEG TESTBT+2*, TESTBT+5*, TESTBT+6*, TESTBT+7*, BLDSEQ+3*, BLDSEQ+4
NTE1 HEADER+9!, HEADER+33*
>> NTE1ADD HEADER+30*
>> NTE1DIV HEADER+29*
>> NTE1LOC HEADER+31*, HEADER+33
>> ORC HEADER+10*, HEADER+15*, HEADER+16, HEADER+18
>> ORDCNT TESTBT+2*, CHECK+5*, CHECK+13, CHECK+14
>> ORDCNTB CHECK+10*, CHECK+13, CHECK+14
>> ORDSEQ CHECK+2*, CHECK+5, CHECK+7
P GETELM+4~, GETELM+5*, GETELM+6, SETELM+4~, SETELM+6*, SETELM+7, SETELM+9
P( GETELM+5*, GETELM+6, SETELM+6*, SETELM+7, SETELM+9
P1 STRBLD+8~, L1*, L1+3*, L1+4, L1+5, L2+1, L2+2, L2+3, L2+4, L2+5
, L2+6, L3+1, L3+2, L3+3, L3+4, L3+5
P2 STRBLD+8~, L2*, L2+3*, L2+4, L2+5, L3+1, L3+2, L3+3, L3+4, L3+5
P3 STRBLD+8~, L3*, L3+3*, L3+4
PI GETELM+4~, GETELM+5*, SETELM+4~, SETELM+6*
PIECES GETELM~, GETELM+5, SETELM~, SETELM+6
>> PSXERR TESTBT+2*, TESTBT+6*, CHECK+2*, CHECK+3, CHECK+5*, CHECK+6, CHECK+7*, CHECK+8, CHECK+11*, CHECK+12
, CHECK+13*, CHECK+14
>> PTCNT TESTBT+2*, CHECK+9*, CHECK+11, CHECK+12
>> PTCNTB CHECK+10*, CHECK+11, CHECK+12, HEADER+14
REC PIECE~, PIECE+2, PUT~, PUT+3*
>> RXID1 CHECK+7*, CHECK+8
>> RXIDC CHECK+4*, CHECK+5, CHECK+6, CHECK+7, CHECK+8
>> RXIDE CHECK+5*, CHECK+6
>> RXSEQ CHECK+4*, CHECK+5, CHECK+7
S GETELM+4~, SETELM+4~
S( GETELM+5*, GETELM+6, SETELM+6*, SETELM+7, SETELM+9
S1 STRBLD+8~, L1+2*, L1+5
S2 STRBLD+8~, L2+2*, L2+5, L2+6
S3 STRBLD+8~, L3+2*, L3+4, L3+5
>> SEG TESTBT+3*, TESTBT+4, TESTBT+5, TESTBT+6, TESTBT+7, TESTBT+8, CHECK+1, CHECK+2, CHECK+4, CHECK+5
, CHECK+7, CHECK+9, CHECK+10, BLDSEQ+4*
SEGSEQ BLDSEQ+1!
SEGSEQ( TESTBT+6, BLDSEQ+4*
SEPS GETELM~, GETELM+5, SETELM~, SETELM+6, STRBLD~, STRBLD+9*, L1+1, L2+1, L3+1
>> START HEADER+14*
STR GETELM~, GETELM+4, SETELM~, SETELM+5, STRBLD+8~, STRBLD+10*, L1*, L1+5*, L1+6
STR( L1+3, L1+4, L1+5, L2+1*, L2+2, L2+3, L2+4, L2+5*, L2+6*, L3+1*
, L3+2, L3+3, L3+4*, L3+5*
STR("S" L1+1*, L1+2
STR0 STRBLD~, STRBLD+10
>> TRANDTS HEADER+13*
U TESTBT+6, CHECK+5, CHECK+7, PIECE+2, PUT+2
V GETELM+4~*, GETELM+6*, GETELM+7, SETELM+4~, SETELM+5*, SETELM+7*
V( SETELM+7*, SETELM+8*, SETELM+9*
V(0 SETELM+5*, SETELM+10
VALUE SETELM~, SETELM+8
XM HEADER+9!, HEADER+22*, HEADER+23, HEADER+24*
XX PIECE~, PIECE+2, PUT~, PUT+2
Y PIECE+2~*, PUT+2~*, PUT+3
>> YY HEADER+11*, HEADER+17*, HEADER+18*, HEADER+19*, HEADER+23*, HEADER+29*, HEADER+30*, HEADER+31*

Marked Items

Name Field # of Occurrence
$T(SEGBLD+I BLDSEQ+2
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Label References |  Local Variables |  Marked Items |  All