63 lines
2.0 KiB
Mathematica
63 lines
2.0 KiB
Mathematica
GMVGETQ ;HOIFO/YH,FT-UTILITIES TO OBTAIN DATE/TIME, HOSPITAL, DUZ, VITAL CATEGORY AND EDIT V/M ;9/6/02 09:35
|
|
;;5.0;GEN. MED. REC. - VITALS;**3**;Oct 31, 2002
|
|
;
|
|
; This routine uses the following IAs:
|
|
; #10103 - ^XLFDT calls (supported)
|
|
;
|
|
; This routine supports the following IAs:
|
|
; #4353 - GMV CONVERT DATE RPC is called at GETDT (private)
|
|
;
|
|
GETDT(RESULT,GMRDATE) ;GMV CONVERT DATE [RPC entry point]
|
|
;INPUT VARIABLE:
|
|
;GMRDATE - DATE/TIME FROM EDIT.TEXT ENTERED BY USER
|
|
;OUTPUT VARIABLE:
|
|
;RESULT - CONTAINS INTERNAL AND EXTERNAL DATE/TIME
|
|
N GDATE D DT^DILF("ETS",GMRDATE,.GDATE)
|
|
I $G(GDATE)'>0 S RESULT="" Q
|
|
I $G(GDATE)>$$NOW^XLFDT S RESULT="" Q
|
|
S RESULT=$G(GDATE)_"^"_$G(GDATE(0))
|
|
Q
|
|
;
|
|
ADDQUAL(RESULT,GMRVDATA) ; Add qualifiers to FILE 120.5 entry
|
|
; ADD QUALIFIER TO 120.505 SUBFILE
|
|
; Input:
|
|
; GMRVDATA=120.5 IEN^QUALIFIER (120.52) IEN
|
|
; Output:
|
|
; RESULT = "" or the IEN of the subfile entry
|
|
;
|
|
N GMVCNT,GMVERR,GMVFDA,GMVOKAY,GMRVIEN,GMRVQUAL
|
|
S GMRVIEN=+$P(GMRVDATA,"^",1) ;File 120.5 ien
|
|
S GMRVQUAL=+$P(GMRVDATA,"^",2) ;File 120.52 ien
|
|
; Does File 120.5 entry exist?
|
|
I '$D(^GMR(120.5,GMRVIEN,0)) D Q
|
|
.S RESULT=""
|
|
.;or S RESULT="-1^Vitals entry not found."
|
|
.Q
|
|
; Is the qualifier already stored?
|
|
I $O(^GMR(120.5,GMRVIEN,5,"B",GMRVQUAL,0))>0 D Q
|
|
.S RESULT=""
|
|
.;or S RESULT="-1^Qualifier already filed. No change made."
|
|
.Q
|
|
; Legitimate Qualifier?
|
|
I '$D(^GMRD(120.52,GMRVQUAL,0)) D Q
|
|
.S RESULT=""
|
|
.; or S RESULT="-1^"_$P(GMRVDATA,U,2)_" is not a legitimate qualifier"
|
|
.Q
|
|
S GMVCNT=0 ;counter for number of tries to lock an entry
|
|
B2 ; Lock the entry
|
|
I GMVCNT>3 D Q ;4 strikes and you're out
|
|
.S RESULT=""
|
|
.;or S RESULT="-1^Could not lock entry to file qualifiers."
|
|
.L -^GMR(120.5,GMRVIEN,0)
|
|
.Q
|
|
L +^GMR(120.5,GMRVIEN,0):1
|
|
S GMVCNT=GMVCNT+1
|
|
I '$T L -^GMR(120.5,GMRVIEN,0) G B2
|
|
; Store the qualifier
|
|
S GMVFDA(120.505,"+1,"_GMRVIEN_",",.01)=GMRVQUAL
|
|
D UPDATE^DIE("","GMVFDA","GMVOKAY","GMVERR")
|
|
L -^GMR(120.5,GMRVIEN,0)
|
|
I $D(GMVERR) S RESULT="" ; or S RESULT="-1^*fileman error message*"
|
|
E S RESULT=+$G(GMVOKAY(1))
|
|
Q
|