[623] | 1 | PXRMTMED ; SLC/PKR/PJH - Edit a reminder term. ;01/30/2006
|
---|
| 2 | ;;2.0;CLINICAL REMINDERS;**1,4**;Feb 04, 2005;Build 21
|
---|
| 3 | ;
|
---|
| 4 | ;=======================================================
|
---|
| 5 | N CS1,CS2,DA,DIC,DLAYGO,DTOUT,DUOUT,Y
|
---|
| 6 | GETNAME ;Get the name of the term to edit.
|
---|
| 7 | K DA,DIC,DLAYGO,DTOUT,DUOUT,Y
|
---|
| 8 | S DIC="^PXRMD(811.5,"
|
---|
| 9 | S DIC(0)="AEMQL"
|
---|
| 10 | S DIC("A")="Select Reminder Term: "
|
---|
| 11 | S DLAYGO=811.5
|
---|
| 12 | ;Set the starting place for additions.
|
---|
| 13 | D SETSTART^PXRMCOPY(DIC)
|
---|
| 14 | W !
|
---|
| 15 | D ^DIC
|
---|
| 16 | I ($D(DTOUT))!($D(DUOUT)) Q
|
---|
| 17 | I Y=-1 G END
|
---|
| 18 | S DA=$P(Y,U,1)
|
---|
| 19 | S CS1=$$FILE^PXRMEXCS(811.5,DA)
|
---|
| 20 | D EDIT(DIC,DA)
|
---|
| 21 | I $G(DA)="" G GETNAME
|
---|
| 22 | S CS2=$$FILE^PXRMEXCS(811.5,DA)
|
---|
| 23 | I CS2=0 G GETNAME
|
---|
| 24 | I CS2'=CS1 D SEHIST^PXRMUTIL(811.5,DIC,DA)
|
---|
| 25 | G GETNAME
|
---|
| 26 | END ;
|
---|
| 27 | Q
|
---|
| 28 | ;
|
---|
| 29 | ;=======================================================
|
---|
| 30 | CLASS(DA,DIE) ;
|
---|
| 31 | N DR,RESULT,X,Y
|
---|
| 32 | RETRY W !
|
---|
| 33 | S DR="100" D ^DIE I $D(Y) Q
|
---|
| 34 | ;Sponsor
|
---|
| 35 | S DR="101" D ^DIE I $D(Y) Q
|
---|
| 36 | ;Make sure Class and Sponsor Class are in synch.
|
---|
| 37 | S RESULT=$$VSPONSOR^PXRMINTR(X)
|
---|
| 38 | I RESULT=0 S DIE("NO^")="Other value" G RETRY
|
---|
| 39 | I RESULT=1 K DIE("NO^")
|
---|
| 40 | ;Review date, Usage
|
---|
| 41 | S DR="102;1" D ^DIE I $D(Y) Q
|
---|
| 42 | Q
|
---|
| 43 | ;
|
---|
| 44 | ;=======================================================
|
---|
| 45 | EDIT(ROOT,DA) ;
|
---|
| 46 | N CLASS,DIC,DIE,DR,DIDEL,PXRMTMD,RESULT,TCONT,Y
|
---|
| 47 | ;PXRMTMD is set by a xref on the .01 as a flag that the entire
|
---|
| 48 | ;entry is being deleted.
|
---|
| 49 | S CLASS=$P($G(^PXRMD(811.5,DA,100)),U,1)
|
---|
| 50 | S DIE=ROOT
|
---|
| 51 | I CLASS'="N"!(($G(PXRMINST)=1)&($G(DUZ(0))="@")) D
|
---|
| 52 | . S DR=".01"
|
---|
| 53 | . D ^DIE
|
---|
| 54 | . I $G(DA)'="" D CLASS(DA,DIE)
|
---|
| 55 | I $G(DA)="" Q
|
---|
| 56 | S TCONT=1
|
---|
| 57 | F D FINDING(DIE,DA) Q:TCONT=0
|
---|
| 58 | Q
|
---|
| 59 | ;
|
---|
| 60 | ;=======================================================
|
---|
| 61 | FINDING(DIE,DA,LIST) ;
|
---|
| 62 | N CFIEN,GLOB,IEN,LIST,NODE,TERMSTAT,VF,WPIEN
|
---|
| 63 | N DEF,DEF1,DEF2,STATUS
|
---|
| 64 | S STATUS=0
|
---|
| 65 | D DEF^PXRMRUTL("811.52",.DEF,.DEF1,.DEF2)
|
---|
| 66 | S NODE="^PXRMD(811.5)"
|
---|
| 67 | D LIST^PXRMREDT(NODE,DA,.LIST)
|
---|
| 68 | D DSPALL^PXRMREDF("T",NODE,DA,.LIST)
|
---|
| 69 | S DA(1)=DA
|
---|
| 70 | S IEN=DA
|
---|
| 71 | S DIC=DIE_DA(1)_",20,"
|
---|
| 72 | S DIC(0)="QEAL"
|
---|
| 73 | S DIC("A")="Select Finding: "
|
---|
| 74 | D ^DIC I Y=-1 S DTOUT=1,TCONT=0 Q
|
---|
| 75 | S DIE=DIC
|
---|
| 76 | S DA=+Y,GLOB=$P($P(Y,U,2),";",2) Q:GLOB=""
|
---|
| 77 | I GLOB="PXRMD(811.4," S CFIEN=$P($P(Y,U,2),";",1) D
|
---|
| 78 | .I $D(^PXRMD(811.4,CFIEN,1))>0 D
|
---|
| 79 | ..W !!,"Computed Finding Description:" S WPIEN=0
|
---|
| 80 | ..F S WPIEN=$O(^PXRMD(811.4,CFIEN,1,WPIEN)) Q:+WPIEN'>0 D
|
---|
| 81 | ...W !,$G(^PXRMD(811.4,CFIEN,1,WPIEN,0))
|
---|
| 82 | .E W !!,"No description defined for this computed finding"
|
---|
| 83 | .W !
|
---|
| 84 | W !,"Editing Finding Number: "_$G(DA)
|
---|
| 85 | ;Finding record fields
|
---|
| 86 | S DR=".01;9;12;17"
|
---|
| 87 | I GLOB="PXRMD(811.4," S DR=DR_";26"
|
---|
| 88 | ;Taxonomy - use inactive problems
|
---|
| 89 | I GLOB="PXD(811.2," D
|
---|
| 90 | .S TERMSTAT=$$TAXNODE^PXRMSTA1($P($P(Y,U,2),";"),"H")
|
---|
| 91 | .I TERMSTAT="P" S DR=DR_";10" Q
|
---|
| 92 | .I TERMSTAT'=0 S DR=DR_";10",STATUS=1
|
---|
| 93 | ;Health Factor - within category rank
|
---|
| 94 | I GLOB="AUTTHF(" S DR=DR_";11"
|
---|
| 95 | ;If V file INCLUDE VISIT DATA
|
---|
| 96 | S VF=$S(GLOB["AUTTEDT":1,GLOB["AUTTEXAM":1,GLOB["AUTTHF":1,GLOB["AUTTIMM":1,GLOB="AUTTSK":1,GLOB["PXD(811.2":1,1:0)
|
---|
| 97 | I VF S DR=DR_";28"
|
---|
| 98 | ;Mental Health - scale
|
---|
| 99 | I GLOB="YTT(601," S DR=DR_";13"
|
---|
| 100 | ;Radiology procedure
|
---|
| 101 | I GLOB="RAMIS(71," S STATUS=1
|
---|
| 102 | ;Orderable item
|
---|
| 103 | I GLOB="ORD(101.43," S DR=DR_";27",STATUS=1
|
---|
| 104 | ;Rx Type
|
---|
| 105 | I GLOB="PSDRUG("!(GLOB="PS(50.605,")!(GLOB="PSNDF(50.6,") S DR=DR_";16;27",STATUS=1
|
---|
| 106 | ;Condition
|
---|
| 107 | S DR=DR_";14;15;18"
|
---|
| 108 | ;
|
---|
| 109 | ;Edit finding record
|
---|
| 110 | D ^DIE
|
---|
| 111 | I STATUS=1,$D(DA)>0 D STATUS^PXRMSTA1(.DA,"T")
|
---|
| 112 | S $P(^PXRMD(811.5,IEN,20,0),U,3)=0
|
---|
| 113 | Q
|
---|
| 114 | ;
|
---|