Integrações/Compatibilidade
Homologação

Compatibilidade

Decisões de contrato e diferenças em relação à MobileMed.

Tudo o que se comporta diferente da doc da MobileMed — também anotado na descrição de cada rota em /v1/doc:

Tema MobileMed Themis
Corpo de sucesso das mutações { "Comment was created successfully" } (JSON inválido) { "message": "Comment was created successfully" } — a mesma frase, em message
Status 0..11 0..11 com origem real; cancelados omitidos em mobilemed, -1 em legacy
Marcações clínicas 11/12 listadas classificação explícita BENIGN/MALIGNANT; não inferida
GET /v1/results/signed/:code 201 mobilemed 201; legacy 200
GET /v1/results/getAllPais "201 OK", um objeto mobilemed 201, legacy 200; array { id, nome, sigla }, IDs estáveis, Brasil=1
GET /v1/results/report-pdf-link/:laudo_hash { "https://…pdf" } { "url": "https://…" } (201 mobilemed, 200 legacy); 404 Report PDF not available sem PDF gravado
grupoId (get-all-exams) filtra o grupo mobilemed: ID externo da organização; outro grupo retorna []; legacy mantém comportamento anterior
group: true + format: pdf "PDF apenas em base64" PDF único em report.content; extensão deprecated groupedContent somente em legacy
Identificadores IDs numéricos no JSON; code no path é String e laudo_hash é descrito como Integer mobilemed: inteiros positivos estáveis; legacy: UUIDs. code/laudo_hash aceitam decimal e alias UUID
crm.code em GET /v1/exam número mobilemed: número seguro ou null; lookup decimal + UF, sem escolher entre médicos ambíguos; legacy mantém formato anterior
GET /v1/results/signed/:code corpo grande com digital_sign mobilemed: 13 campos completos e digital_sign honesto; legacy: seis campos históricos
forMedic (Viewer) link distinto para o médico leitura médica em /medico/estudo/:token com imagens antes do laudo e laudos finais HTML/texto/PDF; false mantém página pública
Anexos jpg, png, gif, bmp, pdf JPEG, PNG, GIF, BMP e PDF — originais preservados; GIF/BMP citados usam PNG derivada
release: false revoga a liberação persiste retenção por exame, audita e revoga links específicos de paciente; sessão e outros exames continuam
send-email em exame sem paciente vinculado 400 { message: "Exam has no linked patient" }
Laudo externo em exame ainda sem imagens assina mesmo assim; o status do item da worklist é mantido
POST /v1/worklist sucesso 201 {} mobilemed: 201 {} inclusive noop e RAW_ONLY; legacy: created 201/noop 200 com accession_number/status; conflitos de identidade continuam 409
POST /v1/worklist validação "InvalidWorklist" 400 { "message": [ "...", "..." ] } (array de mensagens)
reintegrateReports "reintegração manual" zera o contador para credenciais inscritas em report.signed com destino efetivo
Exame inexistente em POST …/mammography 404 mobilemed 404; legacy 400; { message: "Could not find any study" }
Exame sem estudo no grupo Viewer 404 Could not find any study (aqui 404, não 400: o link ou existe ou ainda não)
Webhook payload e auth negociados por cliente eventos/destinos/templates por credencial; padrão {event,sentAt,study}; snapshot estável e autenticação atual
Path do receiveReport :acessionNumber (typo) /v1/exam/:accessionNumber/report
Prioridade 1..5 na descrição 1..6 (Internado)