===== 837.vim ===== * 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) " if the 4th character in the file is not an asterisk, change all of that " character to an asterisk let separator=getline("1")[3:3] if( separator != "*" ) :echon "substituting " . separator . " symbols with * for formatting..." :redraw exec ":s/" . separator . "/*/g" endif " 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 1/ub, 33/1500 syn match referringprovider "^NM1\*DN\*.*" contained syn match attendingphysician "^NM1\*71\*.*" contained " ub only syn match operatingphysician "^NM1\*72\*.*" contained " ub only syn match renderingprovider "^NM1\*82\*.*" contained " 1500 only, p.290, box 24.j syn match insuredname "^NM1\*IL\*.*" contained syn match patientname "^NM1\*QC\*.*" contained syn match servicelocation "^NM1\*77\*.*" contained " 1500 only syn match facility "^NM1\*FA\*.*" contained 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 attendingphysician guifg=white guibg=blue hi operatingphysician 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 set readonly