go to post Gary M Lusso · Mar 27 You won't believe the solution !! I needed to change the send instructions with the clone object, pOutput, and NOT the HL7 message object, pRequest. Example: ElseIf (tMessageType="ORM") { //$$$ThrowOnError(..SendRequestAsync(..VistaTarget, pRequest, 1, "OutputCernerToVistaORM")) // 03272025 Must make a new command that uses the clone object instead of the HL7 message object which is immutable $$$ThrowOnError(..SendRequestAsync(..VistaTarget, pOutput, 1, "OutputCernerToVistaORM")) // Must use the object for the clone This is resolved. Now, I need to add the CR/LF
go to post Gary M Lusso · Mar 27 I moved the $ConstructClone outside the loop but chnages are getting made still Is there a way to check the contents of the clone? Code: Method FromCerner(pRequest As EnsLib.HL7.Message) As %Status{ #dim tStatus As %Status = $$$OK #dim eException As %Exception.AbstractException #dim tOBXSegment As EnsLib.HL7.Segment #dim tOBXText As %String #dim tItemNumberCount As %Integer = 0 #dim tItemNumberProcessed As %Integer = 0 #dim tTotalCostSegment As %Integer = 0 #dim tOrderType As %String #dim i As %Interger = 0 #dim tOBXKey As %Integer = 0 #dim tOBXTextChanged As %String // // Set the message Set tMessageType = pRequest.GetValueAt("MSH:9.1") Try { // Message Subtype // Message Subtype Set tMessageSubType = pRequest.GetValueAt("ORCgrp(1).ORC:1") //$$$LOGINFO(tMessageSubType_"----- tMessageSubType - = NW -- ") // // Check if OBR:19 contains "Implant Usage (PSAS)" OR "Issued in Clinic (PSAS)" Set tOrderType = pRequest.GetValueAt("ORCgrp(1).OBRuniongrp.OBRunion.OBR:19(1).1") //$$$LOGINFO(tOrderType_" ---- tOrderType Ordder Type = Implant Usage (PSAS) for first interation") If ((tOrderType["Implant Usage (PSAS)") || (tOrderType["Issued in Clinic (PSAS)")) { // First loop: Count occurrences of "Item Number:" Set i = 1 Set tItemNumberCount = 0 Set pOutput = pRequest.%ConstructClone(1) // moved here because %ConstructClone() need only be done at the message object level. $$$LOGINFO(pOutput_" ---- pOutput to see if clone is created****") While (pOutput.GetValueAt("ORCgrp(1).OBRuniongrp.OBXgrp("_i_").OBX")'="") { Set tOBXText = pOutput.GetValueAt("ORCgrp(1).OBRuniongrp.OBXgrp("_i_").OBX:5", .tStatus) $$$LOGINFO(tOBXText_"**** "_i_" ---- tOBXText OBX 5 text and i value") // working // If (tOBXText [ "Item Number:") { Set tItemNumberCount = tItemNumberCount + 1 } // If (tOBXText[ "Total Cost:") { Set tTotalCostSegment = i //$$$LOGINFO(tTotalCostSegment_" ------ tTotalCostSegment check Total Cost") } Set i = i + 1 } // Second loop: Modify OBX segments if necessary Set i = 1 //Set pOutput = pRequest.%ConstructClone(1) //%ConstructClone() need only be done at the message object level. Set tItemNumberProcessed = 0 While (pOutput.GetValueAt("ORCgrp(1).OBRuniongrp.OBXgrp("_i_").OBX")'="") { Set tOBXText = pOutput.GetValueAt("ORCgrp(1).OBRuniongrp.OBXgrp("_i_").OBX:5", .tStatus) // using pOutput instead of pRequest //$$$LOGINFO(tOBXText_" ---- tOBXText get OBX 5 text") If (tOBXText [ "Item Number:") { Set tItemNumberProcessed = tItemNumberProcessed + 1 } If (tItemNumberCount > 1) && (tOBXText [ "REASON FOR REQUEST:") { set tOBXKey = i Set tOBXText=$p(tOBXText,":",2,5) /// OBX 5 text parsed to replace in OBX 5 later // Start replacement process Do pOutput.SetValueAt(tOBXText,"ORCgrp(1).OBRuniongrp.OBXgrp("_i_").OBX:5","set") // was a typo //$$$LOGINFO(tOBXText_" ---- OBX 5 parsed to be saved in new OBX 5") Set tOBXTextChanged = pOutput.GetValueAt("ORCgrp(1).OBRuniongrp.OBXgrp("_i_").OBX:5") // typo //$$$LOGINFO(i_" **** "_tOBXTextChanged_" --- i --- tOBXTextChanged, Is OBX 5 changed???") // OBX 5 is changed but not saved } Set i = i + 1 } } //Do pOutput.%Save() Set tSave2 = pOutput.%Save() $$$LOGINFO(tSave2_" ---- did it save") // The OBX 5 changes just aren't getting saved
go to post Gary M Lusso · Mar 26 Does the %ConstructClone()/GetSegmentAt()/SaveValeAt have to be done on every OBX segment object as it goes through the loop? When do you put a number in ConstructClone(1) ?
go to post Gary M Lusso · Mar 25 I really appreciate the help. I wish there were freelancers that I could pay to help.
go to post Gary M Lusso · Mar 25 It shows pRequest and pOutput to see what the differenece is,.I will commetn out pRequest I think I am usng pOutput from the clone? Set pOutput = pRequest.%ConstructClone(1) Set tSC=tOBXSegmentpOutput.SetValueAt(pOutput, 5) does this save the chnage? Set tSC = tOBXSegmentpOutput.SaveData()
go to post Gary M Lusso · Mar 25 The $ConstructClone works to change the OBX 5 values but how do I make the changes in the message permanent? I'm still working on the cr/lf I'm real rusty on DTL
go to post Gary M Lusso · Mar 25 Thanks. I'm rusty using DTL. I have to research that more but I agree. I have the parsing and setting the OBX 5 segment working but it isn't saving the changes to the message
go to post Gary M Lusso · Mar 10 Here is the Production process code. Method FromCerner(pRequest As EnsLib.HL7.Message) As %Status{ ; for all messages coming from Cerner to VistA #dim tStatus As %Status = $$$OK #dim eException As %Exception.AbstractException Set tMessageType = pRequest.GetValueAt("MSH:9.1") Try { Set tMessageSubType = pRequest.GetValueAt("ORCgrp(1).ORC:1") If tMessageSubType = "RE" { // For disassociated documents (tResultType="D"), delete from EHRM Edge, remove all OBX lines and add the new OBX segment Set tResultType = pRequest.GetValueAt("ORCgrp(1).OBRuniongrp.OBXgrp(1).OBX:11") If tResultType = "D" { $$$ThrowOnError(..ProcessPurgeDocumentToVista(pRequest)) } // For all other documents coming from Cerner, save OBX lines into EHRM Edge, then delete from message and add the new OBX segment else { $$$ThrowOnError(..ProcessNewDocumentToVista(pRequest)) } } // otherwise, translate and send outbound to vista: Add OBX5, modify OBR16 and save off PID, OBR,& FIN elseif (tMessageType="ORM") { $$$ThrowOnError(..SendRequestAsync(..VistaTarget,pRequest,1,"OutputCernerToVistaORM")) } elseif (tMessageType="ORR") || (tMessageType = "ACK") { $$$ThrowOnError(..SendRequestAsync(..VistaTarget,pRequest,1,"OutputCernerToVistaORR")) } else { $$$ThrowOnError($$$ERROR($$$GeneralError, "Error: unable to process message from Cerner. Message type " _ tMessageType _ " received.")) }} Catch eException { set tStatus = eException.AsStatus() set tStatus = $$$ADDSC(tStatus , ..CreateAndSendAlert(eException.DisplayString(), pRequest)) } Quit tStatus}
go to post Gary M Lusso · Mar 8 Would you do a project for me as a contractor? Not many hours. Need to remove text from an OBX segment and add some carriage return/line feeds
go to post Gary M Lusso · Mar 8 MSH|^~\&|GMRC IF CONSULT|757^B1930^DNS|GMRC IF CONSULT|757^^DNS|20250123175341+0000|CRNR|ORM^O01^ORM_O01|Q5808332894T6790522104|T|2.3|||AL|AL|USA PID|1||1013570973V041977^^^ICN^VVVID~2110106796^^^EDIPI^EDIPI||PROSTEST^EHR||19760902|M||||||||||129256619|678235672 ORC|NW|15207778763^757^GMRCIFR|||||^^^20250123175300+0000^^R||20250123175331+0000|1578051652^PCP1^ZZ-Physician||1578051652^PCP1^ZZ-Physician|||20250123175341+0000||757 OBR|1|15207778763^757^GMRCIFR||757^PROSTHETICS IFC^757ZZ1235||20250123175300+0000||||||||||1578051652^PCP1^ZZ-Physician|||Implant Usage (PSAS)||||||||^^^20250123175300+0000 OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|1|Implant Usage (PSAS)||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|2|Item Number: 00801741016608||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|3| Transaction Date/Time: 01/22/2025 17:45||||||O <<<< remove “REASON FOR REQUEST:” regardless of number of Item Numbers OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|4| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|5| Item Description: Plug Surgical 1.3in Groin Monofilament ||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|6|Nonabsorbable Perfix Polypropylene Medium Taper 1.55in Sterile Hernia ||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|7|Repair 0112760||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|8| Manufacturer: Davol Inc||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|9| Manufacturer Model Number: 0112760||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|10| HCPCS: C1781||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|11| Lot Number: 012220252||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|12| Expiration Date/Time: 05/22/2025 04:00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|13| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|14| Source: 757-TrackCore Inv||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|15| Lot Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|16| Lot Waste Quantity: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|17| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|18| Total Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|19|Item Number: 00888867351288||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|20| Transaction Date/Time: 01/22/2025 17:45||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|21| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|22| Item Description: Anchor Suture 2 Swivelock C Closed Eyelet Twist in ||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|23|Knotless 19.1mm Blue AR-2324KBCC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|24| Manufacturer: ARTHREX INC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|25| Manufacturer Model Number: AR-2324KBCC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|26| HCPCS: C1713||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|27| Lot Number: 012220253||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|28| Expiration Date/Time: 05/17/2025 04:00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|29| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|30| Source: 757-TrackCore Inv||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|31| Lot Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|32| Lot Waste Quantity: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|33| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|34| Total Cost: 0.00 <<<<<<<< add carriage return after “Total Cost” if multiple Item Numbers. Note: ||||||O can be deleted OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|35|Item Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|36| Transaction Date/Time: 01/23/2025 17:43||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|37| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|38| Item Description: A female part which is inserted into the acrylic ||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|39|overdenture and houses changeable nylon retention inserts.||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|40| Manufacturer: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|41| Manufacturer Model Number: MOR RC-1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|42| HCPCS:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|43| Lot Number: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|44| Expiration Date/Time:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|45| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|46| Source: 757-C-DENTAL SEC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|47| Lot Quantity: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|48| Lot Waste Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|49| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|50| Total Cost: 0.00 CRLF OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|51|Item Number: 00889024015296||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|52| Transaction Date/Time: 01/23/2025 17:43||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|53| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|54| Item Description: Abutment Dental 4.5mm 3.5mm Indirect Transfer ||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|55|Tapered Screw-vent Connection Trabecular Metal HLT3/4||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|56| Manufacturer: Zimvie Inc||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|57| Manufacturer Model Number: HLT3/4||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|58| HCPCS:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|59| Lot Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|60| Expiration Date/Time:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|61| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|62| Source: 757-C-DENTAL SEC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|63| Used Quantity: 4||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|64| Waste Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|65| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|66| Total Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|67|Item Number: 00889024015340||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|68| Transaction Date/Time: 01/23/2025 17:43||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|69| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|70| Item Description: Abutment Dental Profile 6.5mm 5.7mm Screw-vent ||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|71|Indirect Transfer Retaining Screw Orange HLT56||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|72| Manufacturer: Zimmer Biomet Inc||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|73| Manufacturer Model Number: HLT56||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|74| HCPCS:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|75| Lot Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|76| Expiration Date/Time:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|77| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|78| Source: 757-C-DENTAL SEC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|79| Used Quantity: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|80| Waste Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|81| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|82| Total Cost: 0.00 CR/LF OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|83|Item Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|84| Transaction Date/Time: 01/23/2025 17:43||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|85| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|86| Item Description: Abutment, Gold, Engaging||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|87| Manufacturer: Zimmer Biomet Dental||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|88| Manufacturer Model Number: HLA4G||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|89| HCPCS:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|90| Lot Number: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|91| Expiration Date/Time:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|92| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|93| Source: 757-C-DENTAL SEC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|94| Lot Quantity: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|95| Lot Waste Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|96| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|97| Total Cost: 0.00||||||O CR/LF OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|98|Item Number: TC024057||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|99| Transaction Date/Time: 01/23/2025 17:43||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|100| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|101| Item Description: Abutment, Gold, Engaging CEANP31||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|102| Manufacturer: Zimmer||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|103| Manufacturer Model Number: CEANP31||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|104| HCPCS:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|105| Lot Number: 2||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|106| Expiration Date/Time: 05/31/2025 05:00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|107| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|108| Source: 757-C-DENTAL SEC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|109| Lot Quantity: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|110| Lot Waste Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|111| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|112| Total Cost: 0.00 CR/LF OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|113|Item Number: TC024076||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|114| Transaction Date/Time: 01/23/2025 17:43||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|115| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|116| Item Description: Abutment, Gold, Engaging HLA3G||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|117| Manufacturer: Zimmer||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|118| Manufacturer Model Number: HLA3G||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|119| HCPCS:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|120| Lot Number: 3||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|121| Expiration Date/Time: 03/28/2025 05:00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|122| Serial Number:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|123| Source: 757-C-DENTAL SEC||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|124| Lot Quantity: 1||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|125| Lot Waste Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|126| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|127| Total Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|128|Item Number: 00380650697127||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|129| Transaction Date/Time: 01/23/2025 16:10||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|130| Station Number: 757||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|131| Item Description: Lens SP PmmA 5.25x12.0mm (5) +13.0D||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|132| Manufacturer: ALCON||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|133| Manufacturer Model Number: LX10BD 13.0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|134| HCPCS:||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|135| Lot Number: 01232025||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|136| Expiration Date/Time: 02/28/2025 05:00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|137| Serial Number: 01232025||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|138| Source: 757-TrackCore Inv||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|139| Used Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|140| Waste Quantity: 0||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|141| Unit Cost: 0.00||||||O OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|142| Total Cost: 0.00||||||O <<< last “Total Cost”, DO NOT add CR/LF OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|143|Special Instructions: ||||||O OBX|2|CE|^PROVISIONAL DIAGNOSIS|1|R52^Pain, unspecified^I10||||||O NTE|P|UCID:757_15207778763 Ignore extra line feed between segments. It is a message formatting issue.