YTSNEOP3 ;SLC/PIJ - Score NEO-PI-3 ; 01/08/2016
 ;;5.01;MENTAL HEALTH;**123**;DEC 30,1994;Build 73
 ;
 ;Public, Supported ICRs
 ; #2056 - Fileman API - $$GET1^DIQ
 ;
 Q
 ;
PROCANS(SCALE,ANSWER,REGREV) ;
 N ANS
 S ANS=""
 S ANS=ANSWER
 I ANSWER="-1" D  ; // score a blank as neutral
 .S ANS=2
 .S V0=0
 .S V1=0
 .S V2=0
 .S V3=0
 .S V4=0
 I ANSWER="0" D   ; // Stronly Disagree
 .S ZERO=ZERO+1
 .S V0=V0+1
 .S V1=0
 .S V2=0
 .S V3=0
 .S V4=0
 I ANSWER="1" D   ; // Disagree
 .S ONE=ONE+1
 .S V0=0
 .S V1=V1+1
 .S V2=0
 .S V3=0
 .S V4=0
 I ANSWER="2" D  ; // Neutral
 .S TWO=TWO+1
 .S V0=0
 .S V1=0
 .S V2=V2+1
 .S V3=0
 .S V4=0
 I ANSWER="3" D  ;  // Agree
 .S THREE=THREE+1
 .S V0=0
 .S V1=0
 .S V2=0
 .S V3=V3+1
 .S V4=0
 I ANSWER="4" D  ;  // Strongly Agree
 .S FOUR=FOUR+1
 .S V0=0
 .S V1=0
 .S V2=0
 .S V3=0
 .S V4=V4+1
 ;
 I YSTRNG=1 D
 .I REGREV="REVERSE" D
 ..S @SCALE=@SCALE+4-ANS
 .I REGREV'="REVERSE" D
 ..S @SCALE=@SCALE+ANS
 ;  
 I (V0=7) D
 .S VR=VR_"|Strongly disagree has been checked at least six times in a row. "
 I (V1=10) D
 .S VR=VR_"|Disagree has been checked at least nine times in a row. "
 I (V2=11) D
 .S VR=VR_"|Neutral has been checked at least ten times in a row. "
 I (V3=15) D
 .S VR=VR_"|Agree has been checked at least 14 times in a row. "
 I (V4=10) D
 .S VR=VR_"|Strongly agree has been checked at least nine times in a row. "
 Q
 ;
SCORDOM ;
 ; There are questions with rounding these Scales based on analysis in the publishers document.
 ; To match publisher results, add .2 to value, then truncate to first decimal piece.
 ;
 ; Calculations to score the Domain Scales
 I SKIP>40 S (N,E,O,A,C)="NA" Q
 D TSCORE
 S N=(.26*TS("N1"))+(.18*TS("N2"))+(.23*TS("N3"))+(.22*TS("N4"))+(.11*TS("N5"))+(.18*TS("N6"))+(.01*TS("E1"))-(.06*TS("E2"))-(.07*TS("E3"))+(.08*TS("E4"))
 S N=(N-(.02*TS("E5"))+(.02*TS("E6"))+(.02*TS("O1"))+(.09*TS("O2"))+(.16*TS("O3"))-(.06*TS("O4"))-(.02*TS("O5"))-(.06*TS("O6"))-(.09*TS("A1"))+(.05*TS("A2")))
 S N=(N+(.05*TS("A3"))-(.02*TS("A4"))+(.07*TS("A5"))+(.05*TS("A6"))-(.03*TS("C1"))+(.10*TS("C2"))+(.05*TS("C3"))+(.09*TS("C4"))+(.01*TS("C5"))+(.02*TS("C6")))-31.00
 S N=$P(N+.2,".")
 ;
 S E=(.02*TS("N1"))+(.00*TS("N2"))-(.02*TS("N3"))-(.04*TS("N4"))+(.16*TS("N5"))-(.01*TS("N6"))+(.21*TS("E1"))+(.24*TS("E2"))+(.10*TS("E3"))+(.15*TS("E4"))
 S E=E+(.21*TS("E5"))+(.24*TS("E6"))-(.01*TS("O1"))-(.12*TS("O2"))+(.07*TS("O3"))-(.01*TS("O4"))-(.14*TS("O5"))-(.05*TS("O6"))+(.05*TS("A1"))-(.05*TS("A2"))
 S E=E+(.19*TS("A3"))-(.03*TS("A4"))-(.01*TS("A5"))+(.08*TS("A6"))-(.01*TS("C1"))+(.01*TS("C2"))-(.07*TS("C3"))+(.01*TS("C4"))+(.02*TS("C5"))-(.14*TS("C6"))-2.50
 S E=$P(E+.2,".")
 ;
 S O=(.00*TS("N1"))+(.00*TS("N2"))+(.03*TS("N3"))+(.00*TS("N4"))-(.06*TS("N5"))-(.01*TS("N6"))-(.02*TS("E1"))-(.09*TS("E2"))+(.02*TS("E3"))-(.02*TS("E4"))-(.06*TS("E5"))
 S O=O-(.03*TS("E6"))+(.23*TS("O1"))+(.34*TS("O2"))+(.17*TS("O3"))+(.22*TS("O4"))+(.35*TS("O5"))+(.21*TS("O6"))+(.05*TS("A1"))+(.00*TS("A2"))-(.09*TS("A3"))+(.03*TS("A4"))
 S O=O-(.04*TS("A5"))+(.03*TS("A6"))+(.04*TS("C1"))-(.09*TS("C2"))+(.03*TS("C3"))+(.04*TS("C4"))-(.05*TS("C5"))+(.04*TS("C6"))-13.50
 S O=$P(O+.2,".")
 ;
 S A=(.03*TS("N1"))-(.12*TS("N2"))+(.03*TS("N3"))+(.05*TS("N4"))-(.04*TS("N5"))+(.05*TS("N6"))+(.12*TS("E1"))+(.02*TS("E2"))-(.12*TS("E3"))-(.09*TS("E4"))-(.11*TS("E5"))
 S A=A+(.03*TS("E6"))-(.01*TS("O1"))+(.08*TS("O2"))+(.02*TS("O3"))+(.02*TS("O4"))-(.02*TS("O5"))-(.01*TS("O6"))+(.16*TS("A1"))+(.20*TS("A2"))+(.16*TS("A3"))+(.23*TS("A4"))
 S A=A+(.19*TS("A5"))+(.20*TS("A6"))-(.02*TS("C1"))-(.03*TS("C2"))+(.06*TS("C3"))-(.06*TS("C4"))-(.02*TS("C5"))+(.04*TS("C6"))-2.00
 S A=$P(A+.2,".")
 ;
 S C=(.09*TS("N1"))+(.09*TS("N2"))+(.04*TS("N3"))+(.07*TS("N4"))-(.05*TS("N5"))-(.02*TS("N6"))-(.03*TS("E1"))-(.09*TS("E2"))+(.05*TS("E3"))+(.13*TS("E4"))-(.05*TS("E5"))
 S C=C-(.02*TS("E6"))-(.08*TS("O1"))+(.08*TS("O2"))+(.08*TS("O3"))-(.05*TS("O4"))+(.05*TS("O5"))-(.07*TS("O6"))-(.08*TS("A1"))+(.07*TS("A2"))+(.03*TS("A3"))-(.04*TS("A4"))
 S C=C-(.01*TS("A5"))-(.03*TS("A6"))+(.16*TS("C1"))+(.24*TS("C2"))+(.21*TS("C3"))+(.25*TS("C4"))+(.21*TS("C5"))+(.18*TS("C6"))-20.50
 S C=$P(C+.2,".")
 ;
 K TS
 Q
 ;
TSCORE  ; Create TS array  (TSCORE)
 N I
 K TS
 F I="N1"_U_N1,"N2"_U_N2,"N3"_U_N3,"N4"_U_N4,"N5"_U_N5,"N6"_U_N6,"E1"_U_E1,"E2"_U_E2,"E3"_U_E3,"E4"_U_E4,"E5"_U_E5,"E6"_U_E6 D
 .S TS($P(I,U,1))=$$GETTSCOR^YTSNEOP1($P(I,U,1),$P(I,U,2))
 ;
 F I="O1"_U_O1,"O2"_U_O2,"O3"_U_O3,"O4"_U_O4,"O5"_U_O5,"O6"_U_O6,"A1"_U_A1,"A2"_U_A2,"A3"_U_A3,"A4"_U_A4,"A5"_U_A5,"A6"_U_A6 D
 .S TS($P(I,U,1))=$$GETTSCOR^YTSNEOP1($P(I,U,1),$P(I,U,2))
 ;
 F I="C1"_U_C1,"C2"_U_C2,"C3"_U_C3,"C4"_U_C4,"C5"_U_C5,"C6"_U_C6 D
 .S TS($P(I,U,1))=$$GETTSCOR^YTSNEOP1($P(I,U,1),$P(I,U,2))
 ;
 Q
SUMTXT ;
 N X
 S RSLT=RSLT_"|| Your NEO Summary"
 S RSLT=RSLT_"||The NEO Inventory measures five broad domain, or dimensions, of personality."
 S RSLT=RSLT_"|Responses describing your thoughts, feelings, and goals can be compared with"
 S RSLT=RSLT_"|those describing others' to portray your personality."
 S RSLT=RSLT_"||This summary is intended to give you a general idea of what your personality"
 S RSLT=RSLT_"|is like. It is not a detailed report. If you completed the inventory again,"
 S RSLT=RSLT_"|or if someone else described you, you might score somewhat differently."
 S RSLT=RSLT_"||The NEO Inventory measures differences among people in general. It is not"
 S RSLT=RSLT_"|a test of intelligence or ability, and it is not intended to diagnose"
 S RSLT=RSLT_"|problems of mental health or adjustment. It does, however, give you some"
 S RSLT=RSLT_"|idea of what makes you unique in your ways of thinking, feeling and"
 S RSLT=RSLT_"|interacting with others."
 S RSLT=RSLT_"||Compared with the responses of other people, your responses suggest that you"
 S RSLT=RSLT_"|can be described as:"
 S X=$P(TSARR("Neuroticism"),U,2) ; Calculates the raw score
 I (X>55) D
 .S RSLT=RSLT_"||Sensitive, emotional, and prone to experience feelings that are upsetting."
 I (X>45),(X<=55) D
 .S RSLT=RSLT_"||Generally calm and able to deal with stress, but you sometimes experience"
 .S RSLT=RSLT_"|feelings of guilt, anger, or sadness."
 I (X<=45) D
 .S RSLT=RSLT_"||Secure, hardy, and generally relaxed, even under stressful conditions."
 ;
 S X=$P(TSARR("Extraversion"),U,2) ; Calculates the raw score
 I (X>55) D
 .S RSLT=RSLT_"||Extraverted, outgoing, active, and high-spirited. You prefer to be around "
 .S RSLT=RSLT_"|people most of the time."
 I (X>45),(X<=55) D
 .S RSLT=RSLT_"||Moderate in activity and enthusiasm. You enjoy the company of others,"
 .S RSLT=RSLT_"|but you also value privacy."
 I (X<=45) D
 .S RSLT=RSLT_"||Introverted, reserved, and serious. You prefer to be alone or with"
 .S RSLT=RSLT_"|a few close friends."
 ;
 S X=$P(TSARR("Openness"),U,2) ; Calculates the raw score
 I (X>55) D
 .S RSLT=RSLT_"||Open to new experiences. You have broad interests and are very imaginative."
 I (X>45),(X<=55) D
 .S RSLT=RSLT_"||Practical, but willing to consider new ways of doing things. You"
 .S RSLT=RSLT_"|seek a balance between the old and the new."
 I (X<=45) D
 .S RSLT=RSLT_"||Down-to-earth, practical, traditional, and pretty much set in your ways."
 ;
 S X=$P(TSARR("Agreeableness"),U,2) ; Calculates the raw score
 I (X>55) D
 .S RSLT=RSLT_"||Compassionate, good-natured, and eager to cooperate and avoid conflict."
 I (X>45),(X<=55) D
 .S RSLT=RSLT_"||Generally warm, trusting and agreeable, but you can sometimes"
 .S RSLT=RSLT_"|be stubborn and competitive."
 I (X<=45) D
 .S RSLT=RSLT_"||Hardheaded, skeptical, proud, and competitive. You tend to express your"
 .S RSLT=RSLT_"|anger directly."
 ;
 S X=$P(TSARR("Conscientiousness"),U,2) ; Calculates the raw score
 I (X>55) D
 .S RSLT=RSLT_"||Conscientious and well-organized. You have high standards and always"
 .S RSLT=RSLT_"|strive to achieve your goals."
 I (X>45),(X<=55) D
 .S RSLT=RSLT_"||Dependable and moderately well-organized. You generally have clear goals,"
 .S RSLT=RSLT_"|but are able to set your work aside."
 I (X<=45) D
 .S RSLT=RSLT_"||Easygoing, not very well-organized, and sometimes careless. You prefer not"
 .S RSLT=RSLT_"|to make plans."
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HYTSNEOP3   8332     printed  Sep 23, 2025@19:56:34                                                                                                                                                                                                    Page 2
YTSNEOP3  ;SLC/PIJ - Score NEO-PI-3 ; 01/08/2016
 +1       ;;5.01;MENTAL HEALTH;**123**;DEC 30,1994;Build 73
 +2       ;
 +3       ;Public, Supported ICRs
 +4       ; #2056 - Fileman API - $$GET1^DIQ
 +5       ;
 +6        QUIT 
 +7       ;
PROCANS(SCALE,ANSWER,REGREV) ;
 +1        NEW ANS
 +2        SET ANS=""
 +3        SET ANS=ANSWER
 +4       ; // score a blank as neutral
           IF ANSWER="-1"
               Begin DoDot:1
 +5                SET ANS=2
 +6                SET V0=0
 +7                SET V1=0
 +8                SET V2=0
 +9                SET V3=0
 +10               SET V4=0
               End DoDot:1
 +11      ; // Stronly Disagree
           IF ANSWER="0"
               Begin DoDot:1
 +12               SET ZERO=ZERO+1
 +13               SET V0=V0+1
 +14               SET V1=0
 +15               SET V2=0
 +16               SET V3=0
 +17               SET V4=0
               End DoDot:1
 +18      ; // Disagree
           IF ANSWER="1"
               Begin DoDot:1
 +19               SET ONE=ONE+1
 +20               SET V0=0
 +21               SET V1=V1+1
 +22               SET V2=0
 +23               SET V3=0
 +24               SET V4=0
               End DoDot:1
 +25      ; // Neutral
           IF ANSWER="2"
               Begin DoDot:1
 +26               SET TWO=TWO+1
 +27               SET V0=0
 +28               SET V1=0
 +29               SET V2=V2+1
 +30               SET V3=0
 +31               SET V4=0
               End DoDot:1
 +32      ;  // Agree
           IF ANSWER="3"
               Begin DoDot:1
 +33               SET THREE=THREE+1
 +34               SET V0=0
 +35               SET V1=0
 +36               SET V2=0
 +37               SET V3=V3+1
 +38               SET V4=0
               End DoDot:1
 +39      ;  // Strongly Agree
           IF ANSWER="4"
               Begin DoDot:1
 +40               SET FOUR=FOUR+1
 +41               SET V0=0
 +42               SET V1=0
 +43               SET V2=0
 +44               SET V3=0
 +45               SET V4=V4+1
               End DoDot:1
 +46      ;
 +47       IF YSTRNG=1
               Begin DoDot:1
 +48               IF REGREV="REVERSE"
                       Begin DoDot:2
 +49                       SET @SCALE=@SCALE+4-ANS
                       End DoDot:2
 +50               IF REGREV'="REVERSE"
                       Begin DoDot:2
 +51                       SET @SCALE=@SCALE+ANS
                       End DoDot:2
               End DoDot:1
 +52      ;  
 +53       IF (V0=7)
               Begin DoDot:1
 +54               SET VR=VR_"|Strongly disagree has been checked at least six times in a row. "
               End DoDot:1
 +55       IF (V1=10)
               Begin DoDot:1
 +56               SET VR=VR_"|Disagree has been checked at least nine times in a row. "
               End DoDot:1
 +57       IF (V2=11)
               Begin DoDot:1
 +58               SET VR=VR_"|Neutral has been checked at least ten times in a row. "
               End DoDot:1
 +59       IF (V3=15)
               Begin DoDot:1
 +60               SET VR=VR_"|Agree has been checked at least 14 times in a row. "
               End DoDot:1
 +61       IF (V4=10)
               Begin DoDot:1
 +62               SET VR=VR_"|Strongly agree has been checked at least nine times in a row. "
               End DoDot:1
 +63       QUIT 
 +64      ;
SCORDOM   ;
 +1       ; There are questions with rounding these Scales based on analysis in the publishers document.
 +2       ; To match publisher results, add .2 to value, then truncate to first decimal piece.
 +3       ;
 +4       ; Calculations to score the Domain Scales
 +5        IF SKIP>40
               SET (N,E,O,A,C)="NA"
               QUIT 
 +6        DO TSCORE
 +7        SET N=(.26*TS("N1"))+(.18*TS("N2"))+(.23*TS("N3"))+(.22*TS("N4"))+(.11*TS("N5"))+(.18*TS("N6"))+(.01*TS("E1"))-(.06*TS("E2"))-(.07*TS("E3"))+(.08*TS("E4"))
 +8        SET N=(N-(.02*TS("E5"))+(.02*TS("E6"))+(.02*TS("O1"))+(.09*TS("O2"))+(.16*TS("O3"))-(.06*TS("O4"))-(.02*TS("O5"))-(.06*TS("O6"))-(.09*TS("A1"))+(.05*TS("A2")))
 +9        SET N=(N+(.05*TS("A3"))-(.02*TS("A4"))+(.07*TS("A5"))+(.05*TS("A6"))-(.03*TS("C1"))+(.10*TS("C2"))+(.05*TS("C3"))+(.09*TS("C4"))+(.01*TS("C5"))+(.02*TS("C6")))-31.00
 +10       SET N=$PIECE(N+.2,".")
 +11      ;
 +12       SET E=(.02*TS("N1"))+(.00*TS("N2"))-(.02*TS("N3"))-(.04*TS("N4"))+(.16*TS("N5"))-(.01*TS("N6"))+(.21*TS("E1"))+(.24*TS("E2"))+(.10*TS("E3"))+(.15*TS("E4"))
 +13       SET E=E+(.21*TS("E5"))+(.24*TS("E6"))-(.01*TS("O1"))-(.12*TS("O2"))+(.07*TS("O3"))-(.01*TS("O4"))-(.14*TS("O5"))-(.05*TS("O6"))+(.05*TS("A1"))-(.05*TS("A2"))
 +14       SET E=E+(.19*TS("A3"))-(.03*TS("A4"))-(.01*TS("A5"))+(.08*TS("A6"))-(.01*TS("C1"))+(.01*TS("C2"))-(.07*TS("C3"))+(.01*TS("C4"))+(.02*TS("C5"))-(.14*TS("C6"))-2.50
 +15       SET E=$PIECE(E+.2,".")
 +16      ;
 +17       SET O=(.00*TS("N1"))+(.00*TS("N2"))+(.03*TS("N3"))+(.00*TS("N4"))-(.06*TS("N5"))-(.01*TS("N6"))-(.02*TS("E1"))-(.09*TS("E2"))+(.02*TS("E3"))-(.02*TS("E4"))-(.06*TS("E5"))
 +18       SET O=O-(.03*TS("E6"))+(.23*TS("O1"))+(.34*TS("O2"))+(.17*TS("O3"))+(.22*TS("O4"))+(.35*TS("O5"))+(.21*TS("O6"))+(.05*TS("A1"))+(.00*TS("A2"))-(.09*TS("A3"))+(.03*TS("A4"))
 +19       SET O=O-(.04*TS("A5"))+(.03*TS("A6"))+(.04*TS("C1"))-(.09*TS("C2"))+(.03*TS("C3"))+(.04*TS("C4"))-(.05*TS("C5"))+(.04*TS("C6"))-13.50
 +20       SET O=$PIECE(O+.2,".")
 +21      ;
 +22       SET A=(.03*TS("N1"))-(.12*TS("N2"))+(.03*TS("N3"))+(.05*TS("N4"))-(.04*TS("N5"))+(.05*TS("N6"))+(.12*TS("E1"))+(.02*TS("E2"))-(.12*TS("E3"))-(.09*TS("E4"))-(.11*TS("E5"))
 +23       SET A=A+(.03*TS("E6"))-(.01*TS("O1"))+(.08*TS("O2"))+(.02*TS("O3"))+(.02*TS("O4"))-(.02*TS("O5"))-(.01*TS("O6"))+(.16*TS("A1"))+(.20*TS("A2"))+(.16*TS("A3"))+(.23*TS("A4"))
 +24       SET A=A+(.19*TS("A5"))+(.20*TS("A6"))-(.02*TS("C1"))-(.03*TS("C2"))+(.06*TS("C3"))-(.06*TS("C4"))-(.02*TS("C5"))+(.04*TS("C6"))-2.00
 +25       SET A=$PIECE(A+.2,".")
 +26      ;
 +27       SET C=(.09*TS("N1"))+(.09*TS("N2"))+(.04*TS("N3"))+(.07*TS("N4"))-(.05*TS("N5"))-(.02*TS("N6"))-(.03*TS("E1"))-(.09*TS("E2"))+(.05*TS("E3"))+(.13*TS("E4"))-(.05*TS("E5"))
 +28       SET C=C-(.02*TS("E6"))-(.08*TS("O1"))+(.08*TS("O2"))+(.08*TS("O3"))-(.05*TS("O4"))+(.05*TS("O5"))-(.07*TS("O6"))-(.08*TS("A1"))+(.07*TS("A2"))+(.03*TS("A3"))-(.04*TS("A4"))
 +29       SET C=C-(.01*TS("A5"))-(.03*TS("A6"))+(.16*TS("C1"))+(.24*TS("C2"))+(.21*TS("C3"))+(.25*TS("C4"))+(.21*TS("C5"))+(.18*TS("C6"))-20.50
 +30       SET C=$PIECE(C+.2,".")
 +31      ;
 +32       KILL TS
 +33       QUIT 
 +34      ;
TSCORE    ; Create TS array  (TSCORE)
 +1        NEW I
 +2        KILL TS
 +3        FOR I="N1"_U_N1,"N2"_U_N2,"N3"_U_N3,"N4"_U_N4,"N5"_U_N5,"N6"_U_N6,"E1"_U_E1,"E2"_U_E2,"E3"_U_E3,"E4"_U_E4,"E5"_U_E5,"E6"_U_E6
               Begin DoDot:1
 +4                SET TS($PIECE(I,U,1))=$$GETTSCOR^YTSNEOP1($PIECE(I,U,1),$PIECE(I,U,2))
               End DoDot:1
 +5       ;
 +6        FOR I="O1"_U_O1,"O2"_U_O2,"O3"_U_O3,"O4"_U_O4,"O5"_U_O5,"O6"_U_O6,"A1"_U_A1,"A2"_U_A2,"A3"_U_A3,"A4"_U_A4,"A5"_U_A5,"A6"_U_A6
               Begin DoDot:1
 +7                SET TS($PIECE(I,U,1))=$$GETTSCOR^YTSNEOP1($PIECE(I,U,1),$PIECE(I,U,2))
               End DoDot:1
 +8       ;
 +9        FOR I="C1"_U_C1,"C2"_U_C2,"C3"_U_C3,"C4"_U_C4,"C5"_U_C5,"C6"_U_C6
               Begin DoDot:1
 +10               SET TS($PIECE(I,U,1))=$$GETTSCOR^YTSNEOP1($PIECE(I,U,1),$PIECE(I,U,2))
               End DoDot:1
 +11      ;
 +12       QUIT 
SUMTXT    ;
 +1        NEW X
 +2        SET RSLT=RSLT_"|| Your NEO Summary"
 +3        SET RSLT=RSLT_"||The NEO Inventory measures five broad domain, or dimensions, of personality."
 +4        SET RSLT=RSLT_"|Responses describing your thoughts, feelings, and goals can be compared with"
 +5        SET RSLT=RSLT_"|those describing others' to portray your personality."
 +6        SET RSLT=RSLT_"||This summary is intended to give you a general idea of what your personality"
 +7        SET RSLT=RSLT_"|is like. It is not a detailed report. If you completed the inventory again,"
 +8        SET RSLT=RSLT_"|or if someone else described you, you might score somewhat differently."
 +9        SET RSLT=RSLT_"||The NEO Inventory measures differences among people in general. It is not"
 +10       SET RSLT=RSLT_"|a test of intelligence or ability, and it is not intended to diagnose"
 +11       SET RSLT=RSLT_"|problems of mental health or adjustment. It does, however, give you some"
 +12       SET RSLT=RSLT_"|idea of what makes you unique in your ways of thinking, feeling and"
 +13       SET RSLT=RSLT_"|interacting with others."
 +14       SET RSLT=RSLT_"||Compared with the responses of other people, your responses suggest that you"
 +15       SET RSLT=RSLT_"|can be described as:"
 +16      ; Calculates the raw score
           SET X=$PIECE(TSARR("Neuroticism"),U,2)
 +17       IF (X>55)
               Begin DoDot:1
 +18               SET RSLT=RSLT_"||Sensitive, emotional, and prone to experience feelings that are upsetting."
               End DoDot:1
 +19       IF (X>45)
               IF (X<=55)
                   Begin DoDot:1
 +20                   SET RSLT=RSLT_"||Generally calm and able to deal with stress, but you sometimes experience"
 +21                   SET RSLT=RSLT_"|feelings of guilt, anger, or sadness."
                   End DoDot:1
 +22       IF (X<=45)
               Begin DoDot:1
 +23               SET RSLT=RSLT_"||Secure, hardy, and generally relaxed, even under stressful conditions."
               End DoDot:1
 +24      ;
 +25      ; Calculates the raw score
           SET X=$PIECE(TSARR("Extraversion"),U,2)
 +26       IF (X>55)
               Begin DoDot:1
 +27               SET RSLT=RSLT_"||Extraverted, outgoing, active, and high-spirited. You prefer to be around "
 +28               SET RSLT=RSLT_"|people most of the time."
               End DoDot:1
 +29       IF (X>45)
               IF (X<=55)
                   Begin DoDot:1
 +30                   SET RSLT=RSLT_"||Moderate in activity and enthusiasm. You enjoy the company of others,"
 +31                   SET RSLT=RSLT_"|but you also value privacy."
                   End DoDot:1
 +32       IF (X<=45)
               Begin DoDot:1
 +33               SET RSLT=RSLT_"||Introverted, reserved, and serious. You prefer to be alone or with"
 +34               SET RSLT=RSLT_"|a few close friends."
               End DoDot:1
 +35      ;
 +36      ; Calculates the raw score
           SET X=$PIECE(TSARR("Openness"),U,2)
 +37       IF (X>55)
               Begin DoDot:1
 +38               SET RSLT=RSLT_"||Open to new experiences. You have broad interests and are very imaginative."
               End DoDot:1
 +39       IF (X>45)
               IF (X<=55)
                   Begin DoDot:1
 +40                   SET RSLT=RSLT_"||Practical, but willing to consider new ways of doing things. You"
 +41                   SET RSLT=RSLT_"|seek a balance between the old and the new."
                   End DoDot:1
 +42       IF (X<=45)
               Begin DoDot:1
 +43               SET RSLT=RSLT_"||Down-to-earth, practical, traditional, and pretty much set in your ways."
               End DoDot:1
 +44      ;
 +45      ; Calculates the raw score
           SET X=$PIECE(TSARR("Agreeableness"),U,2)
 +46       IF (X>55)
               Begin DoDot:1
 +47               SET RSLT=RSLT_"||Compassionate, good-natured, and eager to cooperate and avoid conflict."
               End DoDot:1
 +48       IF (X>45)
               IF (X<=55)
                   Begin DoDot:1
 +49                   SET RSLT=RSLT_"||Generally warm, trusting and agreeable, but you can sometimes"
 +50                   SET RSLT=RSLT_"|be stubborn and competitive."
                   End DoDot:1
 +51       IF (X<=45)
               Begin DoDot:1
 +52               SET RSLT=RSLT_"||Hardheaded, skeptical, proud, and competitive. You tend to express your"
 +53               SET RSLT=RSLT_"|anger directly."
               End DoDot:1
 +54      ;
 +55      ; Calculates the raw score
           SET X=$PIECE(TSARR("Conscientiousness"),U,2)
 +56       IF (X>55)
               Begin DoDot:1
 +57               SET RSLT=RSLT_"||Conscientious and well-organized. You have high standards and always"
 +58               SET RSLT=RSLT_"|strive to achieve your goals."
               End DoDot:1
 +59       IF (X>45)
               IF (X<=55)
                   Begin DoDot:1
 +60                   SET RSLT=RSLT_"||Dependable and moderately well-organized. You generally have clear goals,"
 +61                   SET RSLT=RSLT_"|but are able to set your work aside."
                   End DoDot:1
 +62       IF (X<=45)
               Begin DoDot:1
 +63               SET RSLT=RSLT_"||Easygoing, not very well-organized, and sometimes careless. You prefer not"
 +64               SET RSLT=RSLT_"|to make plans."
               End DoDot:1
 +65       QUIT