I’ve been trying the whole day with ChatGPT help, but I’m not get any step forward.
local http = require(“socket.http”)
local ltn12 = require(“ltn12”)
– Função para enviar os dados para o Supabase
function sendToSupabase(data)
local url = “https://<sua_url_do_supabase>.supabase.co/rest/v1/tabela_exame_nao_registrado”
local body = “studyuid_nr=” … data.studyUid …
“&numero_img_nr=” … data.numeroImg …
“&nome_paciente_exame_nr=” … data.patientName …
“&data_exame_nr=” … data.dataExame …
“&aetitle_exame_nr=” … data.aetitleExame …
“&acc_number_nr=” … data.accNumber …
“&institution_name_nr=” … data.institutionName …
“&modalidade_exame_nr=” … data.modalidadeExame …
“&data_nascimento=” … data.dataNascimento
local respbody = {}
local res, code, respheaders, status = http.request {
method = "POST",
url = url,
source = ltn12.source.string(body),
headers = {
["Content-Type"] = "application/x-www-form-urlencoded",
["Content-Length"] = string.len(body),
["Authorization"] = "Bearer <sua_chave_do_supabase>"
},
sink = ltn12.sink.table(respbody)
}
if code == 200 then
print("Dados enviados com sucesso para o Supabase")
else
print("Erro ao enviar dados para o Supabase. Código de resposta: " .. code)
end
end
– Função chamada quando uma nova instância DICOM é armazenada
function OnStoredInstance(instanceId, tags, metadata, origin)
– Verifica se a instância é parte de um novo estudo (StudyInstanceUID)
if tags[“StudyInstanceUID”] then
sendToSupabase({
studyUid = tags[“StudyInstanceUID”],
numeroImg = 0, – Você precisará implementar a lógica para contar o número de imagens
patientName = tags[“PatientName”],
dataExame = tags[“StudyDate”],
aetitleExame = tags[“AccessionNumber”],
accNumber = tags[“AccessionNumber”],
institutionName = tags[“InstitutionName”],
modalidadeExame = tags[“Modality”],
dataNascimento = tags[“PatientBirthDate”]
})
end
end
It helped me create this script, to identify new StudyUID and create a new row at Supabase.
But Again, Orthanc service stopped with [Cannot execute a Lua command] (code 2031)