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

AMQQN0.m

Go to the documentation of this file.
  1. AMQQN0 ; IHS/CMI/THL - NATL LANGUAGE PRELIMINARY SETUP ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. PREP F %=" DURING "," IN " I X[% D DUR Q
  1. I X[" BORN " D BORN
  1. I X'[" BETWEEN " F Q:X'[" AND " S X=$P(X," AND ")_" &"_$P(X," AND ",2,99)
  1. I X["&" D AND G EXIT
  1. I X["BETWEEN" S %=$P(X,"BETWEEN",2) I %[" AND " S AMQQNV2=$P(X," AND ",2),X=$P(X,(" AND "_AMQQNV2))
  1. RUN D SPEC
  1. D STRIP
  1. D UNITS
  1. D PRELIM
  1. EXIT K Y
  1. Q
  1. ;
  1. SPEC N A,B,C,%,N,I
  1. I ($E(X,1,6)="WOMEN "!($E(X,1,6)="WOMEN")),X'["CHILD" S X="FEMALES "_$E(X,7,999)
  1. S %="PTS'^CLIENTS'^CLIENT'S^EVERYONE'S^EVERYBODY'S^PTS^CLIENTS^EVERYONE^EVERYBODY^PEOPLE^FOLKS"
  1. F I=1:1 S A=$P(%,U,I) Q:A="" S A=A_" " I X[A S X=$P(X,A)_"PATIENTS "_$P(X,A,2) Q
  1. F %=" WHO ARE "," WHO IS "," WHO WERE " F Q:X'[% S X=$P(X,%)_" "_$P(X,%,2,99)
  1. S %=" WHO HAVE "
  1. I X[% S X=$P(X,%)_" WITH "_$P(X,%,2)
  1. S %="ALL OF "
  1. I X[% S X=$P(X,%)_"ALL "_$P(X,%,2)
  1. I X'["AGE" G SP1
  1. S %=" THE AGE OF "
  1. I X[% S X=$P(X,%)_" AGE "_$P(X,%,2)
  1. S %="ABOVE^GREATER THAN^MORE THAN^OVER^BEYOND^>^LESS THAN^BELOW^HIGHER THAN^UNDER^<"
  1. F I=1:1 S A=$P(%,U,I) Q:A="" S Y=" "_A_" AGE " I X[Y S X=$P(X,Y)_" AGE "_A_" "_$P(X,Y,2) Q
  1. SP1 S %=" WITH "
  1. I X[%,$L($P(X,%,2)," ")<3 S X=$P(X,%)_" DX OF "_$P(X,%,2)
  1. F %="WHAT IS ","WHAT WAS " I X[% S X=$P(X,%)_$P(X,%,2,99)
  1. S %=" OF "
  1. I X["PATIENT" F Q:X'[% S X=$P(X,%,1)_" = "_$P(X,%,2,99)
  1. S %="FROM^LIVING IN^LIVE IN^LIVES IN"
  1. F I=1:1 S A=$P(%,U,I) Q:A="" S A=" "_A_" " I X[A S X=$P(X,A)_" CURRENT COMMUNITY = "_$P(X,A,2) Q
  1. S %="WHO ARE TAKING^WHO TAKE^TAKING^ON"
  1. F I=1:1 S A=$P(%,U,I) Q:A="" S A=" "_A_" " I X[A S X=$P(X,A)_" RX = "_$P(X,A,2) Q
  1. I X'["DEAD" Q
  1. F I=1:1 S A=$P(X," ",I) I A="DEAD" S X="PATIENTS WHO DIED AFTER 1800" Q
  1. Q
  1. ;
  1. STRIP S Y(1)=";SEE;GIVE;FIND;PRINT;LIST;GET;SHOW;I;ME;FOR;DISPLAY;TO;WANT;WOULD;LIKE;NEED;REQUEST;ALL;LET;VIEW;SEARCH;WHAT;KNOW;A;AN;TELL;MUCH;DOES;"
  1. S Y(2)=";THE;THEIR;THAN;REPORT;LIST;LISTING;BRING;WHOSE;WHO;EVERY;PRINT;MAKE;EVERY;EACH;WITH;FIND;NOW;HIS;HER;A;YOU;COULD;PLEASE;"
  1. STP F Q:X'["." S %=$E(X,$F(X,".")) S X=$P(X,".")_$S(%=+%:"~~~",1:"")_$P(X,".",2,99)
  1. F Q:X'["~~~" S X=$P(X,"~~~")_"."_$P(X,"~~~",2,99)
  1. F I=1:1 S Z=$P(X," ",I) Q:Z="" F J=0:0 S J=$O(Y(J)) Q:'J D ST1
  1. Q
  1. ;
  1. ST1 I I=1,Y(J)[(";"_Z_";") S X=$P(X," ",2,99),I=I-1,J=99 Q
  1. I Y(J)[(";"_Z_";") S X=$P(X," ",1,I-1)_" "_$P(X," ",I+1,99),I=I-1,J=99
  1. Q
  1. ;
  1. UNITS N %,Y,Z
  1. F %="WEIGH","WT" I X[% F Y="LBS.","lbs.","LBS","lbs","POUNDS","LB.","LB","lb.","lb" I X[Y S Z="WTL" D INSERT G UXIT
  1. F %="WEIGH","WT" I X[% F Y="KBS.","kgs.","KGS","kgs","KILOGRAMS","KG.","KG","kg.","kg" I X[Y S Z="WTK" D INSERT G UXIT
  1. F %="HEIGH","HT" I X[% F Y="INS.","ins.","INS","ins","INCHES","IN.","IN","in.","in" I X[Y S Z="HTI" D INSERT G UXIT
  1. F %="HEIGH","HT" I X[% F Y="CMS.","cms.","CMS","cms","CENTIMETERS","CM.","CM","cm.","cm" I X[Y S Z="HTC" D INSERT G UXIT
  1. UXIT Q
  1. ;
  1. PRELIM F Q:X'[" " S X=$P(X," ")_S_$P(X," ",2,99)
  1. I $E(X)=" " S X=$E(X,2,999)
  1. I $E(X,$L(X))=" " S X=$E(X,1,$L(X)-1)
  1. Q
  1. ;
  1. INSERT N A,B
  1. S A=$P(X,%)
  1. S B=$P(X,%,2)
  1. S B=$P(B," ",2,99)
  1. S X=A_Z_" "_B
  1. Q
  1. ;
  1. AND F I=1:1 S %=$P(X,"&",I) Q:%="" S AMQQNAP(I)=%
  1. F AMQQNAP=0:0 S AMQQNAP=$O(AMQQNAP(AMQQNAP)) Q:'AMQQNAP S X=AMQQNAP(AMQQNAP) D RUN S AMQQNAP(AMQQNAP)=X
  1. S X=AMQQNAP(1)
  1. Q
  1. ;
  1. BORN S %=" BORN ON "
  1. I X[% S X=$P(X,%)_" DOB = "_$P(X,%,2) Q
  1. S %=" BORN DURING "
  1. I X[% D IN Q
  1. S %=" BORN IN "
  1. I X[% D IN Q
  1. S %=" BORN "
  1. I X[% S X=$P(X,%)_" DOB "_$P(X,%,2)
  1. Q
  1. ;
  1. IN S A=$P(X,%,2)
  1. I A'?4N Q
  1. S X=$P(X,%)_" DOB BETWEEN "_A_" AND "_(A+1)
  1. Q
  1. ;
  1. DUR N Y,Z,A,B,C
  1. S Y=$P(X,%,2)
  1. S C=%
  1. I Y?1.2N S Y=$$YEAR^AMQQN0(Y) ;Y2000
  1. I Y?4N S X=$P(X,%)_" BETWEEN 1/1/"_Y_" AND 12/31/"_Y Q
  1. D DUR1
  1. I Y=-1 Q
  1. I $E(Y,6,7)'="00" Q
  1. S A=$E(Y,1,3)+1700
  1. S A=+$E(Y,4,5)_"/1/"_A
  1. S Z=+$E(Y,4,5)
  1. S Z=$E("303232332323",Z)+28
  1. S B=+$E(Y,4,5)_"/"_Z_"/"_($E(Y,1,3)+1700)
  1. S X=$P(X,%)_" BETWEEN "_A_" AND "_B
  1. Q
  1. ;
  1. DUR1 N X,%
  1. S X=Y
  1. S %DT=""
  1. D ^%DT
  1. Q
  1. ;
  1. YEAR(X) ;EP - CONVERTS 2 DIGIT YEAR INTO A FOUR DIGIT YEAR
  1. N Y,%,%DT
  1. S:$L(X)<2 X="0"_X ;Y2000
  1. S %DT="P"
  1. D ^%DT
  1. Q Y\10000+1700 ;Y2000
  1. ;