HTTP

  • 22 Nov

    Submit a Base64-encoded order HL7 message with Limagito File Mover

    A while ago we received the following question from William: “Is it possible to submit a Base64-encoded order HL7 message”. Since we already had HTTP as Destination, we decided to add this as an extra feature. Available in version v2020.11.21.0

    We recieved the following information from the user:

    submitOrder
    The submitOrder method allows you to submit a Base64-encoded order HL7 message to the Data Exchange. The order can be either a Basic Lab Order or a Patient Service Center (PSC) Hold Order.

    Endpoint
    You must use the HTTP POST method to submit orders to the endpoint shown below, where domain specifies the Data Exchange environment. 

    POST https://domain/rest/orders/v1/submission

    Request: The Base64-encoded order HL7 message as text/plain format

    {“TVNIfF5+XCZ8Q1RGV3w5NzUwMjg0MHx8TkVMfDIwMT…”}

    Response: The Base64-encoded order acknowledgment (ACK) HL7 message as text/plain format

    As Source we’ll have HL7 order file (not encoded yet) which looks like (it’s just an example):

    MSH|^~\&|INSTPROG|50203311|1111|MET|19980630080040||ORM^O01|MSG00001|P|2.3|
    PID|1||28514753||Joan^Howard^J||196303241225|F
    SAC|991912376^EXTLAB|01039421^THISLAB|092321A^LAS|092321^LAS||SER|19980620080037|R^PROCESS COMPLETED
    ORC|RE|5212498721A|||||^^^^^R
    OBR|1|5212498721A||2951-2^SODIUM^LN|||199807240826||||||||SER
    OBX|1|NM|2951-2^SODIUM^LN||24.3|ug/g||N

    What this new ‘Content File as HL7 order’ option will do is:

    • Strip the Message Control ID from the source HL7 file which is MSH.10 (i.e. MSG00001)
    • Base64-Encode the complete content of the file
    • Place the Base64-Encoded content between JSON quotes like {“Base64-encoded content”}
      • i.e. {“TVNIfF5+XCZ8Q1RGV3w5NzUwMjg0MHx8TkVMfDIwMT…”}
    • Post the result as text/plain format to the domain
    • Check the Response, Result Code = 200 => OK
    • Base64-Decode the content of the Response and check MSH and MSA
    22/11/2020 9:16:14 Check Result Code: 200, True
    22/11/2020 9:16:14 PostHTTP, ContentFileAsHL7order Response Data Decoded as HL7 MSH: MSH|^~\&|1111|MET|INSTPROG|50203311|20201122081613||OOR^O02|MSG00001|P|2.3|||||
    22/11/2020 9:16:14 PostHTTP, ContentFileAsHL7order Response Data Decoded as HL7 MSA: MSA|AA|MSG00001|2916c40402e141b9b07d701671c5019d||
    • Compare the Message Control ID from the Request with the Message Control ID from the Response
      • Both should be the same => OK
      • When different: Error
    • Check the Acknowledgment Code MAS.01
      • AA: Application Acknowledgment: Accept => OK
      • AE: Application Acknowledgment: Error

    Interesting link

    Some screenshot to get you started:

    In our example we have a WIN as Source. The source file will be a HL7 order file (Example1.hl7).

    Limagito File Mover WIN as Source

    As Destination we selected HTTP:

    Limagito File Mover HTTP as Destination

    HTTP Setup:

    • Set Request to POST
    • Set Content Selecton to: Content File as HL7 order
    • Set %SFP%SFN as Content File
      • %SFP: Source File Path (i.e. C:\Test\IN_HL7\)
      • %SFN: Source File Name (i.e. Example1.hl7)
    • Leave Content-Type empty (default = text/plain)

    Limagito File Mover HTTP as Destination Setup

    Content of the Example1.hl7 file:

    Limagito File Mover HL7 example file

    RunTime Log Result:

    Limagito File Mover Submit HL7 order RunTime Log

    If you need any help with our ‘submit Base64-encoded order HL7 message’ option, please let us know. Also, other HL7 related feature requests are welcome.

    Best Regards,

    Limagito Team

    By Limagito HTTP REST , ,
  • 20 Jan

    Using HTTP Server RunTime Log option as Interface

    Dear Users,

    On request we expanded the built in HTTP server to except some extra parameters of the log URL (i.e. http://127.0.0.1:8080/log )

    • Before we go further, please check if the HTTP Server is Enabled (Menu item: Server\HTTP Server)

    • Also the RunTime Log option must be enabled to use these extra parameters

    What parameters were already available:

    • ruleid
      • Show the RunTime Log of RuleID 4
        • http://127.0.0.1:8080/log?ruleid=4
    • exe
      • Execute RuleID4
        • http://127.0.0.1:8080/log?ruleid=4&exe=4

    Since v2019.1.20.0 we’ve added the following extra parameters:

    • status
      • Get the Status of RuleID 4 as HTML Status Code
        • http://127.0.0.1:8080/log?status=4
      • We are using unassigned Status codes as Rule Status (RFC7231: 227-299 Unassigned)
        • 250 = Hold Mode
        • 251 = Move Enabled
        • 252 = Copy Enabled
        • 253 = Delete Enabled
        • 254 = Move enabled, Check RunTime Log
        • 255 = Copy enabled, Check RunTime Log
        • 256 = Delete enabled, Check RunTime Log
        • 257 = Move Disabled
        • 258 = Copy Disabled
        • 259 = Delete Disabled
        • 261 = Move Running
        • 262 = Copy Running
        • 263 = Delete Running
        • 264 = Move Terminating
        • 265 = Copy Terminating
        • 266 = Delete Terminating
        • 270 = Scanning Disabled
    • report
      • Get the Report of RuleID 4
        • http://127.0.0.1:8080/log?report=4

    Quite some customers use a command line tool called curl to execute a rule from an external application. This command line tool (curl) uses the built in HTTP server options/parameters we explained before.

    Some examples:

    • Execute RuleID4 using curl
      • curl http://127.0.0.1:8080/log?ruleid=4&exe=4
    • Get Status Code of RuleID as HTML Status Code using curl
      • curl -sL -w “%{http_code}” -I “http://127.0.0.1:8080/log?status=4” -o /dev/null
    • Get Report of RuleID 4 in your browser

    Please let us know if you have any questions about these new parameters. Don’t hesitate to contact us.

    Limagito Team

    By Limagito HTTP , ,
  • 29 Oct

    HTTP Destination – OAuth2

    Started adding OAuth2 Authorization for HTTP as destination.

    Regards,

    Limagito Team

    By Limagito HTTP ,
1 2