| 1 | PXRMP6IC ; SLC/PKR - Inits for PXRM*2.0*6 ;10/26/2007
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;**6**;Feb 04, 2005;Build 123
 | 
|---|
| 3 |  ;========================
 | 
|---|
| 4 | MHCOND ;Check for definitions and terms that use an MH finding and a
 | 
|---|
| 5 |  ;condition and convert the condition.
 | 
|---|
| 6 |  N COND,FDA,FI,ICOND,IEN,IENS,MSG,NEWCOND,PTR
 | 
|---|
| 7 |  D BMES^XPDUTL("Converting Conditions for MH findings in definitions and terms.")
 | 
|---|
| 8 |  ;Check definitions.
 | 
|---|
| 9 |  S IEN=0
 | 
|---|
| 10 |  F  S IEN=+$O(^PXD(811.9,IEN)) Q:IEN=0  D
 | 
|---|
| 11 |  . I '$D(^PXD(811.9,IEN,20,"E","YTT(601.71,")) Q
 | 
|---|
| 12 |  . S PTR=""
 | 
|---|
| 13 |  . F  S PTR=$O(^PXD(811.9,IEN,20,"E","YTT(601.71,",PTR)) Q:PTR=""  D
 | 
|---|
| 14 |  .. S FI=0
 | 
|---|
| 15 |  .. F  S FI=$O(^PXD(811.9,IEN,20,"E","YTT(601.71,",PTR,FI)) Q:FI=""  D
 | 
|---|
| 16 |  ... S COND=$P($G(^PXD(811.9,IEN,20,FI,3)),U,1)
 | 
|---|
| 17 |  ... I COND="" Q
 | 
|---|
| 18 |  ... W !,"811.9 - IEN=",IEN," FI=",FI," COND=",COND
 | 
|---|
| 19 |  ... S NEWCOND=$$NEWCOND(COND)
 | 
|---|
| 20 |  ... W !,NEWCOND
 | 
|---|
| 21 |  ... K FDA,MSG
 | 
|---|
| 22 |  ... S IENS=FI_","_IEN_","
 | 
|---|
| 23 |  ...;Force it to file by deleting the value.
 | 
|---|
| 24 |  ... S FDA(811.902,IENS,14)="@"
 | 
|---|
| 25 |  ... D FILE^DIE("E","FDA","MSG")
 | 
|---|
| 26 |  ... S FDA(811.902,IENS,14)=NEWCOND
 | 
|---|
| 27 |  ... D FILE^DIE("E","FDA","MSG")
 | 
|---|
| 28 |  ;Check terms
 | 
|---|
| 29 |  S IEN=0
 | 
|---|
| 30 |  F  S IEN=+$O(^PXRMD(811.5,IEN)) Q:IEN=0  D
 | 
|---|
| 31 |  . I '$D(^PXRMD(811.5,IEN,20,"E","YTT(601.71,")) Q
 | 
|---|
| 32 |  . S PTR=""
 | 
|---|
| 33 |  . F  S PTR=$O(^PXRMD(811.5,IEN,20,"E","YTT(601.71,",PTR)) Q:PTR=""  D
 | 
|---|
| 34 |  .. S FI=0
 | 
|---|
| 35 |  .. F  S FI=$O(^PXRMD(811.5,IEN,20,"E","YTT(601.71,",PTR,FI)) Q:FI=""  D
 | 
|---|
| 36 |  ... S COND=$P($G(^PXRMD(811.5,IEN,20,FI,3)),U,1)
 | 
|---|
| 37 |  ... I COND="" Q
 | 
|---|
| 38 |  ... W !,"811.5 - IEN=",IEN," FI=",FI," COND=",COND
 | 
|---|
| 39 |  ... S NEWCOND=$$NEWCOND(COND)
 | 
|---|
| 40 |  ... W !,NEWCOND
 | 
|---|
| 41 |  ... K FDA,MSG
 | 
|---|
| 42 |  ... S IENS=FI_","_IEN_","
 | 
|---|
| 43 |  ...;Force it to file by deleting the value.
 | 
|---|
| 44 |  ... S FDA(811.902,IENS,14)="@"
 | 
|---|
| 45 |  ... D FILE^DIE("E","FDA","MSG")
 | 
|---|
| 46 |  ... S FDA(811.52,IENS,14)=NEWCOND
 | 
|---|
| 47 |  ... D FILE^DIE("E","FDA","MSG")
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  ;========================
 | 
|---|
| 51 | NEWCOND(COND) ;Replace V with +V for MH conditions using scale.
 | 
|---|
| 52 |  N CHAR,IND,NEWCOND
 | 
|---|
| 53 |  S COND=$TR(COND,"+","")
 | 
|---|
| 54 |  S NEWCOND=""
 | 
|---|
| 55 |  F IND=1:1:$L(COND) D
 | 
|---|
| 56 |  . S CHAR=$E(COND,IND)
 | 
|---|
| 57 |  . I CHAR'="V" S NEWCOND=NEWCOND_CHAR Q
 | 
|---|
| 58 |  .;If the condition is checking a response do not plus.
 | 
|---|
| 59 |  . I $E(COND,(IND+3))="R" S NEWCOND=NEWCOND_CHAR Q
 | 
|---|
| 60 |  . S NEWCOND=NEWCOND_"+"_CHAR
 | 
|---|
| 61 |  Q NEWCOND
 | 
|---|