Changeset 623 for WorldVistAEHR/trunk/r/PROBLEM_LIST-GMPL/GMPLEDT1.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/PROBLEM_LIST-GMPL/GMPLEDT1.m
r613 r623 1 GMPLEDT1 ; SLC/MKB/KER/AJB -- Edit Problem List fields ; 04/21/2003 2 ;;2.0;Problem List;**17,20,26,28,35**;Aug 25, 1994;Build 26 3 ; 4 ; External References 5 ; DBIA 10006 ^DIC 6 ; DBIA 10026 ^DIR 7 ; DBIA 341 DIS^SDROUT2 8 ; 9 ONSET ; Edit Date of Onset - field .13 10 N X,Y,ENTERED,PROMPT,HELPMSG,DEFAULT 11 S ENTERED=$S($G(GMPFLD(.08)):+GMPFLD(.08),1:DT),DEFAULT=$G(GMPFLD(.13)) 12 S PROMPT="DATE OF ONSET: ",HELPMSG="Enter the date this problem was first observed, as precisely as known." 13 O1 ; Get Date of Onset 14 D DATE^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 15 I Y>ENTERED W !!,"Date of Onset cannot be later than the date the problem was entered!",$C(7) G O1 16 I +$P(GMPDFN,U,4),Y>$P(GMPDFN,U,4) W !!,"Date of Onset cannot be later than the date of death!",$C(7) G O1 17 S GMPFLD(.13)=Y S:Y'="" GMPFLD(.13)=GMPFLD(.13)_U_$$EXTDT^GMPLX(Y) 18 Q 19 STATUS ; Edit Status - field .12 20 ; Then Edit Date Resolved - Field 1.07, if inactive 21 N DIR,X,Y 22 S DIR(0)="9000011,.12" 23 S:$L($G(GMPFLD(.12))) DIR("B")=$P(GMPFLD(.12),U,2) 24 ST1 ; Get Status 25 D ^DIR I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q 26 I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G ST1 27 S:Y'="" Y=Y_U_$S(Y="A":"ACTIVE",1:"INACTIVE") S GMPFLD(.12)=Y 28 S:$E(Y)'="I" GMPFLD(1.07)="" S:$E(Y)'="A" GMPFLD(1.14)="" 29 D:$E(GMPFLD(.12))="I" RESOLVED^GMPLEDT4 30 D:$E(GMPFLD(.12))="A" PRIORITY^GMPLEDT4 31 Q 32 RECORDED ; Edit Date Recorded - field 1.09 33 N X,Y,PROMPT,HELPMSG,DEFAULT,ENTERED 34 S ENTERED=$S($G(GMPFLD(.08)):+GMPFLD(.08),1:DT),DEFAULT=$G(GMPFLD(1.09)) 35 S PROMPT="DATE RECORDED: ",HELPMSG="Enter the date this problem was first recorded, as precisely as known." 36 RC1 ; Get Date 37 D DATE^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 38 I Y>ENTERED W !!,"Date Recorded cannot be later than the problem was entered!",$C(7) G RC1 39 S GMPFLD(1.09)=Y S:Y'="" GMPFLD(1.09)=GMPFLD(1.09)_U_$$EXTDT^GMPLX(Y) 40 Q 41 SC ; Edit Service Connected - field 1.1 42 N DFN,DIR,X,Y 43 ; 44 ; The following allows changing a problem's SC/NSC to 45 ; NSC if there is no SC on file for patient and Problem 46 ; original SC was set to "YES" 47 ; 48 I +$G(GMPORIG(1.1))=1 D 49 . W !!,">>> Currently known service-connection data for "_$P(GMPDFN,U,2)_":" 50 ELSE Q:'GMPSC 51 S DFN=+GMPDFN D DIS^SDROUT2 52 I +GMPSC=0,+$G(GMPORIG(1.1))=1 D 53 . S DIR("A")="Patient has no service-connected condition !! " 54 . S DIR("B")="NO" 55 ELSE D 56 . S DIR("A")="Is this problem related to a service-connected condition? " 57 . S:$L($G(GMPFLD(1.1))) DIR("B")=$P(GMPFLD(1.1),U,2) W ! 58 S DIR("?",1)="If this problem is due to a service-connected condition, enter YES;",DIR("?")="press <return> and leave blank if this is unknown.",DIR(0)="YAO" 59 SC1 ; Get Service Connection 60 D ^DIR I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q 61 I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G SC1 62 I X="@" G:'$$SURE^GMPLX SC1 S Y="" 63 S GMPFLD(1.1)=Y S:Y'="" GMPFLD(1.1)=GMPFLD(1.1)_U_$S(Y:"YES",1:"NO") 64 Q 65 SP ; Edit Exposures/Conditions 66 ; Agent Orange - field 1.11 67 ; Ionizing Radiation - field 1.12 68 ; Persian Gulf/Environmental Contaminants - field 1.13 69 ; Head and/or Neck Cancer - field 1.15 70 ; Military Sexual Trauma - field 1.16 71 ; Combat Vet - field 1.17 72 ; SHAD - field 1.18 73 G SPEXP^GMPLEDT2 74 Q 75 SOURCE ; Edit Service - field 1.06 76 ; or Clinic - field 1.08 77 N DIC,X,Y,HELPMSG,PROMPT,DEFAULT,VIEW S VIEW=$E(GMPLVIEW("VIEW")) 78 S DIC=$S(VIEW="S":"^DIC(49,",1:"^SC("),DIC(0)="EMQ" 79 S DIC("S")="I $P(^(0),U,"_$S(VIEW="S":9,1:3)_")=""C""" 80 I VIEW="S" S PROMPT="SERVICE: ",DEFAULT=$P(GMPFLD(1.06),U,2) 81 E S PROMPT="CLINIC: ",DEFAULT=$P(GMPFLD(1.08),U,2) 82 S HELPMSG="Enter the clinic"_$S(VIEW="S":"al service",1:"")_" to be associated with this problem." 83 S1 ; Get Service/Clinic 84 W !,PROMPT_$S($L(DEFAULT):DEFAULT_"//",1:"") 85 R X:DTIME S:'$T X="^",DTOUT=1 S:X="^" GMPQUIT=1 Q:(X="^")!(X="") 86 I X?1"^".E D JUMP^GMPLEDT3(X) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G S1 87 I X="?" W !!,HELPMSG,! G S1 88 I X["??" D @("LIST"_$S(VIEW="S":"SERV",1:"CLIN")_"^GMPLMGR1") W !,HELPMSG G S1 89 I X="@" G:'$$SURE^GMPLX S1 S Y="" G SQ 90 D ^DIC I Y'>0 W !?5,"Only clinic"_$S(VIEW="S":"al service",1:"")_"s are allowed!",! G S1 91 SQ ; Quit Service/Clinic 92 S:VIEW'="S" GMPFLD(1.08)=Y S:VIEW="S" GMPFLD(1.06)=Y 93 Q 94 AUTHOR ; Edit Recording Provider - field 1.04 95 N X,Y,PROMPT,HELPMSG,DEFAULT S PROMPT="RECORDING PROVIDER: " 96 S DEFAULT=$G(GMPFLD(1.04)),HELPMSG="Enter the name of the provider responsible for the recording of this data." 97 D NPERSON^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 98 S GMPFLD(1.04)=$S(+Y>0:Y,1:"") 99 Q 100 PROV ; Edit Responsible Provider - field 1.05 101 N X,Y,PROMPT,DEFAULT,HELPMSG S DEFAULT=$G(GMPFLD(1.05)) 102 S PROMPT="PROVIDER: ",HELPMSG="Enter the name of the local provider treating this problem." 103 D NPERSON^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 104 S GMPFLD(1.05)=$S(+Y>0:Y,1:"") 105 Q 106 ICD ; Edit ICD-9-CM Code - field .01 107 N DIC,DIR,X,Y 108 ICD0 ; Prompt for ICD Code 109 K DIR S DIR(0)="FAO^2:6",DIR("A")="ICD CODE: " 110 S:$P($G(GMPFLD(.01)),U,2)="799.9" DIR("A")=IORVON_"ICD CODE: " 111 S:+$G(GMPFLD(.01)) DIR("B")=$P(GMPFLD(.01),U,2) 112 S DIR("?")="Enter the ICD code to be associated with this problem" 113 ICD1 ; Get ICD Code 114 D ^DIR W IORVOFF I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q 115 I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G ICD1 116 I X="@" W !!,"ICD Code may not be deleted!",!,$C(7) G ICD1 117 Q:X="" Q:$P($G(GMPFLD(.01)),U,2)=Y 118 S DIC=80,DIC(0)="EQM" D ^DIC G:Y'>0 ICD0 119 S GMPFLD(.01)=Y 120 Q 121 NOTE ; Attach a note to problem - field 11 122 N X,Y,I,DEFAULT,PROMPT,DONE,NXT,NCNT S (I,NCNT,DONE)=0 123 ; added for Code Set Versioning (CSV) 124 I $G(GMPICD),'+$$STATCHK^ICDAPIU(GMPICD,DT) D Q 125 . W !!,"This problem has an inactive ICD code. Please edit the problem before using.",! H 3 126 I $G(GMPIFN),'$$CODESTS^GMPLX(GMPIFN,DT) D Q 127 . W !!,"This problem has an inactive ICD code. Please edit the problem before using.",! H 3 128 F D Q:$D(GMPQUIT)!($G(GMPLJUMP))!DONE 129 . S NXT=$O(GMPFLD(10,"NEW",I)) S:'NXT NXT=I+1 130 . S I=NXT,NCNT=NCNT+1 131 . S PROMPT=$S(NCNT=1:"",1:"ANOTHER ")_"COMMENT"_$S(NCNT=1:" (<60 char): ",1:": "),DEFAULT=$G(GMPFLD(10,"NEW",I)) 132 . D EDNOTE^GMPLEDT4 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 133 . I X="@" K GMPFLD(10,"NEW",I) Q 134 . I Y="" S DONE=1 Q 135 . S GMPFLD(10,"NEW",I)=Y 136 Q 137 TERM ; Edit Problem - field 1.01 138 G TERM^GMPLEDT4 139 Q 140 Q ; No Editing 141 Q 1 GMPLEDT1 ; SLC/MKB/KER/AJB -- Edit Problem List fields ; 04/21/2003 2 ;;2.0;Problem List;**17,20,26,28**;Aug 25, 1994 3 ; 4 ; External References 5 ; DBIA 10006 ^DIC 6 ; DBIA 10026 ^DIR 7 ; DBIA 341 DIS^SDROUT2 8 ; 9 ONSET ; Edit Date of Onset - field .13 10 N X,Y,ENTERED,PROMPT,HELPMSG,DEFAULT 11 S ENTERED=$S($G(GMPFLD(.08)):+GMPFLD(.08),1:DT),DEFAULT=$G(GMPFLD(.13)) 12 S PROMPT="DATE OF ONSET: ",HELPMSG="Enter the date this problem was first observed, as precisely as known." 13 O1 ; Get Date of Onset 14 D DATE^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 15 I Y>ENTERED W !!,"Date of Onset cannot be later than the date the problem was entered!",$C(7) G O1 16 I +$P(GMPDFN,U,4),Y>$P(GMPDFN,U,4) W !!,"Date of Onset cannot be later than the date of death!",$C(7) G O1 17 S GMPFLD(.13)=Y S:Y'="" GMPFLD(.13)=GMPFLD(.13)_U_$$EXTDT^GMPLX(Y) 18 Q 19 STATUS ; Edit Status - field .12 20 ; Then Edit Date Resolved - Field 1.07, if inactive 21 N DIR,X,Y 22 S DIR(0)="9000011,.12" 23 S:$L($G(GMPFLD(.12))) DIR("B")=$P(GMPFLD(.12),U,2) 24 ST1 ; Get Status 25 D ^DIR I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q 26 I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G ST1 27 S:Y'="" Y=Y_U_$S(Y="A":"ACTIVE",1:"INACTIVE") S GMPFLD(.12)=Y 28 S:$E(Y)'="I" GMPFLD(1.07)="" S:$E(Y)'="A" GMPFLD(1.14)="" 29 D:$E(GMPFLD(.12))="I" RESOLVED^GMPLEDT4 30 D:$E(GMPFLD(.12))="A" PRIORITY^GMPLEDT4 31 Q 32 RECORDED ; Edit Date Recorded - field 1.09 33 N X,Y,PROMPT,HELPMSG,DEFAULT,ENTERED 34 S ENTERED=$S($G(GMPFLD(.08)):+GMPFLD(.08),1:DT),DEFAULT=$G(GMPFLD(1.09)) 35 S PROMPT="DATE RECORDED: ",HELPMSG="Enter the date this problem was first recorded, as precisely as known." 36 RC1 ; Get Date 37 D DATE^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 38 I Y>ENTERED W !!,"Date Recorded cannot be later than the problem was entered!",$C(7) G RC1 39 S GMPFLD(1.09)=Y S:Y'="" GMPFLD(1.09)=GMPFLD(1.09)_U_$$EXTDT^GMPLX(Y) 40 Q 41 SC ; Edit Service Connected - field 1.1 42 N DFN,DIR,X,Y 43 ; 44 ; The following allows changing a problem's SC/NSC to 45 ; NSC if there is no SC on file for patient and Problem 46 ; original SC was set to "YES" 47 ; 48 I +$G(GMPORIG(1.1))=1 D 49 . W !!,">>> Currently known service-connection data for "_$P(GMPDFN,U,2)_":" 50 ELSE Q:'GMPSC 51 S DFN=+GMPDFN D DIS^SDROUT2 52 I +GMPSC=0,+$G(GMPORIG(1.1))=1 D 53 . S DIR("A")="Patient has no service-connected condition !! " 54 . S DIR("B")="NO" 55 ELSE D 56 . S DIR("A")="Is this problem related to a service-connected condition? " 57 . S:$L($G(GMPFLD(1.1))) DIR("B")=$P(GMPFLD(1.1),U,2) W ! 58 S DIR("?",1)="If this problem is due to a service-connected condition, enter YES;",DIR("?")="press <return> and leave blank if this is unknown.",DIR(0)="YAO" 59 SC1 ; Get Service Connection 60 D ^DIR I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q 61 I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G SC1 62 I X="@" G:'$$SURE^GMPLX SC1 S Y="" 63 S GMPFLD(1.1)=Y S:Y'="" GMPFLD(1.1)=GMPFLD(1.1)_U_$S(Y:"YES",1:"NO") 64 Q 65 SP ; Edit Exposures/Conditions 66 ; Agent Orange - field 1.11 67 ; Ionizing Radiation - field 1.12 68 ; Persian Gulf/Environmental Contaminants - field 1.13 69 ; Head and/or Neck Cancer - field 1.15 70 ; Military Sexual Trauma - field 1.16 71 G SPEXP^GMPLEDT2 72 Q 73 SOURCE ; Edit Service - field 1.06 74 ; or Clinic - field 1.08 75 N DIC,X,Y,HELPMSG,PROMPT,DEFAULT,VIEW S VIEW=$E(GMPLVIEW("VIEW")) 76 S DIC=$S(VIEW="S":"^DIC(49,",1:"^SC("),DIC(0)="EMQ" 77 S DIC("S")="I $P(^(0),U,"_$S(VIEW="S":9,1:3)_")=""C""" 78 I VIEW="S" S PROMPT="SERVICE: ",DEFAULT=$P(GMPFLD(1.06),U,2) 79 E S PROMPT="CLINIC: ",DEFAULT=$P(GMPFLD(1.08),U,2) 80 S HELPMSG="Enter the clinic"_$S(VIEW="S":"al service",1:"")_" to be associated with this problem." 81 S1 ; Get Service/Clinic 82 W !,PROMPT_$S($L(DEFAULT):DEFAULT_"//",1:"") 83 R X:DTIME S:'$T X="^",DTOUT=1 S:X="^" GMPQUIT=1 Q:(X="^")!(X="") 84 I X?1"^".E D JUMP^GMPLEDT3(X) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G S1 85 I X="?" W !!,HELPMSG,! G S1 86 I X["??" D @("LIST"_$S(VIEW="S":"SERV",1:"CLIN")_"^GMPLMGR1") W !,HELPMSG G S1 87 I X="@" G:'$$SURE^GMPLX S1 S Y="" G SQ 88 D ^DIC I Y'>0 W !?5,"Only clinic"_$S(VIEW="S":"al service",1:"")_"s are allowed!",! G S1 89 SQ ; Quit Service/Clinic 90 S:VIEW'="S" GMPFLD(1.08)=Y S:VIEW="S" GMPFLD(1.06)=Y 91 Q 92 AUTHOR ; Edit Recording Provider - field 1.04 93 N X,Y,PROMPT,HELPMSG,DEFAULT S PROMPT="RECORDING PROVIDER: " 94 S DEFAULT=$G(GMPFLD(1.04)),HELPMSG="Enter the name of the provider responsible for the recording of this data." 95 D NPERSON^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 96 S GMPFLD(1.04)=$S(+Y>0:Y,1:"") 97 Q 98 PROV ; Edit Responsible Provider - field 1.05 99 N X,Y,PROMPT,DEFAULT,HELPMSG S DEFAULT=$G(GMPFLD(1.05)) 100 S PROMPT="PROVIDER: ",HELPMSG="Enter the name of the local provider treating this problem." 101 D NPERSON^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 102 S GMPFLD(1.05)=$S(+Y>0:Y,1:"") 103 Q 104 ICD ; Edit ICD-9-CM Code - field .01 105 N DIC,DIR,X,Y 106 ICD0 ; Prompt for ICD Code 107 K DIR S DIR(0)="FAO^2:6",DIR("A")="ICD CODE: " 108 S:$P($G(GMPFLD(.01)),U,2)="799.9" DIR("A")=IORVON_"ICD CODE: " 109 S:+$G(GMPFLD(.01)) DIR("B")=$P(GMPFLD(.01),U,2) 110 S DIR("?")="Enter the ICD code to be associated with this problem" 111 ICD1 ; Get ICD Code 112 D ^DIR W IORVOFF I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q 113 I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G ICD1 114 I X="@" W !!,"ICD Code may not be deleted!",!,$C(7) G ICD1 115 Q:X="" Q:$P($G(GMPFLD(.01)),U,2)=Y 116 S DIC=80,DIC(0)="EQM" D ^DIC G:Y'>0 ICD0 117 S GMPFLD(.01)=Y 118 Q 119 NOTE ; Attach a note to problem - field 11 120 N X,Y,I,DEFAULT,PROMPT,DONE,NXT,NCNT S (I,NCNT,DONE)=0 121 ; added for Code Set Versioning (CSV) 122 I $G(GMPICD),'+$$STATCHK^ICDAPIU(GMPICD,DT) D Q 123 . W !!,"This problem has an inactive ICD code. Please edit the problem before using.",! H 3 124 I $G(GMPIFN),'$$CODESTS^GMPLX(GMPIFN,DT) D Q 125 . W !!,"This problem has an inactive ICD code. Please edit the problem before using.",! H 3 126 F D Q:$D(GMPQUIT)!($G(GMPLJUMP))!DONE 127 . S NXT=$O(GMPFLD(10,"NEW",I)) S:'NXT NXT=I+1 128 . S I=NXT,NCNT=NCNT+1 129 . S PROMPT=$S(NCNT=1:"",1:"ANOTHER ")_"COMMENT"_$S(NCNT=1:" (<60 char): ",1:": "),DEFAULT=$G(GMPFLD(10,"NEW",I)) 130 . D EDNOTE^GMPLEDT4 Q:$D(GMPQUIT)!($G(GMPLJUMP)) 131 . I X="@" K GMPFLD(10,"NEW",I) Q 132 . I Y="" S DONE=1 Q 133 . S GMPFLD(10,"NEW",I)=Y 134 Q 135 TERM ; Edit Problem - field 1.01 136 G TERM^GMPLEDT4 137 Q 138 Q ; No Editing 139 Q
Note:
See TracChangeset
for help on using the changeset viewer.