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

ACDFLAT2.m

Go to the documentation of this file.
  1. ACDFLAT2 ;IHS/ADC/EDE/KML - GENERATE FLAT RECORDS;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;
  1. ; This routine generates flat ascii records from one cdmis visit.
  1. ;
  1. FLAT(ACDVIEN,ACDARRAY) ; EP-SET FLAT RECORDS INTO ARRAY
  1. ; i $$flat^acdflat2(cdmis_visit_ien,.array_name) then flat records
  1. ; will be in array_name(n)=flat_record where n=1:1 and Q value will
  1. ; be the number of entries in array_name.
  1. ;
  1. ; fields set into array so flat record can be built left to right
  1. ; which is a must if any value shorter than specified by set $E
  1. ;
  1. NEW ACDFREC,ACDN0,ACDRCTR,X,Y
  1. S ACDRCTR=0
  1. G:'$D(^ACDVIS(ACDVIEN,0)) FLATX ; corrupt database or bad ptr
  1. S ACDN0=^ACDVIS(ACDVIEN,0)
  1. K ACDARRAY,ACDF ; kill caller array + local field array
  1. S ACDF(1,6)=ACD6DIG ; asufac code
  1. S ACDF(7,13)=$P(ACDN0,U) ; visit date
  1. S Y=$P(ACDN0,U,2) ; component ptr
  1. S:Y ACDF(14,16)=$P($G(^ACDCOMP(Y,0)),U,2) ; component code
  1. S ACDF(17)=$P(ACDN0,U,7) ; component type
  1. S ACDF(18,19)=$P(ACDN0,U,4) ; type contact
  1. S Y=$P(ACDN0,U,3) ; primary provider ptr
  1. S:Y ACDF(127,132)=$P($G(^VA(200,Y,9999999)),U,9) ; adc
  1. ;S:Y ACDF(127,132)=$P($G(^DIC(6,Y,9999999)),U,9) ; adc
  1. ;
  1. D PATIENT ; set patient related fields
  1. ;
  1. D FILESFT ; do file shift for rest of data
  1. ;
  1. FLATX ; EXIT
  1. Q ACDRCTR
  1. ;
  1. PATIENT ; PATIENT RELATED FIELDS
  1. NEW ACDPIEN
  1. S ACDPIEN=$P(ACDN0,U,5) ; patient pointer
  1. Q:'ACDPIEN ; no patient pointer
  1. Q:'$D(^DPT(ACDPIEN,0)) ; corrupt database
  1. Q:'$D(^AUPNPAT(ACDPIEN,0)) ; corrupt database
  1. S ACDF(20,31)=$$ENC^AUPNPAT(ACDPIEN) ; patient id
  1. S ACDF(32)=$P(^DPT(ACDPIEN,0),U,2) ; sex
  1. S ACDF(33,39)=$P(^DPT(ACDPIEN,0),U,3) ; dob
  1. S Y=$P($G(^AUPNPAT(ACDPIEN,11)),U,17) ; community ptr
  1. S:Y ACDF(40,46)=$P($G(^AUTTCOM(Y,0)),U,8) ; stctycom code
  1. S Y=$P($G(^AUPNPAT(ACDPIEN,11)),U,8) ; tribe ptr
  1. S:Y ACDF(47,49)=$P($G(^AUTTTRI(Y,0)),U,2) ; tribe code
  1. ;
  1. NEW ACDVDT
  1. S ACDVDT=$P(ACDN0,U)
  1. S X=$$MCR^AUPNPAT(ACDPIEN,ACDVDT)
  1. S ACDF(50)=$S(X:"Y",1:"N") ; medicare eligible
  1. S X=$$MCD^AUPNPAT(ACDPIEN,ACDVDT)
  1. S ACDF(51)=$S(X:"Y",1:"N") ; medicaid eligible
  1. S X=$$PI^AUPNPAT(ACDPIEN,ACDVDT)
  1. S ACDF(52)=$S(X:"Y",1:"N") ; private insurance
  1. Q
  1. ;
  1. FILESFT ; SHIFT TO SUBORDINATE FILE FOR REST OF DATA
  1. D FILESFT^ACDFLAT3
  1. Q