- ATXGU ;cmi/anch/maw - ATX Gui Taxonomy Utilities
- ;;5.1;TAXONOMY;**11**;FEB 04, 1997;Build 48
- ;
- ;generic Taxonomy GUI calls
- ;cmi/anch/maw 3/8/2007 modified MED to remove screen on inactive meds
- ;
- Q
- DEBUG(RETVAL,BGPSTR) ;run the debugger
- D DEBUG^%Serenji("TAX^ATXGU(.RETVAL,.BGPSTR)")
- Q
- ;
- CATSTR(ATXSRET,STR) ;EP - concatenate string
- N ATXDA
- S ATXSRET=""
- S ATXDA=0 F S ATXDA=$O(STR(ATXDA)) Q:'ATXDA D
- . S ATXSRET=ATXSRET_$G(STR(ATXDA))
- Q
- ;
- MERR ; M TRAP
- N X
- X ("S X=$"_"ZE")
- S X="MUMPS error: """_X_""""
- D ERR(X)
- Q
- ;
- ERR(ERR) ;
- N X
- S X="ERROR|"_ERR_$C(30)
- S @ATXRET@(1)=X
- Q
- ;
- FTAX(ATXRET,ATXSTR) ;-- get taxonomies w file # passed in
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N P,ATXI,ATXFN,ATXIEN
- S P="|"
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ^ATXTMP($J,ATXI)="T00007BMXIEN^T00080Taxonomy"_$C(30)
- S ATXFN=$P(ATXSTR,P)
- S ATXIEN=0 F S ATXIEN=$O(^ATXAX("B",ATXIEN)) Q:ATXIEN="" D
- . N ATXDA
- . S ATXDA=0 F S ATXDA=$O(^ATXAX("B",ATXIEN,ATXDA)) Q:'ATXDA D
- .. I ATXFN]"" Q:$P($G(^ATXAX(ATXDA,0)),U,15)'=ATXFN
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXDA_U_$P($G(^ATXAX(ATXDA,0)),U)_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- MED(ATXRET) ;-- drugs
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXMED,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080MED"_$C(30)
- S ATXMED=0 F S ATXMED=$O(^PSDRUG("B",ATXMED)) Q:ATXMED="" D
- . S ATXIEN=0 F S ATXIEN=$O(^PSDRUG("B",ATXMED,ATXIEN)) Q:'ATXIEN D
- .. ;Q:$G(^PSDRUG(ATXIEN,"I")) ;need to be able to add inactive drugs for BGP
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXMED_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- IMM(ATXRET) ;-- imm
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXIMM,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080IMM"_$C(30)
- S ATXIMM=0 F S ATXIMM=$O(^AUTTIMM("D",ATXIMM)) Q:ATXIMM="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTIMM("D",ATXIMM,ATXIEN)) Q:'ATXIEN D
- .. ;Q:$P($G(^AUTTIMM(ATXIEN,0)),U,7)
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXIMM_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- SKT(ATXRET) ;-- skin test
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXSKT,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080SKT"_$C(30)
- S ATXSKT=0 F S ATXSKT=$O(^AUTTSK("B",ATXSKT)) Q:ATXSKT="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTSK("B",ATXSKT,ATXIEN)) Q:'ATXIEN D
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXSKT_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- DXP(ATXRET) ;-- diagnostic procedure
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXDXP,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080DXP"_$C(30)
- S ATXDXP=0 F S ATXDXP=$O(^AUTTDXPR("B",ATXDXP)) Q:ATXDXP="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTDXPR("B",ATXDXP,ATXIEN)) Q:'ATXIEN D
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXDXP_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- XAM(ATXRET) ;-- exam
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXXAM,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080XAM"_$C(30)
- S ATXXAM=0 F S ATXXAM=$O(^AUTTEXAM("B",ATXXAM)) Q:ATXXAM="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTEXAM("B",ATXXAM,ATXIEN)) Q:'ATXIEN D
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXXAM_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- RAD(ATXRET) ;-- rad
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXRAD,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080RAD"_$C(30)
- S ATXRAD=0 F S ATXRAD=$O(^RAMIS(71,"B",ATXRAD)) Q:ATXRAD="" D
- . S ATXIEN=0 F S ATXIEN=$O(^RAMIS(71,"B",ATXRAD,ATXIEN)) Q:'ATXIEN D
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXRAD_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- RFL(ATXRET) ;-- refusal types
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXRFL,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080REFUSAL"_$C(30)
- S ATXRFL=0 F S ATXRFL=$O(^AUTTREFT("B",ATXRFL)) Q:ATXRFL="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTREFT("B",ATXRFL,ATXIEN)) Q:'ATXIEN D
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXRFL_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- EDU(ATXRET) ;-- education topics
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXEDU,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050EDUCATIONTOPICS"_$C(30)
- S ATXEDU=0 F S ATXEDU=$O(^AUTTEDT("B",ATXEDU)) Q:ATXEDU="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTEDT("B",ATXEDU,ATXIEN)) Q:'ATXIEN D
- .. ;Q:$P($G(^AUTTEDT(ATXIEN,0)),U,3) ;inactive
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXEDU_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- DEDU(ATXRET) ;-- get all diabetes educ
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXEDU,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050EDUCATIONTOPICS"_$C(30)
- S ATXEDU=0 F S ATXEDU=$O(^AUTTEDT("B",ATXEDU)) Q:ATXEDU="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTEDT("B",ATXEDU,ATXIEN)) Q:'ATXIEN D
- .. ;Q:$P($G(^AUTTEDT(ATXIEN,0)),U,3)
- .. Q:$E($P($G(^AUTTEDT(ATXIEN,0)),U),1,2)'="DM"
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXEDU_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- ICD(ATXRET) ;-- get all POV's
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXPOV,ATXI,ATXERR,ATXPOVE,ATXPOVD,ATXPIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00100POVS"_$C(30)
- S ATXPOV=0 F S ATXPOV=$O(^ICD9("AB",ATXPOV)) Q:ATXPOV="" D
- . S ATXPIEN=0 F S ATXPIEN=$O(^ICD9("AB",ATXPOV,ATXPIEN)) Q:'ATXPIEN D
- .. Q:$E(ATXPOV,1,1)="["
- .. Q:ATXPOV="delete"
- .. ;S ATXPOVE=$P($G(^ICD9(ATXPIEN,0)),U)
- .. S ATXPOVE=$P($$ICDDX^ICDCODE(ATXPIEN),U,2)
- .. ;Q:$P($G(^ICD9(ATXPIEN,0)),U,9)
- .. S ATXI=ATXI+1
- .. ;S ATXPOVD=$P($G(^ICD9(ATXPIEN,0)),U,3)
- .. S ATXPOVD=$P($$ICDDX^ICDCODE(ATXPIEN),U,4)
- .. S ^ATXTMP($J,ATXI)=ATXPOVE_"-"_ATXPOVD_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- LAB(ATXRET) ;-- lab tests
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXLAB,ATXI,ATXERR
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080LAB"_$C(30)
- S ATXLAB=0 F S ATXLAB=$O(^LAB(60,"B",ATXLAB)) Q:ATXLAB="" D
- . S ATXI=ATXI+1
- . S ^ATXTMP($J,ATXI)=ATXLAB_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- HF(ATXRET) ;-- health factors
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXHF,ATXI,ATXERR,ATXDA,ATXTB,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080HF"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^AUTTHF("B",ATXDA)) Q:ATXDA="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTHF("B",ATXDA,ATXIEN)) Q:'ATXIEN D
- .. ;Q:$P($G(^AUTTHF(ATXIEN,0)),U,13)
- .. Q:$P($G(^AUTTHF(ATXIEN,0)),U,10)'="F"
- .. S ATXHF=$P($G(^AUTTHF(ATXIEN,0)),U)
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXHF_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- CPT(ATXRET) ;-- cpts
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXCPT,ATXI,ATXERR,ATXIEN,ATXDA,ATXCPTD
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050CPT"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^ICPT(ATXDA)) Q:ATXDA="" D
- . ;Q:$P($G(^ICPT(ATXDA,0)),U,4) ;inactive
- . ;S ATXCPT=$P($G(^ICPT(ATXDA,0)),U)
- . S ATXCPT=$P($$CPT^ICPTCOD(ATXDA),U,2)
- . ;S ATXCPTD=$P($G(^ICPT(ATXDA,0)),U,2)
- . S ATXCPTD=$P($$CPT^ICPTCOD(ATXDA),U,3)
- . S ATXI=ATXI+1
- . S ^ATXTMP($J,ATXI)=ATXCPT_"-"_ATXCPTD_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- ADA(ATXRET) ;-- ada
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXADA,ATXI,ATXERR,ATXIEN,ATXDA,ATXADAD
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050ADA"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^AUTTADA(ATXDA)) Q:ATXDA="" D
- . ;Q:$P($G(^AUTTADA(ATXDA,0)),U,8) ;inactive
- . S ATXADA=$P($G(^AUTTADA(ATXDA,0)),U)
- . S ATXADAD=$P($G(^AUTTADA(ATXDA,0)),U,2)
- . S ATXI=ATXI+1
- . S ^ATXTMP($J,ATXI)=ATXADA_"-"_ATXADAD_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- PRV(ATXRET) ;-- providers
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXPRV,ATXI,ATXERR,ATXIEN,ATXDA
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050PRV"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^VA(200,"B",ATXDA)) Q:ATXDA="" D
- . S ATXIEN=0 F S ATXIEN=$O(^VA(200,"B",ATXDA,ATXIEN)) Q:'ATXIEN D
- .. Q:'$O(^VA(200,"AK.PROVIDER",ATXDA,0))
- .. S ATXPRV=$P($G(^VA(200,ATXIEN,0)),U)
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXPRV_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- PRVC(ATXRET) ;-- provider classes
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXPRVC,ATXI,ATXERR,ATXDA
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050PRVC"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^DIC(7,"B",ATXDA)) Q:ATXDA="" D
- . ;S ATXPRVC=$P($G(^DIC(7,ATXDA,0)),U)
- . S ATXI=ATXI+1
- . S ^ATXTMP($J,ATXI)=ATXDA_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- LABL(ATXRET) ;-- lab loinc codes
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXLABL,ATXI,ATXERR,ATXIEN,ATXDA,ATXLABD
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050LABL"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^LAB(95.3,"B",ATXDA)) Q:ATXDA="" D
- . S ATXIEN=0 F S ATXIEN=$O(^LAB(95.3,"B",ATXDA,ATXIEN)) Q:'ATXIEN D
- .. S ATXLABL=$P($G(^LAB(95.3,ATXIEN,0)),U)_"-"_$P($G(^LAB(95.3,ATXIEN,0)),U,15)
- .. S ATXLABD=$G(^LAB(95.3,ATXIEN,80))
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXLABL_"/"_ATXLABD_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- DENO(ATXRET) ;-- dental op site
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXDENO,ATXI,ATXERR,ATXIEN,ATXDA
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050DENO^T00007IEN"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^ADEOPS("B",ATXDA)) Q:ATXDA="" D
- . S ATXIEN=0 F S ATXIEN=$O(^ADEOPS("B",ATXDA,ATXIEN)) Q:'ATXIEN D
- .. S ATXDENO=$P($G(^ADEOPS(ATXIEN,0)),U)
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXDENO_U_ATXIEN_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- CLN(ATXRET) ;-- clinic stop codes
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXCLN,ATXI,ATXERR,ATXIEN,ATXDA
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050CLN"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^DIC(40.7,"B",ATXDA)) Q:ATXDA="" D
- . S ATXI=ATXI+1
- . S ^ATXTMP($J,ATXI)=ATXDA_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- ICDO(ATXRET) ;-- icd operation
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXICDO,ATXICDD,ATXI,ATXERR,ATXIEN,ATXDA
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050ICDO^T00007IEN"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^ICD0(ATXDA)) Q:'ATXDA D
- . ;S ATXICD0=$P($G(^ICD0(ATXDA,0)),U)
- . S ATXICD0=$P($$ICDOP^ICDCODE(ATXDA,,,"I"),U,2)
- . ;S ATXICDD=$P($G(^ICD0(ATXDA,0)),U,4)
- . S ATXICDD=$P($$ICDOP^ICDCODE(ATXDA,,,"I"),U,5)
- . S ATXI=ATXI+1
- . S ^ATXTMP($J,ATXI)=ATXICD0_"-"_ATXICDD_U_ATXDA_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- COM(ATXRET) ;-- communities
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXCOM,ATXCOMS,ATXI,ATXERR,ATXIEN,ATXDA
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00050CLN^T00007IEN"_$C(30)
- S ATXDA=0 F S ATXDA=$O(^AUTTCOM("B",ATXDA)) Q:ATXDA="" D
- . S ATXIEN=0 F S ATXIEN=$O(^AUTTCOM("B",ATXDA,ATXIEN)) Q:'ATXIEN D
- .. S ATXCOM=$P($G(^AUTTCOM(ATXIEN,0)),U)
- .. S ATXCOMS=$S($P($G(^AUTTCOM(ATXIEN,0)),U,3):$P($G(^DIC(5,$P($G(^AUTTCOM(ATXIEN,0)),U,3),0)),U,2),1:"")
- .. S ATXI=ATXI+1
- .. S ^ATXTMP($J,ATXI)=ATXCOM_"-"_ATXCOMS_U_ATXIEN_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- MSR(ATXRET) ;-- measurement
- S X="MERR^ATXGU",@^%ZOSF("TRAP")
- N ATXMST,ATXMSA,ATXMS,ATXMSTE,ATXI,ATXERR,ATXIEN
- K ^ATXTMP($J)
- S ATXRET="^ATXTMP("_$J_")"
- S ATXI=0
- S ATXERR=""
- S ^ATXTMP($J,ATXI)="T00080MSR"_$C(30)
- S ATXMST=0 F S ATXMST=$O(^AUTTMSR(ATXMST)) Q:'ATXMST D
- . S ATXI=ATXI+1
- . S ATXMSA=$P($G(^AUTTMSR(ATXMST,0)),U)
- . S ATXMS=$P($G(^AUTTMSR(ATXMST,0)),U,2)
- . S ^ATXTMP($J,ATXI)=ATXMS_$C(30)
- S ^ATXTMP($J,ATXI+1)=$C(31)_$G(ATXERR)
- Q
- ;
- ATXGU ;cmi/anch/maw - ATX Gui Taxonomy Utilities
- +1 ;;5.1;TAXONOMY;**11**;FEB 04, 1997;Build 48
- +2 ;
- +3 ;generic Taxonomy GUI calls
- +4 ;cmi/anch/maw 3/8/2007 modified MED to remove screen on inactive meds
- +5 ;
- +6 QUIT
- DEBUG(RETVAL,BGPSTR) ;run the debugger
- +1 DO DEBUG^%Serenji("TAX^ATXGU(.RETVAL,.BGPSTR)")
- +2 QUIT
- +3 ;
- CATSTR(ATXSRET,STR) ;EP - concatenate string
- +1 NEW ATXDA
- +2 SET ATXSRET=""
- +3 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(STR(ATXDA))
- IF 'ATXDA
- QUIT
- Begin DoDot:1
- +4 SET ATXSRET=ATXSRET_$GET(STR(ATXDA))
- End DoDot:1
- +5 QUIT
- +6 ;
- MERR ; M TRAP
- +1 NEW X
- +2 XECUTE ("S X=$"_"ZE")
- +3 SET X="MUMPS error: """_X_""""
- +4 DO ERR(X)
- +5 QUIT
- +6 ;
- ERR(ERR) ;
- +1 NEW X
- +2 SET X="ERROR|"_ERR_$CHAR(30)
- +3 SET @ATXRET@(1)=X
- +4 QUIT
- +5 ;
- FTAX(ATXRET,ATXSTR) ;-- get taxonomies w file # passed in
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW P,ATXI,ATXFN,ATXIEN
- +3 SET P="|"
- +4 KILL ^ATXTMP($JOB)
- +5 SET ATXRET="^ATXTMP("_$JOB_")"
- +6 SET ATXI=0
- +7 SET ^ATXTMP($JOB,ATXI)="T00007BMXIEN^T00080Taxonomy"_$CHAR(30)
- +8 SET ATXFN=$PIECE(ATXSTR,P)
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^ATXAX("B",ATXIEN))
- IF ATXIEN=""
- QUIT
- Begin DoDot:1
- +10 NEW ATXDA
- +11 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^ATXAX("B",ATXIEN,ATXDA))
- IF 'ATXDA
- QUIT
- Begin DoDot:2
- +12 IF ATXFN]""
- IF $PIECE($GET(^ATXAX(ATXDA,0)),U,15)'=ATXFN
- QUIT
- +13 SET ATXI=ATXI+1
- +14 SET ^ATXTMP($JOB,ATXI)=ATXDA_U_$PIECE($GET(^ATXAX(ATXDA,0)),U)_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +15 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +16 QUIT
- +17 ;
- MED(ATXRET) ;-- drugs
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXMED,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080MED"_$CHAR(30)
- +8 SET ATXMED=0
- FOR
- SET ATXMED=$ORDER(^PSDRUG("B",ATXMED))
- IF ATXMED=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^PSDRUG("B",ATXMED,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 ;Q:$G(^PSDRUG(ATXIEN,"I")) ;need to be able to add inactive drugs for BGP
- +11 SET ATXI=ATXI+1
- +12 SET ^ATXTMP($JOB,ATXI)=ATXMED_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +13 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +14 QUIT
- +15 ;
- IMM(ATXRET) ;-- imm
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXIMM,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080IMM"_$CHAR(30)
- +8 SET ATXIMM=0
- FOR
- SET ATXIMM=$ORDER(^AUTTIMM("D",ATXIMM))
- IF ATXIMM=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTIMM("D",ATXIMM,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 ;Q:$P($G(^AUTTIMM(ATXIEN,0)),U,7)
- +11 SET ATXI=ATXI+1
- +12 SET ^ATXTMP($JOB,ATXI)=ATXIMM_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +13 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +14 QUIT
- +15 ;
- SKT(ATXRET) ;-- skin test
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXSKT,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080SKT"_$CHAR(30)
- +8 SET ATXSKT=0
- FOR
- SET ATXSKT=$ORDER(^AUTTSK("B",ATXSKT))
- IF ATXSKT=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTSK("B",ATXSKT,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXI=ATXI+1
- +11 SET ^ATXTMP($JOB,ATXI)=ATXSKT_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +12 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +13 QUIT
- +14 ;
- DXP(ATXRET) ;-- diagnostic procedure
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXDXP,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080DXP"_$CHAR(30)
- +8 SET ATXDXP=0
- FOR
- SET ATXDXP=$ORDER(^AUTTDXPR("B",ATXDXP))
- IF ATXDXP=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTDXPR("B",ATXDXP,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXI=ATXI+1
- +11 SET ^ATXTMP($JOB,ATXI)=ATXDXP_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +12 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +13 QUIT
- +14 ;
- XAM(ATXRET) ;-- exam
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXXAM,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080XAM"_$CHAR(30)
- +8 SET ATXXAM=0
- FOR
- SET ATXXAM=$ORDER(^AUTTEXAM("B",ATXXAM))
- IF ATXXAM=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTEXAM("B",ATXXAM,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXI=ATXI+1
- +11 SET ^ATXTMP($JOB,ATXI)=ATXXAM_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +12 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +13 QUIT
- +14 ;
- RAD(ATXRET) ;-- rad
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXRAD,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080RAD"_$CHAR(30)
- +8 SET ATXRAD=0
- FOR
- SET ATXRAD=$ORDER(^RAMIS(71,"B",ATXRAD))
- IF ATXRAD=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^RAMIS(71,"B",ATXRAD,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXI=ATXI+1
- +11 SET ^ATXTMP($JOB,ATXI)=ATXRAD_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +12 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +13 QUIT
- +14 ;
- RFL(ATXRET) ;-- refusal types
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXRFL,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080REFUSAL"_$CHAR(30)
- +8 SET ATXRFL=0
- FOR
- SET ATXRFL=$ORDER(^AUTTREFT("B",ATXRFL))
- IF ATXRFL=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTREFT("B",ATXRFL,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXI=ATXI+1
- +11 SET ^ATXTMP($JOB,ATXI)=ATXRFL_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +12 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +13 QUIT
- +14 ;
- EDU(ATXRET) ;-- education topics
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXEDU,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050EDUCATIONTOPICS"_$CHAR(30)
- +8 SET ATXEDU=0
- FOR
- SET ATXEDU=$ORDER(^AUTTEDT("B",ATXEDU))
- IF ATXEDU=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTEDT("B",ATXEDU,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 ;Q:$P($G(^AUTTEDT(ATXIEN,0)),U,3) ;inactive
- +11 SET ATXI=ATXI+1
- +12 SET ^ATXTMP($JOB,ATXI)=ATXEDU_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +13 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +14 QUIT
- +15 ;
- DEDU(ATXRET) ;-- get all diabetes educ
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXEDU,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050EDUCATIONTOPICS"_$CHAR(30)
- +8 SET ATXEDU=0
- FOR
- SET ATXEDU=$ORDER(^AUTTEDT("B",ATXEDU))
- IF ATXEDU=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTEDT("B",ATXEDU,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 ;Q:$P($G(^AUTTEDT(ATXIEN,0)),U,3)
- +11 IF $EXTRACT($PIECE($GET(^AUTTEDT(ATXIEN,0)),U),1,2)'="DM"
- QUIT
- +12 SET ATXI=ATXI+1
- +13 SET ^ATXTMP($JOB,ATXI)=ATXEDU_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +14 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +15 QUIT
- +16 ;
- ICD(ATXRET) ;-- get all POV's
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXPOV,ATXI,ATXERR,ATXPOVE,ATXPOVD,ATXPIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00100POVS"_$CHAR(30)
- +8 SET ATXPOV=0
- FOR
- SET ATXPOV=$ORDER(^ICD9("AB",ATXPOV))
- IF ATXPOV=""
- QUIT
- Begin DoDot:1
- +9 SET ATXPIEN=0
- FOR
- SET ATXPIEN=$ORDER(^ICD9("AB",ATXPOV,ATXPIEN))
- IF 'ATXPIEN
- QUIT
- Begin DoDot:2
- +10 IF $EXTRACT(ATXPOV,1,1)="["
- QUIT
- +11 IF ATXPOV="delete"
- QUIT
- +12 ;S ATXPOVE=$P($G(^ICD9(ATXPIEN,0)),U)
- +13 SET ATXPOVE=$PIECE($$ICDDX^ICDCODE(ATXPIEN),U,2)
- +14 ;Q:$P($G(^ICD9(ATXPIEN,0)),U,9)
- +15 SET ATXI=ATXI+1
- +16 ;S ATXPOVD=$P($G(^ICD9(ATXPIEN,0)),U,3)
- +17 SET ATXPOVD=$PIECE($$ICDDX^ICDCODE(ATXPIEN),U,4)
- +18 SET ^ATXTMP($JOB,ATXI)=ATXPOVE_"-"_ATXPOVD_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +19 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +20 QUIT
- +21 ;
- LAB(ATXRET) ;-- lab tests
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXLAB,ATXI,ATXERR
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080LAB"_$CHAR(30)
- +8 SET ATXLAB=0
- FOR
- SET ATXLAB=$ORDER(^LAB(60,"B",ATXLAB))
- IF ATXLAB=""
- QUIT
- Begin DoDot:1
- +9 SET ATXI=ATXI+1
- +10 SET ^ATXTMP($JOB,ATXI)=ATXLAB_$CHAR(30)
- End DoDot:1
- +11 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +12 QUIT
- +13 ;
- HF(ATXRET) ;-- health factors
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXHF,ATXI,ATXERR,ATXDA,ATXTB,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080HF"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^AUTTHF("B",ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTHF("B",ATXDA,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 ;Q:$P($G(^AUTTHF(ATXIEN,0)),U,13)
- +11 IF $PIECE($GET(^AUTTHF(ATXIEN,0)),U,10)'="F"
- QUIT
- +12 SET ATXHF=$PIECE($GET(^AUTTHF(ATXIEN,0)),U)
- +13 SET ATXI=ATXI+1
- +14 SET ^ATXTMP($JOB,ATXI)=ATXHF_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +15 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +16 QUIT
- +17 ;
- CPT(ATXRET) ;-- cpts
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXCPT,ATXI,ATXERR,ATXIEN,ATXDA,ATXCPTD
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050CPT"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^ICPT(ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 ;Q:$P($G(^ICPT(ATXDA,0)),U,4) ;inactive
- +10 ;S ATXCPT=$P($G(^ICPT(ATXDA,0)),U)
- +11 SET ATXCPT=$PIECE($$CPT^ICPTCOD(ATXDA),U,2)
- +12 ;S ATXCPTD=$P($G(^ICPT(ATXDA,0)),U,2)
- +13 SET ATXCPTD=$PIECE($$CPT^ICPTCOD(ATXDA),U,3)
- +14 SET ATXI=ATXI+1
- +15 SET ^ATXTMP($JOB,ATXI)=ATXCPT_"-"_ATXCPTD_$CHAR(30)
- End DoDot:1
- +16 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +17 QUIT
- +18 ;
- ADA(ATXRET) ;-- ada
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXADA,ATXI,ATXERR,ATXIEN,ATXDA,ATXADAD
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050ADA"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^AUTTADA(ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 ;Q:$P($G(^AUTTADA(ATXDA,0)),U,8) ;inactive
- +10 SET ATXADA=$PIECE($GET(^AUTTADA(ATXDA,0)),U)
- +11 SET ATXADAD=$PIECE($GET(^AUTTADA(ATXDA,0)),U,2)
- +12 SET ATXI=ATXI+1
- +13 SET ^ATXTMP($JOB,ATXI)=ATXADA_"-"_ATXADAD_$CHAR(30)
- End DoDot:1
- +14 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +15 QUIT
- +16 ;
- PRV(ATXRET) ;-- providers
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXPRV,ATXI,ATXERR,ATXIEN,ATXDA
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050PRV"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^VA(200,"B",ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^VA(200,"B",ATXDA,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 IF '$ORDER(^VA(200,"AK.PROVIDER",ATXDA,0))
- QUIT
- +11 SET ATXPRV=$PIECE($GET(^VA(200,ATXIEN,0)),U)
- +12 SET ATXI=ATXI+1
- +13 SET ^ATXTMP($JOB,ATXI)=ATXPRV_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +14 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +15 QUIT
- +16 ;
- PRVC(ATXRET) ;-- provider classes
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXPRVC,ATXI,ATXERR,ATXDA
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050PRVC"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^DIC(7,"B",ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 ;S ATXPRVC=$P($G(^DIC(7,ATXDA,0)),U)
- +10 SET ATXI=ATXI+1
- +11 SET ^ATXTMP($JOB,ATXI)=ATXDA_$CHAR(30)
- End DoDot:1
- +12 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +13 QUIT
- +14 ;
- LABL(ATXRET) ;-- lab loinc codes
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXLABL,ATXI,ATXERR,ATXIEN,ATXDA,ATXLABD
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050LABL"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^LAB(95.3,"B",ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^LAB(95.3,"B",ATXDA,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXLABL=$PIECE($GET(^LAB(95.3,ATXIEN,0)),U)_"-"_$PIECE($GET(^LAB(95.3,ATXIEN,0)),U,15)
- +11 SET ATXLABD=$GET(^LAB(95.3,ATXIEN,80))
- +12 SET ATXI=ATXI+1
- +13 SET ^ATXTMP($JOB,ATXI)=ATXLABL_"/"_ATXLABD_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +14 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +15 QUIT
- +16 ;
- DENO(ATXRET) ;-- dental op site
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXDENO,ATXI,ATXERR,ATXIEN,ATXDA
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050DENO^T00007IEN"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^ADEOPS("B",ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^ADEOPS("B",ATXDA,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXDENO=$PIECE($GET(^ADEOPS(ATXIEN,0)),U)
- +11 SET ATXI=ATXI+1
- +12 SET ^ATXTMP($JOB,ATXI)=ATXDENO_U_ATXIEN_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +13 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +14 QUIT
- +15 ;
- CLN(ATXRET) ;-- clinic stop codes
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXCLN,ATXI,ATXERR,ATXIEN,ATXDA
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050CLN"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^DIC(40.7,"B",ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 SET ATXI=ATXI+1
- +10 SET ^ATXTMP($JOB,ATXI)=ATXDA_$CHAR(30)
- End DoDot:1
- +11 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +12 QUIT
- +13 ;
- ICDO(ATXRET) ;-- icd operation
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXICDO,ATXICDD,ATXI,ATXERR,ATXIEN,ATXDA
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050ICDO^T00007IEN"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^ICD0(ATXDA))
- IF 'ATXDA
- QUIT
- Begin DoDot:1
- +9 ;S ATXICD0=$P($G(^ICD0(ATXDA,0)),U)
- +10 SET ATXICD0=$PIECE($$ICDOP^ICDCODE(ATXDA,,,"I"),U,2)
- +11 ;S ATXICDD=$P($G(^ICD0(ATXDA,0)),U,4)
- +12 SET ATXICDD=$PIECE($$ICDOP^ICDCODE(ATXDA,,,"I"),U,5)
- +13 SET ATXI=ATXI+1
- +14 SET ^ATXTMP($JOB,ATXI)=ATXICD0_"-"_ATXICDD_U_ATXDA_$CHAR(30)
- End DoDot:1
- +15 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +16 QUIT
- +17 ;
- COM(ATXRET) ;-- communities
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXCOM,ATXCOMS,ATXI,ATXERR,ATXIEN,ATXDA
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00050CLN^T00007IEN"_$CHAR(30)
- +8 SET ATXDA=0
- FOR
- SET ATXDA=$ORDER(^AUTTCOM("B",ATXDA))
- IF ATXDA=""
- QUIT
- Begin DoDot:1
- +9 SET ATXIEN=0
- FOR
- SET ATXIEN=$ORDER(^AUTTCOM("B",ATXDA,ATXIEN))
- IF 'ATXIEN
- QUIT
- Begin DoDot:2
- +10 SET ATXCOM=$PIECE($GET(^AUTTCOM(ATXIEN,0)),U)
- +11 SET ATXCOMS=$SELECT($PIECE($GET(^AUTTCOM(ATXIEN,0)),U,3):$PIECE($GET(^DIC(5,$PIECE($GET(^AUTTCOM(ATXIEN,0)),U,3),0)),U,2),1:"")
- +12 SET ATXI=ATXI+1
- +13 SET ^ATXTMP($JOB,ATXI)=ATXCOM_"-"_ATXCOMS_U_ATXIEN_$CHAR(30)
- End DoDot:2
- End DoDot:1
- +14 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +15 QUIT
- +16 ;
- MSR(ATXRET) ;-- measurement
- +1 SET X="MERR^ATXGU"
- SET @^%ZOSF("TRAP")
- +2 NEW ATXMST,ATXMSA,ATXMS,ATXMSTE,ATXI,ATXERR,ATXIEN
- +3 KILL ^ATXTMP($JOB)
- +4 SET ATXRET="^ATXTMP("_$JOB_")"
- +5 SET ATXI=0
- +6 SET ATXERR=""
- +7 SET ^ATXTMP($JOB,ATXI)="T00080MSR"_$CHAR(30)
- +8 SET ATXMST=0
- FOR
- SET ATXMST=$ORDER(^AUTTMSR(ATXMST))
- IF 'ATXMST
- QUIT
- Begin DoDot:1
- +9 SET ATXI=ATXI+1
- +10 SET ATXMSA=$PIECE($GET(^AUTTMSR(ATXMST,0)),U)
- +11 SET ATXMS=$PIECE($GET(^AUTTMSR(ATXMST,0)),U,2)
- +12 SET ^ATXTMP($JOB,ATXI)=ATXMS_$CHAR(30)
- End DoDot:1
- +13 SET ^ATXTMP($JOB,ATXI+1)=$CHAR(31)_$GET(ATXERR)
- +14 QUIT
- +15 ;