1 | MCARUTL4 ;HOIFO/WAA-Utility Routine #3;03/06/01 15:00
|
---|
2 | ;;2.3;Medicine;**32**;09/13/1996
|
---|
3 | ;;
|
---|
4 | RPTAGE(FN,IEN) ; This function will return the age of the patient
|
---|
5 | ; at the time of the report and pass it back.
|
---|
6 | N RPTAGE,ERROR
|
---|
7 | S RPTAGE="",ERROR=0
|
---|
8 | S FN=$G(FN) I FN="" S ERROR=1 ; Ensure that the FN is defined
|
---|
9 | S IEN=$G(IEN) I IEN="" S ERROR=1 ; Ensure that the IEN is defined
|
---|
10 | I FN=690 S ERROR=1 ; Keep from looking up on Medical patient file
|
---|
11 | I FN<690!(FN>701) S ERROR=1 ; Make sure that the lookup is within range
|
---|
12 | I FN=697.2 S ERROR=1 ; Keep from looking up on procedure file
|
---|
13 | I ERROR G QT ; there was an error so quit
|
---|
14 | E S LN=$G(^MCAR(FN,IEN,0)) ; Ensure that there is an entry in the file
|
---|
15 | I LN'="" D
|
---|
16 | .N DFN,BDATE,RDATE
|
---|
17 | .S DFN=$P(LN,U,2) ; Ensure that the entry has a Patient
|
---|
18 | .Q:DFN<1
|
---|
19 | .S DFN=$G(^MCAR(690,DFN,0)) ; Ensure that patient is Medicine Patient
|
---|
20 | .Q:DFN<1
|
---|
21 | .S BDATE=$$GET1^DIQ(2,DFN,.03,"I") ; Get the Bdate from DPT
|
---|
22 | .Q:BDATE<1
|
---|
23 | .S RDATE=$P(LN,U) Q:RDATE<1
|
---|
24 | .S RDATE=$P(RDATE,".") ; Strip off time
|
---|
25 | .S RPTAGE=($E(RDATE,1,3)-$E(BDATE,1,3))-($E(RDATE,4,7)<$E(BDATE,4,7))
|
---|
26 | .; ^^^ Calculate age at the time of the report
|
---|
27 | .Q
|
---|
28 | QT Q RPTAGE
|
---|