| 1 | SROASWP2 ;B'HAM ISC/MAM - MOVE RISK TO FILE 130 ; 13 APR 1992  3:35 pm
 | 
|---|
| 2 |  ;;3.0; Surgery ;;24 Jun 93
 | 
|---|
| 3 |  S Y=SRDATE D D^DIQ S SRDT=Y
 | 
|---|
| 4 |  W !!,"Automatically matching Risk Assessment entries with Surgery Cases"
 | 
|---|
| 5 |  K ^TMP("CONVERT") S ^TMP("CONVERT","MATCH",1)="The following assessments were matched with entries in the SURGERY file (130)",^TMP("CONVERT","MATCH",2)="based on the patient identifier and date of operation."
 | 
|---|
| 6 |  S ^TMP("CONVERT","MATCH",3)="   ",SRCNT=3
 | 
|---|
| 7 |  S SRAN=0 F  S SRAN=$O(^SRA(SRAN)) Q:'SRAN  S SRA(0)=^SRA(SRAN,0),DFN=$P(SRA(0),"^"),SRSDATE=$E($P(SRA(0),"^",5),1,7) D CHECK I OK D CONVERT,DELETE
 | 
|---|
| 8 |  I $D(^TMP("CONVERT","MATCH",4)) D SENDMSG
 | 
|---|
| 9 |  I '$O(^SRA(0)) Q
 | 
|---|
| 10 |  S (CNT,X)=0 F  S X=$O(^SRA(X)) Q:'X  S CNT=CNT+1
 | 
|---|
| 11 | MANUAL W !!,"There "_$S(CNT=1:"is ",1:"are ")_CNT_" assessment"_$S(CNT=1:"",1:"s")_" remaining."
 | 
|---|
| 12 |  W !!,"Do you want to continue with the manual matching process now ? YES//  " R SRYN:DTIME I '$T!(SRYN["^") S SRSOUT=1 Q
 | 
|---|
| 13 |  S SRYN=$E(SRYN) I "YyNn"'[SRYN D HELP Q:SRSOUT  G MANUAL
 | 
|---|
| 14 |  I "Yy"'[SRYN S SRSOUT=1 Q
 | 
|---|
| 15 |  S SRAN=0 F  S SRAN=$O(^SRA(SRAN)) Q:'SRAN!(SRSOUT)  S OK=0 D ^SROASWP3 I OK D CONVERT,DELETE
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 | CONVERT S SRDD=8 F  S SRDD=$O(^DD(139,SRDD)) Q:'SRDD  D MOVE
 | 
|---|
| 18 |  S SRCD=$P(^SRA(SRAN,0),"^",9)
 | 
|---|
| 19 |  S A=^SRA(SRAN,"S"),SRSTATUS=$P(A,"^"),SRTYPE=$P(A,"^",2) K A S DR="284////"_SRTYPE_";Q;235////"_SRSTATUS_";272////"_SRCD_";323////Y",DA=SRTN,DIE=130 D ^DIE
 | 
|---|
| 20 |  D ^SROCCAT
 | 
|---|
| 21 |  K SRDD,X,Y,Z
 | 
|---|
| 22 |  D MSGLINE
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 | MOVE ; move data from file 139 to file 130
 | 
|---|
| 25 |  I SRDD=11!(SRDD=12)!(SRDD=17)!(SRDD=23)!(SRDD=24)!(SRDD=44)!(SRDD=78)!(SRDD=136) Q
 | 
|---|
| 26 |  I SRDD=95!(SRDD=153)!(SRDD=185)!(SRDD=182)!(SRDD=192)!(SRDD=219)!(SRDD=216) Q
 | 
|---|
| 27 |  I SRDD=289!(SRDD=290)!(SRDD=291)!(SRDD=292)!(SRDD=293)!(SRDD=294) Q
 | 
|---|
| 28 |  I SRDD=295!(SRDD=75)!(SRDD=125)!(SRDD=99)!(SRDD=80)!(SRDD=74)!(SRDD=149) Q
 | 
|---|
| 29 |  S GLOBAL=$P(^DD(139,SRDD,0),"^",4),P1=$P(GLOBAL,";"),P2=$P(GLOBAL,";",2),DATA=$P($G(^SRA(SRAN,P1)),"^",P2)
 | 
|---|
| 30 |  S ^TMP("CONVERT",SRAN,SRTN)="MATCHED"
 | 
|---|
| 31 |  I SRDD=216 S SRFIELD=$P($G(^SRA(SRAN,2)),"^",22) I SRFIELD'="" S DA=SRTN,DIE=130,DR=".25////"_SRFIELD D ^DIE K DA,DR,DIE Q
 | 
|---|
| 32 |  S X=$P(^DD(139,SRDD,0),"^"),SRFIELD=$O(^DD(130,"B",X,0)) ; I SRFIELD W !!,SRDD_"  ",X,?45,SRFIELD,?50,DATA
 | 
|---|
| 33 |  S GLOBAL=$P(^DD(130,SRFIELD,0),"^",4),P1=$P(GLOBAL,";"),P2=$P(GLOBAL,";",2),$P(^SRF(SRTN,P1),"^",P2)=DATA
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 | CHECK ; check for match
 | 
|---|
| 36 |  K CASE S (OK,SRTN,CNT)=0 F  S SRTN=$O(^SRF("B",DFN,SRTN)) Q:'SRTN  S DATE=$E($P(^SRF(SRTN,0),"^",9),1,7) I DATE=SRSDATE S CNT=CNT+1,CASE(CNT)=SRTN
 | 
|---|
| 37 |  K SRTN I '$D(CASE(1)) Q
 | 
|---|
| 38 |  I $D(CASE(2)) Q
 | 
|---|
| 39 |  S OK=1,SRTN=CASE(1) W "."
 | 
|---|
| 40 |  Q
 | 
|---|
| 41 | DELETE ; delete assessment from 139
 | 
|---|
| 42 |  S DA=SRAN,DIK="^SRA(" D ^DIK Q
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | MSGLINE ; store info for mail message
 | 
|---|
| 45 |  S SRA(0)=^SRA(SRAN,0),DFN=$P(SRA(0),"^") D DEM^VADPT S SRANAME=VADM(1)_" ("_VA("PID")_")",DATE=$P(SRA(0),"^",5),DATE=$E(DATE,4,5)_"/"_$E(DATE,6,7)_"/"_$E(DATE,2,3)
 | 
|---|
| 46 |  S SRCNT=SRCNT+1,^TMP("CONVERT","MATCH",SRCNT)=SRANAME_"    DATE OF OPERATION: "_DATE,SRCNT=SRCNT+1,^TMP("CONVERT","MATCH",SRCNT)="SURGERY CASE NUMBER: "_SRTN,SRCNT=SRCNT+1,^TMP("CONVERT","MATCH",SRCNT)="  "
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 | SENDMSG ; send mail message
 | 
|---|
| 49 |  S XMY("G.RISK ASSESSMENT@"_^XMB("NETNAME"))=""
 | 
|---|
| 50 |  S XMSUB="SURGERY RISK ASSESSMENT ENTRIES AUTOMATICALLY CONVERTED",XMDUZ="RISK ASSESSMENT CONVERSION",XMTEXT="^TMP(""CONVERT"",""MATCH"","
 | 
|---|
| 51 |  N I D ^XMD K XMSUB,XMDUZ,XMTEXT,XMY
 | 
|---|
| 52 |  Q
 | 
|---|
| 53 | HELP W !!,"Enter 'YES' if you want to continue converting assessments manually, or 'NO'",!,"to quit this option.",!
 | 
|---|
| 54 |  K DIR S DIR(0)="E" D ^DIR I 'Y S SRSOUT=1
 | 
|---|
| 55 |  Q
 | 
|---|