Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AMQQSL

AMQQSL.m

Go to the documentation of this file.
  1. AMQQSL ; IHS/CMI/THL - UTILITY FOR EXPORT/IMPORT SCRIPTS ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. ;
  1. EXPORT(AMQQSDA,AMQQSNAM,AMQQOF,AMQQIF) ;EP;
  1. ;TO EXPORT QMAN QUERY FROM QUERY CLONING
  1. ;AMQQSDA - IEN OF THE QMAN SCRIPT
  1. ;AMQQSNAM - NAME OF THE QMAN SCRIPT
  1. ;AMQQOF - NAME OF THE OUTPUT FILE
  1. ;AMQQIF - NAME OF THE INPUT FILE
  1. I AMQQSDA=""!(AMQQSNAM="")!(AMQQOF="")!(AMQQIF="") S BQCERR="Missing data for Qman Query Export" Q
  1. D REAL
  1. N X,Y,Z
  1. U IO W AMQQIF,!
  1. U IO W AMQQSNAM,!
  1. S X=0
  1. F S X=$O(^AMQQ(2,AMQQSDA,2,X)) Q:'X D
  1. .S Y=$G(^AMQQ(2,AMQQSDA,2,X,0))
  1. .Q:Y=""
  1. .U IO W Y,!
  1. U IO W "**",!
  1. Q
  1. IMPORT() ;EP;TO IMPORT AND RUN SCRIPT FROM QUERY CLONING
  1. N AMQQH
  1. S AMQQH=$H
  1. I '$D(ZTQUEUED) U 0 W !!,"One moment please..."
  1. U IO R X:1
  1. Q:X=""!(X="**") ""
  1. S ^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,"FILE NAME")=X
  1. U IO R X:1
  1. Q:X=""!(X="**") ""
  1. S ^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,"SCRIPT NAME")=X_"-QC"
  1. S I=0
  1. F R X:1 Q:X=""!(X="**") D
  1. .S I=I+1
  1. .S ^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,I)=X
  1. Q:'$D(^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH))
  1. K DIE,DIC,DINUM,DR,DA,DD,DO,DIK,DLAYGO
  1. S X=^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,"SCRIPT NAME")
  1. S DIC="^AMQQ(2,"
  1. S DIC(0)="L"
  1. S DIC("DR")="4////"_^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,"FILE NAME")
  1. D FILE^DICN
  1. K DIE,DIC,DINUM,DR,DA,DD,DO,DIK,DLAYGO
  1. Q:+Y<1 ""
  1. S AMQQSDA=+Y
  1. S (X,I)=0
  1. F S X=$O(^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,X)) Q:'X D
  1. .Q:$G(^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,X))=""
  1. .S ^AMQQ(2,AMQQSDA,2,X,0)=^TMP("AMQQ EXTERNAL SCRIPT",$J,AMQQH,X)
  1. .S I=X
  1. S ^AMQQ(2,AMQQSDA,2,0)="^^"_I_U_I_U_DT
  1. I '$D(ZTQUEUED) U 0 W !!,"QMAN File import completed."
  1. D POINTER
  1. Q AMQQSDA
  1. ;
  1. REPORT(AMQQSDA) ;EP;RUN QMAN SCRIPT FROM QUERY CLONING
  1. ;AMQQSDA - IEN OF QMAN SCRIPT
  1. ;AMQQFILE - HOST FILE NAME FOR THE SCRIPT
  1. S AMQQFILE=$$IFILE(AMQQSDA)
  1. Q:AMQQFILE="" ""
  1. S AMQQYY=AMQQSDA
  1. K AMQV,^UTILITY("AMQQ",$J),^UTILITY("AMQQ TAX",$J)
  1. D RESTORE^AMQQCMPS
  1. Q:'$D(AMQV(1)) ""
  1. S AMQQCCLS=$E($P(AMQV(0),"AMQQCCLS=""",2))
  1. S AMQV("OPTION")="LIST"
  1. D DOIT^AMQQCMPL
  1. Q AMQQFILE
  1. ;
  1. IFILE(AMQQSDA) ;EP;TO DETERMINE THE NAME OF THE HOST FILE TO BE CREATED FOR THE
  1. ;QMAN REPORT
  1. ;AMQQSDA - IEN OF QMAN SCRIPT
  1. S AMQQFILE=$P($G(^AMQQ(2,+AMQQSDA,0)),U,4)
  1. Q AMQQFILE
  1. ;
  1. REAL ;CONVERT SCRIPT POINTER VALUES TO REAL VALUES
  1. N X,Y,Z,ZZ
  1. K ^TMP("QMAN SCRIPT",$J)
  1. S X=0
  1. F S X=$O(^AMQQ(2,AMQQSDA,2,X)) Q:'X S Y=$G(^(X,0)) D:$E(Y)="T"!($E(Y)="V")
  1. .Q:$P(Y,";",2)=""!'$P(Y,";",3)
  1. .I Y["T;",$P(Y,U,2)]"" Q
  1. .S ^TMP("QMAN SCRIPT",$J,$E(Y),$P(Y,";",2),+$P(Y,";",3))=X
  1. S (Z,X)=0
  1. F S X=$O(^TMP("QMAN SCRIPT",$J,"T",X)) Q:'X D
  1. .S Z=$O(^TMP("QMAN SCRIPT",$J,"V",Z))
  1. .Q:'Z
  1. .S Z=$O(^TMP("QMAN SCRIPT",$J,"V",Z,0))
  1. .Q:'$P($G(^AMQQ(1,+Z,0)),U,4) S F=$P(^(0),U,4),Z=$P(^(0),U,3)
  1. .Q:'Z!'F
  1. .S Z=$G(^DD(Z,F,0))
  1. .Q:$P(Z,U,2)'["P"
  1. .S Z=$P(Z,U,3)
  1. .S Z=U_$S($E(Z,$L(Z))="(":$P(Z,"("),1:$E(Z,1,$L(Z)-1)_")")
  1. .S Y=0
  1. .F S Y=$O(^TMP("QMAN SCRIPT",$J,"T",X,Y)) Q:'Y S ZZ=^(Y) D
  1. ..Q:'$D(@Z@(Y,0)) S %=$P(^(0),U)
  1. ..S ^AMQQ(2,AMQQSDA,2,ZZ,0)=^AMQQ(2,AMQQSDA,2,ZZ,0)_U_%
  1. Q
  1. POINTER ;CONVERT SCRIPT REAL VALUES TO POINTER VALUES
  1. N X,Y,Z,ZZ
  1. K ^TMP("QMAN SCRIPT",$J)
  1. S X=0
  1. F S X=$O(^AMQQ(2,AMQQSDA,2,X)) Q:'X S Y=$G(^(X,0)) D:$E(Y)="T"!($E(Y)="V")
  1. .Q:$P(Y,";",2)=""!($P(Y,";",3)="")
  1. .S ^TMP("QMAN SCRIPT",$J,$E(Y),$P(Y,";",2),$P($P(Y,";",3),U))=X_U_$P(Y,U,2)
  1. S X=0
  1. F S X=$O(^TMP("QMAN SCRIPT",$J,"T",X)) Q:'X D
  1. .S Y=0
  1. .F S Y=$O(^TMP("QMAN SCRIPT",$J,"T",X,Y)) Q:'Y S ZZ=^(Y) D
  1. ..S Z=X+9
  1. ..S Z=$O(^TMP("QMAN SCRIPT",$J,"V",Z,0))
  1. ..Q:'$P($G(^AMQQ(1,+Z,0)),U,4) S F=$P(^(0),U,4),Z=$P(^(0),U,3)
  1. ..Q:'Z!'F
  1. ..S Z=$G(^DD(Z,F,0))
  1. ..Q:$P(Z,U,2)'["P"
  1. ..S Z=$P(Z,U,3)
  1. ..S Z=U_$S($E(Z,$L(Z))="(":$P(Z,"("),1:$E(Z,1,$L(Z)-1)_")")
  1. ..S XREF=$S(Z'["ICD9":"B",1:"AB")
  1. ..S Z=$O(@Z@(XREF,$P(ZZ,U,2),0))
  1. ..Q:'Z
  1. ..S $P(^AMQQ(2,AMQQSDA,2,+ZZ,0),";",3)=Z
  1. Q