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

APCLAPI4.m

Go to the documentation of this file.
  1. APCLAPI4 ; IHS/CMI/LAB - visit data ;
  1. ;;2.0;IHS PCC SUITE;**2,5,7,11,16**;MAY 14, 2009;Build 9
  1. ;
  1. ;
  1. ;
  1. LASTTD(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last TD
  1. ; Return the last recorded TD:
  1. ; - V Immunization: 1, 9, 20, 22, 28, 35, 50, 106, 107, 110, 112, 113, 115
  1. ; - V CPT [APCH TD CPTS]
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If APCLFORM is blank or APCLFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If APCLFORM is A returns the string:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"1","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"9","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"20","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"22","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"28","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"35","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"50","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"106","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"107","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"110","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"112","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"113","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"115","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"120","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"130","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"132","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"138","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"139","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"142","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"APCH TD CPTS","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. E ;
  1. I $P(APCLVAL,U,1)>$P(APCLLAST,U,1) S APCLLAST=APCLVAL
  1. Q
  1. ;
  1. ;
  1. LASTPNEU(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last PNEUMOVAX
  1. ; Return the last recorded PNEUMOVAX:
  1. ; - V Immunization: 33, 100, 109
  1. ; - V POV V06.6, V03.82
  1. ; - V PROCEDURE 99.55
  1. ; - V CPT [BGP PNEUMO IZ CPTS]
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If APCLFORM is blank or APCLFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If APCLFORM is A returns the string:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"33","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"100","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"109","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"133","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP PNEUMO IZ DXS","A")
  1. D E
  1. S APCLVAL=$$LASTPRCT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP PNEUMO IZ PROCEDURES","A")
  1. D E
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP PNEUMO IZ CPTS","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTFLU(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last FLU
  1. ; Return the last recorded FLU:
  1. ; - V Immunization: 15, 16, 88, 111
  1. ; - V POV V06.6, V04.81
  1. ; - V PROCEDURE 99.52
  1. ; - V CPT [BGP CPT FLU]
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If APCLFORM is blank or APCLFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If APCLFORM is A returns the string:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"88","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"15","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"16","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"111","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"135","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"140","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"141","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"144","IMMUNIZATION",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. D E
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP FLU IZ DXS","A")
  1. D E
  1. S APCLVAL=$$LASTPRCT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP FLU IZ PROCEDURES","A")
  1. D E
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP CPT FLU","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTBE(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last BARIUM ENEMA
  1. ; Return the last recorded BARIUM ENEMA:
  1. ; - V Radiology [BGP BE CPTS]
  1. ; - V CPT [BGP BE CPTS]
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If APCLFORM is blank or APCLFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If APCLFORM is A returns the string:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. ;S APCLVAL=$$LASTITEM^APCLAPIU(APCLPDFN,"87.64","PROCEDURE",$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"A")
  1. ;D E
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP BE CPTS","A")
  1. D E
  1. S APCLVAL=$$LASTRADT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP BE CPTS","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTOST(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last OSTEOPOROSIS SCREENING
  1. ; Return the last recorded OSTEOPOROSIS SCREENING:
  1. ; - V POV V82.81
  1. ; - V PROCEDURE 88.98
  1. ; - V CPT OR V READ [BGP OSTEO SCREEN CPTS]
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If APCLFORM is blank or APCLFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If APCLFORM is A returns the string:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=$$LASTDXT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP OSTEOPOROSIS SCRN DXS","A")
  1. D E
  1. S APCLVAL=$$LASTPRCT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP OSTEOPOROSIS SCREEN PROCS","A")
  1. D E
  1. S APCLVAL=$$LASTCPTT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP OSTEO SCREEN CPTS","A")
  1. D E
  1. S APCLVAL=$$LASTRADT^APCLAPIU(APCLPDFN,$S($P(APCLLAST,U)]"":$P(APCLLAST,U),1:APCLBD),APCLED,"BGP OSTEO SCREEN CPTS","A")
  1. D E
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. LASTAOF(APCLPDFN,APCLBD,APCLED,APCLFORM) ;PEP - date of last ASSESSMENT FUNCTION
  1. ; Return the last recorded ASSESSMENT OF FUNCTION:
  1. ; - V ELDER ENTRY
  1. ;
  1. ; Input:
  1. ; APCLPDFN - Patient DFN
  1. ; APCLBD - beginning date to begin search for value - if blank, default is DOB
  1. ; APCLED - ending date of search - if blank, default is DT
  1. ; APCLFORM - APCLFORM returned: D - return date only - example 3070801
  1. ; A - return value:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ; Default if blank is D
  1. ; Output:
  1. ; If APCLFORM is blank or APCLFORM is D returns internal fileman date if one found otherwise returns null
  1. ; If APCLFORM is A returns the string:
  1. ; date^text of item found^value if appropriate^visit ien^File found in^ien of file found in
  1. ;
  1. I $G(APCLPDFN)="" Q ""
  1. I $G(APCLBD)="" S APCLBD=$$DOB^AUPNPAT(APCLPDFN)
  1. I $G(APCLED)="" S APCLED=DT
  1. I $G(APCLFORM)="" S APCLFORM="D"
  1. NEW APCLLAST,APCLVAL,APCLX,R,X,Y,V,E,T,G,APCLY,APCLF
  1. S APCLLAST=""
  1. S APCLVAL=0 F S APCLVAL=$O(^AUPNVELD("AA",APCLPDFN,APCLVAL)) Q:APCLVAL'=+APCLVAL!(APCLLAST) D
  1. .S APCLX=0 F S APCLX=$O(^AUPNVELD("AA",APCLPDFN,APCLVAL,APCLX)) Q:APCLX'=+APCLX!(APCLLAST) D
  1. ..;Q:$P($G(^AUPNVELD(APCLX,0)),U,17)="" ;no change in functional status
  1. ..Q:'$D(^AUPNVELD(APCLX,0))
  1. ..S G=0 F X=1:1:18 I $P(^AUPNVELD(APCLX,0),U,X)]"" S G=1
  1. ..Q:'G
  1. ..S APCLLAST=(9999999-APCLVAL)_"^Elder Care entry^"_$P(^AUPNVELD(APCLX,0),U,17)_"^"_$P(^AUPNVELD(APCLX,0),U,3)_"^9000010.35^"_APCLX
  1. I APCLFORM="D" Q $P(APCLLAST,U)
  1. Q APCLLAST
  1. ;
  1. INRDX(P,V,BD,ED) ;PEP - does patient P have a dx in BJPC AC THRPY INDIC DXS taxonomy
  1. ; P - DFN
  1. ; V - VISIT IEN
  1. ; BD - Beginning date for dx search
  1. ; ED - ending date for dx search
  1. ; caller can pass in V and just that visit will be examined for a diagnosis
  1. ; called can pass in BD and ED to determine what date range will be used for dx search
  1. ; V overrides BD and ED so if V is passed and BD and ED are passed, BD and ED will be ignored
  1. ; If V is null and BD and ED are null then DOB and DT are used
  1. ; return value= 1^date of dx^ien of dx^dx code
  1. ;
  1. NEW T,R
  1. S T=$O(^ATXAX("B","BJPC AC THRPY INDIC DXS",0))
  1. I 'T Q ""
  1. I $G(P)="" Q ""
  1. S R=""
  1. I $G(V),$D(^AUPNVSIT(V,0)) G INRDXV
  1. I $G(BD)="" S BD=$$DOB^AUPNPAT(P)
  1. I $G(ED)="" S ED=DT
  1. S R=$$LASTDXT^APCLAPIU(P,BD,ED,"BJPC AC THRPY INDIC DXS","A")
  1. I R]"" Q 1_"^"_$P(R,U,1)_"^"_$P(^AUPNVPOV($P(R,U,6),0),U)_"^"_$$VAL^XBDIQ1(9000010.07,$P(R,U,6),.01)
  1. Q ""
  1. INRDXV ;
  1. NEW A,B
  1. S A=0 F S A=$O(^AUPNVPOV("AD",V,A)) Q:A'=+A!(R]"") D
  1. .Q:'$D(^AUPNVPOV(A,0))
  1. .S B=$P(^AUPNVPOV(A,0),U)
  1. .Q:'$$ICD^ATXAPI(B,T,9)
  1. .S R=1_"^"_$$VD^APCLV(V)_"^"_$P(^AUPNVPOV(A,0),U)_"^"_$$VAL^XBDIQ1(9000010.07,A,.01)
  1. Q R