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