Thank you very much! Always a pleasure to be helpful!
- Log in to post comments
Thank you very much! Always a pleasure to be helpful!
Does it extend %Persistent?
Could you paste here Contatos.Empresa properties?
What error do you get?
Have you tried adding "()":
<assignvalue='source.{ORCgrp(1).RXE:7.1()}'property='target.{ORCgrp(1).RXE:7.1()}'action='set' />Maybe this article can help you:
https://community.intersystems.com/post/using-new-intersystems-iris-hib…
As far as I know, there is no extension to connect directly to IRIS using JDBC from Quarkus yet but you always have the option to connect using REST or TCP.
You have 2 options to return a value from a Method, one is to send by reference an object and instantiate that object inside the method called:
ClassMethod MyMethod(myInput As String, Output myOutput As MyPackage.MyClass) As%Library.Status
{
set myOuput = ##class(MyPackage.MyClass).%New()
set myOutput.name = "This is a name"return$$$OK
}And invoke it like:
// Invoke method with .. if it belong to the same class or with ##class(classname).method if it doesn'tset tSC = ..MyMethod("One Input", .output)
// Now output has been created and output.name has the value "This is a name"write output.nameYou can see here in the documentation how to pass variables by reference:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
When you create a RecordMapper to transform a CSV into an ObjectScript class you can add to the production a Business Process to receive the created object from the mapper, so you can transform it to XML (extending the ObjectScript class from %XML.Adaptor) and save it into a file created ad-hoc when you've received the first mapped row of the CSV (I guess that you can get from the original request the name of the original CSV file to identify the PONumber).
..SecondMethod
You can add after the %Save() command something like this:
set sqlUpdateMoodRecord = "UPDATE MoopRecord SET TotalAmount =
CASE WHEN TotalAmount > ? THEN TotalAmount - ? WHEN TotalAmount < ? THEN ? -TotalAmount
ELSE TotalAmount WHERE %ID = ?"set statementUpdateMoodRecord = ##class(%SQL.Statement).%New()
set statusUpdateMoodRecord = statementUpdateMoodRecord.%Prepare(sqlUpdateMoodRecord)
if ($$$ISOK(statusUpdateMoodRecord)) {
set resultSet = statementUpdateMoodRecord.%Execute(pRequest.TotalAmount,
pRequest.TotalAmount, pRequest.TotalAmount, pRequest.TotalAmount,
tEntEpicMoopRecord.%ID)
}Probably that code is not going to work...but the idea is to launch an UPDATE with a condition in the SET.
Sure, try informing target.Serverity.Description.
Well, Code function is validating if the code in source.Severity has a match in the target ValueSet and if it has then return the code. Maybe you can add a new line after each null validation of value var with something like these to get the description value:
^HS.XF.LookupTable("SDA3","vSTU3","HS.SDA3.CodeTableDetail.AllergyCategory","allergy-intolerance-category",value)
^HS.XF.LookupTable("SDA3","vR4","HS.SDA3.CodeTableDetail.Severity","reaction-event-severity|4.0.1",value)
And update the assign with something like this:
<assign value='^HS.XF.LookupTable("SDA3","vSTU3","HS.SDA3.CodeTableDetail.AllergyCategory","allergy-intolerance-category",value)' property='target.category' action='set'>But not sure if it's correct to overwrite the codes of the resource with the description...try it and if you don't break anything keep it!
Jeffrey is totally right, you can't add multiple ranges in an OBX segment, the idea of that field is just to add the valid range for the observation, you can see that there is another field in that segment (OBX:12 - Efective date of Reference Range) in wich you can define the date when the range start to be valid.
Another option to the NTE segment is to repeat the OBX segment with the same value of the observation so many times as range values you have, informing the OBX:12 with a different date and the valid range for that date.
The 0 means that has been executed succesfully. Are you executing from any class or from terminal? Maybe you need to redirect the output into a file:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
Have you assigned privileges to read the database of the namespace?
Try enabling the I/O log from the business operation configuration.
Have you tried in OnInit method something like this? :
Set..Adapter.ConnectTimeout = 15Do 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.
Hi Scott! What application are you using to send the POST call? Is it a web application? IRIS?
Don't forget to check the answer as correct!
As you can see in the documentation of the resouce the encounter is optional (0..1):
http://hl7.org/fhir/R4/allergyintolerance.html
.png)
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"
}
}If your Business Operation is deployed in a Production you can configure the default options of EnsLib.HTTP.OutboundAdapter to control timeouts and retries:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
.png)
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.
Please, check the ODBC log, just to confirm what is the exact error.
Have you tried to check "Disable Query Timeout" option on ODBC configuration?
.png)
Sorry, my Windows is configured on spanish.