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

PXKFPOV1.m

Go to the documentation of this file.
  1. PXKFPOV1 ;BPFO/LMT - PROMBLEM OF VISIT Routine #2 ;01/12/16 14:36
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**215**;Aug 12, 1996;Build 10
  1. ;
  1. ;
  1. IMM ;
  1. D MAIN
  1. Q
  1. SK ;
  1. D MAIN
  1. Q
  1. ;
  1. MAIN ;
  1. I PXKFGAD=1 D ADD
  1. I PXKFGDE=1 D DEL
  1. Q
  1. ;
  1. ADD ;
  1. N PXKSEQ1,PXNARR,PXVISIT,PXVISITDT
  1. ;
  1. S PXVISIT=$G(^TMP("PXK",$J,"VST",1,"IEN"))
  1. ;
  1. ; Entry already exists with this Code - don't add duplicate
  1. I $$FNDVPOV(PXVISIT,PXCODE) Q
  1. ;
  1. ; use diagnosis description as narrative
  1. S PXVISITDT=$$CSDATE^PXDXUTL(PXVISIT)
  1. S PXNARR=$$DXNARR^PXUTL1(PXCODE,PXVISITDT)
  1. S PXNARR=+$$PROVNARR^PXAPI(PXNARR,9000010.07)
  1. ;
  1. S PXKSEQ1=PXKSEQ+PXKXX
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,0,"AFTER")=PXCODE_"^"_$G(PXKAV(0,2))_"^"_$G(PXKAV(0,3))_"^"_PXNARR_"^^^^^^^^S"
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,12,"AFTER")=$G(PXKAV(12,1))_"^"_$G(PXKAV(12,2))_"^^"_$G(PXKAV(12,4))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,812,"AFTER")=$G(PXKAFT(812))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,"IEN")=""
  1. ;
  1. Q
  1. ;
  1. DEL ;
  1. N PXKSEQ1,PXVISIT,PXVPOV
  1. ;
  1. S PXVISIT=$G(^TMP("PXK",$J,"VST",1,"IEN"))
  1. ;
  1. S PXVPOV=$$FNDVPOV(PXVISIT,PXCODE)
  1. I 'PXVPOV Q
  1. ;
  1. S PXKSEQ1=PXKSEQ+PXKXX
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,0,"BEFORE")=$G(^AUPNVPOV(PXVPOV,0))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,12,"BEFORE")=$G(^AUPNVPOV(PXVPOV,12))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,800,"BEFORE")=$G(^AUPNVPOV(PXVPOV,800))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,802,"BEFORE")=$G(^AUPNVPOV(PXVPOV,802))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,811,"BEFORE")=$G(^AUPNVPOV(PXVPOV,811))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,812,"BEFORE")=$G(^AUPNVPOV(PXVPOV,812))
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,"IEN")=PXVPOV
  1. ;
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,0,"AFTER")="@"
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,12,"AFTER")=""
  1. S ^TMP("PXKSAVE",$J,"POV",PXKSEQ1,812,"AFTER")=""
  1. ;
  1. Q
  1. ;
  1. DUP(PXVISIT,PXCODE) ;
  1. N PXFOUND,PXSEQ
  1. ;
  1. I $$FNDVPOV(PXVISIT,PXCODE) Q 1
  1. ;
  1. S PXFOUND=0
  1. S PXSEQ=0
  1. F Q:PXFOUND S PXSEQ=$O(^TMP("PXK",$J,"POV",PXSEQ)) Q:'PXSEQ D
  1. . I $P($G(^TMP("PXK",$J,"POV",PXSEQ,0,"AFTER")),U,1)=PXCODE D
  1. . . S PXFOUND=1
  1. ;
  1. Q PXFOUND
  1. ;
  1. FNDVPOV(PXVISIT,PXCODE) ;
  1. N PXFOUND,PXRSLT,PXVPOV
  1. ;
  1. S PXRSLT=0
  1. S PXFOUND=0
  1. ;
  1. S PXVPOV=0
  1. F Q:PXFOUND S PXVPOV=$O(^AUPNVPOV("AD",PXVISIT,PXVPOV)) Q:'PXVPOV D
  1. . I $P($G(^AUPNVPOV(PXVPOV,0)),U,1)=PXCODE D
  1. . . S PXFOUND=1
  1. . . S PXRSLT=PXVPOV
  1. ;
  1. Q PXRSLT