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

HDISVU01.m

Go to the documentation of this file.
  1. HDISVU01 ;BPFO/JRP - UTILITY CALLS;12/21/2004
  1. ;;1.0;HEALTH DATA & INFORMATICS;**6**;Feb 22, 2005
  1. ;
  1. XMLTFM(XMLDT,LTZ) ;Convert XML date/time to FM date/time
  1. ; Input : XMLDT - XML date/time
  1. ; LTZ - Flag indicating if time should be converted to local
  1. ; time (XML d/t contains time zone designation)
  1. ; 0 = No (default) 1 = Yes
  1. ;Output : Date/time in FileMan format
  1. ; Notes : Null ("") returned on error
  1. N HL7DT,FMDT
  1. S XMLDT=$G(XMLDT)
  1. I XMLDT="" Q ""
  1. S LTZ=+$G(LTZ)
  1. S LTZ=$S(LTZ:"L",1:"U")
  1. ;Convert to HL7 format
  1. S HL7DT=$TR($P(XMLDT,"T",1),"-")_$TR($P(XMLDT,"T",2),":")
  1. ;Convert HL7 format to FileMan format
  1. S FMDT=$$HL7TFM^XLFDT(HL7DT,LTZ)
  1. I FMDT=-1 S FMDT=""
  1. Q FMDT
  1. ;
  1. FMTXML(FMDT,NOTIME,MIDNIGHT) ;Convert FM date/time to XML date/time
  1. ; Input : FMDT - FileMan date/time
  1. ; NOTIME - Flag indicating if time shouldn't be included
  1. ; 0 = No (include time)(default) 1 = Yes (no time)
  1. ; MIDNIGHT - Flag indicating if midnight should be used when
  1. ; no time is passed in
  1. ; 0 = No (leave as is)(default) 1 = Yes
  1. ;Output : Date/time in XML format
  1. ; Notes : Null ("") returned on error
  1. N XTRNDT,XMLDT,FLAG
  1. S NOTIME=+$G(NOTIME)
  1. S MIDNIGHT=+$G(MIDNIGHT)
  1. I $P(FMDT,".",2)="" I 'MIDNIGHT S NOTIME=1
  1. I $P(FMDT,".",2)?1."0" I 'NOTIME S MIDNIGHT=1
  1. ;No time overrides midnight addition
  1. I NOTIME S MIDNIGHT=0
  1. ;Drop time
  1. S FLAG=$S(NOTIME:"7FD",1:"7FS")
  1. ;Convert
  1. S XTRNDT=$$FMTE^XLFDT(FMDT,FLAG)
  1. ;Append midnight
  1. I MIDNIGHT I $P(XTRNDT,"@",2)="" S $P(XTRNDT,"@",2)="00:00:00"
  1. S XMLDT=$TR(XTRNDT,"@ /","T0-")
  1. I 'NOTIME S XMLDT=XMLDT_$$TZ^XLFDT()
  1. Q XMLDT
  1. ;
  1. ERR2XTMP(NODE,DESC,TEXTARR) ;Add error info to XTMP global
  1. ; Input : NODE - Namespaced node name to store info off of
  1. ; (Defaults to "HDI")
  1. ; DESC - Error description (short text)
  1. ; TEXTARR - Array containing error text (full global ref)
  1. ;Output : None
  1. ; Notes : Sets the following nodes in XTMP
  1. ; ^XTMP(NODE,0) = Purge Date (T+10) ^ Create Date (NOW)
  1. ; ^ "HDI software issues"
  1. ; ^XTMP(NODE,x,0) = Create Date (NOW) ^ DESC
  1. ; ^XTMP(NODE,x,"ERR") = TEXTARR
  1. S NODE=$G(NODE)
  1. S:NODE="" NODE="HDI"
  1. S DESC=$G(DESC)
  1. S TEXTARR=$G(TEXTARR)
  1. N CDATE,PDATE,SUB
  1. ;Set main node in XTMP
  1. S CDATE=$$NOW^XLFDT()
  1. S PDATE=$$FMADD^XLFDT(CDATE,10)
  1. S ^XTMP(NODE,0)=PDATE_"^"_CDATE_"^HDI software issues"
  1. ;Get next error node
  1. S SUB=1+$O(^XTMP(NODE,""),-1)
  1. ;Set main error node
  1. S ^XTMP(NODE,SUB,0)=CDATE_"^"_DESC
  1. ;Store error text
  1. I TEXTARR'="" M ^XTMP(NODE,SUB,"TXT")=@TEXTARR
  1. ;Done
  1. Q