| [613] | 1 | MDSTATU ; HOIFO/NCA - Print List of Document Titles Needed ;10/21/04  13:44
 | 
|---|
 | 2 |  ;;1.0;CLINICAL PROCEDURES;**5**;Apr 01, 2004;Build 1
 | 
|---|
 | 3 |  ; Reference Integration Agreement:
 | 
|---|
 | 4 |  ; IA# 10035 [Supported] Access to DPT file (#2)
 | 
|---|
 | 5 |  ; IA# 10039 [Supported] Hospital Location lookup in DIC(42
 | 
|---|
 | 6 |  ; IA# 10061 [Supported VADPT calls
 | 
|---|
 | 7 |  ; IA# 10104 [Supported] Routine XLFSTR calls
 | 
|---|
 | 8 |  ;
 | 
|---|
 | 9 | DISP ; Display List of TIU titles need to be created for Medicine procedures
 | 
|---|
 | 10 |  W ! K IOP,%ZIS S %ZIS("A")="Select Device: ",%ZIS="MQ" D ^%ZIS K %ZIS,IOP Q:POP
 | 
|---|
 | 11 |  I $D(IO("Q")) S ZTRTN="D1^MDSTATU",ZTREQ="@",ZTSAVE("ZTREQ")="",ZTDESC="List Documents Titles Needed",(ZTDTH,ZTIO)="" D ^%ZTLOAD D ^%ZISC W !,"Request Queued" Q
 | 
|---|
 | 12 |  U IO D D1 D ^%ZISC K %ZIS,IOP Q
 | 
|---|
 | 13 | D1 ; Process Display
 | 
|---|
 | 14 |  N ANS,CNT,DTP,LN,LP,MDK,MDF,MDFIL,MDN,MDN1,MDR,MDTIT,MDV,MDX,PG,S1,TIT,X
 | 
|---|
 | 15 |  S (CNT,PG)=0,ANS="",S1=$S(IOST?1"C".E:IOSL-2,1:IOSL-7) D H1 S MDFIL=8925.1
 | 
|---|
 | 16 |  S LP=0 F  S LP=$O(^MDD(703.9,1,1,LP)) Q:LP<1!(ANS="^")  S MDF=$G(^(LP,0)) D
 | 
|---|
 | 17 |  .Q:'$P(MDF,U,3)
 | 
|---|
 | 18 |  .S MDTIT=$P(MDF,U,5) Q:MDTIT
 | 
|---|
 | 19 |  .Q:'$P(MDF,U)  S MDR="MCAR("_+$P(MDF,U)
 | 
|---|
 | 20 |  .S MDN=0 F  S MDN=$O(^MCAR(697.2,"C",MDR,MDN)) Q:MDN<1!(ANS="^")  I $G(^MCAR(697.2,MDN,0))'="" D
 | 
|---|
 | 21 |  ..S CNT=CNT+1,MDK=$G(^MCAR(697.2,MDN,0)),TIT=$S($P(MDK,U,8)'="":$P(MDK,U,8),1:$P(MDK,U)),TIT=$$UP^XLFSTR(TIT),MDN1=$G(^MCAR(697.2,MDN,1))
 | 
|---|
 | 22 |  ..D:$Y'<S1 HDR Q:ANS="^"
 | 
|---|
 | 23 |  ..I $P(MDF,U)=699 Q:$P(MDN1,U)="S"
 | 
|---|
 | 24 |  ..I $P(MDF,U)=694 Q:$P(MDN1,U)="S"
 | 
|---|
 | 25 |  ..I $P(MDF,U)=699.5 Q:$P(MDN1,U)="P"
 | 
|---|
 | 26 |  ..S MDV="HISTORICAL "_TIT_$S(TIT["PROCEDURE":"",1:" PROCEDURE")
 | 
|---|
 | 27 |  ..S:$L(MDV)>60 MDV=$E(MDV,1,60)
 | 
|---|
 | 28 |  ..Q:+$$FIND1^DIC(MDFIL,"","BOX",MDV,"B","","MDERR")
 | 
|---|
 | 29 |  ..W !,TIT,?35,MDV
 | 
|---|
 | 30 |  I 'CNT W !!,"No Historical TIU titles need to be created."
 | 
|---|
 | 31 |  W ! Q
 | 
|---|
 | 32 | PAUSE ; Pause For Scroll
 | 
|---|
 | 33 |  I IOST?1"C".E R !!,"Press RETURN to continue. ",X:DTIME S:'$T!(X["^") ANS="^" Q:ANS="^"  I "^"'[X W !,"Enter a RETURN to Continue." G PAUSE
 | 
|---|
 | 34 |  Q
 | 
|---|
 | 35 | DTP ; Printable Date/Time
 | 
|---|
 | 36 |  S %=DTP,DTP=$J(+$E(DTP,6,7),2)_"-"_$P("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"," ",+$E(DTP,4,5))_"-"_$E(DTP,2,3)
 | 
|---|
 | 37 |  S:%#1 %=+$E(%_"0",9,10)_"^"_$E(%_"000",11,12),DTP=DTP_$J($S(%>12:%-12,1:+%),3)_":"_$P(%,"^",2)_$S(%<12:"am",%<24:"pm",1:"m") K % Q
 | 
|---|
 | 38 | HDR ; Display Header and Scroll Pause
 | 
|---|
 | 39 |  D PAUSE Q:ANS="^"
 | 
|---|
 | 40 | H1 ; Print Header
 | 
|---|
 | 41 |  W:'($E(IOST,1,2)'="C-"&'PG) @IOF
 | 
|---|
 | 42 |  D NOW^%DTC S MDX=%
 | 
|---|
 | 43 |  S PG=PG+1,DTP=MDX D DTP W !,DTP,?20,"L I S T   O F   T I U   T I T L E S   N E E D E D",?73,"Page ",PG
 | 
|---|
 | 44 |  W ! S $P(LN,"-",80)="" W !,LN,!
 | 
|---|
 | 45 |  W !,"PROCEDURES",?35,"Titles Needed to be Created"
 | 
|---|
 | 46 |  W !,"----------",?35,"---------------------------",!
 | 
|---|
 | 47 |  Q
 | 
|---|
 | 48 | SETDEF ; Set default CP Definitions in Conversion Parameter
 | 
|---|
 | 49 |  N MDERR,MDDIEN,MDK,MDF,MDFC,MDFIL,MDFDA,MDLP,MDN,MDNAM,MDOPT,MDR,MDS,MDTAR,MDNAM,MDX,MDY S MDFIL=8925.1 K MDTAR
 | 
|---|
 | 50 |  F MDX=1:1 S MDOPT=$P($T(MEDTIT+MDX),";;",2) Q:MDOPT="**END**"  D
 | 
|---|
 | 51 |  .S MDS=$P(MDOPT,";",2)
 | 
|---|
 | 52 |  .S MDY=+$$FIND1^DIC(MDFIL,"","BOX",MDS,"B","","MDERR") Q:'MDY
 | 
|---|
 | 53 |  .S MDTAR(+MDOPT)=+MDY
 | 
|---|
 | 54 |  S MDLP=0 F  S MDLP=$O(^MDD(703.9,1,1,MDLP)) Q:MDLP<1  S MDF=$G(^(MDLP,0)) D
 | 
|---|
 | 55 |  .S MDFC=+$P(MDF,U)  Q:'MDFC  S MDR="MCAR("_MDFC
 | 
|---|
 | 56 |  .Q:MDFC=699
 | 
|---|
 | 57 |  .Q:MDFC=699.5
 | 
|---|
 | 58 |  .Q:MDFC=694
 | 
|---|
 | 59 |  .S (MDK,MDN)=0,MDNAM="" F  S MDN=$O(^MCAR(697.2,"C",MDR,MDN)) Q:MDN<1  I $G(^MCAR(697.2,MDN,0))'="" D
 | 
|---|
 | 60 |  ..S MDK=$G(^MCAR(697.2,MDN,0)),MDNAM=$S($P(MDK,U,8)'="":$P(MDK,U,8),1:$P(MDK,U)),MDNAM=$$UP^XLFSTR(MDNAM)
 | 
|---|
 | 61 |  .I MDNAM=""&(+$P(MDF,U)=694.5) S MDNAM="CARDIAC SURGERY RISK ASSESSMENT"
 | 
|---|
 | 62 |  .Q:MDNAM=""
 | 
|---|
 | 63 |  .S:$L(MDNAM)<30 MDNAM=MDNAM_" - HIST"
 | 
|---|
 | 64 |  .S:$L(MDNAM)>30 MDNAM=$E(MDNAM,1,30)
 | 
|---|
 | 65 |  .I '$O(^MDS(702.01,"B",MDNAM,0)) D
 | 
|---|
 | 66 |  ..Q:$P(MDF,U,2)'=""
 | 
|---|
 | 67 |  ..K MDERR,MDDIEN
 | 
|---|
 | 68 |  ..S MDFDA(702.01,"+1,",.01)=MDNAM
 | 
|---|
 | 69 |  ..D UPDATE^DIE("","MDFDA","MDDIEN","MDERR") Q:$D(MDERR)
 | 
|---|
 | 70 |  ..S:+MDDIEN(1) $P(^MDD(703.9,1,1,MDLP,0),U,2)=+MDDIEN(1)
 | 
|---|
 | 71 |  .I $P(MDF,U,5)="" S:+$G(MDTAR(MDFC)) $P(^MDD(703.9,1,1,MDLP,0),U,5)=+$G(MDTAR(MDFC))
 | 
|---|
 | 72 |  Q
 | 
|---|
 | 73 | GETMED(MDMNO,MDTYPE) ; Get the Medicine Procedure name
 | 
|---|
 | 74 |  N MDI,MDMF,MDLL,MDLL1,MDLL6,MDLL8,MDNA
 | 
|---|
 | 75 |  S MDNA=""
 | 
|---|
 | 76 |  Q:MDTYPE="" MDNA
 | 
|---|
 | 77 |  Q:'+MDMNO MDNA
 | 
|---|
 | 78 |  S MDI=+MDMNO,MDMF=+$P(MDMNO,"MCAR(",2) Q:'MDMF MDNA
 | 
|---|
 | 79 |  I MDMF=699 D
 | 
|---|
 | 80 |  .S (MDLL,MDLL1)=$P($G(^MCAR(699,+MDI,0)),U,12) Q:'MDLL
 | 
|---|
 | 81 |  .S MDLL=$G(^MCAR(697.2,MDLL,0)) Q:MDLL=""
 | 
|---|
 | 82 |  .S MDNA=$S($P(MDLL,U,8)'="":$P(MDLL,U,8),1:$P(MDLL,U)) Q
 | 
|---|
 | 83 |  I MDMF=699.5 D
 | 
|---|
 | 84 |  .S MDLL6=$P($G(^MCAR(699.5,+MDI,0)),U,6) Q:'MDLL6
 | 
|---|
 | 85 |  .S MDLL8=$P($G(^MCAR(699.5,+MDI,0)),U,8) S:MDLL8="" MDLL8=" "
 | 
|---|
 | 86 |  .S MDLL=$G(^MCAR(697.2,MDLL6,0)) Q:MDLL=""
 | 
|---|
 | 87 |  .I MDTYPE="N" S MDNA=$S($P(MDLL,U,8)'="":$P(MDLL,U,8),1:$P(MDLL,U)) Q
 | 
|---|
 | 88 |  .I MDTYPE="P" S MDNA=$E(($E($P(MDLL,U,8),1,13)_"/"_$P($G(^MCAR(697.2,+MDLL8,0)),U)),1,30)
 | 
|---|
 | 89 |  I MDMF=694 D
 | 
|---|
 | 90 |  .S MDLL=$P($G(^MCAR(694,MDI,0)),U,3) Q:'MDLL
 | 
|---|
 | 91 |  .S MDLL=$G(^MCAR(697.2,MDLL,0)) Q:MDLL=""
 | 
|---|
 | 92 |  .S MDNA=$S($P(MDLL,U,8)'="":$P(MDLL,U,8),1:$P(MDLL,U)) Q
 | 
|---|
 | 93 |  S:MDNA'="" MDNA=$$UP^XLFSTR(MDNA)
 | 
|---|
 | 94 |  Q MDNA
 | 
|---|
 | 95 | LOCATP(MDNNO) ; Locate the CP Definition procedure or Add the New Entry
 | 
|---|
 | 96 |  N MDDIEN,MDERR,MDFDA,MDNM,Y S Y=0
 | 
|---|
 | 97 |  Q:'+MDNNO 0  S MDMNO=MDNNO
 | 
|---|
 | 98 |  S MDNM=$$GETMED(MDMNO,"P") Q:MDNM="" Y
 | 
|---|
 | 99 |  S MDNM=MDNM_" - HIST" S:$L(MDNM)>30 MDNM=$E(MDNM,1,30)
 | 
|---|
 | 100 |  S Y=$O(^MDS(702.01,"B",MDNM,0)) Q:+Y Y
 | 
|---|
 | 101 |  S MDFDA(702.01,"+1,",.01)=MDNM
 | 
|---|
 | 102 |  D UPDATE^DIE("","MDFDA","MDDIEN","MDERR") Q:$D(MDERR)
 | 
|---|
 | 103 |  S Y=+MDDIEN(1)
 | 
|---|
 | 104 |  Q Y
 | 
|---|
 | 105 | LOCATN(MDNNO) ; Locate the Historical Document Title
 | 
|---|
 | 106 |  N MDDIEN,MDERR,MDFDA,MDNM,MDT,MDV,Y S Y=0,MDV=8925.1
 | 
|---|
 | 107 |  Q:'+MDNNO 0  S MDMNO=MDNNO
 | 
|---|
 | 108 |  S MDNM=$$GETMED(MDMNO,"N") Q:MDNM="" Y
 | 
|---|
 | 109 |  S MDT="HISTORICAL "_MDNM_$S(MDNM["PROCEDURE":"",1:" PROCEDURE")
 | 
|---|
 | 110 |  S Y=+$$FIND1^DIC(MDV,"","BOX",MDT,"B","","MDERR")
 | 
|---|
 | 111 |  Q Y
 | 
|---|
 | 112 | HOSP(MDNNO) ; Locate the Hospital Location
 | 
|---|
 | 113 |  N MDERR,MDI,MDMF,MDOPT,MDL,MDS,MDTAR,MDV,MDW,MDW1,MDX
 | 
|---|
 | 114 |  S MDL=0 K MDTAR
 | 
|---|
 | 115 |  Q:'+MDNNO MDL
 | 
|---|
 | 116 |  S MDI=+MDNNO,MDMF=+$P(MDNNO,"MCAR(",2) Q:'MDMF MDL
 | 
|---|
 | 117 |  F MDX=1:1 S MDOPT=$P($T(MEDTIT+MDX),";;",2) Q:MDOPT="**END**"  D
 | 
|---|
 | 118 |  .S MDS=$P(MDOPT,";",3,4)
 | 
|---|
 | 119 |  .S MDTAR(+MDOPT)=MDS
 | 
|---|
 | 120 |  S MDS=$G(MDTAR(MDMF))
 | 
|---|
 | 121 |  S:+$P(MDS,";",2) MDL=$P($G(^MCAR(MDMF,MDI,$P(MDS,";"))),"^",+$P(MDS,";",2))
 | 
|---|
 | 122 |  I 'MDL D
 | 
|---|
 | 123 |  .S DFN=+$P($G(^MCAR(MDMF,MDI,0)),U,2),VAIP("D")=$P($G(^MCAR(MDMF,MDI,0)),U,1)
 | 
|---|
 | 124 |  .D IN5^VADPT S MDW=+VAIP(5) D KVAR^VADPT S:MDW MDL=+$P($G(^DIC(42,+MDW,44)),U)
 | 
|---|
 | 125 |  .I 'MDL S MDW=$G(^DPT(DFN,.1)) I MDW'="" S MDV=42,MDW1=$$FIND1^DIC(MDV,"","BOX",MDW,"B","","MDERR") S:MDW1 MDL=+$P($G(^DIC(42,+MDW1,44)),U)
 | 
|---|
 | 126 |  Q MDL
 | 
|---|
 | 127 | MEDTIT ;; [Medicine Historical Document Titles]
 | 
|---|
 | 128 |  ;;691.1;HISTORICAL CARDIAC CATHETERIZATION PROCEDURE;0;6
 | 
|---|
 | 129 |  ;;691;HISTORICAL ECHOCARDIOGRAM PROCEDURE;11;2
 | 
|---|
 | 130 |  ;;691.5;HISTORICAL ELECTROCARDIOGRAM PROCEDURE;8;1
 | 
|---|
 | 131 |  ;;691.8;HISTORICAL ELECTROPHYSIOLOGY PROCEDURE;15;3
 | 
|---|
 | 132 |  ;;691.7;HISTORICAL EXERCISE TOLERANCE TEST PROCEDURE;10;5
 | 
|---|
 | 133 |  ;;691.6;HISTORICAL HOLTER PROCEDURE;0;18
 | 
|---|
 | 134 |  ;;698;HISTORICAL PACEMAKER IMPLANTATION PROCEDURE
 | 
|---|
 | 135 |  ;;698.1;HISTORICAL PACEMAKER IMPLANTATION PROCEDURE
 | 
|---|
 | 136 |  ;;698.2;HISTORICAL PACEMAKER IMPLANTATION PROCEDURE
 | 
|---|
 | 137 |  ;;698.3;HISTORICAL PACEMAKER IMPLANTATION PROCEDURE
 | 
|---|
 | 138 |  ;;694.5;HISTORICAL PRE/POST SURGERY RISK NOTE
 | 
|---|
 | 139 |  ;;694; ;0;4
 | 
|---|
 | 140 |  ;;699; ;0;11
 | 
|---|
 | 141 |  ;;700;HISTORICAL PULMONARY FUNCTION TEST PROCEDURE;0;10
 | 
|---|
 | 142 |  ;;701;HISTORICAL RHEUMATOLOGY PROCEDURE
 | 
|---|
 | 143 |  ;;**END**
 | 
|---|