FHIRPath
Implementações do FHIR retornam, em geral, representações de recursos em JSON. Neste caso, o JSON retornado pode ser consultado por meio de JsonPath. Há vasta informação sobre o Jsonpath, como a possibilidade de execução de consultas online, a especificação detalhada, tutorial e até aplicação em java) que executa Jsonpath.
FHIRPath é similar a JsonPath, contudo, contém funções específicas para FHIR. FHIRPath também é usado pela Clinical Quality Language (CQL).
A definição de FHIRPath também está disponível, inclusive em detalhes.
Consultas baseadas em FHIRPath podem ser executadas por meio do portal clinfhir. Adicionalmente, pode-se usar a implementação fhirpath em Javascript, dentre outras opções.
Esta implementação é empregada nos exemplos fornecidos abaixo.
Instalação
$ git clone https://github.com/kyriosdata/rnds
$ cd rnds/tools/fhirpath
$ yarn install
Em projeto existente (dependências de desenvolvimento):
$ yarn add fhirpath --dev
Operação trivial
Contando quantas entradas possuem no documento exemplo.json.
- Qual o tipo do recurso?
$ yarn fhirpath -- -f exemplo.json -e "resourceType"
- Quando o Bundle foi atualizado pela última vez?
$ yarn fhirpath -- -f exemplo.json -e "meta.lastUpdated"
- Qual o identificador local (definido pelo laboratório) do Bundle?
$ yarn fhirpath -- -f exemplo.json -e "identifier.value"
- Quantos recursos estão reunidos no Bundle?
$ npm run fhirpath -- -f exemplo.json -e "entry.count()"
- Quais os tipos dos recursos reunidos no Bundle?
$ yarn fhirpath -- -f exemplo.json -e "entry.resource.resourceType"