| 1 | GMRAXNKA ;HIRMFO/WAA- No Known Allergies Conversion ; 8/27/93
 | 
|---|
| 2 |  ;;4.0;Adverse Reaction Tracking;;Mar 29, 1996
 | 
|---|
| 3 | EN1 ; Data conversion of Patient Allergies file from v3.0 -> v4.0
 | 
|---|
| 4 |  ;  This conversion does two things:
 | 
|---|
| 5 |  ;    1) Moves those records which represent whether a patient
 | 
|---|
| 6 |  ;       has been asked about allergies (NKA nodes) from the
 | 
|---|
| 7 |  ;       Patient Allergies (120.8) to Adverse Reaction Assessment 
 | 
|---|
| 8 |  ;       (120.86) file.
 | 
|---|
| 9 |  ;    2) Converts the set of codes of Comment Type (1.5) sub-field
 | 
|---|
| 10 |  ;       of the Comments (26) field from old values to new values.
 | 
|---|
| 11 |  ;         Old       New
 | 
|---|
| 12 |  ;         ---       ---
 | 
|---|
| 13 |  ;          y         V
 | 
|---|
| 14 |  ;          n         O
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  K GMRATXT S GMRATXT(1)="Move 120.8 NKA Cross Reference to 120.86...." D BMES^XPDUTL(.GMRATXT) K GMRATXT
 | 
|---|
| 17 |  S GMRAPA=0 F  S GMRAPA=$O(^GMR(120.8,GMRAPA)) Q:GMRAPA'>0  D
 | 
|---|
| 18 |  . S GMRAPA(0)=$G(^GMR(120.8,GMRAPA,0)) Q:GMRAPA(0)=""
 | 
|---|
| 19 |  . S GMAYN=$P(GMRAPA(0),U,22)
 | 
|---|
| 20 |  . I $L($P(GMRAPA(0),U,2)) D  ; convert comments.
 | 
|---|
| 21 |  . . D COMMENTS(GMRAPA)
 | 
|---|
| 22 |  . . Q
 | 
|---|
| 23 |  . E  I GMAYN'="" D  ; Move NKA entry out of file 120.8
 | 
|---|
| 24 |  . . D NKA(.GMRAPA)
 | 
|---|
| 25 |  . . Q
 | 
|---|
| 26 |  . Q
 | 
|---|
| 27 |  S DA(1)=120.8,DA=.03,DIK="^DD("_DA(1)_"," D ^DIK ; delete .03 field.
 | 
|---|
| 28 |  K ^GMR(120.8,"ANKA") ; Kill off any remaining "ANKA" xrefs.
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 | NKA(GMAPA) ; Move No Known Allergies field from 120.8 file to 120.86 file.
 | 
|---|
| 31 |  G:+$G(^GMR(120.8,GMAPA,"ER")) ERR ; if node E/E don't move to 120.86
 | 
|---|
| 32 |  N DFN,GMAYNN,GMAX
 | 
|---|
| 33 |  S DFN=$P(GMAPA(0),U) G:DFN'>0 ERR ; if no patient, dont move to 120.86
 | 
|---|
| 34 |  I '$D(^GMR(120.86,DFN,0)) D  ; Add a new 120.86 file entry.
 | 
|---|
| 35 |  . S GMAX=$G(^GMR(120.86,0)) S:GMAX="" GMAX="ADVERSE REACTION ASSESSMENT^120.86P^0^0"
 | 
|---|
| 36 |  . S $P(GMAX,U,3,4)=$S(DFN>$P(GMAX,U,3):DFN,1:$P(GMAX,U,3))_U_($P(GMAX,U,4)+1)
 | 
|---|
| 37 |  . S ^GMR(120.86,DFN,0)=DFN
 | 
|---|
| 38 |  . S DIK="^GMR(120.86,",DA=DFN D IX1^DIK
 | 
|---|
| 39 |  . S ^GMR(120.86,0)=GMAX
 | 
|---|
| 40 |  . Q
 | 
|---|
| 41 |  S GMAYNN=$P($G(^GMR(120.86,DFN,0)),U,2),GMAYN=$P(GMAPA(0),U,22)
 | 
|---|
| 42 |  I GMAYNN'="y",GMAYNN=""!(GMAYNN="n"&(GMAYN="y")) D  ; update file 120.86
 | 
|---|
| 43 |  . N GMRAYN S GMRAYN=$S($P(GMAPA(0),U,22)="y":"1",1:"0")
 | 
|---|
| 44 |  . S DR="1////"_GMRAYN_";2////"_$P(GMAPA(0),U,5)_";3////"_$P(GMAPA(0),U,4)
 | 
|---|
| 45 |  . S DIE="^GMR(120.86,"  D ^DIE
 | 
|---|
| 46 |  . Q
 | 
|---|
| 47 | ERR ; jump here if this NKA node was entered in error, or no patient found
 | 
|---|
| 48 |  S DIK="^GMR(120.8,",DA=GMAPA D ^DIK ; delete old entry
 | 
|---|
| 49 |  W:'$D(ZTQUEUED)&'$R(100) "."
 | 
|---|
| 50 |  Q
 | 
|---|
| 51 | COMMENTS(GMAPA) ; Convert comments
 | 
|---|
| 52 |  Q:'$D(^GMR(120.8,GMAPA,26,0))  ; no comments to convert
 | 
|---|
| 53 |  N GMAPC,GMAX,GMAY,GMAZ
 | 
|---|
| 54 |  S GMAPC=0 F  S GMAPC=$O(^GMR(120.8,GMAPA,26,GMAPC)) Q:GMAPC<1  D
 | 
|---|
| 55 |  .S GMAY=$G(^GMR(120.8,GMAPA,26,GMAPC,0)) Q:GMAY=""
 | 
|---|
| 56 |  .S GMAX=$P(GMAY,U,3) Q:"^y^n^"'[(U_GMAX_U)
 | 
|---|
| 57 |  .S GMAZ=$S(GMAX="y":"V",1:"O")
 | 
|---|
| 58 |  .S DA(1)=GMAPA,DA=GMAPC,DIE="^GMR(120.8,"_DA(1)_",26,",DR="1.5////"_GMAZ
 | 
|---|
| 59 |  .D ^DIE W:'$D(ZTQUEUED)&'$R(50) "."
 | 
|---|
| 60 |  .Q
 | 
|---|
| 61 |  Q
 | 
|---|