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

BSTSVICD.m

Go to the documentation of this file.
  1. BSTSVICD ;GDIT/HS/BEE-Standard Terminology API Program - ICD Checking ; 5 Nov 2012 9:53 AM
  1. ;;2.0;IHS STANDARD TERMINOLOGY;;Dec 01, 2016;Build 62
  1. ;
  1. Q
  1. ;
  1. VRSN(ICD,VDT,PARMS) ;Evaluate whether ICD10 code is active on date
  1. ;
  1. NEW RET,DIEN,EFFDT
  1. ;
  1. I $G(ICD)="" Q 0
  1. ;
  1. ;If no VDT, get from PARMS
  1. I $G(VDT)="",$G(PARMS)]"" D
  1. . NEW PC,PRM,VST
  1. . S VST=""
  1. . F PC=1:1:$L(PARMS) S PRM=$P(PARMS,";",PC) X:PRM["VST=" ("S "_PRM) I VST]"" Q
  1. . S VDT=$$GET1^DIQ(9000010,VST_",",.01,"I") S:VDT="" VDT=DT ;Get visit date
  1. I $G(VDT)="" S VDT=DT
  1. ;
  1. ;Locate the ICD entry
  1. S DIEN=$O(^ICD9("AB",ICD_" ","")) Q:DIEN="" 0
  1. ;
  1. ;Loop through status multiple to try to find effective range
  1. S RET=1,EFFDT=$O(^ICD9(DIEN,66,"B",VDT),-1) I EFFDT]"" D
  1. . NEW EIEN,STATUS,IENS,DA
  1. . ;
  1. . S EIEN=$O(^ICD9(DIEN,66,"B",EFFDT,"")) Q:EIEN=""
  1. . ;
  1. . ;Get the status
  1. . S DA(1)=DIEN,DA=EIEN,IENS=$$IENS^DILF(.DA)
  1. . S STATUS=$$GET1^DIQ(80.066,IENS,.02,"I")
  1. . I 'STATUS S RET=0
  1. ;
  1. Q RET