| 1 | SRHLVU ;B'HAM ISC/DLR - Surgery HL7 Utility routine ; [ 05/06/98   7:14 AM ] | 
|---|
| 2 | ;;3.0; Surgery ;**41**;24 Jun 93 | 
|---|
| 3 | ; Per VHA Directive 10-93-142, this routine SHOULD NOT be modified. | 
|---|
| 4 | DNAME(NAME) ;identifies an incoming CN data type to a record in file 200 | 
|---|
| 5 | N X,CNT | 
|---|
| 6 | I '$D(NAME)!(($P(NAME,HLCOMP)="")&($P(NAME,HLCOMP,2="")!$P(NAME,HLCOMP,3=""))) Q "" | 
|---|
| 7 | I NAME="" Q "" | 
|---|
| 8 | I $P(NAME,HLCOMP)'="" S NAME=$O(^VA(200,"SSN",$P(NAME,HLCOMP),0)) I NAME'="" S NAME=$P(^VA(200,NAME,0),U) | 
|---|
| 9 | E  S X="",CNT=0 S NAME=$$FMNAME^HLFNC($P(NAME,HLCOMP,2,3)) F  S X=$O(^VA(200,"B",NAME,X)) Q:'X  S CNT=CNT+1 S NAME=$S(CNT=1:X,CNT>1:"") | 
|---|
| 10 | Q NAME | 
|---|
| 11 | HNAME(IEN) ;converts an file 200 internal entry number into an HL7 CN data type | 
|---|
| 12 | I IEN="" Q "" | 
|---|
| 13 | I '$D(^VA(200,IEN,0)) W !,"Not a valid entry in file 200." Q "" | 
|---|
| 14 | Q $P(^VA(200,IEN,1),U,9)_HLCOMP_$P($P(^VA(200,IEN,0),U),",")_HLCOMP_$P($P(^VA(200,IEN,0),U),",",2) | 
|---|