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

BHSBDEM.m

Go to the documentation of this file.
  1. BHSBDEM ;IHS/MSC/MGH - Health Summary Demographics ;14-Jan-2014 14:58;DU
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**4,6,9**;March 17,2006;Build 16
  1. ;=================================================================
  1. ; IHS/CMI/LAB - PART 1A OF APCHS -- SUMMARY PRODUCTION COMPONENTS IHS/MSC/MGH - Health Summary Demographics ;29-Mar-2010 17:14;MGH
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**1,2,3,4**;March 17,2006;
  1. ;;2.0;IHS PCC SUITE;**2**;MAY 14, 2009 ;
  1. ;Patch 6 update for preferred language
  1. ;
  1. BDEMOG ; ******************** BRIEF DEMOGRAPHICS - W/ADV DIRECTIVES ********************
  1. ; <SETUP>
  1. N BHSPAT,BHSDN,BHDNAM,BHSDOB,BHSADR,BHSZ,BHSX,BHPLNG
  1. S BHSPAT=DFN
  1. S BHSN=^DPT(BHSPAT,0)
  1. S BHSNAM=$P(BHSN,U,1)
  1. S Y=$P(BHSN,U,3)
  1. I 'Y S BHSDOB="<no date of birth recorded>"
  1. E X ^DD("DD") S BHSDOB=Y
  1. S BHSADR=""
  1. I $D(^DPT(BHSPAT,.11)) S BHSN=^(.11) F BHSI=1:1:6 S BHSP=$P(BHSN,U,BHSI) I BHSP]"" S:BHSI=5 BHSP=$P(^DIC(5,BHSP,0),U,2) S BHSADR=BHSADR_","_BHSP
  1. I $D(^DPT(BHSPAT,.13)) S BHHPH=$P($G(^DPT(BHSPAT,.13)),U),BHWPH=$P($G(^DPT(BHSPAT,.13)),U,2) ;IHS/CMI/GRL
  1. S BHSADR=$E(BHSADR,2,255)
  1. BDEMDSP ; <DISPLAY>
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. I $$DOD^AUPNPAT(BHSPAT)]""!($$VAL^XBDIQ1(9000001,BHSPAT,1114)]"") D
  1. .W "*** DOD: ",$$VAL^XBDIQ1(2,BHSPAT,.351),!
  1. .W "*** CAUSE OF DEATH: " I $$VAL^XBDIQ1(9000001,BHSPAT,1114)]"" D I 1
  1. ..W $$VAL^XBDIQ1(9000001,BHSPAT,1114)
  1. ..K BHSDSC
  1. ..;Patch 9 changed API for ICD-10
  1. ..I $$AICD^BHSUTL D
  1. ...S BHSDSC=$$ICDD^ICDEX($$VAL^XBDIQ1(9000001,BHSPAT,1114),"BHSDSC",$$DOD^AUPNPAT(BHSPAT)) I $P(BHSDSC,U)=-1 S BHSDSC(1)=$P($$ICDDX^ICDEX($P(^AUPNPAT(BHSPAT,11),U,14),$$DOD^AUPNPAT(BHSPAT)),U,4)
  1. ..E S BHSDSC=$$ICDD^ICDCODE($$VAL^XBDIQ1(9000001,BHSPAT,1114),"BHSDSC",$$DOD^AUPNPAT(BHSPAT)) I $P(BHSDSC,U)=-1 S BHSDSC(1)=$P($$ICDDX^ICDCODE($P(^AUPNPAT(BHSPAT,11),U,14),$$DOD^AUPNPAT(BHSPAT)),U,4)
  1. ..K ^UTILITY($J,"W")
  1. ..S BHSX=0
  1. ..S DIWL=0,DIWR=45 F S BHSX=$O(BHSDSC(BHSX)) Q:BHSX'=+BHSX!($D(GMTSQIT)) D
  1. ...S X=BHSDSC(BHSX)
  1. ...Q:X="CODE TEXT MAY BE INACCURATE"
  1. ...Q:X=" "
  1. ...D ^DIWP
  1. ..S BHSZ=0 F S BHSZ=$O(^UTILITY($J,"W",DIWL,BHSZ)) Q:BHSZ'=+BHSZ D
  1. ...Q:$D(GMTSQIT)
  1. ...W ?28,^UTILITY($J,"W",DIWL,BHSZ,0),!
  1. .E W !!
  1. .;W !
  1. K ^UTILITY($J,"W"),BHSDSC,DIWL,BHSX,BHSZ,DIWL,DIW
  1. W !,BHSNAM," ",$$VAL^XBDIQ1(2,BHSPAT,.02)," DOB: ",BHSDOB," AGE: ",$$AGE^AUPNPAT(BHSPAT,DT)," SSN: ",$$SSN^BHSDEM(BHSPAT),!
  1. W "TRIBE: ",$$VAL^XBDIQ1(9000001,DFN,1108)," ",$$VAL^XBDIQ1(9000001,DFN,1112),!
  1. I $D(DUZ(2)),DUZ(2),$D(^AUPNPAT(BHSPAT,41,DUZ(2))) S BHSFP=DUZ(2),BHSFAC=$P(^AUPNPAT(BHSPAT,41,BHSFP,0),U,2) W $P(^DIC(4,BHSFP,0),U,1)," HEALTH RECORD NUMBER: ",BHSFAC,!
  1. W:BHSADR]"" BHSADR,!
  1. W "Home Phone: ",$S($G(BHHPH)]"":BHHPH,1:"None")_" "_"Work Phone: ",$S($G(BHWPH)]"":BHWPH,1:"None"),! ;IHS/CMI/GRL
  1. S BHPLNG=$$PREFLANG^APCLAPI7(BHSPAT,DT,"E")
  1. I BHPLNG]"" W "Preferred Language: ",BHPLNG,!
  1. ;ADVANCE DIRECTIVES
  1. I $D(^AUPNADVD(BHSPAT,0)) D
  1. .D CKP^GMTSUP Q:$D(GMTSQIT)
  1. .W "Advance Directives: "
  1. .S BHSI=0 F S BHSI=$O(^AUPNADVD(BHSPAT,11,"B",BHSI)) Q:BHSI="" S BHSN=0 F S BHSN=$O(^AUPNADVD(BHSPAT,11,"B",BHSI,BHSN)) Q:BHSN="" S BHSP=BHSN
  1. .S BHIEN=BHSP_","_BHSPAT_"," W ?20,$$GET1^DIQ(9000040.11,BHIEN,.02)," ",$$GET1^DIQ(9000040.11,BHIEN,.03)," Updated: ",$$GET1^DIQ(9000040.11,BHIEN,.01),!
  1. I '$D(^AUPNADVD(BHSPAT,0)) W "Advance Directives: No information on file.",!
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W "Last Registration Update: ",$$VAL^XBDIQ1(9000001,BHSPAT,.03),!
  1. ; <CLEANUP>
  1. BDEMOGX K BHSN,BHSFP,BHSFAC,BHSNAM,BHSDOB,BHSADR,BHSP,BHSI,BHIEN
  1. K BHHPH,BHWPH
  1. Q
  1. ;
  1. HOMELOC ; ******************** LOCATION OF HOME ********************
  1. ; <SETUP>
  1. Q:'$O(^AUPNPAT(BHSPAT,12,0))
  1. ; <DISPLAY>
  1. F BHSI=0:0 S BHSI=$O(^AUPNPAT(BHSPAT,12,BHSI)) Q:'BHSI D CKP^GMTSUP Q:$D(GMTSQIT) W ^AUPNPAT(BHSPAT,12,BHSI,0),!
  1. ; <CLEANUP>
  1. HOMELOCX K BHSI
  1. Q