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

AMHGSBPL.m

Go to the documentation of this file.
  1. AMHGSBPL ;ihs/cmi/maw - AMHG Problem List Edits
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**2**;JUN 18, 2010;Build 23
  1. ;
  1. ;
  1. ;
  1. ;
  1. SAVE(RETVAL,AMHSTR) ;-- save the BH problem list
  1. D ADO^AMHGU
  1. N P
  1. S P="|"
  1. N AMHMD,AMHI,AMHIEN,AMHPAT,AMHDX,AMHNR,AMHST,AMHFAC,AMHDO,AMHDU,AMHPU,AMHNT,AMHPNU,AMHSLT,AMHVST
  1. N RET,RET1,AMHREA,AMHOTH
  1. I $G(AMHSTR)="" D CATSTR^AMHGU(.AMHSTR,.AMHSTR)
  1. S AMHI=0
  1. S ^AMHTMP($J,AMHI)="T00080Result"_$C(30)
  1. S AMHMD=$P(AMHSTR,P)
  1. S AMHIEN=$P(AMHSTR,P,2)
  1. S AMHPAT=$P(AMHSTR,P,3)
  1. S AMHDX=$P(AMHSTR,P,4)
  1. S AMHNR=$P(AMHSTR,P,5)
  1. S AMHST=$P(AMHSTR,P,6)
  1. S AMHDO=$P(AMHSTR,P,7)
  1. S AMHDU=$P(AMHSTR,P,8)
  1. S AMHPU=$P(AMHSTR,P,9)
  1. S AMHNT=$P(AMHSTR,P,10)
  1. S AMHPNU=$P(AMHSTR,P,11)
  1. S AMHSLT=$P(AMHSTR,P,12)
  1. S AMHFAC=$P(AMHSTR,P,13)
  1. S AMHVST=$P(AMHSTR,P,14)
  1. S AMHREA=$P(AMHSTR,P,16)
  1. S AMHOTH=$P(AMHSTR,P,17)
  1. I $G(AMHPU)]"" S AMHPU=$O(^VA(200,"B",AMHPU,0))
  1. I $G(AMHPNU)]"" S AMHPNU=$O(^VA(200,"B",AMHPNU,0))
  1. I AMHMD="D" D Q
  1. . N DFDA,DFIENS,DERR
  1. . S DFIENS=AMHIEN_","
  1. . S DFDA(9002011.51,DFIENS,.12)="D"
  1. . S DFDA(9002011.51,DFIENS,2.01)=DUZ
  1. . S DFDA(9002011.51,DFIENS,2.02)=$$NOW^XLFDT
  1. . S DFDA(9002011.51,DFIENS,2.03)=AMHREA
  1. . S DFDA(9002011.51,DFIENS,2.04)=AMHOTH
  1. . D FILE^DIE("K","DFDA","DERR(1)")
  1. . S AMHI=AMHI+1
  1. . I $D(DERR(1)) D Q
  1. .. S ^AMHTMP($J,AMHI)="0~Error deleting problem"_$C(30)
  1. .. S ^AMHTMP($J,AMHI+1)=$C(31)
  1. . D PLU^AMHAPRB(AMHIEN,AMHVST,AMHPAT,AMHDU,AMHPU)
  1. . S ^AMHTMP($J,AMHI)=AMHIEN_$C(30)
  1. . S ^AMHTMP($J,AMHI+1)=$C(31)
  1. . ;lets delete the problem here
  1. I AMHMD="R" D Q
  1. . D PLRADD^AMHBPL3(AMHVST,AMHPAT,AMHDU,AMHPU,.RET)
  1. . S AMHI=AMHI+1
  1. . S ^AMHTMP($J,AMHI)=AMHIEN_$C(30)
  1. . S ^AMHTMP($J,AMHI+1)=$C(31)
  1. I AMHMD="NOA" D Q
  1. . D NAPADD^AMHBPL3(AMHVST,AMHPAT,AMHDU,AMHPU,.RET)
  1. . D PLRADD^AMHBPL3(AMHVST,AMHPAT,AMHDU,AMHPU,.RET)
  1. . S AMHI=AMHI+1
  1. . S ^AMHTMP($J,AMHI)=AMHIEN_$C(30)
  1. . S ^AMHTMP($J,AMHI+1)=$C(31)
  1. I $G(AMHFAC)]"" S AMHFAC=$O(^DIC(4,"B",AMHFAC,0))
  1. I $G(AMHNR)]"" S AMHNR=$$FNDNARR^AMHGU(AMHNR,1)
  1. S RET=$$UPBPL(AMHMD,AMHIEN,AMHPAT,AMHDX,AMHNR,AMHST,AMHDO,AMHDU,AMHPU,AMHFAC,AMHVST)
  1. S AMHI=AMHI+1
  1. I $G(RET) D
  1. . S AMHIEN=RET
  1. . D PLU^AMHAPRB(AMHIEN,AMHVST,AMHPAT,AMHDU,AMHPU)
  1. . S ^AMHTMP($J,AMHI)=RET_$C(30)
  1. I '$G(RET) S ^AMHTMP($J,AMHI)="0~Error Adding/Updating Problem"_$C(30)
  1. I $G(AMHMD)="A",$G(AMHNT)]"",$G(AMHIEN),$G(RET) D
  1. . S RET1=$$UPNT("A",AMHIEN,"",AMHPAT,AMHNT,AMHPNU,AMHSLT)
  1. . I '$G(RET1) S ^AMHTMP($J,AMHI)="0~Error Adding Note"_$C(30)
  1. S ^AMHTMP($J,AMHI+1)=$C(31)
  1. Q
  1. ;
  1. NMBR(PAT) ;-- get the next number for the problem
  1. N AMHNUM,AMHTY
  1. S AMHNUM=0,AMHTY="" F S AMHTY=$O(^AMHPPROB("AA",PAT,AMHTY)) Q:AMHTY="" D
  1. .S AMHNUM=$E(AMHTY,2,4) S AMHNUM=AMHNUM+1
  1. Q AMHNUM
  1. ;
  1. NOTE(RETVAL,AMHSTR) ;-- file notes
  1. D ADO^AMHGU
  1. N P
  1. S P="|"
  1. N AMHMD,AMHI,AMHIEN,AMHPAT,AMHFAC,AMHNT,AMHPNU,AMHSLT,AMHVST,AMHNIEN
  1. N RET1
  1. I $G(AMHSTR)="" D CATSTR^AMHGU(.AMHSTR,.AMHSTR)
  1. S AMHI=0
  1. S ^AMHTMP($J,AMHI)="T00080Result"_$C(30)
  1. S AMHMD=$P(AMHSTR,P)
  1. S AMHIEN=$P(AMHSTR,P,2)
  1. S AMHPAT=$P(AMHSTR,P,3)
  1. S AMHNT=$P(AMHSTR,P,10)
  1. S AMHPNU=$P(AMHSTR,P,11)
  1. S AMHSLT=$P(AMHSTR,P,12)
  1. S AMHFAC=$P(AMHSTR,P,13)
  1. S AMHVST=$P(AMHSTR,P,14)
  1. S AMHNIEN=$P(AMHSTR,P,15)
  1. I $G(AMHPU)]"" S AMHPU=$O(^VA(200,"B",AMHPU,0))
  1. I $G(AMHPNU)]"" S AMHPNU=$O(^VA(200,"B",AMHPNU,0))
  1. I $G(AMHFAC)]"" S AMHFAC=$O(^DIC(4,"B",AMHFAC,0))
  1. I $G(AMHNR)]"" S AMHNR=$$FNDNARR^AMHGU(AMHNR,1)
  1. S AMHI=AMHI+1
  1. S RET1=$$UPNT(AMHMD,AMHIEN,AMHNIEN,AMHPAT,AMHNT,AMHPNU,AMHSLT)
  1. I '$G(RET1) S ^AMHTMP($J,AMHI)="0~Error Adding Note"
  1. I $G(RET1) D PLU^AMHAPRB(AMHIEN,AMHVST,AMHPAT,DT,AMHPNU)
  1. S ^AMHTMP($J,AMHI+1)=$C(31)
  1. Q
  1. ;
  1. UPBPL(MD,IN,PAT,DX,NR,ST,DO,DU,PU,FAC,VST) ;--update problem list
  1. N FDA,FERR,FIENS
  1. S FIENS=$S(MD="A":"+1,",1:IN_",")
  1. I MD="A" D
  1. .S FDA(9002011.51,FIENS,.01)=DX
  1. .S FDA(9002011.51,FIENS,.02)=PAT
  1. .S FDA(9002011.51,FIENS,.07)=$$NMBR(PAT)
  1. .S FDA(9002011.51,FIENS,.08)=$$NOW^XLFDT
  1. S FDA(9002011.51,FIENS,.03)=DT ;ihs/cmi/maw 4.0b3
  1. S FDA(9002011.51,FIENS,.05)=NR
  1. S FDA(9002011.51,FIENS,.06)=FAC
  1. S FDA(9002011.51,FIENS,.12)=ST
  1. S FDA(9002011.51,FIENS,.13)=DO
  1. S FDA(9002011.51,FIENS,.15)=PU
  1. D DIE(.FERR,.RET,FIENS,AMHMD,.FDA)
  1. Q $S($D(FERR(1)):0,IN:IN,1:$G(RET))
  1. ;
  1. UPNT(MD,IN,NIN,PAT,NT,PNU,SLT) ;--update note
  1. N NFDA,NIENS,NERR
  1. S NIENS=$S(MD="A":"+1,",1:NIN_",")
  1. N AMHNNUM
  1. I '$G(NIN) S AMHNNUM=$$GETNUM^AMHLETN(IN)
  1. I MD="A" D
  1. . S NFDA(9002011.53,NIENS,.01)=AMHNNUM
  1. . S NFDA(9002011.53,NIENS,.02)=PAT
  1. . S NFDA(9002011.53,NIENS,.03)=IN
  1. . S NFDA(9002011.53,NIENS,.05)=DT
  1. . S NFDA(9002011.53,NIENS,.06)=PNU
  1. S NFDA(9002011.53,NIENS,.04)=NT
  1. S NFDA(9002011.53,NIENS,.07)=SLT
  1. I MD="D" D
  1. . K NFDA
  1. . S MD="E"
  1. . S NFDA(9002011.53,NIENS,.01)="@"
  1. D DIE(.NERR,.RET,NIENS,MD,.NFDA)
  1. Q $S($D(NERR(1)):0,NIN:NIN,1:RET)
  1. ;
  1. DIE(FERR,FIENS,IENS,MODE,FDA) ;-- edit via the FDA call
  1. I MODE="A" D
  1. . D UPDATE^DIE("","FDA","IENS","FERR(1)")
  1. . S FIENS=$S($G(IENS(1)):IENS(1),1:0)
  1. I MODE="E" D
  1. . D FILE^DIE("K","FDA","FERR(1)")
  1. . S FIENS=$S($D(FERR(1)):0,1:1)
  1. Q
  1. ;
  1. SAVEP(RETVAL,AMHSTR) ;-- save the PCC problem list
  1. D ADO^AMHGU
  1. N P
  1. S P="|"
  1. N AMHMD,AMHI,AMHIEN,AMHPAT,AMHDX,AMHNR,AMHST,AMHFAC,AMHDO,AMHDU,AMHPU,AMHNT,AMHPNU,AMHSLT,AMHVST
  1. N RET,RET1,AMHREA,AMHOTH,AMHEC1,AMHEC2,AMHEC3,AMHCLS,AMHNUM,AMHNSTA,AMHNNIN
  1. I $G(AMHSTR)="" D CATSTR^AMHGU(.AMHSTR,.AMHSTR)
  1. S AMHI=0
  1. S ^AMHTMP($J,AMHI)="T00080Result"_$C(30)
  1. S AMHMD=$P(AMHSTR,P)
  1. S AMHIEN=$P(AMHSTR,P,2)
  1. S AMHPAT=$P(AMHSTR,P,3)
  1. S AMHDX=$P(AMHSTR,P,4)
  1. S AMHNR=$P(AMHSTR,P,5)
  1. S AMHST=$P(AMHSTR,P,6)
  1. S AMHDO=$P(AMHSTR,P,7)
  1. S AMHDU=$P(AMHSTR,P,8)
  1. S AMHPU=$P(AMHSTR,P,9)
  1. S AMHNT=$P(AMHSTR,P,10)
  1. S AMHPNU=$P(AMHSTR,P,11)
  1. S AMHSLT=$P(AMHSTR,P,12)
  1. S AMHFAC=$P(AMHSTR,P,13)
  1. S AMHVST=$P(AMHSTR,P,14)
  1. S AMHREA=$P(AMHSTR,P,16)
  1. S AMHOTH=$P(AMHSTR,P,17)
  1. S AMHCLS=$P(AMHSTR,P,18)
  1. S AMHNUM=$P(AMHSTR,P,19)
  1. S AMHEC1=$P(AMHSTR,P,20)
  1. S AMHEC2=$P(AMHSTR,P,21)
  1. S AMHEC3=$P(AMHSTR,P,22)
  1. S AMHNSTA=$P(AMHSTR,P,23)
  1. S AMHNNIN=$P(AMHSTR,P,24)
  1. I $G(AMHPU)]"" S AMHPU=$O(^VA(200,"B",AMHPU,0))
  1. I $G(AMHPNU)]"" S AMHPNU=$O(^VA(200,"B",AMHPNU,0))
  1. I AMHMD="D" D Q
  1. . N DFDA,DFIENS,DERR
  1. . S DFIENS=AMHIEN_","
  1. . S DFDA(9000011,DFIENS,.12)="D"
  1. . S DFDA(9000011,DFIENS,2.01)=DUZ
  1. . S DFDA(9000011,DFIENS,2.02)=$$NOW^XLFDT
  1. . S DFDA(9000011,DFIENS,2.03)=AMHREA
  1. . S DFDA(9000011,DFIENS,2.04)=AMHOTH
  1. . D FILE^DIE("K","DFDA","DERR(1)")
  1. . S AMHI=AMHI+1
  1. . I $D(DERR(1)) D Q
  1. .. S ^AMHTMP($J,AMHI)="0~Error deleting problem"_$C(30)
  1. .. S ^AMHTMP($J,AMHI+1)=$C(31)
  1. . D PLU^APCDAPRB(AMHIEN,AMHVST,AMHPAT,AMHDU,AMHPU,.RT)
  1. . S ^AMHTMP($J,AMHI)=AMHIEN_$C(30)
  1. . S ^AMHTMP($J,AMHI+1)=$C(31)
  1. . ;lets delete the problem here
  1. I AMHMD="R" D Q
  1. . D PLRADD^APCDPL1(AMHVST,AMHPAT,AMHDU,AMHPU,.RET)
  1. . S AMHI=AMHI+1
  1. . S ^AMHTMP($J,AMHI)=AMHIEN_$C(30)
  1. . S ^AMHTMP($J,AMHI+1)=$C(31)
  1. I AMHMD="NOA" D Q
  1. . D NAPADD^APCDPL1(AMHVST,AMHPAT,AMHDU,AMHPU,.RET)
  1. . D PLRADD^APCDPL1(AMHVST,AMHPAT,AMHDU,AMHPU,.RET)
  1. . S AMHI=AMHI+1
  1. . S ^AMHTMP($J,AMHI)=AMHIEN_$C(30)
  1. . S ^AMHTMP($J,AMHI+1)=$C(31)
  1. I $G(AMHFAC)]"" S AMHFAC=$O(^DIC(4,"B",AMHFAC,0))
  1. I $G(AMHNR)]"" S AMHNR=$$FNDNARR^AMHGU(AMHNR,1)
  1. S RET=$$UPBPLP(AMHMD,AMHIEN,AMHPAT,AMHDX,AMHNR,AMHST,AMHDO,AMHDU,AMHPU,AMHFAC,AMHVST,AMHCLS,AMHNUM,AMHEC1,AMHEC2,AMHEC3)
  1. S AMHI=AMHI+1
  1. I $G(RET) D
  1. . S AMHIEN=RET
  1. . D PLU^APCDAPRB(AMHIEN,AMHVST,AMHPAT,AMHDU,AMHPU,.RT)
  1. . S ^AMHTMP($J,AMHI)=$TR(RT,"^","~")_$C(30)
  1. I '$G(RET) S ^AMHTMP($J,AMHI)="0~Error Adding/Updating Problem"_$C(30)
  1. I $G(AMHMD)="A",$G(AMHNT)]"",$G(AMHIEN),$G(RET) D
  1. . S RET1=$$UPNTP("A",AMHIEN,AMHNNIN,AMHNSTA,AMHNT,AMHPNU,AMHFAC)
  1. . I '$G(RET1) S ^AMHTMP($J,AMHI)="0~Error Adding Note"_$C(30)
  1. S ^AMHTMP($J,AMHI+1)=$C(31)
  1. Q
  1. ;
  1. NOTEP(RETVAL,AMHSTR) ;--update pcc note
  1. D ADO^AMHGU
  1. N P
  1. S P="|"
  1. N AMHMD,AMHI,AMHIEN,AMHPAT,AMHFAC,AMHNT,AMHPNU,AMHSLT,AMHVST,AMHNIEN
  1. N RET1
  1. I $G(AMHSTR)="" D CATSTR^AMHGU(.AMHSTR,.AMHSTR)
  1. S AMHI=0
  1. S ^AMHTMP($J,AMHI)="T00080Result"_$C(30)
  1. S AMHMD=$P(AMHSTR,P)
  1. S AMHIEN=$P(AMHSTR,P,2)
  1. S AMHPAT=$P(AMHSTR,P,3)
  1. S AMHNT=$P(AMHSTR,P,10)
  1. S AMHPNU=$P(AMHSTR,P,11)
  1. S AMHSLT=$P(AMHSTR,P,12)
  1. S AMHFAC=$P(AMHSTR,P,13)
  1. S AMHVST=$P(AMHSTR,P,14)
  1. S AMHNIEN=$P(AMHSTR,P,15)
  1. S AMHNSTA=$P(AMHSTR,P,23)
  1. S AMHNNIN=$P(AMHSTR,P,24)
  1. I $G(AMHPU)]"" S AMHPU=$O(^VA(200,"B",AMHPU,0))
  1. I $G(AMHPNU)]"" S AMHPNU=$O(^VA(200,"B",AMHPNU,0))
  1. I $G(AMHFAC)]"" S AMHFAC=$O(^DIC(4,"B",AMHFAC,0))
  1. I $G(AMHNR)]"" S AMHNR=$$FNDNARR^AMHGU(AMHNR,1)
  1. S AMHI=AMHI+1
  1. S RET1=$$UPNTP(AMHMD,AMHIEN,AMHNIEN,"",AMHNT,AMHPNU,AMHFAC)
  1. I '$G(RET1) S ^AMHTMP($J,AMHI)="0~Error Adding Note"_$C(30)
  1. I $G(RET) D PLU^APCDAPRB(AMHIEN,AMHVST,AMHPAT,DT,AMHPNU,.RT)
  1. S ^AMHTMP($J,AMHI+1)=$C(31)
  1. Q
  1. ;
  1. UPBPLP(MD,IN,PAT,DX,NR,ST,DO,DU,PU,FAC,VST,CLS,NUM,EC1,EC2,EC3) ;--update pcc problem list
  1. N FDA,FERR,FIENS
  1. S FIENS=$S(MD="A":"+1,",1:IN_",")
  1. I MD="A" D
  1. .S FDA(9000011,FIENS,.01)=DX
  1. .S FDA(9000011,FIENS,.02)=PAT
  1. .S FDA(9000011,FIENS,.07)=NUM
  1. .S FDA(9000011,FIENS,.08)=$$NOW^XLFDT
  1. S FDA(9000011,FIENS,.03)=DT
  1. S FDA(9000011,FIENS,.04)=CLS
  1. S FDA(9000011,FIENS,.05)=NR
  1. S FDA(9000011,FIENS,.06)=FAC
  1. S FDA(9000011,FIENS,.12)=ST
  1. S FDA(9000011,FIENS,.13)=DO
  1. S FDA(9000011,FIENS,.14)=DUZ
  1. ;S FDA(9000011,FIENS,.15)=PU
  1. S FDA(9000011,FIENS,.16)=EC1
  1. S FDA(9000011,FIENS,.17)=EC2
  1. S FDA(9000011,FIENS,.18)=EC3
  1. D DIE(.FERR,.RET,FIENS,AMHMD,.FDA)
  1. Q $S($D(FERR(1)):0,IN:IN,1:$G(RET))
  1. ;
  1. UPNTP(MD,NIN,NNIN,STA,NT,PNU,FAC) ;--update pcc note
  1. N NFDA,NIENS,NERR
  1. N AMHNNUM,AMHFACI
  1. ;NEED TO HAVE NOTE NUMBER PASSED IN ON EDIT NIN NEEDS TO BE NOTE SUBIEN
  1. S AMHFACI=$O(^AUPNPROB(NIN,11,"B",FAC,0))
  1. I MD="D" D Q $S($D(NERR(1)):0,NIN:NIN,1:RET)
  1. . K NFDA
  1. . S MD="E"
  1. . S NIENS=NNIN_","_AMHFACI_","_NIN_","
  1. . S NFDA(9000011.1111,NIENS,.01)="@"
  1. . D DIE(.NERR,.RET,NIENS,MD,.NFDA)
  1. . Q
  1. I 'AMHFACI D
  1. . N FFDA,FFIENS,FFERR
  1. . S FFIENS="+2,"_NIN_","
  1. . S FFDA(9000011.11,FFIENS,.01)=FAC
  1. . D UPDATE^DIE("","FFDA","FFIENS","FFERR(1)")
  1. . I $G(FFIENS(2)) S AMHFACI=FFIENS(2)
  1. Q:$D(FFERR(1))
  1. S NIENS=$S(MD="A":"+3,"_AMHFACI_","_NIN_",",1:NNIN_","_AMHFACI_","_NIN_",")
  1. I MD="A" D
  1. . S AMHNNUM=$$GETPNUM(NIN,FAC)
  1. . S NFDA(9000011.1111,NIENS,.01)=AMHNNUM
  1. . S NFDA(9000011.1111,NIENS,.05)=DT
  1. . S NFDA(9000011.1111,NIENS,.06)=PNU
  1. S NFDA(9000011.1111,NIENS,.04)=STA
  1. S NFDA(9000011.1111,NIENS,.03)=NT
  1. I MD="D" D
  1. . K NFDA
  1. . S MD="E"
  1. . S NFDA(9000011.1111,NIENS,.01)="@"
  1. D DIE(.NERR,.RET,NIENS,MD,.NFDA)
  1. Q $S($D(NERR(1)):0,NIN:NIN,1:RET)
  1. ;
  1. GETPNUM(PIEN,LOC) ;-- lets return the next note number
  1. N APCDNIEN,APCDNUM
  1. S APCDNIEN=$O(^AUPNPROB(PIEN,11,"B",$S($G(LOC):LOC,1:DUZ(2)),0))
  1. I APCDNIEN="" S DIADD=9000011.11,X="`"_$S($G(LOC):LOC,1:DUZ(2)),DIC="^AUPNPROB("_PIEN_",11,",DA(1)=PIEN,DIC(0)="L",DIC("P")=$P(^DD(9000011,1101,0),U,2) D
  1. .D ^DIC K DIC,DA,DR,Y,DIADD,X S APCDNIEN=$O(^AUPNPROB(PIEN,11,"B",$S($G(LOC):LOC,1:DUZ(2)),0))
  1. I APCDNIEN="" Q ""
  1. S (Y,X)=0 F S Y=$O(^AUPNPROB(PIEN,11,APCDNIEN,11,"B",Y)) Q:'Y D
  1. . S:Y X=Y I 'Y S X=X+1 K Y
  1. S APCDNUM=$S($G(X):X,1:1)
  1. Q APCDNUM
  1. ;
  1. ADDPCC(RETVAL,AMHSTR) ;-- add entry to pcc problem list
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,AMHPAT,AMHDSM9,AMHHC,P,AMHPIEN,AMHDSMI,AMHN
  1. S P="|"
  1. S AMHPAT=$P(AMHSTR,P)
  1. S AMHPIEN=$P(AMHSTR,P,2)
  1. S AMHI=0
  1. S AMHHC=0
  1. K ^AMHTMP($J)
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S @RETVAL@(AMHI)="T00250Data"_$C(30)
  1. S AMHDSMI=$P(^AMHPPROB(AMHPIEN,0),U,1)
  1. S AMHDSME=$P(^AMHPROB(AMHDSMI,0),U,1)
  1. S AMHDSM9=$P(^AMHPROB(AMHDSMI,0),U,5) ;icd9 code
  1. I $G(AMHDSM9)]"" S AMHDSM9=$O(^ICD9("AB",AMHDSM9,0))
  1. S AMHN=$P(^AMHPPROB(AMHPIEN,0),U,5) I AMHN S AMHN="`"_AMHN
  1. N AMHX
  1. S AMHX=$$ADDPROB^AMHBPL2("`"_AMHDSM9,AMHPAT,,,AMHN,,,$P(^AMHPPROB(AMHPIEN,0),U,12),$P(^AMHPPROB(AMHPIEN,0),U,13))
  1. S AMHI=AMHI+1
  1. S @RETVAL@(AMHI)=$S($P(AMHX,U):0,1:$P(AMHX,U,2))_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;
  1. PCCPL(RETVAL,AMHSTR) ;-- update pcc problem narrative
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,AMHREC,AMHNARR,AMHNARRI,P
  1. S P="|"
  1. S AMHREC=$P(AMHSTR,P)
  1. S AMHNARR=$P(AMHSTR,P,2)
  1. S AMHI=0
  1. S AMHHC=0
  1. K ^AMHTMP($J)
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S @RETVAL@(AMHI)="T00250Data"_$C(30)
  1. N FDA,FERR,FIENS
  1. S FIENS=AMHREC_","
  1. S AMHNARRI=$$FNDNARR^AMHGU(AMHNARR,1)
  1. S FDA(9000011,FIENS,.05)=AMHNARRI
  1. D FILE^DIE("K","FDA","FERR(1)")
  1. S AMHI=AMHI+1
  1. S @RETVAL@(AMHI)=$S($D(FERR(1)):$G(FERR(1)),1:AMHREC)_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;