- SRTPUTLC ;BIR/SJA - UTILITY ROUTINE ;08/18/2011
- ;;3.0;Surgery;**167,176**;24 Jun 93;Build 8
- CHK ; check for missing transplant assessment information
- K SRX,SRZZ,SRMM S SRMM=0
- D @SRTYPE
- Q
- K ; kidney data entry fields
- ; kidney recipient information
- S DR=$S(SRNOVA:"3;1;11;187;10;12;4;5;96;26;27;95;97;33;19;98;37;42;94",1:"3;11;187;10;12;96;26;27;95;97;33;19;98;37;42;94") D DATA
- ; kidney transplant information
- S DR="85;87;89;68;143;144;9;197;13;14;15;17;16;18" D DATA
- ; PREOPERATIVE RISK ASSESSMENT/RISK ASSESSMENT
- S DR=$S(SRNOVA:"200;201;59;60;61;75;108;113;80;83;131;115;109;110;92;145;132;146;90",1:"59;60;61;75;108;113;80;115;90;83;109;110;92;133") D DATA
- ; kidney outcome data
- I SRNOVA S DR="116;117;118;119;192;121;122;123;124;125;126;193;133" D DATA
- ; kidney donor information
- S DR="44" D DATA
- S DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72" D DATA
- ; pancreas information
- S DR="134;135;136;137;138;139;140;141;142" D DATA
- Q
- LI ; liver data entry fields
- ; recipient information
- S DR=$S(SRNOVA:"3;1;11;4;5;10;12;52;53;54;55;19",1:"3;11;10;12;52;53;54;55;19") D DATA
- ; diagnosis information
- S DR="21;20;23;99;100;101;27;28;29;30;102;34;35;38;105;39;106;107;47;56;111;120;127;94" D DATA
- ; diagnosis information
- S DR="85;87;89;68;13;14;15;17;16;18" D DATA
- ; risk assessment information
- S DR=$S(SRNOVA:"86;84;200;201;59;60;113;108;114;90;91;78;79",1:"86;84;59;60;108;113;114;90;91;78;79;81;82;83;109;110") D DATA
- ; donor information for VA
- I 'SRNOVA D
- .S DR="44" D DATA
- .S DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72" D DATA
- ; risk assessment information for Non-VA
- I SRNOVA S DR="81;82;88;83;109;110;145;132;146;131" D DATA
- ; outcome information for non-VA
- I SRNOVA S DR="116;117;118;119;192;121;122;123;124;125;126;193" D DATA
- I SRNOVA D
- .S DR="44" D DATA
- .S DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72" D DATA
- Q
- LU ; lung data entry fields
- ; recipient information
- S DR=$S(SRNOVA:"3;1;11;4;5;10;12;40;41;24;25;32;129;19;43;22;128;94",1:"3;11;10;12;40;41;24;25;32;43;22;128;94;129;19") D DATA
- ; lung transplant information
- S DR="50;51;85;87;89;68;13;14;15;17;16;18" D DATA
- ; preoperative risk assessment
- S DR=$S(SRNOVA:"200;201;59;60;71;108;61;75;113;114;131;115;90;83;109;110;145;132;146;80",1:"59;60;71;108;61;75;113;114;80;115;90;83;109;110") D DATA
- ; outcome information
- I SRNOVA S DR="116;117;118;119;192;121;122;123;124;125;126;193" D DATA
- ; donor information
- S DR="44" D DATA
- S DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72" D DATA
- Q
- H ; heart data entry fields
- ; recipient information
- S DR=$S(SRNOVA:"3;1;11;58;57;4;5;10;12;167;168;163;164;19;165;89;166;68",1:"3;11;58;57;163;164;165;89;166;68;10;12;19") D DATA
- ; diagnosis information
- S DR="155;156;157;158;159;43;160;161;162;94;112;13;14;15;16;17;18" D DATA
- ; risk assessment information
- S DR=$S(SRNOVA:"76;169;177;149;173;202;203;175;62;176;74;152;198;199;172;179;178;132;145;150;151;200;201;59;60",1:"62;149;150;151;59;60;152;108;153;74;115;81;82;109;110;90;83;75;154") D DATA
- ; risk assessment info
- I SRNOVA D D DATA
- .S DR="75;154;108;115;81;82;90;83;153" S DR=DR_"193;170;192;191;190;119;189;148;118;121;122;130;109;110"
- ; donor information
- S DR="44" D DATA
- S DR="45;31;36;70;46;48;49;77;69;104;64;65;66;73;67;72" D DATA
- Q
- DATA K DIC,DIQ,SRY,SRYY S DIC="^SRT(",DA=SRTPP,DIQ="SRY",DIQ(0)="I" D EN^DIQ1
- I $P(DR,";")=44 D RACE
- S XX=0 F S XX=$O(SRY(139.5,DA,XX)) Q:'XX D LOC I SRI S SRYY(139.5,DA,SRI,"I")=SRY(139.5,SRTPP,XX,"I")_"^"_XX
- K DR S SRMM=SRMM+1 D ^SRTPUTL4
- Q
- LOC ;
- S SRI=0 F I=1:1:$L(DR,";") S:$P(DR,";",I)=XX SRI=I
- Q
- RACE ;
- K SRY1,SRY2 S DIC="^SRT(",DR=44,DA=SRTPP,DR(139.544)=".01"
- S (II,JJ)=0 F S II=$O(^SRT(SRTPP,44,II)) Q:'II S SRACE=$G(^SRT(SRTPP,44,II,0)) D K SRY1
- .S DA(139.544)=II,DIQ="SRY1",DIQ(0)="E" D EN^DIQ1
- .S JJ=JJ+1,SRY2(139.544,JJ)=SRACE_"^"_$G(SRY1(139.544,II,.01,"E")),SRY2(139.544)=JJ
- I $G(SRY2(139.544))>0 Q
- S SRY(139.5,SRTPP,44,"I")=""
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSRTPUTLC 4052 printed Jan 18, 2025@03:50:11 Page 2
- SRTPUTLC ;BIR/SJA - UTILITY ROUTINE ;08/18/2011
- +1 ;;3.0;Surgery;**167,176**;24 Jun 93;Build 8
- CHK ; check for missing transplant assessment information
- +1 KILL SRX,SRZZ,SRMM
- SET SRMM=0
- +2 DO @SRTYPE
- +3 QUIT
- K ; kidney data entry fields
- +1 ; kidney recipient information
- +2 SET DR=$SELECT(SRNOVA:"3;1;11;187;10;12;4;5;96;26;27;95;97;33;19;98;37;42;94",1:"3;11;187;10;12;96;26;27;95;97;33;19;98;37;42;94")
- DO DATA
- +3 ; kidney transplant information
- +4 SET DR="85;87;89;68;143;144;9;197;13;14;15;17;16;18"
- DO DATA
- +5 ; PREOPERATIVE RISK ASSESSMENT/RISK ASSESSMENT
- +6 SET DR=$SELECT(SRNOVA:"200;201;59;60;61;75;108;113;80;83;131;115;109;110;92;145;132;146;90",1:"59;60;61;75;108;113;80;115;90;83;109;110;92;133")
- DO DATA
- +7 ; kidney outcome data
- +8 IF SRNOVA
- SET DR="116;117;118;119;192;121;122;123;124;125;126;193;133"
- DO DATA
- +9 ; kidney donor information
- +10 SET DR="44"
- DO DATA
- +11 SET DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72"
- DO DATA
- +12 ; pancreas information
- +13 SET DR="134;135;136;137;138;139;140;141;142"
- DO DATA
- +14 QUIT
- LI ; liver data entry fields
- +1 ; recipient information
- +2 SET DR=$SELECT(SRNOVA:"3;1;11;4;5;10;12;52;53;54;55;19",1:"3;11;10;12;52;53;54;55;19")
- DO DATA
- +3 ; diagnosis information
- +4 SET DR="21;20;23;99;100;101;27;28;29;30;102;34;35;38;105;39;106;107;47;56;111;120;127;94"
- DO DATA
- +5 ; diagnosis information
- +6 SET DR="85;87;89;68;13;14;15;17;16;18"
- DO DATA
- +7 ; risk assessment information
- +8 SET DR=$SELECT(SRNOVA:"86;84;200;201;59;60;113;108;114;90;91;78;79",1:"86;84;59;60;108;113;114;90;91;78;79;81;82;83;109;110")
- DO DATA
- +9 ; donor information for VA
- +10 IF 'SRNOVA
- Begin DoDot:1
- +11 SET DR="44"
- DO DATA
- +12 SET DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72"
- DO DATA
- End DoDot:1
- +13 ; risk assessment information for Non-VA
- +14 IF SRNOVA
- SET DR="81;82;88;83;109;110;145;132;146;131"
- DO DATA
- +15 ; outcome information for non-VA
- +16 IF SRNOVA
- SET DR="116;117;118;119;192;121;122;123;124;125;126;193"
- DO DATA
- +17 IF SRNOVA
- Begin DoDot:1
- +18 SET DR="44"
- DO DATA
- +19 SET DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72"
- DO DATA
- End DoDot:1
- +20 QUIT
- LU ; lung data entry fields
- +1 ; recipient information
- +2 SET DR=$SELECT(SRNOVA:"3;1;11;4;5;10;12;40;41;24;25;32;129;19;43;22;128;94",1:"3;11;10;12;40;41;24;25;32;43;22;128;94;129;19")
- DO DATA
- +3 ; lung transplant information
- +4 SET DR="50;51;85;87;89;68;13;14;15;17;16;18"
- DO DATA
- +5 ; preoperative risk assessment
- +6 SET DR=$SELECT(SRNOVA:"200;201;59;60;71;108;61;75;113;114;131;115;90;83;109;110;145;132;146;80",1:"59;60;71;108;61;75;113;114;80;115;90;83;109;110")
- DO DATA
- +7 ; outcome information
- +8 IF SRNOVA
- SET DR="116;117;118;119;192;121;122;123;124;125;126;193"
- DO DATA
- +9 ; donor information
- +10 SET DR="44"
- DO DATA
- +11 SET DR="45;31;36;70;46;48;49;77;69;103;104;64;65;66;73;67;72"
- DO DATA
- +12 QUIT
- H ; heart data entry fields
- +1 ; recipient information
- +2 SET DR=$SELECT(SRNOVA:"3;1;11;58;57;4;5;10;12;167;168;163;164;19;165;89;166;68",1:"3;11;58;57;163;164;165;89;166;68;10;12;19")
- DO DATA
- +3 ; diagnosis information
- +4 SET DR="155;156;157;158;159;43;160;161;162;94;112;13;14;15;16;17;18"
- DO DATA
- +5 ; risk assessment information
- +6 SET DR=$SELECT(SRNOVA:"76;169;177;149;173;202;203;175;62;176;74;152;198;199;172;179;178;132;145;150;151;200;201;59;60",1:"62;149;150;151;59;60;152;108;153;74;115;81;82;109;110;90;83;75;154")
- DO DATA
- +7 ; risk assessment info
- +8 IF SRNOVA
- Begin DoDot:1
- +9 SET DR="75;154;108;115;81;82;90;83;153"
- SET DR=DR_"193;170;192;191;190;119;189;148;118;121;122;130;109;110"
- End DoDot:1
- DO DATA
- +10 ; donor information
- +11 SET DR="44"
- DO DATA
- +12 SET DR="45;31;36;70;46;48;49;77;69;104;64;65;66;73;67;72"
- DO DATA
- +13 QUIT
- DATA KILL DIC,DIQ,SRY,SRYY
- SET DIC="^SRT("
- SET DA=SRTPP
- SET DIQ="SRY"
- SET DIQ(0)="I"
- DO EN^DIQ1
- +1 IF $PIECE(DR,";")=44
- DO RACE
- +2 SET XX=0
- FOR
- SET XX=$ORDER(SRY(139.5,DA,XX))
- if 'XX
- QUIT
- DO LOC
- IF SRI
- SET SRYY(139.5,DA,SRI,"I")=SRY(139.5,SRTPP,XX,"I")_"^"_XX
- +3 KILL DR
- SET SRMM=SRMM+1
- DO ^SRTPUTL4
- +4 QUIT
- LOC ;
- +1 SET SRI=0
- FOR I=1:1:$LENGTH(DR,";")
- if $PIECE(DR,";",I)=XX
- SET SRI=I
- +2 QUIT
- RACE ;
- +1 KILL SRY1,SRY2
- SET DIC="^SRT("
- SET DR=44
- SET DA=SRTPP
- SET DR(139.544)=".01"
- +2 SET (II,JJ)=0
- FOR
- SET II=$ORDER(^SRT(SRTPP,44,II))
- if 'II
- QUIT
- SET SRACE=$GET(^SRT(SRTPP,44,II,0))
- Begin DoDot:1
- +3 SET DA(139.544)=II
- SET DIQ="SRY1"
- SET DIQ(0)="E"
- DO EN^DIQ1
- +4 SET JJ=JJ+1
- SET SRY2(139.544,JJ)=SRACE_"^"_$GET(SRY1(139.544,II,.01,"E"))
- SET SRY2(139.544)=JJ
- End DoDot:1
- KILL SRY1
- +5 IF $GET(SRY2(139.544))>0
- QUIT
- +6 SET SRY(139.5,SRTPP,44,"I")=""
- +7 QUIT