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

YTSMPI2.m

Go to the documentation of this file.
  1. YTSMPI2 ;SLC/PIJ - Score MMPI-2-RF ; 01/08/2016
  1. ;;5.01;MENTAL HEALTH;**123**;DEC 30,1994;Build 73
  1. ;
  1. ;Public, Supported ICRs
  1. ; #2056 - Fileman API - $$GET1^DIQ
  1. ;
  1. Q
  1. ;
  1. DATA1 ; Use YSDATA to put responses in Sequence order to utilize previously writen code
  1. ; This approach is different from other instruments which use Legacy Values and designator
  1. N NODE,I,SEQ,QNUM
  1. S YSINSNAM=$P($G(YSDATA(2)),U,3)
  1. I $G(YSINSNAM)="" S YSINSNAM=$G(YS("CODE"),"NO NAME PASSED")
  1. S NODE=2 F S NODE=$O(YSDATA(NODE)) Q:NODE="" D ; Start at YSDATA(3)
  1. . S SEQ($P(YSDATA(NODE),U,2),NODE)=$P(^YTT(601.75,$P(YSDATA(NODE),U,3),0),U,2)
  1. S QNUM=0
  1. S SEQ=0 F S SEQ=$O(SEQ(SEQ)) Q:'SEQ S I=0 F S I=$O(SEQ(SEQ,I)) Q:'I D
  1. .S QNUM=QNUM+1,RSP(QNUM)=SEQ(SEQ,I)
  1. .I RSP(QNUM)="X" S RSP(QNUM)="",CANTSAY=CANTSAY_QNUM_", "
  1. .I $L(CANTSAY)>55,($L(CANTSAY,"|")'>1) S CANTSAY=CANTSAY_"|"
  1. .I $L(CANTSAY)>170 S CANTSAY=CANTSAY_"|"
  1. .I $L(CANTSAY)>255 S CANTSAY=CANTSAY_"|"
  1. I $E(CANTSAY,$L(CANTSAY)-1)="," S CANTSAY=$E(CANTSAY,1,$L(CANTSAY)-2)
  1. Q
  1. ;
  1. SCORE ;
  1. F SCALE="VRIN-r","TRIN-r","F-r","Fp-r","Fs","FBS-r","RBS","L-r","K-r" D
  1. .D SCORE1^YTSMPIR(.RSLT,SCALE,.RSP)
  1. F SCALE="EID","THD","BXD","RCd","RC1","RC2","RC3","RC4","RC6","RC7","RC8","RC9" D
  1. .D SCORE1^YTSMPIR(.RSLT,SCALE,.RSP)
  1. F SCALE="MLS","HPC","NUC","GIC","SUI","HLP","SFD","NFC","COG","STW","AXY","ANP","BRF","MSF" D
  1. .D SCORE1^YTSMPIR(.RSLT,SCALE,.RSP)
  1. F SCALE="JCP","SUB","AGG","ACT","FML","IPP","SAV","SHY","DSF","AES","MEC" D
  1. .D SCORE1^YTSMPIR(.RSLT,SCALE,.RSP)
  1. F SCALE="AGGR","PSYC","DISC","NEGE","INTR" D
  1. .D SCORE1^YTSMPIR(.RSLT,SCALE,.RSP)
  1. Q
  1. ;
  1. SCORESV ;
  1. ;
  1. I $D(^TMP($J,"YSG",1)),^TMP($J,"YSG",1)="[ERROR]" D Q ;-->out
  1. .K ^TMP($J,"YSCOR")
  1. .S ^TMP($J,"YSCOR",1)="[ERROR]"
  1. .S ^TMP($J,"YSCOR",2)=YSINSNAM_" Scale not found"
  1. ;
  1. K ^TMP($J,"YSCOR")
  1. S ^TMP($J,"YSCOR",1)="[DATA]"
  1. ; MMPI-2-RF^Validity
  1. ; SCR(SCALE)=RAW^TSCORE^PERCENT_ANSWERED^COUNT
  1. S ^TMP($J,"YSCOR",2)=$$GET1^DIQ(601.87,706_",",3,"I")_"="_SCR("VRIN-r") ; VRIN
  1. S ^TMP($J,"YSCOR",3)=$$GET1^DIQ(601.87,707_",",3,"I")_"="_SCR("TRIN-r") ;TRIN
  1. S ^TMP($J,"YSCOR",4)=$$GET1^DIQ(601.87,709_",",3,"I")_"="_SCR("F-r")
  1. S ^TMP($J,"YSCOR",5)=$$GET1^DIQ(601.87,710_",",3,"I")_"="_SCR("Fp-r")
  1. S ^TMP($J,"YSCOR",6)=$$GET1^DIQ(601.87,711_",",3,"I")_"="_SCR("Fs")
  1. S ^TMP($J,"YSCOR",7)=$$GET1^DIQ(601.87,712_",",3,"I")_"="_SCR("FBS-r")
  1. S ^TMP($J,"YSCOR",8)=$$GET1^DIQ(601.87,713_",",3,"I")_"="_SCR("RBS")
  1. S ^TMP($J,"YSCOR",9)=$$GET1^DIQ(601.87,714_",",3,"I")_"="_SCR("L-r")
  1. S ^TMP($J,"YSCOR",10)=$$GET1^DIQ(601.87,715_",",3,"I")_"="_SCR("K-r")
  1. ; MMPI-2-RF^Higher-Order
  1. S ^TMP($J,"YSCOR",11)=$$GET1^DIQ(601.87,708_",",3,"I")_"="_SCR("EID")
  1. S ^TMP($J,"YSCOR",12)=$$GET1^DIQ(601.87,718_",",3,"I")_"="_SCR("THD")
  1. S ^TMP($J,"YSCOR",13)=$$GET1^DIQ(601.87,719_",",3,"I")_"="_SCR("BXD")
  1. ; MMPI-2-RF^Restructured Clinical
  1. S ^TMP($J,"YSCOR",14)=$$GET1^DIQ(601.87,730_",",3,"I")_"="_SCR("RCd")
  1. S ^TMP($J,"YSCOR",15)=$$GET1^DIQ(601.87,731_",",3,"I")_"="_SCR("RC1")
  1. S ^TMP($J,"YSCOR",16)=$$GET1^DIQ(601.87,722_",",3,"I")_"="_SCR("RC2")
  1. S ^TMP($J,"YSCOR",17)=$$GET1^DIQ(601.87,723_",",3,"I")_"="_SCR("RC3")
  1. S ^TMP($J,"YSCOR",18)=$$GET1^DIQ(601.87,724_",",3,"I")_"="_SCR("RC4")
  1. S ^TMP($J,"YSCOR",19)=$$GET1^DIQ(601.87,725_",",3,"I")_"="_SCR("RC6")
  1. S ^TMP($J,"YSCOR",20)=$$GET1^DIQ(601.87,726_",",3,"I")_"="_SCR("RC7")
  1. S ^TMP($J,"YSCOR",21)=$$GET1^DIQ(601.87,727_",",3,"I")_"="_SCR("RC8")
  1. S ^TMP($J,"YSCOR",22)=$$GET1^DIQ(601.87,728_",",3,"I")_"="_SCR("RC9")
  1. ; MMPI-2-RF^Somatic/Cognitive
  1. S ^TMP($J,"YSCOR",23)=$$GET1^DIQ(601.87,732_",",3,"I")_"="_SCR("MLS")
  1. S ^TMP($J,"YSCOR",24)=$$GET1^DIQ(601.87,733_",",3,"I")_"="_SCR("GIC")
  1. S ^TMP($J,"YSCOR",25)=$$GET1^DIQ(601.87,734_",",3,"I")_"="_SCR("HPC")
  1. S ^TMP($J,"YSCOR",26)=$$GET1^DIQ(601.87,735_",",3,"I")_"="_SCR("NUC")
  1. S ^TMP($J,"YSCOR",27)=$$GET1^DIQ(601.87,736_",",3,"I")_"="_SCR("COG")
  1. ; MMPI-2-RF^Internalizing
  1. S ^TMP($J,"YSCOR",28)=$$GET1^DIQ(601.87,737_",",3,"I")_"="_SCR("SUI")
  1. S ^TMP($J,"YSCOR",29)=$$GET1^DIQ(601.87,738_",",3,"I")_"="_SCR("HLP")
  1. S ^TMP($J,"YSCOR",30)=$$GET1^DIQ(601.87,739_",",3,"I")_"="_SCR("SFD")
  1. S ^TMP($J,"YSCOR",31)=$$GET1^DIQ(601.87,740_",",3,"I")_"="_SCR("NFC")
  1. S ^TMP($J,"YSCOR",32)=$$GET1^DIQ(601.87,741_",",3,"I")_"="_SCR("STW")
  1. S ^TMP($J,"YSCOR",33)=$$GET1^DIQ(601.87,742_",",3,"I")_"="_SCR("AXY")
  1. S ^TMP($J,"YSCOR",34)=$$GET1^DIQ(601.87,743_",",3,"I")_"="_SCR("ANP")
  1. S ^TMP($J,"YSCOR",35)=$$GET1^DIQ(601.87,744_",",3,"I")_"="_SCR("BRF")
  1. S ^TMP($J,"YSCOR",36)=$$GET1^DIQ(601.87,745_",",3,"I")_"="_SCR("MSF")
  1. ; MMPI-2-RF^Externalizing
  1. S ^TMP($J,"YSCOR",37)=$$GET1^DIQ(601.87,746_",",3,"I")_"="_SCR("JCP")
  1. S ^TMP($J,"YSCOR",38)=$$GET1^DIQ(601.87,747_",",3,"I")_"="_SCR("SUB")
  1. S ^TMP($J,"YSCOR",39)=$$GET1^DIQ(601.87,748_",",3,"I")_"="_SCR("AGG")
  1. S ^TMP($J,"YSCOR",40)=$$GET1^DIQ(601.87,749_",",3,"I")_"="_SCR("ACT")
  1. ; MMPI-2-RF^Interpersonal
  1. S ^TMP($J,"YSCOR",41)=$$GET1^DIQ(601.87,752_",",3,"I")_"="_SCR("FML")
  1. S ^TMP($J,"YSCOR",42)=$$GET1^DIQ(601.87,753_",",3,"I")_"="_SCR("IPP")
  1. S ^TMP($J,"YSCOR",43)=$$GET1^DIQ(601.87,754_",",3,"I")_"="_SCR("SAV")
  1. S ^TMP($J,"YSCOR",44)=$$GET1^DIQ(601.87,755_",",3,"I")_"="_SCR("SHY")
  1. S ^TMP($J,"YSCOR",45)=$$GET1^DIQ(601.87,756_",",3,"I")_"="_SCR("DSF")
  1. ; MMPI-2-RF^Interest
  1. S ^TMP($J,"YSCOR",46)=$$GET1^DIQ(601.87,750_",",3,"I")_"="_SCR("AES")
  1. S ^TMP($J,"YSCOR",47)=$$GET1^DIQ(601.87,751_",",3,"I")_"="_SCR("MEC")
  1. ; MMPI-2-RF^Personality Psychopathology
  1. S ^TMP($J,"YSCOR",48)=$$GET1^DIQ(601.87,757_",",3,"I")_"="_SCR("AGGR")
  1. S ^TMP($J,"YSCOR",49)=$$GET1^DIQ(601.87,758_",",3,"I")_"="_SCR("PSYC")
  1. S ^TMP($J,"YSCOR",50)=$$GET1^DIQ(601.87,759_",",3,"I")_"="_SCR("DISC")
  1. S ^TMP($J,"YSCOR",51)=$$GET1^DIQ(601.87,760_",",3,"I")_"="_SCR("NEGE")
  1. S ^TMP($J,"YSCOR",52)=$$GET1^DIQ(601.87,761_",",3,"I")_"="_SCR("INTR")
  1. Q
  1. ;
  1. DLLSTR(YSDATA,YS,YSTRNG) ;
  1. ; YSTRNG = 1 Score Instrument
  1. ; YSTRNG = 2 get Report Answers and Text
  1. N CANTSAY,CNT,DASHES,RSP,RSLT,SCALE,SCR,TSARR,TXT,YSINSNAM,YSAD
  1. S RSLT="",CNT="",SCR="",CANTSAY=""
  1. ;
  1. D DATA1
  1. D SCAN^YTSMPIR(.CNT,.RSP)
  1. ;
  1. I YSTRNG=1 D
  1. .D BLDRAW^YTSMPIRD
  1. .D SCORE
  1. .D SCORESV
  1. ;
  1. I YSTRNG=2 D
  1. .K TSARR
  1. .S TXT="",TSARR("NOADM")=""
  1. .S YSAD=YS("AD")
  1. .; special call to get RESULTS since there are TRANSFORMED values
  1. .D LDTSCOR^YTSCORE(.TSARR,YSAD)
  1. .I TSARR("NOADM")="" D
  1. ..D PROGNOTE^YTSMPI2P
  1. .S YSDATA($O(YSDATA(""),-1)+1)=999999999999_U_U_$S(TSARR("NOADM")'="":TSARR("NOADM"),1:TXT)
  1. K T,K2
  1. Q