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

YTAPI5.m

Go to the documentation of this file.
YTAPI5 ;ALB/ASF - MH API NOTES ;11/14/11 1:03pm
 ;;5.01;MENTAL HEALTH;**62,85,106**;Dec 30, 1994;Build 10
 ;Reference to ^XUSEC( supported by DBIA #10076
 Q
OUTNOTE(YSDATA) ;
 N G,I,N,P,R,X,Y,YS2,YSADATE,YSCODE,YSGG,YSGG1,YSGG2,YSJ,YSJJ,YSNCODE,YSSET,YSSR,YSST,YSX1,YSX2,YSX3,YIN,YSINN,YSINE,YSMC
 I $G(YSDATA(1))?1"[ERROR".E Q  ;---->
 I '$D(YSDATA(5)) S YSDATA(1)="[ERROR]",YSDATA(2)="bad ysdata to outnote" Q  ;--->
 S YS2=$G(YSDATA(2))
 S YSCODE=$P(YS2,U,2)
 S YSADATE=$P(YS2,U,4)
 S YSNCODE=$O(^YTT(601,"B",YSCODE,-1))
 S YSX1=$P(YSDATA(3),U,2)
 S YSX2=$P(YSDATA(4),U,2)
 S YSX3=$P(YSDATA(5),U,2)
 S YSSR=$P(YSDATA(6),U,3)
 S YSST=$P(YSDATA(6),U,4)
 S Y=$G(^YTT(601.6,YSNCODE,2))
 I Y="" S YSDATA(1)="[ERROR]",YSDATA(2)="no mh mult outcome code" Q  ;--->
 ;
 X Y
 I X'>0 S YSDATA(1)="[ERROR]",YSDATA(2)="bad M executable" Q  ;--->
LD ;LOAD NOTE
 S N=0
 F  S N=$O(^YTT(601.6,YSNCODE,3,X,1,N)) Q:N'>0  D
 . S YSDATA("ON",N,0)=^YTT(601.6,YSNCODE,3,X,1,N,0)
REP ;replace ||
 S N=0
 F  S N=$O(YSDATA("ON",N)) Q:N'>0  D
 . S G=YSDATA("ON",N,0)
 . S R=""
 . F I=1:1:$L(G,"|") D
 .. S P=$P(G,"|",I)
 .. D:P?1"RSCORE".1N.N RSCORE
 .. D:P?1"SSCORE".1N.N SSCORE
 .. D:P?1"ITEM".1N.E ITEM
 .. D:P?1"EXECUTE".E MC
 .. S R=R_P
 . S YSDATA("ON",N,0)=R
 Q
RSCORE ; raw scores
 S YSJ=$E(P,7,99),P=$P(YSDATA(YSJ+5),U,3)
 Q
SSCORE ;scaled score
 S YSJ=$E(P,7,99),P=$P(YSDATA(YSJ+5),U,4)
 Q
ITEM ;items resolution
 S YSIN=$E(P,5,999)
 S YSSET=$P(YSIN,";",2)
 S YSIN=$P(YSIN,";",1)
 S YSINN=$S(YSIN>400:5,YSIN>200:4,1:3)
 S YSINE=$S(YSIN#200=0:200,1:YSIN)
 S P=$P(YSDATA(YSINN),U,2)
 S P=$E(P,YSINE)
 Q:YSSET=""
 F YSJJ=1:1:$L(YSSET,",") D
 . S YSGG=$P(YSSET,",",YSJJ),YSGG1=$P(YSGG,":"),YSGG2=$P(YSGG,":",2)
 . S:P=YSGG1 P=YSGG2
 Q
MC ;mumps executable setting P
 S YSMC=$P(P,";",2)
 X YSMC
 Q
GAFURL(YSDATA) ;returns MH GAF horizontal sheet
 S YSDATA(1)="[DATA]"
 S YSDATA(2)="http://vaww.mentalhealth.domain.ext/gafsheet" ;ASF 10/13/11
 Q
PRIVL(YSDATA,YS) ;check privileges
 N YSCODE,YSET
 S YSCODE=$G(YS("CODE"),-1)
 ;ASF 03/08/06
 I (YSCODE="GAF")!(YSCODE="ASI") S YSDATA(1)="[DATA]",YSDATA(2)="1^exempt test" Q  ;-->out test exempt
 I $D(^YTT(601.71,"B",YSCODE)) D  Q  ;--> out
 . S YSET=$O(^YTT(601.71,"B",YSCODE,0))
 . S YSDATA(1)="[DATA]"
 . S YSKEY=$$GET1^DIQ(601.71,YSET_",",9)
 . I YSKEY="" S YSDATA(2)="1^exempt test" Q  ;-->out
 . I $D(^XUSEC(YSKEY,DUZ)) S YSDATA(2)="1^user privileged" Q  ;-->out has key
 . S YSDATA(2)="0^no access" Q  ;->out
 ;
 I '$D(^YTT(601,"B",YSCODE)) S YSDATA(1)="[ERROR]",YSDATA(2)="BAD TEST CODE" Q  ;--> out
 S YSET=$O(^YTT(601,"B",YSCODE,0))
 S YSDATA(1)="[DATA]"
 I $D(^XUSEC("YSP",DUZ)) S YSDATA(2)="1^user privileged for all tests" Q  ;has key
 I $P(^YTT(601,YSET,0),U,10)="Y"!(YSCODE="GAF")!(YSCODE="ASI") S YSDATA(2)="1^exempt test" Q  ;test exempt
 I $P(^YTT(601,YSET,0),U,9)="I" S YSDATA(2)="1^interview" Q  ;interview
 S YSDATA(2)="0^no access"
 Q