| 1 | HLPAT19 ;SFIRMFO/RSD  Pre & Post Install for HL7 patch 19 ;11/20/98  09:54
 | 
|---|
| 2 |  ;;1.6;HEALTH LEVEL SEVEN;**19**;JUL 17, 1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;check that conversion already run
 | 
|---|
| 5 |  I @XPDGREF@("POST") D BMES^XPDUTL("Conversion already run!") Q
 | 
|---|
| 6 |  ;convert pointer in File 772 to Date/Time
 | 
|---|
| 7 |  L +^HL(772),+^HLMA
 | 
|---|
| 8 |  S XPDIDCNT=0,XPDIDTOT=+$P(^HL(772,0),U,4)
 | 
|---|
| 9 |  N DA2,DA3,DIK,MID,MDT,WORK,X,Y
 | 
|---|
| 10 |  S (DA2,WORK)=0
 | 
|---|
| 11 |  ;find pointers to file 773 = DA3
 | 
|---|
| 12 |  F  S DA2=$O(^HL(772,DA2)) Q:'DA2  S DA3=+$G(^(DA2,0)) D:DA3
 | 
|---|
| 13 |  . ;quit if pointer to 773 doesn't exist
 | 
|---|
| 14 |  . Q:'$D(^HLMA(DA3,0))
 | 
|---|
| 15 |  . S MDT=$P(^HLMA(DA3,0),U),WORK=1
 | 
|---|
| 16 |  . D CNV2(DA2)
 | 
|---|
| 17 |  . S XPDIDCNT=XPDIDCNT+1 D:'(XPDIDCNT#10) UPDATE^XPDID(XPDIDCNT)
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ;nothing was converted
 | 
|---|
| 20 |  I 'WORK L  Q
 | 
|---|
| 21 |  ;remove all remaining entries in 773
 | 
|---|
| 22 |  S DA3=0
 | 
|---|
| 23 |  F  S DA3=$O(^HLMA(DA3)) Q:DA3=""  K ^HLMA(DA3)
 | 
|---|
| 24 |  ;re-index file 773
 | 
|---|
| 25 |  S DIK="^HLMA(",DIK(1)=.01 D ENALL^DIK
 | 
|---|
| 26 |  L
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | CNV2(DA) ;convert .01 field in 772 from pointer to Date/Time
 | 
|---|
| 29 |  K ^HL(772,"B",DA3,DA)
 | 
|---|
| 30 |  S $P(^HL(772,DA,0),U)=MDT,^HL(772,"B",MDT,DA)=""
 | 
|---|
| 31 |  Q
 | 
|---|