Do you mean how to write the range in the OBX segment? I've this example of a range:

OBX|13|NM|MO^# Monocitos^SNM||0.00|#|0.2-0.9||||F|||20230330133551

Well...you can call netstat from IRIS...for example:

set status = $ZF(-100, "/LOGCMD", "netstat", "-ano", "-p", "tcp")

There is a DTL by default when you install the FHIR server or the FHIR adapter...in my case I've installed the adapter and the DTL is named:

HS.FHIR.DTL.vR4.SDA3.AllergyIntolerance.Allergy

This transformation is used to parse an object of type HS.FHIR.DTL.vR4.Model.Resource.AllergyIntolerance into a HS.SDA3.Allergy, you can use it as a reference for your transformation. 

I guess that you only have to send a POST with this json as body (updating the references to your patient and practitioner - you can remove it) from a Postman to your FHIR endpoint.

Something like this example?
http://hl7.org/fhir/R4/allergyintolerance-fishallergy.json.html

{
  "resourceType": "AllergyIntolerance",
  "id": "fishallergy",
  "text": {
    "status": "additional",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n      <p>allergy is to fresh fish. Tolerates canned fish</p>\n      <p>recordedDate:2015-08-06T00:00:00-06:00</p>\n      <p>substance:Fish - dietary (substance)</p>\n    </div>"
  },
  "identifier": [
    {
      "system": "http://acme.com/ids/patients/risks",
      "value": "49476535"
    }
  ],
  "clinicalStatus": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
        "code": "active",
        "display": "Active"
      }
    ]
  },
  "verificationStatus": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification",
        "code": "confirmed",
        "display": "Confirmed"
      }
    ]
  },
  "category": [
    "food"
  ],
  "code": {
    "coding": [
      {
        "system": "http://snomed.info/sct",
        "code": "227037002",
        "display": "Fish - dietary (substance)"
      }
    ],
    "text": "Allergic to fresh fish. Tolerates canned fish"
  },
  "patient": {
    "reference": "Patient/example"
  },
  "recordedDate": "2015-08-06T15:37:31-06:00",
  "recorder": {
    "reference": "Practitioner/example"
  }
}

Could you try to run the data load just for the 10 problematic tables? Just to be sure that is not a specific problem of those tables.

Have you tried to check "Disable Query Timeout" option on ODBC configuration?

Sorry, my Windows is configured on spanish.

Well, I'll answer you from my experience, maybe I'm wrong.

About your first question, you are totally free to use a encoded BP or BPL and DTL, as you prefer. I usually prefer to use BP by code for custom objects and DTL and BPL when I work with HL7 messages...why? because I'm too lazy to write code foreach transformation of field in an HL7 message.

The Business Service used by the RecordMapper has a property called Synchronous Send:

 

When you check it the Business Service is going to send the record mapped in a sync call to your BP, so it's not going to read a new line of the file until a response is received from the destination.

About the OnRespone, you can check the official documentation: https://docs.intersystems.com/iris20231/csp/docbook/DocBook.UI.Page.cls…

I usually implement the OnResponse to receive Async responses from Business Operations called by my BP, in your case I think that it's unnecessary, but this is a personal opinion.

I don't think that is possible out of the context of a production, at the end the destination of the routed message is always a business component deployed in a production, the context info and the messages are linked to components of the productions too. 

I think that is easier to learn objectscript than try to adapt the behavior of the business rules. 

Well, from my experience you will need the same databases on your local instance, so you will need to load a backup from the original into the local instance and after that apply the journal file generated after the creation of this backup from the original.