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

ABMDVST3.m

Go to the documentation of this file.
  1. ABMDVST3 ; IHS/ASDST/DMJ - PCC VISIT STUFF - PART 4 (ICD PROCEDURE) ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**14,16**;NOV 12, 2009;Build 268
  1. ;;Y2K/OK - IHS/ADC/JLG 12-18-97
  1. ;Original;TMD;03/26/96 12:26 PM
  1. ;
  1. ;IHS/SD/SDR - 2.6*14 - ICD10 - 002H - ICD10 changes, including 1st SNOMED code for V Procedure
  1. ;IHS/SD/SDR - 2.6*16 - HEAT214025 - Dual-coding fields weren't being looked at for the transition from
  1. ; ICD9 to ICD10.
  1. ;
  1. Q:ABMIDONE
  1. ; undinumed
  1. PRC ;
  1. S DA(1)=ABMP("CDFN")
  1. S DIC="^ABMDCLM(DUZ(2),"_DA(1)_",19,"
  1. S DIC(0)="LE"
  1. ;S ABMR("P")=2 ;abm*2.6*14 ICD10 002H
  1. S ABMR("P")=1 ;abm*2.6*14 ICD10 002H
  1. S ABMI=""
  1. F S ABMI=$O(^AUPNVPRC("AD",ABMVDFN,ABMI)) Q:'ABMI D
  1. .K DIC("DR"),DD,DO
  1. .D PRCCHK
  1. K ABMR,ABMI,ABMSRC,DIC
  1. Q
  1. ;
  1. PRCCHK ;
  1. Q:'$D(^AUPNVPRC(ABMI,0))
  1. N ABMOKNEW,ABMEDIT
  1. S ABMEDIT=0
  1. ;Set to 1 or 2, 7th piece is principle proc
  1. S ABMR("PX")=$S($P(^AUPNVPRC(ABMI,0),U,7)="Y":1,1:ABMR("P"))
  1. S ABMTYP=$S($P($$ICDOP^ABMCVAPI($P(^AUPNVPRC(ABMI,0),U),ABMP("VDT")),U,15)=31:"ICD10",1:"ICD9") ;abm*2.6*14 ICD10 002F
  1. ;Sets the 2 vars to the last value of the subscript+1
  1. I $D(^ABMDCLM(DUZ(2),ABMP("CDFN"),19,"C",ABMR("PX")))=10 S ABMR="" F S ABMR=$O(^(ABMR)) Q:ABMR="" S (ABMR("PX"),ABMR("P"))=ABMR+1
  1. ;Sets var to procedure date if it exists or to visit date
  1. S ABMR("VDT")=$S($P(^AUPNVPRC(ABMI,0),U,6)]"":$P(^(0),U,6),1:ABMCHVDT)
  1. ;Diagnosis
  1. ;S ABMR("CDX")=$S($P(^AUPNVPRC(X,0),U,5)]"":$P(^(0),U,5),1:"")
  1. S ABMSRC="08|"_ABMI_"|ICD"
  1. ; setting prov narrative
  1. S X=$P(^AUPNVPRC(ABMI,0),U)
  1. I +$P(^AUPNVPRC(ABMI,0),U,22)'=0&(ABMP("ICD10")>ABMP("VDT")) S X=+$P(^AUPNVPRC(ABMI,0),U,22),ABMTYP="ICD9" ;abm*2.6*16 HEAT214025
  1. S ABMR("NAR")=$P(^AUPNVPRC(ABMI,0),U,4)
  1. I '$D(@(DIC_"0)")) S @(DIC_"0)")="^9002274.3019P",ABMOKNEW=1
  1. E D
  1. .S ABMOKNEW=1
  1. .S ABM=0
  1. .F S ABM=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),19,ABM)) Q:'ABM D Q:'ABMOKNEW
  1. ..S Y=$G(^ABMDCLM(DUZ(2),ABMP("CDFN"),19,ABM,0))
  1. ..;S ABMTYP=$S($P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),19,ABM,0)),U,6)=1:"ICD10",1:"ICD9") ;abm*2.6*14 ICD10 002H
  1. ..Q:($P(Y,U,17)]"")&(ABMSRC'=$P(Y,U,17))
  1. ..I $P(Y,U,17)="",X'=$P(Y,U) Q
  1. ..S ABMOKNEW=0
  1. ..I (X'=$P(Y,U))!(ABMR("VDT")'=$P(Y,U,3))!(ABMR("NAR")'=$P(Y,U,4)) S ABMEDIT=1 Q
  1. ..I $P(Y,U,17)="",X=$P(Y,U) S ABMEDIT=1
  1. I ABMOKNEW D Q
  1. .;S DIC("DR")=".02////"_ABMR("PX")_";.03////"_ABMR("VDT")_";.04////"_ABMR("NAR") ;abm*2.6*14 ICD10 002H
  1. .I (ABMP("ICD10")<ABMP("VDT")!(ABMP("ICD10")=ABMP("VDT")))&(ABMTYP="ICD10") S DIC("DR")=".02////"_ABMR("PX") ;abm*2.6*14 ICD10 002H
  1. .I (ABMP("ICD10")>ABMP("VDT")&(ABMTYP="ICD9")) S DIC("DR")=".02////"_ABMR("PX") ;abm*2.6*14 ICD10 002H
  1. .S DIC("DR")=$S($G(DIC("DR"))'="":DIC("DR")_";",1:"")_".03////"_ABMR("VDT")_";.04////"_ABMR("NAR") ;abm*2.6*14 ICD10 002H
  1. .;S:ABMR("CDX")]"" DIC("DR")=DIC("DR")_";.05////"_ABMR("CDX")
  1. .S:(ABMTYP="ICD10") DIC("DR")=DIC("DR")_";.06////1" ;abm*2.6*14 ICD10 002H
  1. .I ABMTYP="ICD10"&(+$P(^AUPNVPRC(ABMI,0),U,22)) S DIC("DR")=DIC("DR")_";21////"_+$P(^AUPNVPRC(ABMI,0),U,22)_";22////"_+$P(^AUPNVPRC(ABMI,0),U,23) ;abm*2.6*16 IHS/SD/SDR HEAT214025
  1. .S DIC("DR")=DIC("DR")_";.17////"_ABMSRC
  1. .;S:ABMR("PX")>1 ABMR("P")=ABMR("P")+1 ;abm*2.6*14 ICD10 002H
  1. .I ABMP("ICD10")<ABMP("VDT")!(ABMP("ICD10")=ABMP("VDT")),ABMR("PX")>1 S ABMR("P")=ABMR("P")+1 ;abm*2.6*14 ICD10 002H
  1. .K DD,DO D FILE^DICN
  1. I ABMEDIT D
  1. .N FILE,IENS,ABMFDA
  1. .S FILE=9002274.3019
  1. .S IENS=ABM_","_ABMP("CDFN")_","
  1. .S ABMFDA(FILE,IENS,.01)=X
  1. .S ABMFDA(FILE,IENS,.03)=ABMR("VDT")
  1. .S ABMFDA(FILE,IENS,.04)=ABMR("NAR")
  1. .I $P($$ICDOP^ABMCVAPI(X,ABMP("VDT")),U,15)=31 S ABMFDA(FILE,IENS,.06)=1 ;abm*2.6*14 ICD10 002H
  1. .S ABMFDA(FILE,IENS,.17)=ABMSRC
  1. .D FILE^DIE("K","ABMFDA")
  1. D VPRCSNOM ;abm*2.6*14 ICD10 SNOMED
  1. Q
  1. ;start new abm*2.6*14 ICD10 SNOMED
  1. VPRCSNOM ;EP
  1. S ABMII=+$O(^AUPNVPRC(ABMI,26,0))
  1. I ABMII=0 Q
  1. S IENS=ABMII_","_ABMI_","
  1. S X=$$GET1^DIQ(9000010.0826,IENS,".01","I")
  1. Q:X=""
  1. S DA(1)=ABMP("CDFN")
  1. S DA=ABM
  1. S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",19,"
  1. S DR="11////"_X
  1. D ^DIE
  1. Q
  1. ;end new ICD10 SNOMED