| 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
 | 
|---|