This is an old revision of the document!


  • location: $VIMFILES/syntax/837.vim
" Notes from 837 Professional Manual
" p. 39
" HL*1**20*1~ (indicates the billing provider)
" HL*2*1*22*0~ (indicates subscriber #1 for whom there are no dependents)
" HL*3*1*22*1~ (indicates subscriber #2 for whom there are dependents)
" HL*4*3*23*0~ (indicates patient #P2.1)

" make sure we have line breaks
if( line("$") < 4 )
	:echon "seems like we are missing line breaks; we will now break at \~ symbols..."
	:redraw
	:%s/\~/\~
/g
endif

echon "formatting for 837 Professional..."
redraw

syn clear
syn case ignore

syn match submittername "^NM1\*41\*.*" contained transparent
syn match billingprovider "^NM1\*85\*.*" contained " box 33
syn match referringprovider "^NM1\*DN\*.*" contained
syn match renderingprovider "^NM1\*82\*.*" contained " p.290, box 24.j
syn match insuredname "^NM1\*IL\*.*" contained
syn match patientname "^NM1\*QC\*.*" contained
syn match servicelocation "^NM1\*77\*.*" contained
syn match facility "^NM1\*FA\*.*" contained " box 32
syn match independentlab "^NM1\*LI\*.*" contained
syn match testinglaboratory "^NM1\*TL\*.*" contained

syn match hlhdr "^HL\*[0-9]*\*[0-9]*\*20.*"
syn match subscriberhl "^HL\*[0-9]*\*[0-9]*\*22.*"
syn match clmhdr "^CLM\*.*"
syn region subscriberregion start="^HL\*[0-9]*\*[0-9]*\*22.*" end="\nHL\*[0-9]*\*[0-9]*\*22.*"me=s-1 contains=ALL contained fold keepend 
syn region clm start="^CLM\*.*" end="\nCLM\*.*"me=s-1 contains=ALL contained fold keepend 
syn region hl start="^HL\*[0-9]*\*[0-9]*\*20.*" end="\nHL\*[0-9]*\*[0-9]*\*20.*"me=s-1 contains=ALL contained fold keepend
syn region bht start="^BHT.*" end="\nBHT.*"me=s-1 contains=ALL fold keepend extend

hi bht guifg=gray
hi hlhdr guibg=red2 guifg=white
hi clmhdr guifg=red

hi billingprovider guifg=white guibg=blue
"hi submittername guifg=gray gui=undercurl guisp=blue
hi referringprovider guifg=darkyellow
hi renderingprovider guifg=white guibg=blue
hi servicelocation guibg=darkgreen guifg=white
hi facility guibg=darkgreen guifg=white
hi independentlab guifg=darkgreen
hi testinglaboratory guifg=darkgreen
hi insuredname guifg=white guibg=DarkRed
hi patientname guifg=white guibg=DarkCyan

" make highlighted results readable
hi Search guifg=Black guibg=Yellow

setl foldmethod=syntax
setl foldlevel=0
setl foldnestmax=20
syn sync fromstart
setl fen
  • docs/vim/syntax/837.1232728114.txt.gz
  • Last modified: 2009/01/23 09:28
  • (external edit)