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

AMQQATL.m

Go to the documentation of this file.
  1. AMQQATL ; IHS/CMI/THL - ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. I $D(AMQQXX) Q
  1. S Q=AMQQQ
  1. I +Q=33,Q[";;;NULL" D STD Q
  1. I +Q=256 S ^UTILITY("AMQQ",$J,"LIST",200)="W !,?6,""Secondary chart numbers will be displayed if they exist""" Q
  1. I +Q=454 S ^UTILITY("AMQQ",$J,"LIST",200)="W !,?6,""Only CURRENT Private Insurers will be displayed if they EXIST""" Q
  1. I $P(Q,U,9)["NULL" S Z=": NONE EXIST" D NULL G EXIT
  1. I $P(Q,U,9)["EXIST"!($P(Q,U,9)[";ALL") S Z=" EXISTS" D NULL I '$P(Q,U,4) G EXIT
  1. I $P(Q,U,9)[";ANY" S Z=" ANY VALUE INCLUDING NULL" D NULL Q
  1. S %=$P(AMQQQ,U,9)
  1. S %=$P(%,";",4)
  1. I %[">:-888"!(%["'<:NEG")!(%["|||") S Z=" ALL VALUES" D NULL Q
  1. I $P(Q,U,4) D SQ G EXIT
  1. I $P(Q,U,17)'="" D TATT G EXIT
  1. D LATT
  1. EXIT I $D(^UTILITY("AMQQ",$J,"LIST",AMQQILIN)),$D(AMQQKONG) S %=^(AMQQILIN) I %[",""" S %=$P(%,",""")_",""[OR #"_AMQQKGNO_"] "_$P(%,",""",2,99),^(AMQQILIN)=%
  1. K AMQQFTYP,AMQQVCL,Q,%,X,Y,Z
  1. Q
  1. ;
  1. LATT I $P(Q,U,2)="ALIVE" D ALIVE,L1 Q
  1. I $P(Q,U,2)="COHORT" D COHORT,L1 Q
  1. I $P(Q,U,2)="FILE ENTRY" D FILE,L1 Q
  1. S %="W ?6"
  1. I $P(Q,U,7)="EQUAL TO" S $P(Q,U,7)="="
  1. S %=%_","""
  1. I $P(Q,U,2)'=$E($P(Q,U,7),1,$L($P(Q,U,2))) D
  1. . S %=%_$P(Q,U,2)
  1. . I $P(Q,U,3)="S",$P(Q,U,7)="IS" S %=%_": """ Q
  1. . S %=%_" "
  1. I $P(Q,U,3)'="S"!($P(Q,U,7)'="IS") S %=%_$P(Q,U,7)_" """
  1. S AMQQFTYP=$P(Q,U,3)
  1. S AMQQVCL=$P(Q,U,10)
  1. I AMQQFTYP="Y" S %="W ?6,""PROVIDER ATTRIBUTES AS SPECIFIED""" G LSER
  1. I $P(Q,U,3)="B" D BLOOD G LSER
  1. S X=$P(Q,U,9)
  1. S Y=$P(X,";")
  1. D TRANS
  1. I X[";",$P(X,";")'=$P(X,";",2) S %=%_","" and """,Y=$P(X,";",2) D TRANS
  1. LSER S $P(AMQQQ,U,12)=%
  1. L1 S AMQQILIN=AMQQILIN+1
  1. S ^UTILITY("AMQQ",$J,"LIST",AMQQILIN)=%
  1. Q
  1. ;
  1. TRANS I AMQQFTYP="D" X ^DD("DD") G SETA
  1. I AMQQFTYP="B" S Y=X
  1. I AMQQFTYP="F",$P(Q,U,8)="<>" S Y=$S(Y=" ":"FIRST ENTRY",Y="|||||":"LAST ENTRY",1:Y) G SETA
  1. I AMQQFTYP="L" D LOOK G SETA
  1. I AMQQFTYP="S" S Z=$P(^DD($P(AMQQVCL,","),$P(AMQQVCL,",",2),0),U,3),Z=";"_Z,Y=$F(Z,(";"_X_":")),Y=$E(Z,Y,99),Y=$P(Y,";")
  1. I +$G(Q)>764,+$G(Q)<768 S Y=Y-1
  1. SETA S %=%_","""_Y_""""
  1. I +$G(Q)>764,+$G(Q)<768 S %=%_","""_" days"""
  1. Q
  1. ;
  1. LOOK S (Z,DIC)=$P(^AMQQ(1,+Q,0),U,3)
  1. S DIC(0)="",X="`"_$P(Q,U,9)
  1. D ^DIC
  1. K DIC
  1. S Y=$P(Y,U,2)
  1. I Y'["," Q
  1. I Z'=2,Z'=6,Z'=16,Z'=9000001 Q
  1. S Y=$P(Y,",",2)_" "_$P(Y,",")
  1. Q
  1. ;
  1. TATT S %="W ?6,"""_$P(Q,U,2)
  1. S X=$P(Q,U,9)
  1. S X=$P(X,";",4)
  1. S Z=" AS SPECIFIED"
  1. D ZSET^AMQQATL1
  1. S %=%_$S($D(AMQQONE):"",X="NULL":" IS 'NULL'",X="EXISTS":" EXISTS",1:Z)
  1. S %=%_""""
  1. D TT1
  1. D L1
  1. Q
  1. ;
  1. TT1 S $P(AMQQQ,U,12)=%
  1. Q
  1. ;
  1. SQ D SQ^AMQQATSQ
  1. Q
  1. ;
  1. SQ1 ; - EP -
  1. N %,X
  1. F %=0:0 S %=$O(^UTILITY("AMQQ",$J,"SQL",AMQQLSQF,%)) Q:'% S AMQQILIN=AMQQILIN+1,X=^(%),^UTILITY("AMQQ",$J,"LIST",AMQQILIN)=X I $D(^UTILITY("AMQQ",$J,"SQXL",AMQQLSQF,%)) S AMQQSQLN=$O(^(%,"")) D SQ2
  1. Q
  1. ;
  1. SQ2 N AMQQLSQF
  1. S AMQQLSQF=AMQQSQLN
  1. D SQ1
  1. Q
  1. ;
  1. NULL I $P(Q,U,4),'$D(AMQQGVF),"GL"[$P(Q,U,3) Q
  1. S AMQQATNM=$P(Q,U,2)
  1. S AMQQILIN=AMQQILIN+1,^UTILITY("AMQQ",$J,"LIST",AMQQILIN)="W ?6,"""_AMQQATNM_Z_""""
  1. S $P(AMQQQ,U,12)="W ?6,"""_AMQQATNM_""""
  1. Q
  1. ;
  1. STD S AMQQILIN=AMQQILIN+1,^UTILITY("AMQQ",$J,"LIST",AMQQILIN)="W ?6,""ALIVE TODAY"""
  1. Q
  1. ;
  1. ALIVE S Y=$P(Q,U,9)
  1. X ^DD("DD")
  1. S %="W ?6,""ALIVE AS OF "_Y_""""
  1. Q
  1. ;
  1. COHORT S Y=+$P(Q,U,9)
  1. S Y=$P(^DIBT(Y,0),U)
  1. S %="W ?6,"""_$S(((+Q=151)!(+Q=85)):"NOT A MEMBER",((+Q=166)!(+Q=86)):"RANDOM SAMPLE",1:"MEMBER")_" OF '"_Y_"' COHORT"""
  1. Q
  1. ;
  1. FILE S %=$P(Q,U,9)
  1. S Y=$P(%,";")
  1. S Y=@(U_Y_"0)")
  1. S Y=$P(Y,U)
  1. I +Q=176,Y="BW PATIENT" S %="W ?6,""REGISTERED IN THE WOMEN'S HEALTH DATABASE""" Q
  1. S %="W ?6,"""_$S(+Q=176:"ENTERED",+Q=177:"NOT ENTERED",1:"RANDOM SAMPLE OF PATIENTS")_" IN THE '"_Y_"' FILE"""
  1. Q
  1. ;
  1. BLOOD N Y,X
  1. S Y=$P(Q,U,9)
  1. S X=$P(Y,";")
  1. D TRANS^AMQQAVB
  1. S X(1)=X
  1. S X=$P(Y,";",2)
  1. D:X'="" TRANS^AMQQAVB
  1. S X(2)=X
  1. S $P(AMQQQ,U,9)=X(1)_";"_X(2)
  1. S %=%_","""_$P(Y,";")_"""" I $P(Y,";",2)'="" S %=%_","" and "_$P(Y,";",2) S %=%_""""
  1. Q