Warning @ Patient.meta.profile[0] (line 1, col2): Profile reference 'https://fhir.fabrica.inf.ufg.br/ig/StructureDefinition/animal' has not been checked because it could not be found, and fetching it resulted in the error org.hl7.fhir.r4.utils.client.EFhirClientException: Error reading Http Response from https://fhir.fabrica.inf.ufg.br/ig: Error parsing JSON source: Unexpected char '<' in json stream at Line 1 (path=[null])
Sugere que o validador vai buscar o perfil, mas recebe o conteúdo em HTML, enquanto está esperando o conteúdo em JSON, pela resposta. Desta forma como está respondendo o servidor, a saída seria indicar explicitamente onde estão os perfis, neste caso apenas um, conforme abaixo:
neste caso o validar faz o download do conteúdo indicado pelo flag ig e, nele está o perfil que será utilizado, o que permite a validação de forma satisfatória. Contudo, o melhor seria o comando anterior, sem exigir que o usuário forneça o arquivo contendo o perfil, dado que se trata de uma URL canônica, conforme funciona com outros perfis publicados. Veja, por exemplo, como uma requisição via httpie funciona para uma URL canônica de um perfil do US Core:
http --follow http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-occupation Accept:application/xml ou ainda
O validador pode ser empregado, via linha de comandos, conforme abaixo:
java -jar validator_cli -version 4.0.1 paciente.json
Se a instância de Patient no arquivo citado contém pelo menos um profile em meta.profile, digamos, https://fhir.fabrica.inf.ufg.br/ig/StructureDefinition/animal, então o resultado é aquele abaixo:
Sugere que o validador vai buscar o perfil, mas recebe o conteúdo em HTML, enquanto está esperando o conteúdo em JSON, pela resposta. Desta forma como está respondendo o servidor, a saída seria indicar explicitamente onde estão os perfis, neste caso apenas um, conforme abaixo:
java -jar validator_cli -version 4.0.1 paciente.json -ig https://fhir.fabrica.inf.ufg.br/ig/site/StructureDefinition-animal.json
neste caso o validar faz o download do conteúdo indicado pelo flag ig e, nele está o perfil que será utilizado, o que permite a validação de forma satisfatória. Contudo, o melhor seria o comando anterior, sem exigir que o usuário forneça o arquivo contendo o perfil, dado que se trata de uma URL canônica, conforme funciona com outros perfis publicados. Veja, por exemplo, como uma requisição via httpie funciona para uma URL canônica de um perfil do US Core:
http --follow http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-occupation Accept:application/xml
ou aindahttp --follow http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-occupation Accept:application/json
recupera no formato XML e JSON, respectivamente, com base na URL canônica, comportamento esperado.