<if condition='source.{ORCgrp(1).OBRgrp(1).OBXgrp(k1).OBX:ValueType}="ED"' >
<true>
<assign value='source.GetFieldStreamRaw(.tStream,"ORCgrp(1).OBRgrp(1).OBXgrp("_k1_").OBX:ObservationValue(1).AlternateText",.tRemainder)' property='tSC' action='set' />
</true>
</if>
</foreach>
<if condition='..Length($get(tSC))&gt;0' >
<true>
<assign value='"1"' property='target.{OBXgrp(1).OBX:SetIDOBX}' action='set' />
<assign value='"ED"' property='target.{OBXgrp(1).OBX:ValueType}' action='set' />
<assign value='"7"' property='target.{OBXgrp(1).OBX:ObservationIdentifier.Identifier}' action='set' />
<assign value='"URL"' property='target.{OBXgrp(1).OBX:ObservationIdentifier.Text}' action='set' />
<assign value='"EXTLRR"' property='target.{OBXgrp(1).OBX:ObservationIdentifier.NameofCodingSystem}' action='set' />
<assign value='"1"' property='target.{OBXgrp(1).OBX:ObservationSubID}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(1).OBX:ObservationValue(1).Identifier}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(1).OBX:ObservationValue(1).NameofCodingSystem}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(1).OBX:ObservationValue(1).AlternateIdentifier}' action='set' />
<assign value='target.StoreFieldStreamRaw(tStream,"OBXgrp(1).OBX:ObservationValue(1).AlternateText",tRemainder)' property='tSC' action='set' />
<assign value='"F"' property='$P(tRemainder,"|",11)' action='set' />
</true>
</if>

This is an example of what we pretty much do for any system that sends us a Base64 encoded PDF that we have to reformat to send to Epic EMR.

I tried exporting a copy of the BPL class myself from the Classes explorer, in the XML document that was saved I still seeing 'languageOverride', and when I tried to import it through the Classes explorer on my PROD instance which is 2022.1.4..

ERROR <Ens>ErrInvalidBPL: Invalid BPL
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
    > ERROR #5030: An error occurred while compiling class 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser_MasterPendingResponses
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser__SynchronizedResponses
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser_MessagesReceived
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser_MessagesSent
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserMasterPendingResponses.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserMessagesReceived.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserMessagesSent.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserSynchronizedResponses.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLser.1
Detected 31 errors during load.

So, I am going to follow up with WRC tomorrow... Thanks for the assist.

There are some details within some of the globals to show us what is causing them to be created, but in my BP I don't get why they are being created.

Those that start with $lb(" actually point to the PID within the Application that is being used.

The one BPL in question takes the HL7 ADT message and parses it out into separate Insert/Update etc... stored procedures classes to be called against the BO.

Yes, the "xxxxxx" represent the SQL Connections, however we must maintain 3 different connections as there are 3 different environments we send data to in MS SQL.

Yes, the code should be the same, but there are times where we are testing things in DEV before they go to the TEST MS SQL environment.

Modifying the SQL Connection String at the System level isn't as logical.

I thought it would be easiest to define the Linked Stored Procedure once and just update the Connection String within the Object Script when I was ready to move it to a different MS SQL Environment.