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

AMHAPI6.m

Go to the documentation of this file.
  1. AMHAPI6 ; IHS/CMI/LAB - visit data ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**2**;JUN 18, 2010;Build 23
  1. ;IHS/TUCSON/LAB - added G parameter to provider call
  1. ;
  1. ;
  1. ;
  1. LASTPLR(AMHPDFN,AMHBD,AMHED,AMHFORM) ;PEP - date of last PROBLEM LIST REVIEWED
  1. ; Return the last recorded PROBLEM LIST REVIEWED FROM MHSS UPDATED/REVIEWED:
  1. ; .04 OF MHSS UPDATED/REVIEWED is set to 1
  1. ;
  1. ; Input:
  1. ; AMHPDFN - Patient DFN
  1. ; AMHBD - beginning date to begin search for value - if blank, default is DOB
  1. ; AMHED - ending date of search - if blank, default is DT
  1. ; AMHFORM - AMHFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^provider who documented^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If AMHFORM is blank or AMHFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If AMHFORM is A returns the string:
  1. ; date^text of item found^PROVIDER^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(AMHPDFN)="" Q ""
  1. I $G(AMHBD)="" S AMHBD=$$DOB^AUPNPAT(AMHPDFN)
  1. I $G(AMHED)="" S AMHED=DT
  1. I $G(AMHFORM)="" S AMHFORM="D"
  1. NEW AMHLAST,AMHVAL,AMHX,R,X,Y,V,E,D,G,ED,BD
  1. S BD=9999999-AMHBD
  1. S ED=9999999-AMHED
  1. S AMHLAST=""
  1. S V=$O(^AUTTCRA("C","PLR",0))
  1. I 'V Q ""
  1. S D=ED-1,D=D_".999999" F S D=$O(^AMHRRUP("AA",AMHPDFN,V,D)) Q:D'=+D!($P(D,".")>BD) D
  1. .S X=0 F S X=$O(^AMHRRUP("AA",AMHPDFN,V,D,X)) Q:X'=+X D
  1. ..Q:'$D(^AMHRRUP(X,0))
  1. ..Q:$P($G(^AMHRRUP(X,2)),U,1)
  1. ..S AMHVAL=$P($P(^AMHRRUP(X,12),U),".")_U_$$VAL^XBDIQ1(9000010.54,X,.01)_U_$P($G(^AMHRRUP(X,12)),U,4)_U_$P(^AMHRRUP(X,0),U,3)_U_9000010.54_U_X
  1. ..D E
  1. I AMHFORM="D" Q $P(AMHLAST,U)
  1. Q AMHLAST
  1. ;
  1. E ;
  1. I $P(AMHVAL,U,1)'<$P(AMHLAST,U,1) S AMHLAST=AMHVAL
  1. Q
  1. LASTPLU(AMHPDFN,AMHBD,AMHED,AMHFORM) ;PEP - date of last PROBLEM LIST UPDATE
  1. ; Return the last recorded PROBLEM LIST UPDATED FROM MHSS UPDATED/REVIEWED:
  1. ; .11 OF MHSS UPDATED/REVIEWED is set to 1
  1. ;
  1. ; Input:
  1. ; AMHPDFN - Patient DFN
  1. ; AMHBD - beginning date to begin search for value - if blank, default is DOB
  1. ; AMHED - ending date of search - if blank, default is DT
  1. ; AMHFORM - AMHFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^provider who documented^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If AMHFORM is blank or AMHFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If AMHFORM is A returns the string:
  1. ; date^text of item found^PROVIDER^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(AMHPDFN)="" Q ""
  1. I $G(AMHBD)="" S AMHBD=$$DOB^AUPNPAT(AMHPDFN)
  1. I $G(AMHED)="" S AMHED=DT
  1. I $G(AMHFORM)="" S AMHFORM="D"
  1. NEW AMHLAST,AMHVAL,AMHX,R,X,Y,V,E,D,G,ED,BD
  1. S BD=9999999-AMHBD
  1. S ED=9999999-AMHED
  1. S AMHLAST=""
  1. S V=$O(^AUTTCRA("C","PLU",0))
  1. I 'V Q ""
  1. S D=ED-1,D=D_".999999" F S D=$O(^AMHRRUP("AA",AMHPDFN,V,D)) Q:D'=+D!($P(D,".")>BD) D
  1. .S X=0 F S X=$O(^AMHRRUP("AA",AMHPDFN,V,D,X)) Q:X'=+X D
  1. ..Q:'$D(^AMHRRUP(X,0))
  1. ..Q:$P($G(^AMHRRUP(X,2)),U,1)
  1. ..S AMHVAL=$P($P(^AMHRRUP(X,12),U),".")_U_$$VAL^XBDIQ1(9000010.54,X,.01)_U_$P($G(^AMHRRUP(X,12)),U,4)_U_$P(^AMHRRUP(X,0),U,3)_U_9000010.54_U_X
  1. ..D E
  1. I AMHFORM="D" Q $P(AMHLAST,U)
  1. Q AMHLAST
  1. ;
  1. LASTNAP(AMHPDFN,AMHBD,AMHED,AMHFORM) ;PEP - date of last NO ACTIVE PROBLEMS
  1. ; Return the last recorded NO ACTIVE PROBLEMS FROM MHSS UPDATED/REVIEWED:
  1. ; .09 OF MHSS UPDATED/REVIEWED is set to 1
  1. ;
  1. ; Input:
  1. ; AMHPDFN - Patient DFN
  1. ; AMHBD - beginning date to begin search for value - if blank, default is DOB
  1. ; AMHED - ending date of search - if blank, default is DT
  1. ; AMHFORM - AMHFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^provider who documented^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If AMHFORM is blank or AMHFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If AMHFORM is A returns the string:
  1. ; date^text of item found^PROVIDER^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(AMHPDFN)="" Q ""
  1. I $G(AMHBD)="" S AMHBD=$$DOB^AUPNPAT(AMHPDFN)
  1. I $G(AMHED)="" S AMHED=DT
  1. I $G(AMHFORM)="" S AMHFORM="D"
  1. NEW AMHLAST,AMHVAL,AMHX,R,X,Y,V,E,D,G,ED,BD
  1. S BD=9999999-AMHBD
  1. S ED=9999999-AMHED
  1. S AMHLAST=""
  1. S V=$O(^AUTTCRA("C","NAP",0))
  1. I 'V Q ""
  1. S D=ED-1,D=D_".999999" F S D=$O(^AMHRRUP("AA",AMHPDFN,V,D)) Q:D'=+D!($P(D,".")>BD) D
  1. .S X=0 F S X=$O(^AMHRRUP("AA",AMHPDFN,V,D,X)) Q:X'=+X D
  1. ..Q:'$D(^AMHRRUP(X,0))
  1. ..Q:$P($G(^AMHRRUP(X,2)),U,1)
  1. ..S AMHVAL=$P($P(^AMHRRUP(X,12),U),".")_U_$$VAL^XBDIQ1(9000010.54,X,.01)_U_$P($G(^AMHRRUP(X,12)),U,4)_U_$P(^AMHRRUP(X,0),U,3)_U_9000010.54_U_X
  1. ..D E
  1. I AMHFORM="D" Q $P(AMHLAST,U)
  1. Q AMHLAST
  1. UPREV(V,I) ;EP - IS UPDATE/REVIEWED I ON VISIT V?
  1. I '$G(V) Q ""
  1. I $G(I)="" Q ""
  1. NEW X,Y,Z
  1. S Z=0
  1. S Y=$O(^AUTTCRA("C",I,0))
  1. I Y="" Q ""
  1. S X=0 F S X=$O(^AMHRRUP("AD",V,X)) Q:X'=+X D
  1. .Q:$P($G(^AMHRRUP(X,2)),U,1) ;error
  1. .Q:'$D(^AMHRRUP(X,0))
  1. .Q:$P(^AMHRRUP(X,0),U,1)'=Y
  1. .S Z=1
  1. Q Z
  1. PRREV ;EP = set
  1. NEW X,Y,Z
  1. S Z=0
  1. S Y=$O(^AUTTCRA("C",AMHVAL,0))
  1. I Y="" Q ""
  1. S X=0 F S X=$O(^AMHRRUP("AD",AMHVIEN,X)) Q:X'=+X D
  1. .Q:$P($G(^AMHRRUP(X,2)),U,1) ;error
  1. .Q:'$D(^AMHRRUP(X,0))
  1. .Q:$P(^AMHRRUP(X,0),U,1)'=Y
  1. .S AMHPCNT=AMHPCNT+1,AMHPRNM(AMHPCNT)=$$VAL^XBDIQ1(9000010.54,X,.01)
  1. .Q
  1. Q
  1. UPREVP ;EP - IS UPDATE/REVIEWED I ON VISIT V?
  1. NEW Y,Z
  1. S Z=0
  1. S Y=$O(^AUTTCRA("C",AMHVAL,0))
  1. I Y="" Q ""
  1. S X=0 F S X=$O(^AMHRRUP("AD",AMHVIEN,X)) Q:X'=+X D
  1. .Q:$P($G(^AMHRRUP(X,2)),U,1) ;error
  1. .Q:'$D(^AMHRRUP(X,0))
  1. .Q:$P(^AMHRRUP(X,0),U,1)'=Y
  1. .S Z=$P($G(^AMHRRUP(X,12)),U,4) I Z S X(Z)=""
  1. Q
  1. UPREVPP ;EP = set
  1. NEW X,Y,Z
  1. S Z=0
  1. S Y=$O(^AUTTCRA("C",AMHVAL,0))
  1. I Y="" Q ""
  1. S X=0 F S X=$O(^AMHRRUP("AD",AMHVIEN,X)) Q:X'=+X D
  1. .Q:$P($G(^AMHRRUP(X,2)),U,1) ;error
  1. .Q:'$D(^AMHRRUP(X,0))
  1. .Q:$P(^AMHRRUP(X,0),U,1)'=Y
  1. .Q:$P($G(^AMHRRUP(X,12)),U,4)=""
  1. .S AMHPCNT=AMHPCNT+1,AMHPRNM(AMHPCNT)=$$VAL^XBDIQ1(9000010.54,X,1204)
  1. .Q
  1. Q