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

APCHS81.m

Go to the documentation of this file.
  1. APCHS81 ; IHS/CMI/LAB - PART 2 OF APCHS -- SUMMARY PRODUCTION COMPONENTS ;
  1. ;;2.0;IHS PCC SUITE;**10**;MAY 14, 2009;Build 88
  1. NT ; ******************** NARRATIVE TEXT 9000010.34 ******
  1. K APCHSTXA
  1. ; <SETUP>
  1. Q:'$D(^AUPNVNT("AA",APCHSPAT))
  1. X APCHSBRK
  1. ; <DISPLAY>
  1. X APCHSCKP Q:$D(APCHSQIT) W !
  1. S APCHSTT="" F APCHSQ=0:0 S APCHSTT=$O(^AUPNVNT("AA",APCHSPAT,APCHSTT)) Q:APCHSTT="" S APCHSND2=APCHSNDM D NTDTYP Q:$D(APCHSQIT)
  1. D WRITE
  1. ; <CLEANUP>
  1. NTX K APCHSTT,APCHSTT2,APCHSTT3,APCHSDFN,APCHSND2,APCHSDAT,APCHSIVD,APCHSTXA,APCHWP,APCHX,APCHSNDM
  1. Q
  1. NTDTYP S APCHSTT2=$S($D(^AUTTNTYP(APCHSTT,0)):$P(^(0),U,1),1:APCHSTT) S APCHSTT3=APCHSTT2
  1. S (APCHSIVD,APCHSDFN)="" F S APCHSIVD=$O(^AUPNVNT("AA",APCHSPAT,APCHSTT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM) S APCHSND2=APCHSND2-1 Q:APCHSND2=-1 D NTDSP
  1. Q
  1. NTDSP ;
  1. S APCHSDFN=0 F S APCHSDFN=$O(^AUPNVNT("AA",APCHSPAT,APCHSTT,APCHSIVD,APCHSDFN)) Q:APCHSDFN'=+APCHSDFN!($D(APCHSQIT)) S Y=-APCHSIVD\1+9999999 D
  1. .S APCHSTXA(APCHSIVD,APCHSTT,APCHSDFN)=""
  1. Q
  1. ;
  1. WRITE ;write out Narrative text
  1. S APCHSIVD=0 F S APCHSIVD=$O(APCHSTXA(APCHSIVD)) Q:APCHSIVD=""!($D(APCHSQIT)) D
  1. .S APCHSTT=0 F S APCHSTT=$O(APCHSTXA(APCHSIVD,APCHSTT)) Q:APCHSTT=""!($D(APCHSQIT)) D
  1. ..S APCHSDFN=0 F S APCHSDFN=$O(APCHSTXA(APCHSIVD,APCHSTT,APCHSDFN)) Q:APCHSDFN'=+APCHSDFN!($D(APCHSQIT)) D
  1. ...X APCHSCKP Q:$D(APCHSQIT)
  1. ...W !,$$FMTE^XLFDT(9999999-APCHSIVD),?23,$P(^AUTTNTYP(APCHSTT,0),U)
  1. ... K APCHWP D WP
  1. ...S APCHX=0 F S APCHX=$O(APCHWP(APCHX)) Q:APCHX'=+APCHX!($D(APCHSQIT)) D
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W !?3,APCHWP(APCHX)
  1. ....Q
  1. ...Q
  1. ..Q
  1. .Q
  1. Q
  1. WP ;EP - Entry point to print wp fields pass node in APCHWP
  1. NEW APCHG,APCHX,CNT
  1. K ^UTILITY($J,"W")
  1. S APCHX=0
  1. S DIWL=1,DIWR=70 F S APCHX=$O(^AUPNVNT(APCHSDFN,11,APCHX)) Q:APCHX'=+APCHX D
  1. .S X=^AUPNVNT(APCHSDFN,11,APCHX,0) D ^DIWP
  1. .Q
  1. S (Z,CNT)=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z S CNT=CNT+1,APCHWP(CNT)=^UTILITY($J,"W",DIWL,Z,0)
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),APCHG,CNT,APCHX
  1. Q
  1. VID ;EP
  1. S APCHORD=1 ;order by date
  1. G VII
  1. VIP ;EP
  1. S APCHORD=2 ;order by problem
  1. G VII
  1. VII ;
  1. K APCHSTXA
  1. ; <SETUP>
  1. Q:'$D(^AUPNVVI("AA",APCHSPAT))
  1. X APCHSBRK
  1. ; <DISPLAY>
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. S APCHPROB=""
  1. F S APCHPROB=$O(^AUPNVVI("AA",APCHSPAT,APCHPROB)) Q:APCHPROB="" D
  1. .S APCHSIVD=0 F S APCHSIVD=$O(^AUPNVVI("AA",APCHSPAT,APCHPROB,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM) D
  1. ..;table them by date,problem or problem,date depending on the component
  1. ..S X=0 F S X=$O(^AUPNVVI("AA",APCHSPAT,APCHPROB,APCHSIVD,X)) Q:X'=+X D
  1. ...S D=$$VALI^XBDIQ1(9000010.58,X,1201),D=$P(D,".",1) I D]"" S D=9999999-D
  1. ...I D="" S D=APCHSIVD
  1. ...I APCHORD=1 S APCHSTXA("DATE",D,APCHPROB,X)=""
  1. ...I APCHORD=2 S APCHSTXA("PROB",APCHPROB,D,X)=""
  1. D WRITEVI
  1. ; <CLEANUP>
  1. VIIX K APCHPROB,APCHSTXA,APCHORD,APCHSICL,APCHSTXT,APCHSNRQ
  1. Q
  1. WRITEVI ;
  1. I APCHORD=1 D Q
  1. .S APCHSIVD=0 F S APCHSIVD=$O(APCHSTXA("DATE",APCHSIVD)) Q:APCHSIVD=""!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..W $$DATE^APCHSMU(9999999-$P(APCHSIVD,"."))
  1. ..S APCHPROB=0 F S APCHPROB=$O(APCHSTXA("DATE",APCHSIVD,APCHPROB)) Q:APCHPROB=""!($D(APCHSQIT)) D
  1. ...S APCHSICL=12 D GETPROB
  1. ...S APCHX=0 F S APCHX=$O(APCHSTXA("DATE",APCHSIVD,APCHPROB,APCHX)) Q:APCHX=""!($D(APCHSQIT)) D
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W ?12,"Visit Instructions Signed By: "_$$GET1^DIQ(9000010.58,APCHX,.04),!
  1. ...X APCHSCKP Q:$D(APCHSQIT)
  1. ...W !
  1. I APCHORD=2 D Q
  1. .S APCHPROB=0 F S APCHPROB=$O(APCHSTXA("PROB",APCHPROB)) Q:APCHPROB=""!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..S APCHSICL=1 D GETPROB
  1. ..S APCHSIVD=0 F S APCHSIVD=$O(APCHSTXA("PROB",APCHPROB,APCHSIVD)) Q:APCHSIVD=""!($D(APCHSQIT)) D
  1. ...S APCHX=0 F S APCHX=$O(APCHSTXA("PROB",APCHPROB,APCHSIVD,APCHX)) Q:APCHX=""!($D(APCHSQIT)) D
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W ?5,$$DATE^APCHSMU(9999999-$P(APCHSIVD,"."))
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W ?16,"Visit Instructions Signed By: "_$$GET1^DIQ(9000010.58,APCHX,.04),!
  1. ...X APCHSCKP Q:$D(APCHSQIT)
  1. ..W !
  1. Q
  1. GETPROB ;
  1. S X=$$GET1^DIQ(9000011,APCHPROB,.05)
  1. I $P(^APCHSCTL(APCHSTYP,0),U,3) S S=$$GET1^DIQ(9000011,APCHPROB,80001) I S]"" S X=X_" [SNOMED: "_S_"]"
  1. S D=$$GET1^DIQ(9000011,APCHPROB,.01) I $P($G(^APCHSCTL(APCHSTYP,2)),U,1)="C" S X=X_" [DX: "_D_"]"
  1. S X="Problem: "_X
  1. S APCHSNRQ="",APCHSTXT=X D PRTTXT^APCHSUTL
  1. Q
  1. WPVI ;
  1. K ^UTILITY($J,"W")
  1. S DIWL=12,DIWR=79,DIWF="|"
  1. D ^DIWP
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z!($D(APCHSQIT)) D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W ?12,^UTILITY($J,"W",DIWL,Z,0),!
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),APCHG,CNT,APCHX
  1. Q
  1. REFD ;EP
  1. S APCHORD=1 ;order by date
  1. G REFI
  1. REFP ;EP
  1. S APCHORD=2 ;order by problem
  1. G REFI
  1. REFI ;
  1. K APCHSTXA
  1. ; <SETUP>
  1. Q:'$D(^AUPNVREF("AA",APCHSPAT))
  1. X APCHSBRK
  1. ; <DISPLAY>
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. S APCHPROB=""
  1. F S APCHPROB=$O(^AUPNVREF("APRB",APCHSPAT,APCHPROB)) Q:APCHPROB="" D
  1. .S APCHSIVD=0 F S APCHSIVD=$O(^AUPNVREF("APRB",APCHSPAT,APCHPROB,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM) D
  1. ..;table them by date,problem or problem,date depending on the component
  1. ..S X=0 F S X=$O(^AUPNVREF("APRB",APCHSPAT,APCHPROB,APCHSIVD,X)) Q:X'=+X D
  1. ...S D=$$VALI^XBDIQ1(9000010.59,X,1201),D=$P(D,".",1) I D]"" S D=9999999-D
  1. ...I D="" S D=$P(APCHSIVD,".")
  1. ...I APCHORD=1 S APCHSTXA("DATE",D,APCHPROB,X)=""
  1. ...I APCHORD=2 S APCHSTXA("PROB",APCHPROB,D,X)=""
  1. D WRITEREF
  1. ; <CLEANUP>
  1. REFX K APCHPROB,APCHSTXA,APCHORD,APCHSICL,APCHSTXT,APCHSNRQ
  1. Q
  1. WRITEREF ;
  1. I APCHORD=1 D Q
  1. .S APCHSIVD=0 F S APCHSIVD=$O(APCHSTXA("DATE",APCHSIVD)) Q:APCHSIVD=""!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..W $$DATE^APCHSMU(9999999-$P(APCHSIVD,"."))
  1. ..S APCHPROB=0 F S APCHPROB=$O(APCHSTXA("DATE",APCHSIVD,APCHPROB)) Q:APCHPROB=""!($D(APCHSQIT)) D
  1. ...S APCHSICL=12 D GETPROB
  1. ...S APCHX=0 F S APCHX=$O(APCHSTXA("DATE",APCHSIVD,APCHPROB,APCHX)) Q:APCHX=""!($D(APCHSQIT)) D
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W ?12,"Referral: ",$$CONCPT^AUPNVUTL($$GET1^DIQ(9000010.59,APCHX,.01))," ["_$$GET1^DIQ(9000010.59,APCHX,.01)_"]",!
  1. ....W ?12,"Ordered by: ",$$GET1^DIQ(9000010.59,APCHX,1202)
  1. ....S X=$$GET1^DIQ(9000010.59,APCHX,.05) I X W " ====> Discontinued"
  1. ....W !
  1. ...X APCHSCKP Q:$D(APCHSQIT)
  1. ...W !
  1. I APCHORD=2 D Q
  1. .S APCHPROB=0 F S APCHPROB=$O(APCHSTXA("PROB",APCHPROB)) Q:APCHPROB=""!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..S APCHSICL=1 D GETPROB
  1. ..S APCHSIVD=0 F S APCHSIVD=$O(APCHSTXA("PROB",APCHPROB,APCHSIVD)) Q:APCHSIVD=""!($D(APCHSQIT)) D
  1. ...S APCHX=0 F S APCHX=$O(APCHSTXA("PROB",APCHPROB,APCHSIVD,APCHX)) Q:APCHX=""!($D(APCHSQIT)) D
  1. ....S X=$$DATE^APCHSMU(9999999-$P(APCHSIVD,"."))_" Referral: "_$$CONCPT^AUPNVUTL($$GET1^DIQ(9000010.59,APCHX,.01))_" ["_$$GET1^DIQ(9000010.59,APCHX,.01)_"]"
  1. ....S APCHSNRQ="",APCHSTXT=X,APCHSICL=5 D PRTTXT^APCHSUTL
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W ?5,"Ordered by: ",$$GET1^DIQ(9000010.59,APCHX,1202)
  1. ....S X=$$GET1^DIQ(9000010.59,APCHX,.05) I X W " ====> Discontinued"
  1. ....W !
  1. ...X APCHSCKP Q:$D(APCHSQIT)
  1. ...W !
  1. Q
  1. TXRD ;EP
  1. S APCHORD=1 ;order by date
  1. G TXRI
  1. TXRP ;EP
  1. S APCHORD=2 ;order by problem
  1. G TXRI
  1. TXRI ;
  1. K APCHSTXA
  1. ; <SETUP>
  1. Q:'$D(^AUPNVTXR("AA",APCHSPAT))
  1. X APCHSBRK
  1. ; <DISPLAY>
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. S APCHPROB=""
  1. F S APCHPROB=$O(^AUPNVTXR("APRB",APCHSPAT,APCHPROB)) Q:APCHPROB="" D
  1. .S APCHSIVD=0 F S APCHSIVD=$O(^AUPNVTXR("APRB",APCHSPAT,APCHPROB,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>APCHSDLM) D
  1. ..;table them by date,problem or problem,date depending on the component
  1. ..S X=0 F S X=$O(^AUPNVTXR("APRB",APCHSPAT,APCHPROB,APCHSIVD,X)) Q:X'=+X D
  1. ...S D=$$VALI^XBDIQ1(9000010.61,X,1201),D=$P(D,".",1) I D]"" S D=9999999-D
  1. ...I D="" S D=$P(APCHSIVD,".")
  1. ...I APCHORD=1 S APCHSTXA("DATE",D,APCHPROB,X)=""
  1. ...I APCHORD=2 S APCHSTXA("PROB",APCHPROB,D,X)=""
  1. D WRITETXR
  1. ; <CLEANUP>
  1. TXRX K APCHPROB,APCHSTXA,APCHORD,APCHSICL,APCHSTXT,APCHSNRQ
  1. Q
  1. WRITETXR ;
  1. I APCHORD=1 D Q
  1. .S APCHSIVD=0 F S APCHSIVD=$O(APCHSTXA("DATE",APCHSIVD)) Q:APCHSIVD=""!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..W $$DATE^APCHSMU(9999999-$P(APCHSIVD,"."))
  1. ..S APCHPROB=0 F S APCHPROB=$O(APCHSTXA("DATE",APCHSIVD,APCHPROB)) Q:APCHPROB=""!($D(APCHSQIT)) D
  1. ...S APCHSICL=12 D GETPROB
  1. ...S APCHX=0 F S APCHX=$O(APCHSTXA("DATE",APCHSIVD,APCHPROB,APCHX)) Q:APCHX=""!($D(APCHSQIT)) D
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W ?12,"Treatment/Regimen: ",$$CONCPT^AUPNVUTL($$GET1^DIQ(9000010.61,APCHX,.01))," ["_$$GET1^DIQ(9000010.61,APCHX,.01)_"]",!
  1. ....W ?12,"Ordered by: ",$$GET1^DIQ(9000010.61,APCHX,1202)
  1. ....S X=$$GET1^DIQ(9000010.61,APCHX,.05) I X W " ====> Discontinued"
  1. ....W !
  1. ...X APCHSCKP Q:$D(APCHSQIT)
  1. ...W !
  1. I APCHORD=2 D Q
  1. .S APCHPROB=0 F S APCHPROB=$O(APCHSTXA("PROB",APCHPROB)) Q:APCHPROB=""!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..S APCHSICL=1 D GETPROB
  1. ..S APCHSIVD=0 F S APCHSIVD=$O(APCHSTXA("PROB",APCHPROB,APCHSIVD)) Q:APCHSIVD=""!($D(APCHSQIT)) D
  1. ...S APCHX=0 F S APCHX=$O(APCHSTXA("PROB",APCHPROB,APCHSIVD,APCHX)) Q:APCHX=""!($D(APCHSQIT)) D
  1. ....S X=$$DATE^APCHSMU(9999999-$P(APCHSIVD,"."))_" Treatment/Regimen: "_$$CONCPT^AUPNVUTL($$GET1^DIQ(9000010.61,APCHX,.01))_" ["_$$GET1^DIQ(9000010.61,APCHX,.01)_"]"
  1. ....S APCHSNRQ="",APCHSTXT=X,APCHSICL=5 D PRTTXT^APCHSUTL
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....W ?5,"Ordered by: ",$$GET1^DIQ(9000010.61,APCHX,1202)
  1. ....S X=$$GET1^DIQ(9000010.61,APCHX,.05) I X W " ====> Discontinued"
  1. ....W !
  1. ...X APCHSCKP Q:$D(APCHSQIT)
  1. ...W !
  1. Q