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

BQIPTCON.m

Go to the documentation of this file.
  1. BQIPTCON ;GDHS/HSD/ALA-Consults by Patient ; 16 Feb 2016 1:15 PM
  1. ;;2.5;ICARE MANAGEMENT SYSTEM;;May 24, 2016;Build 27
  1. ;
  1. ;
  1. CON(DATA,DFN,TMFRAME) ;EP -- BQI PATIENT CONSULTS
  1. ;
  1. ;Description - all the consults that a patient has
  1. ;
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ; TMFRAME - Timeframe
  1. ;
  1. NEW UID,II,HEADER,ENDT
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPTCON",UID))
  1. K @DATA
  1. ;
  1. S TMFRAME=$G(TMFRAME,""),ENDT=""
  1. I TMFRAME'="" S ENDT=$$DATE^BQIUL1(TMFRAME)
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPTRF D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. NEW GMRCDAT,GMRCDA,GMRCYR,IFLDS,EFLDS
  1. I $G(IFLDS)="" D
  1. . D CNN Q
  1. . S ORD=17,IEN=$O(^BQI(90506.1,"AD","CN",ORD,"")),HDR=$P(^BQI(90506.1,IEN,0),"^",8)
  1. . S HEADER=HEADER_"^"_HDR
  1. ;
  1. S @DATA@(II)="I00010CON_IEN^"_HEADER_$C(30)
  1. ;
  1. S TMP=$NA(^TMP("BQICONSLT",$J)) K @TMP
  1. S GMRCYR=$S($G(ENDT)'="":9999999-ENDT,1:"")
  1. I GMRCYR="" D
  1. . S GMRCDAT=""
  1. . F S GMRCDAT=$O(^GMR(123,"AD",DFN,GMRCDAT)) Q:GMRCDAT="" D LD
  1. ;
  1. I GMRCYR'="" D
  1. . S GMRCDAT=""
  1. . F S GMRCDAT=$O(^GMR(123,"AD",DFN,GMRCDAT)) Q:GMRCDAT=""!(GMRCDAT\1>GMRCYR) D LD
  1. ;
  1. S GIEN=""
  1. F S GIEN=$O(@TMP@(123,GIEN)) Q:GIEN="" D
  1. . D DA^DILF(GIEN,.DA)
  1. . S VALUE=""
  1. . S FLD="" F S FLD=$O(@TMP@(123,GIEN,FLD)) Q:FLD="" D
  1. .. S PO=$G(PORD(FLD))
  1. .. S VAL=$G(@TMP@(123,GIEN,FLD,"I")) I VAL'="",FLD=".01" S VAL=$$FMTE^BQIUL1(VAL)
  1. .. I VAL="" S VAL=$G(@TMP@(123,GIEN,FLD,"E"))
  1. .. I FLD=20 D
  1. ... S VAL=$G(@TMP@(123,GIEN,FLD,1))
  1. ... ;NEW CNN
  1. ... ;S CNN=GIEN,VAL=$$PURP^BQICONPL()
  1. .. I FLD=5 S VAL=$P(VAL," - ",2)
  1. .. S $P(VALUE,"^",PO)=VAL
  1. . S VALUE=DA_"^"_VALUE
  1. . S II=II+1,@DATA@(II)=VALUE_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. LD ;EP - Load data
  1. S GMRCDA=""
  1. F S GMRCDA=$O(^GMR(123,"AD",DFN,GMRCDAT,GMRCDA)) Q:GMRCDA="" D
  1. . D GETS^DIQ(123,GMRCDA_",",IFLDS,"I",TMP)
  1. . D GETS^DIQ(123,GMRCDA_",",EFLDS,"E",TMP)
  1. Q
  1. ;
  1. CNN ;EP
  1. NEW ORD,IEN,FLD,FIE
  1. S PFLDS=".01;1;8;10;13;14;.03;.04;.05;2;5;6;9;30;20;7"
  1. F I=1:1:$L(PFLDS,";") S FLD=$P(PFLDS,";",I),PDIS(I)=FLD,PORD(FLD)=I
  1. ;set up fields by display order
  1. S ORD="",EFLDS="",IFLDS="",HEADER="",ORDER=""
  1. F S ORD=$O(^BQI(90506.1,"AD","CN",ORD)) Q:ORD="" D
  1. . S IEN=""
  1. . F S IEN=$O(^BQI(90506.1,"AD","CN",ORD,IEN)) Q:IEN="" D
  1. .. S FLD=$$GET1^DIQ(90506.1,IEN_",",.06,"E"),FIE=$$GET1^DIQ(90506.1,IEN_",",.2,"I")
  1. .. I FLD="" Q
  1. .. I $P(^BQI(90506.1,IEN,0),"^",10)=1 K PORD(FLD) Q
  1. .. S PO=$G(PORD(FLD)) I PO="" Q
  1. .. S HDR=$P(^BQI(90506.1,IEN,0),"^",8),$P(HEADER,"^",PO)=HDR
  1. .. I FIE="" S FIE="E"
  1. .. I FIE="E" S EFLDS=EFLDS_FLD_";"
  1. .. I FIE="I" S IFLDS=IFLDS_FLD_";"
  1. S EFLDS=$$TKO^BQIUL1(EFLDS,";"),IFLDS=$$TKO^BQIUL1(IFLDS,";")
  1. Q