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

AMHGDGP.m

Go to the documentation of this file.
  1. AMHGDGP ; IHS/CMI/MAW - AMH Group Data Entry 1/22/2009 1:54:47 PM ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**1,4,5**;JUN 02, 2010;Build 18
  1. ;
  1. ;
  1. ;
  1. DEBUG(RETVAL,AMHSTR) ;-- debug entry point
  1. D DEBUG^%Serenji("EP^AMHGDGP(RETVAL,.AMHSTR)")
  1. Q
  1. ;
  1. ENC(RETVAL,AMHSTR) ;-- retrieve group encounter information
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,P,R
  1. S P="|",R="~"
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S AMHI=0
  1. K ^AMHTMP($J)
  1. S @RETVAL@(AMHI)="T00010BMXIEN^T00030PrimaryProvider^T00030Program^T00030GroupName^T00030Clinic^T00030TypeofContact^T00030EncounterLocation^T00020EncounterDate^T00010ArrivalTime^T00050CommofService^T00050Activity^T00010ActivityTime"
  1. S @RETVAL@(AMHI)=@RETVAL@(AMHI)_"^T00250ChiefComplaint"_$C(30)
  1. N AMHIEN,AMHPRVI,AMHPRV,AMHPRGI,AMHPRG,AMHCLNI,AMHCLN,AMHCLNS,AMHCTI,AMHCT,AMHCTS,AMHARR,AMHENCDT,AMHELOCI,AMHELOC,AMHACI,AMHAC,AMHACS,AMHCOMMI,AMHCOMM
  1. N AMHPRVS,AMHPRGS,AMHCLNS,AMHTOCS,AMHLOCS,AMHAPWIS,AMHCOMMS,AMHDT,AMHGRP,AMHGAT,AMHCC
  1. S AMHIEN=$P(AMHSTR,P)
  1. S AMHDT=$$GET1^DIQ(9002011.67,AMHIEN,.01,"I")
  1. S AMHDT=$$VCDT^AMHGU(AMHDT)
  1. S AMHGRP=$$GET1^DIQ(9002011.67,AMHIEN,.03,"I")
  1. S AMHCTI=$$GET1^DIQ(9002011.67,AMHIEN,.08,"I")
  1. S AMHCT=$$GET1^DIQ(9002011.67,AMHIEN,.08)
  1. S AMHCTS=$S(AMHCTI:AMHCTI_R_AMHCT,1:"")
  1. S AMHPRG=$$GET1^DIQ(9002011.67,AMHIEN,.02)
  1. S AMHPRVI=$$GETPRVG^AMHGU(AMHIEN,"P")
  1. S AMHPRV=$S($G(AMHPRVI):$$GET1^DIQ(200,AMHPRVI,.01),1:"")
  1. S AMHPRVS=$S(AMHPRVI:AMHPRVI_R_AMHPRV,1:"")
  1. S AMHACI=$$GET1^DIQ(9002011.67,AMHIEN,.07,"I")
  1. S AMHAC=$S(AMHACI:$$GET1^DIQ(9002012,AMHACI,.02),1:"")
  1. S AMHACS=$S(AMHACI:AMHACI_R_AMHAC,1:"")
  1. S AMHCLNI=$$GET1^DIQ(9002011.67,AMHIEN,.14,"I")
  1. S AMHCLN=$$GET1^DIQ(9002011.67,AMHIEN,.14)
  1. S AMHCLNS=$S(AMHCLNI:AMHCLNI_R_AMHCLN,1:"")
  1. S AMHARR=$P($$GET1^DIQ(9002011.67,AMHIEN,.01,"I"),".",2)
  1. ;I $G(AMHARR) D
  1. ;. I $L(AMHARR=1) S AMHARR=AMHARR_"000" Q
  1. ;. I $L(AMHARR=2) S AMHARR=AMHARR_"00" Q
  1. ;. I $L(AMHARR=3) S AMHARR=AMHARR_"0" Q
  1. S AMHARR=""
  1. S AMHELOCI=$$GET1^DIQ(9002011.67,AMHIEN,.05,"I")
  1. I AMHELOCI,$P($G(^AUTTLOC(AMHELOCI,0)),U,27) S AMHELOCI="" ;don't bring back inactive
  1. S AMHELOC=$$GET1^DIQ(9002011.67,AMHIEN,.05)
  1. S AMHLOCS=$S(AMHELOCI:AMHELOCI_R_AMHELOC,1:"")
  1. S AMHCOMMI=$$GET1^DIQ(9002011.67,AMHIEN,.06,"I")
  1. I $G(AMHCOMMI),$P($G(^AUTTCOM(AMHCOMMI,0)),U,18) S AMHCOMMI="" ;don't bring back inactive
  1. S AMHCOMM=$$GET1^DIQ(9002011.67,AMHIEN,.06)
  1. S AMHCOMMS=$S(AMHCOMMI:AMHCOMMI_R_AMHCOMM,1:"")
  1. S AMHGAT=$$GET1^DIQ(9002011.67,AMHIEN,.11)
  1. S AMHCC=$$GET1^DIQ(9002011.67,AMHIEN,1200)
  1. S AMHI=AMHI+1
  1. S @RETVAL@(AMHI)=AMHIEN_U_AMHPRVS_U_AMHPRG_U_AMHGRP_U_AMHCLNS_U_AMHCTS_U_AMHLOCS_U_AMHDT_U_AMHARR_U_AMHCOMMS_U_AMHACS_U_AMHGAT_U_AMHCC_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;
  1. POV(RETVAL,AMHSTR) ;-- retrieve POV information
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,P,R,AMHIEN,AMHDUPE,AMHDATE
  1. S P="|",R="~"
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S AMHI=0
  1. K ^AMHTMP($J)
  1. S AMHIEN=$P(AMHSTR,P)
  1. S AMHDUPE=$P(AMHSTR,P,2) ;p5
  1. S AMHDATE=$P(AMHSTR,P,3)
  1. S AMHDATE=$S(AMHDATE]"":AMHDATE,1:DT)
  1. S @RETVAL@(AMHI)="T00010BMXIEN^T00010Code^T00100Narrative"_$C(30)
  1. N AMHDA,AMHPOVI
  1. S AMHDA=0 F S AMHDA=$O(^AMHGROUP(AMHIEN,21,AMHDA)) Q:'AMHDA D
  1. . N AMHPOVI,AMHPOV,AMHPOVC,AMHPOVE,AMHPOVN
  1. . S AMHPOVI=+$G(^AMHGROUP(AMHIEN,21,AMHDA,0))
  1. . I $G(AMHDUPE) Q:'$$CHKD^AMHUTIL1(AMHPOVI,AMHDATE)
  1. . S AMHPOV=$$GET1^DIQ(9002012.2,AMHPOVI,.01,"I")
  1. . S AMHPOVC=$$GET1^DIQ(9002012.2,AMHPOVI,.01)
  1. . S AMHPOVN=$P($G(^AMHGROUP(AMHIEN,21,AMHDA,0)),U,2)
  1. . S AMHPOVE=$S($G(AMHPOVN)]"":$$GET1^DIQ(9999999.27,AMHPOVN,.01),1:$$GET1^DIQ(9002012.2,AMHPOVI,.02))
  1. . S AMHI=AMHI+1
  1. . S @RETVAL@(AMHI)=AMHPOVI_U_AMHPOVC_U_AMHPOVE_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;
  1. SOAP(RETVAL,AMHSTR) ;-- retrieve the SOAP for the group data tab
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,P,R,AMHIEN
  1. S P="|",R="~"
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S AMHI=0
  1. K ^AMHTMP($J)
  1. S AMHIEN=$P(AMHSTR,P)
  1. S @RETVAL@(AMHI)="T00250Soap"_$C(30)
  1. N AMHDA
  1. S AMHDA=0 F S AMHDA=$O(^AMHGROUP(AMHIEN,31,AMHDA)) Q:'AMHDA D
  1. . N AMHDATA
  1. . S AMHDATA=$G(^AMHGROUP(AMHIEN,31,AMHDA,0))
  1. . ;I AMHDATA'[$C(10) S AMHDATA=AMHDATA_$C(10) ;cmi/maw 06/16/2010 try removing this and see what happens 11/18/2010
  1. . S AMHI=AMHI+1
  1. . S @RETVAL@(AMHI)=AMHDATA_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;
  1. CPT(RETVAL,AMHSTR) ;-- retrieve cpt codes for group data
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,P,R,AMHIEN,AMHDUPE,AMHDATE
  1. S P="|",R="~"
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S AMHI=0
  1. K ^AMHTMP($J)
  1. S AMHIEN=$P(AMHSTR,P)
  1. S AMHDUPE=$P(AMHSTR,P,2)
  1. S AMHDATE=$P(AMHSTR,P,3)
  1. S AMHDATE=$S(AMHDATE]"":AMHDATE,1:DT)
  1. S @RETVAL@(AMHI)="T00010BMXIEN^T00010Code^T00050Narrative^T00010Quantity^T00010Mod1IEN^T00010Mod1^T00010Mod2IEN^T00010Mod2"_$C(30)
  1. N AMHDA
  1. S AMHDA=0 F S AMHDA=$O(^AMHGROUP(AMHIEN,41,AMHDA)) Q:'AMHDA D
  1. . N AMHCPTI,AMHCPT,AMHCPTE,AMHQTY,AMHMOD1I,AMHMOD1,AMHMOD2I,AMHMOD2
  1. . S AMHCPTI=$P($G(^AMHGROUP(AMHIEN,41,AMHDA,0)),U)
  1. . I $G(AMHDUPE) D CPT^AMHUTIL1(AMHCPTI,AMHDATE) I '$T Q
  1. . S AMHQTY=$P($G(^AMHGROUP(AMHIEN,41,AMHDA,0)),U,2)
  1. . I AMHQTY="" S AMHQTY=1
  1. . I AMHQTY<1 S AMHQTY=1
  1. . S AMHMOD1I=$P($G(^AMHGROUP(AMHIEN,41,AMHDA,0)),U,3)
  1. . S AMHMOD1=$$GET1^DIQ(81.3,AMHMOD1I,.01)
  1. . S AMHMOD2I=$P($G(^AMHGROUP(AMHIEN,41,AMHDA,0)),U,4)
  1. . S AMHMOD2=$$GET1^DIQ(81.3,AMHMOD2I,.01)
  1. . S AMHCPT=$$GET1^DIQ(81,AMHCPTI,.01)
  1. . S AMHCPTE=$$GET1^DIQ(81,AMHCPTI,2)
  1. . S AMHI=AMHI+1
  1. . S @RETVAL@(AMHI)=AMHCPTI_U_AMHCPT_U_AMHCPTE_U_AMHQTY_U_AMHMOD1I_U_AMHMOD1_U_AMHMOD2I_U_AMHMOD2_$C(30) ;v4.0p1 ihs/cmi/maw changed 2nd piece to AMHCPT from AMHCPTI
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;
  1. SP(RETVAL,AMHSTR) ;-- retrieve secondary providers for group data tab
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,P,R,AMHIEN
  1. S P="|",R="~"
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S AMHI=0
  1. K ^AMHTMP($J)
  1. S AMHIEN=$P(AMHSTR,P)
  1. S @RETVAL@(AMHI)="T00010BMXIEN^T00030Provider"_$C(30)
  1. N AMHDA
  1. S AMHDA=0 F S AMHDA=$O(^AMHGROUP(AMHIEN,11,AMHDA)) Q:'AMHDA D
  1. . N AMHSPRV,AMHSPRVI
  1. . Q:$P($G(^AMHGROUP(AMHIEN,11,AMHDA,0)),U,2)'="S" ;filter out primary
  1. . S AMHSPRVI=$P($G(^AMHGROUP(AMHIEN,11,AMHDA,0)),U)
  1. . S AMHSPRV=$$GET1^DIQ(200,AMHSPRVI,.01)
  1. . S AMHI=AMHI+1
  1. . S @RETVAL@(AMHI)=AMHSPRVI_U_AMHSPRV_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;
  1. EDU(RETVAL,AMHSTR) ;-- retrieve group education topics
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,P,R,AMHIEN
  1. S P="|",R="~"
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S AMHI=0
  1. K ^AMHTMP($J)
  1. S AMHIEN=$P(AMHSTR,P)
  1. S @RETVAL@(AMHI)="T00010BMXIEN^T00030EducationTopic^T00010TimeSpent^T00030LevelOfUnderstanding^T00100Comment^T00050CPT^T00030Status^T00030Goal^T00050Provider"_$C(30)
  1. N AMHDA
  1. S AMHDA=0 F S AMHDA=$O(^AMHGROUP(AMHIEN,71,AMHDA)) Q:'AMHDA D
  1. . N AMHEDU,AMHTS,AMHLOU,AMHCMT,AMHGOAL,AMHCPT,AMHST,AMHDATA,AMHEDUI,AMHCPT,AMHPRVI,AMHPRV
  1. . S AMHDATA=$G(^AMHGROUP(AMHIEN,71,AMHDA,0))
  1. . S AMHEDUI=$P(AMHDATA,U)
  1. . S AMHEDU=$S(AMHEDUI:$$GET1^DIQ(9999999.09,AMHEDUI,.01),1:"")
  1. . S AMHTS=$P(AMHDATA,U,4)
  1. . S AMHLOU=$P(AMHDATA,U,6)
  1. . I $G(AMHLOU)]"" S AMHLOU=$$SCE^AMHGT(9002011.6771,.06,AMHLOU)
  1. . S AMHCMT=$G(^AMHGROUP(AMHIEN,71,AMHDA,11))
  1. . S AMHGOAL=$P(AMHDATA,U,7)
  1. . S AMHST=$P(AMHDATA,U,8)
  1. . I $G(AMHST)]"" S AMHST=$$SCE^AMHGT(9002011.6771,.08,AMHST)
  1. . S AMHCPT=$P(AMHDATA,U,5)
  1. . S AMHPRVI=$P(AMHDATA,U,2)
  1. . S AMHPRV=$S(AMHPRVI:AMHPRVI_"-"_$$GET1^DIQ(200,AMHPRVI,.01),1:"")
  1. . S AMHI=AMHI+1
  1. . S @RETVAL@(AMHI)=AMHDA_U_AMHEDU_U_AMHTS_U_AMHLOU_U_AMHCMT_U_AMHCPT_U_AMHST_U_AMHGOAL_U_AMHPRV_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;
  1. PAT(RETVAL,AMHSTR) ;-- get patients for group patients tab
  1. S X="MERR^AMHGU",@^%ZOSF("TRAP") ; m error trap
  1. N AMHI,P,R,AMHIEN
  1. S P="|",R="~"
  1. S RETVAL="^AMHTMP("_$J_")"
  1. S AMHI=0
  1. K ^AMHTMP($J)
  1. S AMHIEN=$P(AMHSTR,P)
  1. S @RETVAL@(AMHI)="T00010BMXIEN^T00010PatientIEN^T00010AMHREC^T00030PatientName^T00001Sex^T00010Age^T00020DOB^T00010Chart^T00030DOD"_$C(30)
  1. N AMHDA
  1. S AMHDA=0 F S AMHDA=$O(^AMHGROUP(AMHIEN,51,AMHDA)) Q:'AMHDA D
  1. . N AMHPAT,AMHPNM,AMHSX,AMHAGE,AMHDOB,AMHCHT,AMHREC,AMHDOD
  1. . S AMHPAT=$G(^AMHGROUP(AMHIEN,51,AMHDA,0))
  1. . S AMHREC=$$GETREC^AMHGU(AMHPAT,AMHIEN)
  1. . S AMHPNM=$$GET1^DIQ(2,AMHPAT,.01)
  1. . S AMHSX=$$GET1^DIQ(2,AMHPAT,.02,"I")
  1. . S AMHAGE=$$AGE^AUPNPAT(AMHPAT)
  1. . S AMHDOB=$$GET1^DIQ(2,AMHPAT,.03,"I")
  1. . S AMHCHT=$$HRN^AUPNPAT(AMHPAT,DUZ(2))
  1. . S AMHDOD=$$GET1^DIQ(2,AMHPAT,.351)
  1. . S AMHI=AMHI+1
  1. . S @RETVAL@(AMHI)=AMHIEN_U_AMHPAT_U_AMHREC_U_AMHPNM_U_AMHSX_U_AMHAGE_U_$$LVDT^AMHGU(AMHDOB)_U_AMHCHT_U_AMHDOD_$C(30)
  1. S @RETVAL@(AMHI+1)=$C(31)
  1. Q
  1. ;