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 |