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

PXRMPDX.m

Go to the documentation of this file.
  1. PXRMPDX ; SLC/PKR - API for previous encounter diagnosis ;10/26/2020
  1. ;;2.0;CLINICAL REMINDERS;**44**;Feb 04, 2005;Build 11
  1. ;
  1. ;====================
  1. PRENDIAG(DFN,BDT,ENCDATE,DIAGLIST) ;
  1. ;Reference to ICDEX supported by ICR #5747
  1. ;Reference to LEXSRC2 supported by ICR #4083
  1. N CODE,CODELIST,DONE,DS,LD,LEXDATA,NL,PS
  1. N STATUS,SD,TEMP,VPOVIEN
  1. I $G(^PXRMINDX(9000010.07,"DATE BUILT"))="" Q -1
  1. S DS=$$CTFMD^PXRMDATE(BDT)-.000001
  1. F PS="P","S" D
  1. . S CODE="",DONE=0
  1. . F S CODE=$O(^PXRMINDX(9000010.07,"10D","PPI",DFN,PS,CODE)) Q:CODE="" D
  1. .. K LEXDATA
  1. .. S STATUS=$$STATCHK^LEXSRC2(CODE,ENCDATE,.LEXDATA,30)
  1. ..;If the code is not active on the encounter date skip it.
  1. .. I $P(STATUS,U,1)=0 Q
  1. .. S DATE=DS
  1. .. F S DATE=$O(^PXRMINDX(9000010.07,"10D","PPI",DFN,PS,CODE,DATE)) Q:DATE="" D
  1. ... S VPOVIEN=""
  1. ... F S VPOVIEN=$O(^PXRMINDX(9000010.07,"10D","PPI",DFN,PS,CODE,DATE,VPOVIEN)) Q:VPOVIEN="" D
  1. ....;Filters
  1. .... S TEMP=^AUPNVPOV(VPOVIEN,0)
  1. .... S VISITIEN=$P(TEMP,U,3)
  1. ....;The encounter status must be CHECKED OUT.
  1. ....;ICR #4850
  1. .... S STATUS=$$STATUS^SDPCE(VISITIEN)
  1. .... I $P(STATUS,U,2)'="CHECKED OUT" Q
  1. .... S CODEIEN=$P($$CODEN^ICDEX(CODE,80),"~",1)
  1. .... S TEMP=$$SD^ICDEX(80,CODEIEN)
  1. .... I $D(LD(CODE)) Q
  1. .... S SD(TEMP,CODE)=$P(LEXDATA(1),U,1)
  1. .... S LD(CODE)=$P(LEXDATA(1),U,2)
  1. S DIAGLIST(1)="^Prior Encounter Diagnoses"
  1. I '$D(SD) Q 0
  1. S TEMP="",NL=1
  1. F S TEMP=$O(SD(TEMP)) Q:TEMP="" D
  1. . S CODE=$O(SD(TEMP,""))
  1. . S NL=NL+1
  1. . S DIAGLIST(NL)=CODE_U_TEMP_"^^^^^^^"_SD(TEMP,CODE)_U_LD(CODE)
  1. Q NL
  1. ;