| 1 | GMRCPOST ;SLC/DCM - Post init driver routine ;10/28/98  14:31
 | 
|---|
| 2 |  ;;3.0;CONSULT/REQUEST TRACKING;**1**;DEC 27, 1997
 | 
|---|
| 3 |  D EN^GMRCPOS1
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 | EN S ND=0 I '$O(^GMR(123.5,ND)) S DIE=123.5,DA=1,DR=".01////^S X=""ALL SERVICES""" D ^DIE K DIE,DA,DR
 | 
|---|
| 6 |  K ND
 | 
|---|
| 7 |  Q
 | 
|---|
| 8 | SVC(SVCIEN,SVCNAME,EVCODE) ;build HL7 message for conversion
 | 
|---|
| 9 |  K GMRCMSG
 | 
|---|
| 10 |  S MSH="MSH|^~\&|CONSULTS|"_$S($G(DUZ(2))]"":DUZ(2),1:+$$SITE^VASITE())_"|||||MFN"
 | 
|---|
| 11 |  S MFI="MFI|123.5^Request Services^99DD||"_$S(EVCODE="MUD":"REP",1:"UPD")_"|||NE"
 | 
|---|
| 12 |  S MFE="MFE|"_EVCODE_"|||^^^"_SVCIEN_"^"_SVCNAME_"^99CON"
 | 
|---|
| 13 |  I $L($O(^GMR(123.5,SVCIEN,2,"B",""))) D
 | 
|---|
| 14 |  .S ND1="",ND2=0 F  S ND1=$O(^GMR(123.5,SVCIEN,2,"B",ND1)) Q:ND1=""  S ND2=ND2+1,GMRCARRY(ND2)=ND1
 | 
|---|
| 15 |  .D ZSY(.GMRCARRY)
 | 
|---|
| 16 |  .Q
 | 
|---|
| 17 |  I +$P(^GMR(123.5,SVCIEN,0),"^",2),$P(^(0),"^",2)'=9 S ZCS="ZCS|"_$P(^(0),"^",2)
 | 
|---|
| 18 |  D BUILD
 | 
|---|
| 19 |  K MSH,MFI,MFE,GMRCARRY,ZSY,ZCS
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | BUILD ;build the HL-7 array into its export form
 | 
|---|
| 23 |  S ND=1,MSG="GMRCMSG"
 | 
|---|
| 24 |  S @(MSG_"("_ND_")")=MSH,ND=ND+1
 | 
|---|
| 25 |  S @(MSG_"("_ND_")")=MFI,ND=ND+1
 | 
|---|
| 26 |  S @(MSG_"("_ND_")")=MFE,ND=ND+1
 | 
|---|
| 27 |  S:$D(ZCS) @(MSG_"("_ND_")")=ZCS,ND=ND+1
 | 
|---|
| 28 |  S ND1=0 F  S ND1=$O(ZSY(ND1)) Q:ND1=""  S @(MSG_"("_ND_")")=ZSY(ND1),ND=ND+1
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | MFI(MTP) ;s MFI HL-7 segment
 | 
|---|
| 32 |  N X
 | 
|---|
| 33 |  S MFI="MFI|101^Protocol^99DD||"_$S(MTP="MFN":"REP",1:"UPD")_"|||NE"
 | 
|---|
| 34 |  Q MFI
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 | MFE(RSPLVL,ORXDA,GMRCPRNO,PFX) ;set MFE HL=7 segment
 | 
|---|
| 37 |  N X
 | 
|---|
| 38 |  S X="MFE|"_RSPLVL_"|||^^^"_ORXDA_"^"_GMRCPRNO_"^99"_$S(PFX="GMRCR ":"PRO",1:"CON")
 | 
|---|
| 39 |  Q X
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | ZSY(ARRAY)  ;set ZSY segment of the HL-7 segment; contains synonyms
 | 
|---|
| 42 |  S ND1="",ND2=1
 | 
|---|
| 43 |  F  S ND1=$O(ARRAY(ND1)) Q:ND1=""  S ZSY(ND2)="ZSY|"_ND2_"|"_ARRAY(ND1)_"|",ND2=ND2+1
 | 
|---|
| 44 |  K ND1,ND2
 | 
|---|
| 45 |  Q
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 | ITEMS(ELC,RLECODE,ORDA,ORNAME,GMRCARRY,GMRCPRFX) ;entry point to set up HL-7 message to update orderable items file - file 101.43 in Post INIT
 | 
|---|
| 48 |  S MSH="MSH|^~\&|"_$S(GMRCPRFX="GMRCR ":"PROCEDURES",1:"CONSULTS")_"|"_+$$SITE^VASITE_"|||||"_ELC
 | 
|---|
| 49 |  S MFI=$$MFI(ELC)
 | 
|---|
| 50 |  S MFE=$$MFE(RLECODE,ORDA,ORNAME,GMRCPRFX)
 | 
|---|
| 51 |  D ZSY(.GMRCARRY)
 | 
|---|
| 52 |  D BUILD
 | 
|---|
| 53 |  K HLQ,MFE,MSH,MFI,MSG,MSGND,ND,ND1,ND2,ZSY
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|