XLFNAME1 ;CIOFO-SF/TKW,MKO-Utilities for person name fields ;05/05/2010
Source file <XLFNAME1.m>
| Package | Total | Call Graph | 
|---|---|---|
| Kernel | 2 | STDNAME^XLFNAME $$UP^XLFSTR | 
| VA Fileman | 1 | $$GET1^DIQ | 
| Package | Total | Caller Graph | 
|---|---|---|
| Patient Registration GUI | 2 | AGGPTADD AGGPTLKP | 
| Commitment Register | 1 | ACRFUTL1 | 
| IHS Emergency Dept Dashboard | 1 | BEDDPLKP | 
| Kernel | 1 | XLFNAME | 
| iCare | 1 | BQIPTLKP | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| TRUNC(NC,OVR) | ;Truncate component | |
| CLEANC(XUPART,XUFLAG,XUAUD) | ; Component standardization | |
| NAMEFMT(XUNAME,XUFMT,XUFLAG,XUDLM) | ; Name formatting routine (extrinsic) | |
| REMDBL(X,S) | ;For each char in S, remove double chars | |
| NAMEFMTX | ; ; XUNAME: Input name components array or Name Components Key fields ; XUFMT: F=Family name first,G=Given name first,H=HL7 (default G) ; XUFLAG: P=Include prefix,D=Include degree,S=Standardize components,M=Mixed case ; XUDLM: Delimiter if HL7 message (def = ^) | |
| PERIOD(X) | ; Change X so that there is a space after every period | |
| F(N,F) | ;F format | |
| REMBE(X,S) | ;Remove each char in S from the beg and end of X | |
| SUFEND(XUN,XUNO,XUNM,XUOUT,XUAUD) | ;Look for suffixes at end of XUN | |
| PARENS(X) | ;Strip parenthetical part(s) from X | |
| O(N) | ;O format | |
| SPD(NAM,N,F) | ;Add Suffix, Prefix, and Degree | |
| CLEANCX | ; Entry point from CLEANC^XLFNAME | |
| G(N,F) | ;G format | |
| CHKSUF1(X) | ; Return X if it looks like a suffix, but not I, V, X | |
| MIX(X) | ; Return name part with only first letter upper-case | |
| JOIN(S1,S2,D) | ;Return S1 joined with S2 (separate by D) | |
| ROMAN(X) | ; Replace numeric suffixes to Roman Numeral equivalents | |
| H(N,D) | ;H format | |
| CHKSUF(X) | ;Return X if it looks like a suffix; otherwise, return null | |
| MIX2(XUN) | ; Properly capitalize suffixes, degrees | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^VA(20 - [#20] | NAMEFMTX+23, NAMEFMTX+27 | 
| Name | Line Occurrences | 
|---|---|
| $$CHKSUF | SUFEND+8 | 
| $$CLEANC | NAMEFMTX+39 | 
| $$F | NAMEFMTX+57 | 
| $$G | NAMEFMTX+56 | 
| $$H | NAMEFMTX+54 | 
| $$JOIN | SUFEND+9, G+2, SPD+1, SPD+2, SPD+3 | 
| $$MIX | NAMEFMTX+45, MIX2+6 | 
| $$MIX2 | NAMEFMTX+46, NAMEFMTX+47 | 
| $$O | NAMEFMTX+55 | 
| $$PERIOD | CLEANCX+11 | 
| $$REMBE | CLEANCX+11, CLEANCX+23, CLEANCX+27 | 
| $$REMDBL | CLEANCX+11, CLEANCX+23, CLEANCX+27 | 
| $$ROMAN | SUFEND+9, CLEANCX+16 | 
| $$SPD | F+3, G+3 | 
| $$TRUNC | NAMEFMTX+63, NAMEFMTX+65, NAMEFMTX+66 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | MIX+1~, MIX+2* | 
| C | REMDBL+2*, REMDBL+3, PARENS+1~, PARENS+5*, PARENS+6, PARENS+7 | 
| D | H~, H+2, H+3, JOIN~, JOIN+1*, JOIN+2 | 
| DIERR | NAMEFMTX+29~ | 
| DIOUT | MIX2+1~, MIX2+8*, MIX2+12* | 
| DONE | PARENS+1~, PARENS+3*, PARENS+4, PARENS+7* | 
| F | F~, F+2, F+3, G~, G+3, SPD~, SPD+1, SPD+2, SPD+3 | 
| I | REMDBL+1~, REMDBL+2*, REMBE+1~, REMBE+2*, REMBE+3, REMBE+4*, REMBE+5, PERIOD+2~, PERIOD+3*, PERIOD+4 , CLEANCX+2~, CLEANCX+8*, CLEANCX+9, CLEANCX+16*, CLEANCX+19*, CLEANCX+20, NAMEFMTX+25~, NAMEFMTX+26*, NAMEFMTX+27*, MIX2+1~ , MIX2+2*, MIX2+3, MIX2+4, MIX2+5, MIX2+6, MIX2+8*, MIX2+10, MIX2+11, G+1~, G+2* | 
| IEN | NAMEFMTX+21~, NAMEFMTX+23*, NAMEFMTX+24, NAMEFMTX+27 | 
| IENS | NAMEFMTX+21~, NAMEFMTX+22*, NAMEFMTX+23, NAMEFMTX+30 | 
| IN | ROMAN+2~, ROMAN+4*, ROMAN+6 | 
| J | REMDBL+1~, REMDBL+3* | 
| L | MIX+1~, MIX+2*, MIX2+1~, MIX2+5*, MIX2+6, MIX2+9*, MIX2+10 | 
| LEV | PARENS+1~, PARENS+3*, PARENS+6*, PARENS+7* | 
| MSG | NAMEFMTX+29~ | 
| N | O~, F~, F+3, G~, G+3, H~, SPD~ | 
| N( | G+2 | 
| N("DEGREE" | H+2, SPD+3 | 
| N("FAMILY" | O+1, F+2, H+2 | 
| N("GIVEN" | F+2, H+2 | 
| N("MIDDLE" | F+2, H+2 | 
| N("PREFIX" | H+2, SPD+2 | 
| N("SUFFIX" | H+2, SPD+1 | 
| NAM | NAMEFMTX+29~, NAMEFMTX+30*, NAMEFMTX+31, F+1~, F+2*, F+3*, F+4*, F+5, G+1~, G+2* , G+3, H+1~, H+2*, H+3*, H+4, SPD~, SPD+1*, SPD+2*, SPD+3*, SPD+4 | 
| NC | TRUNC~, TRUNC+1*, TRUNC+2*, TRUNC+3 | 
| OUT | ROMAN+2~, ROMAN+5*, ROMAN+6 | 
| OVR | TRUNC~, TRUNC+1 | 
| P | PARENS+1~, PARENS+4*, PARENS+5, PARENS+6, PARENS+7, MIX2+1~, MIX2+2*, MIX2+4, MIX2+5, MIX2+8* , MIX2+9, MIX2+11 | 
| P1 | PARENS+1~, PARENS+3*, PARENS+6*, PARENS+7, PARENS+8 | 
| P2 | PARENS+1~, PARENS+2, PARENS+3*, PARENS+7*, PARENS+8 | 
| S | REMDBL~, REMDBL+2, REMBE~, REMBE+2, REMBE+4 | 
| S1 | JOIN~, JOIN+2 | 
| S2 | JOIN~, JOIN+2 | 
| U | ROMAN+6, CHKSUF+3, CHKSUF+4, CHKSUF1+3, CHKSUF1+4, NAMEFMTX+10, NAMEFMTX+27 | 
| V | CHKSUF+2~, CHKSUF+5, CHKSUF+6*, CHKSUF1+2~ | 
| X | REMDBL~, REMDBL+3*, REMDBL+4, REMBE~, REMBE+2, REMBE+3*, REMBE+4, REMBE+5*, REMBE+6, ROMAN~ , ROMAN+1, ROMAN+6*, ROMAN+7, CHKSUF~, CHKSUF+3, CHKSUF+4, CHKSUF+5, CHKSUF+6, CHKSUF1~, CHKSUF1+3 , CHKSUF1+4, PERIOD~, PERIOD+1, PERIOD+3, PERIOD+4*, PERIOD+5, PARENS~, PARENS+2, PARENS+4, PARENS+5 , PARENS+8*, PARENS+9, NAMEFMTX+44~, MIX~, MIX+2*, MIX+3, MIX2+6* | 
| XUAUD | SUFEND~, CLEANC~ | 
| XUAUD("NUMBER" | CLEANCX+17* | 
| XUAUD("PERIOD" | CLEANCX+13* | 
| XUAUD("PUNC" | CLEANCX+9*, CLEANCX+20* | 
| XUAUD("SPACE" | CLEANCX+24* | 
| XUAUD("SUFFIX" | CHKSUF+5* | 
| XUBLD | NAMEFMTX+5~, NAMEFMTX+51*, NAMEFMTX+53*, NAMEFMTX+61*, NAMEFMTX+62*, NAMEFMTX+63*, NAMEFMTX+64*, NAMEFMTX+65*, NAMEFMTX+66* | 
| XUCMP | NAMEFMTX+44~, NAMEFMTX+45* | 
| XUDLM | NAMEFMT~, NAMEFMTX+10*, NAMEFMTX+54 | 
| XUFLAG | CLEANC~, CLEANCX+3*, CLEANCX+7, CLEANCX+11, CLEANCX+15, CLEANCX+23, NAMEFMT~, NAMEFMTX+9*, NAMEFMTX+11, NAMEFMTX+39 , NAMEFMTX+43, NAMEFMTX+56, NAMEFMTX+57 | 
| XUFMT | NAMEFMT~, NAMEFMTX+8*, NAMEFMTX+54, NAMEFMTX+55, NAMEFMTX+56 | 
| XUI | SUFEND+3~, SUFEND+6*, SUFEND+7, SUFEND+10, SUFEND+12, SUFEND+13, NAMEFMTX+5~, NAMEFMTX+26*, NAMEFMTX+27, NAMEFMTX+37* , NAMEFMTX+38, NAMEFMTX+39 | 
| XULEN | NAMEFMTX+5~, NAMEFMTX+11*, NAMEFMTX+51, NAMEFMTX+53, NAMEFMTX+63, NAMEFMTX+65, NAMEFMTX+66, NAMEFMTX+67 | 
| XUN | SUFEND~, SUFEND+6, SUFEND+7, SUFEND+10*, NAMEFMTX+5~, NAMEFMTX+16*, NAMEFMTX+17, NAMEFMTX+31*, NAMEFMTX+34*, NAMEFMTX+51 , NAMEFMTX+53, NAMEFMTX+54*, NAMEFMTX+55*, NAMEFMTX+56*, NAMEFMTX+57*, NAMEFMTX+63, NAMEFMTX+65, NAMEFMTX+66, NAMEFMTX+67*, NAMEFMTX+68 , MIX2~, MIX2+2, MIX2+3, MIX2+4*, MIX2+5, MIX2+6*, MIX2+8, MIX2+10, MIX2+11*, MIX2+13 | 
| XUN( | NAMEFMTX+27*, NAMEFMTX+38*, NAMEFMTX+39*, NAMEFMTX+45* | 
| XUN("DEGREE" | NAMEFMTX+46*, NAMEFMTX+61* | 
| XUN("FAMILY" | NAMEFMTX+40, NAMEFMTX+66* | 
| XUN("GIVEN" | NAMEFMTX+65* | 
| XUN("MIDDLE" | NAMEFMTX+63* | 
| XUN("PREFIX" | NAMEFMTX+62* | 
| XUN("SUFFIX" | NAMEFMTX+47*, NAMEFMTX+64* | 
| XUNAME | NAMEFMT~, NAMEFMTX+15, NAMEFMTX+16, NAMEFMTX+34 | 
| XUNAME("FIELD" | NAMEFMTX+20, NAMEFMTX+23, NAMEFMTX+30 | 
| XUNAME("FILE" | NAMEFMTX+20, NAMEFMTX+23, NAMEFMTX+30 | 
| XUNAME("IENS" | NAMEFMTX+20, NAMEFMTX+22 | 
| XUNM | SUFEND~ | 
| XUNM("SUFFIX" | SUFEND+15* | 
| XUNO | SUFEND~, SUFEND+12, SUFEND+13* | 
| XUOUT | SUFEND~, SUFEND+4, SUFEND+11, SUFEND+15 | 
| XUOUT("SUFFIX" | SUFEND+15* | 
| XUPART | CLEANC~, CLEANCX+1, CLEANCX+5*, CLEANCX+8*, CLEANCX+9, CLEANCX+11, CLEANCX+13*, CLEANCX+16*, CLEANCX+17, CLEANCX+19* , CLEANCX+20, CLEANCX+23, CLEANCX+24, CLEANCX+25*, CLEANCX+27 | 
| XUSTEP | NAMEFMTX+5~, NAMEFMTX+51*, NAMEFMTX+60, NAMEFMTX+61, NAMEFMTX+62, NAMEFMTX+63, NAMEFMTX+64, NAMEFMTX+65, NAMEFMTX+66, NAMEFMTX+67 | 
| XUSUF | SUFEND+3~, SUFEND+4*, SUFEND+9*, SUFEND+15 | 
| XUSUFFIX | SUFEND+3~, SUFEND+6, SUFEND+8*, SUFEND+9 | 
| XUSUFO | SUFEND+3~, SUFEND+4*, SUFEND+12*, SUFEND+15 | 
| XUX | SUFEND+3~, SUFEND+7*, SUFEND+8, CLEANCX+2~, CLEANCX+7*, CLEANCX+8 |