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

BMCAPI1.m

Go to the documentation of this file.
  1. BMCAPI1 ;IHS/OIT/FCJ-API BY REQ FIELDS
  1. ;;4.0;REFERRED CARE INFO SYSTEM;**4**;JAN 09, 2006;Build 101
  1. ;IHS/OIT/FCJ NEW ROUTINE RELEASED W/PATCH 4
  1. ;
  1. ;NOTE: Currently not used for multiple or word processing fields
  1. ;BMCDFN=Array of PATIENT IEN's subcripted by the IEN (Not REQUIRED If Beginning date)
  1. ;BMCBDT=BEG DT (NOT REQUIRED if Patient IEN Array sent)
  1. ;BMCEDT=END DT (NOT REQUIRED)
  1. ;BMCFLDS=LIST OF FIELDS TO DEFINE (REQUIRED)
  1. ; Format=".01/I;.02/E"
  1. ; I=INTERAL FORMAT
  1. ; E=EXTERNAL FORMAT
  1. ; B=BOTH
  1. ;BMCGLB=GLOBAL TO SET THE LIST OF FIELDS (Required)
  1. ;FIELDS WILL BE SET IN GLOBAL IN ORDER SUBMITTED
  1. ;Example: BMCDFN,BMCRIEN,ORDER,BMCFLD,BMCTYP=VALUE
  1. ;
  1. API(BMCPDFN,BMCBDT,BMCEDT,BMCFLDS,BMCGLB) ;EP FOR RCIS REFERRALS
  1. Q:$G(BMCFLDS)=""
  1. Q:$G(BMCGLB)=""
  1. ;
  1. S BMCDT="",BMCQ="",BMCPFLG=0
  1. I $G(BMCBDT)'="" S BMCDT=BMCBDT-1
  1. ;TEST PAT IEN ARRAY
  1. S Y="" F I=0:1 S Y=$O(BMCPDFN(Y)) Q:(Y'?1N.N)!(I>0)
  1. I I>0 S BMCPFLG=1 D PAT Q
  1. I BMCBDT="",BMCPFLG=0 Q
  1. ;
  1. DT ;SORT BY DATE IF PAT IEN NOT SENT
  1. F S BMCDT=$O(^BMCREF("B",BMCDT)) Q:(BMCDT'?1N.N) D Q:BMCQ
  1. .I $G(BMCEDT),BMCDT>BMCEDT S BMCQ=1 Q
  1. .S BMCRIEN=""
  1. .F S BMCRIEN=$O(^BMCREF("B",BMCDT,BMCRIEN)) Q:BMCRIEN'?1.N.N D
  1. ..S BMCDFN=$P(^BMCREF(BMCRIEN,0),U,3)
  1. ..D SET
  1. D EXIT
  1. Q
  1. ;
  1. PAT ; SORT BY PATIENT THEN DATE IF EXISTS
  1. ;
  1. S BMCDFN=0 F S BMCDFN=$O(BMCPDFN(BMCDFN)) S BMCDT=BMCBDT-1 Q:BMCDFN'?1N.N D
  1. .F S BMCDT=$O(^BMCREF("AA",BMCDFN,BMCDT)) Q:BMCDT'?1N.N D Q:BMCQ
  1. ..I $G(BMCEDT),BMCDT>BMCEDT S BMCQ=1 Q
  1. ..S BMCRIEN=""
  1. ..F S BMCRIEN=$O(^BMCREF("AA",BMCDFN,BMCDT,BMCRIEN)) Q:BMCRIEN'?1N.N D SET
  1. D EXIT
  1. Q
  1. ;
  1. SET ;SET REQUESTED FIELDS IN GLB
  1. F I=1:1 D Q:'$G(BMC(I))
  1. .Q:$P(BMCFLDS,";",I)=""
  1. .S BMC(I)=$P(BMCFLDS,";",I)
  1. .S BMCTYP=$P(BMC(I),"/",2)
  1. .D:BMCTYP="B" INT,EXT
  1. .D:BMCTYP="I" INT
  1. .D:BMCTYP="E" EXT
  1. Q
  1. INT ;INTERNAL FORMAT
  1. S @BMCGLB@(BMCDFN,BMCRIEN,I,$P(BMC(I),"/"),"I")=$$VALI^XBDIQ1(90001,BMCRIEN,$P(BMC(I),"/"))
  1. Q
  1. EXT ;EXTERNAL FORMAT
  1. S @BMCGLB@(BMCDFN,BMCRIEN,I,$P(BMC(I),"/"),"E")=$$VAL^XBDIQ1(90001,BMCRIEN,$P(BMC(I),"/"))
  1. Q
  1. EXIT ;
  1. K BMCDFN,BMCBDT,BMCEDT,BMCFLDS,BMCGLB,BMCDT,BMCRIEN,BMCDFN,I,BMCTYP,BMC,BMCQ,BMCPFLG
  1. Q