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

BGOCPTP2.m

Go to the documentation of this file.
  1. BGOCPTP2 ; IHS/BAO/TMD - CPT PREFERENCES MANAGER-2 ;06-Jan-2016 10:13;du
  1. ;;1.1;BGO COMPONENTS;**1,3,4,5,11,12,14,19**;Mar 20, 2007;Build 5
  1. ;
  1. ; Returns list of assocs for specified category and item
  1. ; INP = Category IEN ^ Item IEN
  1. ; Returned as a list of records in the format:
  1. ; Item IEN [1] ^ Item Name [2] ^ Type [3] ^ Auto Add [4] ^ Auto Default [5] ^
  1. ; No Dups [6] ^ Amount [7] ^ Association IEN [8] ^ Quantity [9] ^ Code [10] ^ ID [11]
  1. GETASSOC(RET,INP) ;EP
  1. N ITEM,TYP,GBL,N0,ITEMIEN,CAT,CNT,IEN,AUTO,DFLT,NODUP,AMT,ITEMNAME,QTY,CODE,CPT,NAR,ID,P,X
  1. S RET=$$TMPGBL^BGOUTL
  1. S CAT=+INP
  1. S ITEM=+$P(INP,U,2)
  1. I 'CAT!'ITEM S @RET@(1)=$$ERR^BGOUTL(1008) Q
  1. S CNT=0
  1. I '$D(^BGOCPTPR(CAT,0)) S @RET@(1)=$$ERR^BGOUTL(1009) Q
  1. S N0=$G(^BGOCPTPR(CAT,1,ITEM,0)),CPT=$P(N0,U),NAR=$P(N0,U,2)
  1. I 'CPT S @RET@(1)=$$ERR^BGOUTL(1010) Q
  1. I '$O(^BGOCPTPR(CAT,1,ITEM,1,0)) D Q:X<0
  1. .D SETASSOC(.X,CAT_U_ITEM_"^CPT^"_CPT_"^^1^^1")
  1. .S:X<0 @RET@(1)=X
  1. S IEN=0
  1. F S IEN=$O(^BGOCPTPR(CAT,1,ITEM,1,IEN)) Q:'IEN D
  1. .S N0=$G(^BGOCPTPR(CAT,1,ITEM,1,IEN,0))
  1. .S X=$P(N0,U)
  1. .S ITEMIEN=+X
  1. .Q:'ITEMIEN
  1. .S TYP=$P(X,";",2)
  1. .Q:TYP=""
  1. .I TYP="DIC(81.3" S TYP2="DIC(81.3"_","
  1. .E S TYP2=TYP
  1. .S GBL=U_TYP2_ITEMIEN_",0)"
  1. .S X=$G(@GBL)
  1. .Q:'$L(X)
  1. .I ITEMIEN=CPT,TYP="ICPT(",$L(NAR) S $P(X,U,2)=NAR,CPT=0
  1. .S P=$$TYPECVT(TYP,1,3)
  1. .I TYP="DIC(81.3," S P=$$TYPECVT(TYP,1,3)
  1. .;Changes made for AICD version 4.0 and Patch 14
  1. .I TYP="ICD9(" D ICD(X,N0) Q
  1. .I TYP="ICD0(" D ICD0(X,N0) Q
  1. .E S ITEMNAME=$P(X,U,P)
  1. .I TYP="AUTTEDT(" D
  1. ..I $P($G(^AUTTEDT(ITEMIEN,0)),U,12)'="" D
  1. ...N TXT,SNO,IN,X
  1. ...S TXT=""
  1. ...S SNO=$P($G(^AUTTEDT(ITEMIEN,0)),U,12)
  1. ...;IHS/MSC/MGH Changed to use new API p14
  1. ...S IN=SNO_"^^^1"
  1. ...;S X=$$CONC^BSTSAPI(IN)
  1. ...S X=$$CONC^AUPNSICD(IN)
  1. ...S TXT=$P(X,U,4)
  1. ...S ITEMNAME=TXT_"-"_$P($P($G(^AUTTEDT(ITEMIEN,0)),U,1),"-",2)
  1. .;End changes
  1. .S P=$$TYPECVT(TYP,1,4)
  1. .S CODE=$P(X,U,P)
  1. .S AUTO=$P(N0,U,2)
  1. .S DFLT=$P(N0,U,3)
  1. .S NODUP=$P(N0,U,4)
  1. .S AMT=$P(N0,U,5)
  1. .S QTY=$P(N0,U,7)
  1. .S ID=$$TYPECVT(TYP,1,5)
  1. .S TYP=$$TYPECVT(TYP,1,2)
  1. .S CNT=CNT+1
  1. .S @RET@(CNT)=ITEMIEN_U_ITEMNAME_U_TYP_U_AUTO_U_DFLT_U_NODUP_U_AMT_U_IEN_U_QTY_U_CODE_U_ID_U_""
  1. Q
  1. ICD(X,N0) ;Lookup ICD diagnosis association
  1. N SNO,DESC,ERR,IMP,ICD,SYS,CODE,ITEMNAME,CT,ITEMIEN,STRING,SNOICD
  1. S SNO=$P(N0,U,8),DESC=$P(N0,U,9)
  1. S ICD=+$P(N0,U,1) ;ICD code in the association
  1. S SNOICD=""
  1. S ERR=""
  1. I +SNO D
  1. .S CT=$$CONC^BSTSAPI(SNO_"^^^1")
  1. .S ITEMNAME=$P(CT,U,4)
  1. .S ITEMIEN=SNO
  1. .S SNOICD=$P($P(CT,U,5),";",1) ;ICD code found from SNOMED lookup
  1. I 'SNO D
  1. .S CODE=$$ICDDX^ICDCODE(ICD)
  1. .S ITEMNAME=$P(CODE,U,4)
  1. .S ITEMIEN=$P(CODE,U,1)
  1. .S ERR="-1^DX has not been converted to SNOMED and cannot be stored."
  1. I $$AICD^BGOUTL2 D
  1. .S IMP=$$IMP^ICDEX("10D",DT) ;Get the implementation date
  1. .S CODE=$$ICDDX^ICDEX(ICD,,,"I")
  1. .I IMP>$$NOW^XLFDT D ;This needs to be an ICD-9 code
  1. ..I $P(CODE,U,20)'=1 S ERR="-1^You may not use this diagnosis for this visit date, please assign POV from IPL"
  1. .I IMP<$$NOW^XLFDT D
  1. ..I $P(CODE,U,20)=1 S ICD=$$UPDATE(CAT,ITEM,SNOICD,IEN) ;Change the code to an ICD-10 code
  1. .I SNOICD'="",ICD'=SNOICD S ICD=$$UPDATE(CAT,ITEM,SNOICD,IEN) ;Change the code if it has changed
  1. E D
  1. .S CODE=$$ICDDX^ICDCODE(ICD)
  1. .S ITEMNAME=$P(CODE,U,4)
  1. .S ITEMIEN=$P(CODE,U,1)
  1. S AUTO=$P(N0,U,2)
  1. S DFLT=$P(N0,U,3)
  1. S NODUP=$P(N0,U,4)
  1. S AMT=$P(N0,U,5)
  1. S QTY=$P(N0,U,7)
  1. S ID=$$TYPECVT(TYP,1,5)
  1. S CODE=$P(CODE,U,2)
  1. I +SNO S TYP=$$TYPECVT(TYP,1,2)
  1. E S TYP="ICD Diagnosis"
  1. ;Patch 19 added DESC to output
  1. S STRING=ITEMIEN_U_ITEMNAME_U_TYP_U_AUTO_U_DFLT_U_NODUP_U_AMT_U_IEN_U_QTY_U_CODE_U_ID_U_DESC
  1. S CNT=CNT+1
  1. I ERR'="" S STRING=STRING_U_ERR
  1. S @RET@(CNT)=STRING
  1. Q
  1. ICD0(X,N0) ;Lookup ICD procedure in association
  1. N ERR,IMP,ICD,SYS,CODE,ITEMNAME,CT,ITEMIEN,STRING,SNOICD
  1. S ICD=+$P(N0,U,1) ;ICD code in the association
  1. S ERR=""
  1. I $$AICD^BGOUTL2 D
  1. .S IMP=$$IMP^ICDEX("10P",DT) ;Get the implementation date
  1. .S CODE=$$ICDOP^ICDEX(ICD,"","","I")
  1. .S ITEMNAME=$P(CODE,U,5)
  1. .S ITEMIEN=$P(CODE,U,1)
  1. .I IMP>$$NOW^XLFDT D ;This needs to be an ICD-9 code
  1. ..I $P(CODE,U,15)'=2 S ERR="-1^You may not use this ICD Procedure Code for this visit date, please assign ICD procedure code from the Services component."
  1. .I IMP<$$NOW^XLFDT D
  1. ..I $P(CODE,U,15)=2 S ERR="-1^You may not use this ICD Procedure Code for this visit date, please assign ICD procedure code from the Services component."
  1. E D
  1. .S CODE=$$ICDOP^ICDCODE(ICD)
  1. .S ITEMNAME=$P(CODE,U,5)
  1. .S ITEMIEN=$P(CODE,U,1)
  1. S AUTO=$P(N0,U,2)
  1. S DFLT=$P(N0,U,3)
  1. S NODUP=$P(N0,U,4)
  1. S AMT=$P(N0,U,5)
  1. S QTY=$P(N0,U,7)
  1. S ID=$$TYPECVT(TYP,1,5)
  1. S CODE=$P(CODE,U,2)
  1. S TYP="ICD Procedure"
  1. S STRING=ITEMIEN_U_ITEMNAME_U_TYP_U_AUTO_U_DFLT_U_NODUP_U_AMT_U_IEN_U_QTY_U_CODE_U_ID_U_""
  1. S CNT=CNT+1
  1. I ERR'="" S STRING=STRING_U_ERR
  1. S @RET@(CNT)=STRING
  1. Q
  1. ; Delete an association
  1. ; INP = Category IEN ^ Item IEN ^ Element IEN
  1. DELASSOC(RET,INP) ;EP
  1. N DA
  1. S DA(2)=+INP
  1. S DA(1)=+$P(INP,U,2)
  1. S DA=+$P(INP,U,3)
  1. S RET=$$DELETE^BGOUTL("^BGOCPTPR("_DA(2)_",1,"_DA(1)_",1,",.DA)
  1. Q
  1. UPDATE(CAT,IEN,VAL,ASSOC) ;Change the code in the association
  1. N IENS,FDA,NEWCODE,RET2,ERR
  1. S ERR=""
  1. I $$AICD^BGOUTL2 S NEWCODE=$P($$ICDDX^ICDEX(VAL,"","","E"),U,1)
  1. E S NEWCODE=$P($$ICDDX^ICDCODE(VAL),U,1)
  1. S IENS=ASSOC_","_IEN_","_CAT_","
  1. S FDA=$NA(FDA(90362.3121,IENS))
  1. S @FDA@(.01)=NEWCODE_";ICD9("
  1. S RET2=$$UPDATE^BGOUTL(.FDA,"@",.IEN)
  1. I 'RET2 S RET2=VAL
  1. Q RET2
  1. ; Set an association
  1. ; INP = CPT Preference IEN [1] ^ CPT Subfile IEN [2] ^ Type [3] ^ Value [4] ^ Association [5] ^ Auto Add [6] ^
  1. ; Default to Add [7] ^ No Dups [8] ^ Amount [9] ^ Quantity [10]
  1. SETASSOC(RET,INP) ;EP
  1. N TYP,TYP2,VAL,ASSOC,AUTO,DFLT,NODUP,AMT,QTY,FDA,IENS,DA,IEN,Z,TYP2
  1. N SNO,ICD,X,IMP
  1. S RET=""
  1. S DA(2)=+INP
  1. S DA(1)=+$P(INP,U,2)
  1. S TYP=$P(INP,U,3)
  1. S VAL=$P(INP,U,4)
  1. S ASSOC=$P(INP,U,5)
  1. S AUTO=+$P(INP,U,6)
  1. S DFLT=+$P(INP,U,7)
  1. S NODUP=+$P(INP,U,8)
  1. S AMT=+$P(INP,U,9)
  1. S QTY=+$P(INP,U,10)
  1. I '$D(^BGOCPTPR(DA(2),1,DA(1),0)) S RET=$$ERR^BGOUTL(1011) Q
  1. I TYP=+TYP S TYP=$$TYPECVT(TYP,5,1)
  1. E S TYP=$$TYPECVT(TYP,2,1)
  1. I TYP="" S RET=$$ERR^BGOUTL(1012) Q
  1. I VAL="" S RET=$$ERR^BGOUTL(1013) Q
  1. S IENS=$S(ASSOC:ASSOC,1:"+1")_","_DA(1)_","_DA(2)_","
  1. S FDA=$NA(FDA(90362.3121,IENS))
  1. ;Patch 14 changes
  1. I TYP="ICD9(" D
  1. .S X=$$CONC^BSTSAPI(VAL_"^^^1")
  1. .S ICD=$P($P(X,U,5),";",1)
  1. .;Store .9999 or ZZZ-999 depending on coding system
  1. .I ICD="" D
  1. ..I $$AICD^BGOUTL2 D
  1. ...S IMP=$$IMP^ICDEX("10D",DT) ;Get the implementation date
  1. ...I IMP>$$NOW^XLFDT S ICD=".9999"
  1. ...I IMP<$$NOW^XLFDT S ICD="ZZZ-999"
  1. ..E S ICD=".9999"
  1. .I $$AICD^BGOUTL2 S TYP2=$P($$ICDDX^ICDEX(ICD,$$NOW^XLFDT,"","E"),U,1)
  1. .E S TYP2=$P($$ICDDX^ICDCODE(ICD,$$NOW^XLFDT,"","E"),U,2)
  1. .S @FDA@(1)=VAL
  1. .S @FDA@(1.1)=$P(X,U,3)
  1. .S @FDA@(.01)=TYP2_";"_TYP
  1. E S @FDA@(.01)=VAL_";"_TYP
  1. S @FDA@(.02)=AUTO
  1. S @FDA@(.03)=DFLT
  1. S @FDA@(.04)=NODUP
  1. S @FDA@(.05)=AMT
  1. S @FDA@(.07)=QTY
  1. S RET=$$UPDATE^BGOUTL(.FDA,"@",.IEN)
  1. I 'RET,'ASSOC S ASSOC=IEN(1)
  1. S:'RET RET=ASSOC
  1. Q
  1. ; Return list of entries stored for a visit for a pick list
  1. ; INP = Category IEN ^ Item IEN ^ Visit IEN
  1. VSTASSOC(RET,INP) ;EP
  1. N LP,TMP,VFIEN,VIEN,GBL,IEN,TYP,CNT,TXT,ID,FNUM,X,Y
  1. S VIEN=$P(INP,U,3)
  1. Q:'VIEN
  1. D GETASSOC(.RET,$P(INP,U,1,2))
  1. S X=$G(@RET@(1))
  1. Q:X=""!(X<0)
  1. S TMP=RET,RET=$$TMPGBL^BGOUTL(1),(LP,CNT)=0
  1. F S LP=$O(@TMP@(LP)) Q:'LP D
  1. .S X=@TMP@(LP),IEN=+X,TYP=$P(X,U,3),TXT=$P(X,U,2),ID=+$P(X,U,11)
  1. .S FNUM=$$TYPECVT(ID,5,6)
  1. .Q:'FNUM
  1. .S GBL=$$ROOT^DILFD(FNUM,,1)
  1. .S VFIEN=0
  1. .F S VFIEN=$O(@GBL@("AD",VIEN,VFIEN)) Q:'VFIEN D
  1. ..S X=$G(@GBL@(VFIEN,0))
  1. ..S Y=$P(X,U,3)
  1. ..I GBL="^AUPNVPOV" S X=$G(@GBL@(VFIEN,11))
  1. ..Q:+X'=IEN!(Y'=VIEN)
  1. ..S CNT=CNT+1,@RET@(CNT)=ID_U_TYP_U_IEN_U_TXT_U_VFIEN_U_FNUM
  1. K @TMP
  1. Q
  1. ; Modify a field for an association
  1. ; INP = CPT Preference IEN [1] ^ CPT Subfile IEN [2] ^ Associations Subfile IEN [3] ^ Column Index [4] ^ Value [5]
  1. SETACHK(RET,INP) ;EP
  1. N DA,COL,VAL,FDA,IENS
  1. K RET
  1. S DA(2)=+INP
  1. S DA(1)=+$P(INP,U,2)
  1. S DA=+$P(INP,U,3)
  1. I '$D(^BGOCPTPR(+DA(2),1,+DA(1),1,+DA,0)) S RET=$$ERR^BGOUTL(1014) Q
  1. S COL=+$P(INP,U,4)
  1. I COL<1!(COL>5) S RET=$$ERR^BGOUTL(1015) Q
  1. S VAL=$P(INP,U,5)
  1. I VAL="" S RET=$$ERR^BGOUTL(1016) Q
  1. S IENS=DA_","_DA(1)_","_DA(2)_","
  1. S FDA=$NA(FDA(90362.3121,IENS))
  1. S @FDA@(COL+1/100)=VAL
  1. I VAL,COL<3 S @FDA@(4-COL/100)=0
  1. S RET=$$UPDATE^BGOUTL(.FDA,"E")
  1. Q
  1. ; Return list of CPT categories
  1. OTHCATS(RET,DUMMY) ;EP
  1. N CNT,I,X
  1. K RET
  1. S CNT=0
  1. F I=1:1:2 D
  1. .S X=0
  1. .F S X=$O(^DIC(81.1,"C",I,X)) Q:'X D
  1. ..I X>22,X<30 Q
  1. ..Q:$P($G(^DIC(81.1,X,9999999)),U,3)>98999
  1. ..S CNT=CNT+1
  1. ..S RET(CNT)=$P($G(^DIC(81.1,X,0)),U)_U_X_U_$S(I=1:"Med",I=2:"Surg",I=3:"Anesth",I=4:"Rad",1:"Lab")
  1. S:CNT CNT=CNT+1,RET(CNT)="DENTAL^9999^Dent"
  1. Q
  1. ; Clone a CPT category into a preference category
  1. ; INP = CPT Category IEN ^ Preference Category IEN
  1. CLONEOTH(RET,INP) ;EP
  1. N CPTCAT,PRIEN
  1. K RET
  1. S RET=0
  1. S CPTCAT=+INP
  1. I 'CPTCAT S RET=$$ERR^BGOUTL(1017) Q
  1. S PRIEN=+$P(INP,U,2)
  1. I 'PRIEN S RET=$$ERR^BGOUTL(1018) Q
  1. I '$D(^BGOCPTPR(PRIEN,0)) S RET=$$ERR^BGOUTL(1019) Q
  1. I CPTCAT=9999 D
  1. .N ADA
  1. .S ADA="D0000"
  1. .F S ADA=$O(^ICPT("B",ADA)) Q:$E(ADA)'="D" D CC1("B",ADA) Q:RET
  1. E D CC1("D",CPTCAT)
  1. S:'RET RET=1
  1. Q
  1. CC1(SB,SBV) ;
  1. N CPT,X
  1. S CPT=0
  1. F S CPT=$O(^ICPT(SB,SBV,CPT)) Q:'CPT D Q:RET
  1. .Q:$$CHKCPT^BGOVCPT(CPT)<0
  1. .Q:$O(^BGOCPTPR(PRIEN,1,"B",CPT,0))
  1. .S RET=$$UPDITEM^BGOPFUTL(90362.31,PRIEN,CPT,0)
  1. Q
  1. ; Clone a preference
  1. ; INP = Pref IEN (from) ^ Pref IEN (to)
  1. CLONE(RET,INP) ;EP
  1. D CLONE^BGOPFUTL(.RET,INP,90362.31)
  1. Q
  1. ; Execute query to update frequencies
  1. ; INP = Category IEN [1] ^ Provider IEN [2] ^ Clinic IEN [3] ^ Provider Class [4] ^ Hospital Location [5] ^
  1. ; Start Date [6] ^ End Date [7] ^ Max Hits [8]
  1. ; Med [9] ^ Surg [10] ^ Anest [11] ^ Lab [9] ^ Rad [12] ^ Supply [13] ^ 3rd Party Billing [14] ^
  1. ; V CPT [15] ^ CHS [16]
  1. QUERY(RET,INP) ;EP
  1. N CAT,PRV,CLN,CLS,HL,MED,SURG,ANEST,LAB,RAD,SUPPLY,TPB,VCPT,CHS,BEGDT
  1. N ENDDT,VD,VIEN,PX,CLM,CPT,PIEN,PRV,VIS,GRP,CNT,MAX,ND,X
  1. I $G(INP)="" S RET=$$ERR^BGOUTL(1008) Q
  1. S RET=""
  1. S CAT=$P(INP,U)
  1. S PRV=$P(INP,U,2)
  1. S CLN=$P(INP,U,3)
  1. S CLS=$P(INP,U,4)
  1. S HL=$P(INP,U,5)
  1. S BEGDT=$P(INP,U,6)
  1. S ENDDT=$P(INP,U,7)
  1. S MAX=+$P(INP,U,8)
  1. S MED=$P(INP,U,9)
  1. S SURG=$P(INP,U,10)
  1. S ANEST=$P(INP,U,11)
  1. S LAB=$P(INP,U,12)
  1. S RAD=$P(INP,U,13)
  1. S SUPPLY=$P(INP,U,14)
  1. S TPB=$P(INP,U,15)
  1. S VCPT=$P(INP,U,16)
  1. S CHS=$P(INP,U,17)
  1. S CNT=0
  1. S VD=$S(BEGDT:BEGDT,1:DT-20000)
  1. S:'ENDDT ENDDT=DT
  1. S RET=$$QRYINIT^BGOPFUTL(90362.31,CAT)
  1. Q:RET
  1. F S VD=$O(^AUPNVSIT("B",VD)) Q:'VD!RET!(VD>ENDDT) D
  1. .S VIEN=0
  1. .F S VIEN=$O(^AUPNVSIT("B",VD,VIEN)) Q:'VIEN!RET D
  1. ..S VIS=$G(^AUPNVSIT(VIEN,0))
  1. ..Q:VIS=""
  1. ..I CLN,$P(VIS,U,8)'=CLN Q
  1. ..I HL,$P(VIS,U,22)'=HL Q
  1. ..I 'CHS,$P(VIS,U,3)="C" Q
  1. ..I CHS,'TPB,'VCPT,$P(VIS,U,3)'="C" Q
  1. ..I PRV!CLS,'$$VISPRCL^BGOPFUTL(VIEN,PRV,CLS) Q
  1. ..I TPB D Q:RET ; Query third-party billing
  1. ...S CLM=$O(^ABMDCLM(DUZ(2),"AV",VIEN,0))
  1. ...Q:'CLM
  1. ...F ND=21,27,43 D Q:RET
  1. ....S PX=0
  1. ....F S PX=$O(^ABMDCLM(DUZ(2),CLM,ND,PX)) Q:'PX!RET D
  1. .....S CPT=+$G(^ABMDCLM(DUZ(2),CLM,ND,PX,0))
  1. .....D ADDPX
  1. ..I VCPT D ; Query VCPT
  1. ...S PX=0
  1. ...F S PX=$O(^AUPNVCPT("AD",VIEN,PX)) Q:'PX!RET D
  1. ....S CPT=+$G(^AUPNVCPT(PX,0))
  1. ....D ADDPX
  1. ..S PX=0 ; Query V Procedure
  1. ..F S PX=$O(^AUPNVPRC("AD",VIEN,PX)) Q:'PX!RET D
  1. ...S CPT=+$P($G(^AUPNVCPT(PX,0)),U,16)
  1. ...D ADDPX
  1. S RET=$$QRYDONE^BGOPFUTL(90362.31,CAT)
  1. Q
  1. ADDPX Q:'CPT
  1. S CNT=CNT+1
  1. S:CNT=MAX RET=CNT
  1. I CPT>98999,CPT<100000 Q
  1. I 'LAB,CPT>79999,CPT<90000 Q
  1. I 'RAD,CPT>69999,CPT<80000 Q
  1. I 'MED,CPT>89999,CPT<100000 Q
  1. I 'SURG,CPT>9999,CPT<70000 Q
  1. I 'ANEST,CPT>0,CPT<10000 Q
  1. I 'SUPPLY,$P($G(^ICPT(CPT,0)),U)?1A4N Q
  1. D QRYADD^BGOPFUTL(90362.31,CAT,CPT)
  1. Q
  1. ; Converts a variable pointer specifier to a related attribute
  1. ; X = value to map
  1. ; F = map from
  1. ; T = map to
  1. TYPECVT(X,F,T) ;
  1. N I,Y,R
  1. S X=$$UP^XLFSTR(X)
  1. I X="CPT MODIFIER" D
  1. .S Z=$$MODGBL^BGOVCPT
  1. .I Z="^DIC(81.3)" S X="CSV CPT MODIFIER"
  1. F I=0:1 S Y=$P($T(TYPES+I),";;",2) Q:'$L(Y) D Q:$D(R)
  1. .S:$$UP^XLFSTR($P(Y,";",F))=X R=$P(Y,";",T)
  1. Q $G(R)
  1. ; Information about association types
  1. ; Format is: Global Root;Item Name;Name Piece;Code Piece;ID;V File #
  1. TYPES ;;ICD9(;SNOMED DX;3;1;0;9000010.07
  1. ;;ICD0(;ICD Procedure;4;1;1;9000010.08
  1. ;;ICPT(;CPT;2;1;2;9000010.18
  1. ;;AUTTSK(;Skin Test;1;2;3;9000010.12
  1. ;;AUTTEXAM(;Exam;1;2;4;9000010.13
  1. ;;AUTTCMOD(;CPT Modifier;2;1;5;
  1. ;;AUTTHF(;Health Factor;1;2;6;9000010.23
  1. ;;AUTTIMM(;Immunization;1;3;7;9000010.11
  1. ;;AUTTEDT(;Education Topic;1;1;8;9000010.16
  1. ;;BCMTCF(;Transaction;7;1;9;9000010.33
  1. ;;DIC(81.3;CSV CPT Modifier;2;2;5;
  1. ;;