| 1 | MDHL7R1 ; HOIFO/WAA -Clinivision Resporatory ; 06/13/02 | 
|---|
| 2 | ;;1.0;CLINICAL PROCEDURES;;Apr 01, 2004 | 
|---|
| 3 | ; Reference Supported DBIA #10035 PATIENT | 
|---|
| 4 | ; Reference Supported DBIA #10106 HL7 | 
|---|
| 5 | ; IA# 10103 [Supported] Calls to XLFT | 
|---|
| 6 | ;     10090 [Supported] FM read of DIC(4 | 
|---|
| 7 | ; | 
|---|
| 8 | OBX ; Process OBX | 
|---|
| 9 | N MDATT,PROC,P,PNAM,AGE,DOB,DOBAGE,STATION | 
|---|
| 10 | I $G(STATION) S STATION=$$FIND1^DIC(4,"","MX",STATION) | 
|---|
| 11 | S:'$L($G(STATION)) STATION=$G(DUZ(2)) | 
|---|
| 12 | S PNAM=$P(^DPT(DFN,0),U,1) | 
|---|
| 13 | S DOB=$P(^DPT(DFN,0),U,3) | 
|---|
| 14 | S DOB=$$FMTE^XLFDT(DOB,"1D") | 
|---|
| 15 | S AGE=$$GET1^DIQ(2,DFN,.033) | 
|---|
| 16 | S DOBAGE=DOB_" ("_AGE_")" | 
|---|
| 17 | K ^TMP($J,"MDHL7","TEXT") | 
|---|
| 18 | S P="|" | 
|---|
| 19 | D ATT^MDHL7U(DEVIEN,.MDATT) Q:MDATT<1 | 
|---|
| 20 | S PROC=0 | 
|---|
| 21 | F  S PROC=$O(MDATT(PROC)) Q:PROC<1  D | 
|---|
| 22 | . N PROCESS | 
|---|
| 23 | . S PROCESS=$P(MDATT(PROC),";",5) | 
|---|
| 24 | . I PROCESS="TEXT^MDHL7U2" D TXT | 
|---|
| 25 | . D @PROCESS | 
|---|
| 26 | . Q | 
|---|
| 27 | Q:'MDIEN | 
|---|
| 28 | D REX^MDHL7U1(MDIEN) | 
|---|
| 29 | D GENACK^MDHL7X | 
|---|
| 30 | Q | 
|---|
| 31 | TXT ; Extract data and process it for the test fuinction | 
|---|
| 32 | N CNT,CNT2,LINE,LINE2 | 
|---|
| 33 | S (CNT,CNT2)=0 | 
|---|
| 34 | F  S CNT=$O(^TMP($J,"MDHL7A",CNT)) Q:CNT<1  D | 
|---|
| 35 | . S LINE=^TMP($J,"MDHL7A",CNT) | 
|---|
| 36 | . I $P(LINE,P,1)="PID" D  Q  ;HEADER | 
|---|
| 37 | .. N SPC | 
|---|
| 38 | .. S LINE2=$J("Report from: ",31)_$$GET1^DIQ(4,+STATION_",",.01,"E")_"    Station #"_$$GET1^DIQ(4,+STATION_",",99,"E") | 
|---|
| 39 | .. S CNT2=CNT2+1 | 
|---|
| 40 | .. S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LINE2 | 
|---|
| 41 | .. S LINE2="Clinivision Report" | 
|---|
| 42 | .. S CNT2=CNT2+1 | 
|---|
| 43 | .. S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LINE2 | 
|---|
| 44 | .. S LINE2=PNAM_"   "_$E(MDSSN,1,3)_"-"_$E(MDSSN,4,5)_"-"_$E(MDSSN,6,9) | 
|---|
| 45 | .. S SPC=77-$L(LINE2),LINE2=LINE2_$J(DOBAGE,SPC) | 
|---|
| 46 | .. S CNT2=CNT2+1 | 
|---|
| 47 | .. S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LINE2 | 
|---|
| 48 | .. Q | 
|---|
| 49 | . I $P(LINE,P,1)="OBR" D  Q | 
|---|
| 50 | .. S LINE2="" | 
|---|
| 51 | .. S $P(LINE2,"=",79)="" | 
|---|
| 52 | .. S CNT2=CNT2+1 | 
|---|
| 53 | .. S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LINE2 | 
|---|
| 54 | .. S LINE2=$$FMDATE^HLFNC($E($P(LINE,P,8),1,14)) | 
|---|
| 55 | .. S LINE2=$$FMTE^XLFDT(LINE2,"1P") | 
|---|
| 56 | .. S LINE2="REPORT DATE: "_LINE2 | 
|---|
| 57 | .. S CNT2=CNT2+1 | 
|---|
| 58 | .. S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LINE2 | 
|---|
| 59 | .. Q | 
|---|
| 60 | . I $P(LINE,P,1)'="OBX" Q | 
|---|
| 61 | . I $P(LINE,P,3)'="ST" Q | 
|---|
| 62 | . S LINE2=$P($P(LINE,P,4),U,2) | 
|---|
| 63 | . I LINE2="Comment" D | 
|---|
| 64 | .. S LINE2="" | 
|---|
| 65 | .. S CNT2=CNT2+1 | 
|---|
| 66 | .. S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||Comment:" | 
|---|
| 67 | .. Q | 
|---|
| 68 | . E  S LINE2=LINE2_": " | 
|---|
| 69 | . S LINE2=LINE2_$P(LINE,P,6) | 
|---|
| 70 | . S CNT2=CNT2+1 | 
|---|
| 71 | . S ^TMP($J,"MDHL7","TEXT",CNT2)="OBX||TX|||"_LINE2 | 
|---|
| 72 | . Q | 
|---|
| 73 | Q | 
|---|