Partilhar via


$convert-dados no serviço FHIR

Nota

Em maio de 2024, lançamos uma API de conversor FHIR autônoma dissociada do serviço FHIR e empacotada como uma imagem de contêiner (Docker) para visualização. Além de permitir que você converta dados da fonte de registro para pacotes FHIR R4, o conversor FHIR oferece muitos novos recursos líquidos, como:

  • Conversão de dados bidirecional da fonte de registro para pacotes FHIR R4 e vice-versa. Por exemplo, o conversor FHIR pode converter dados do formato FHIR R4 de volta para o formato HL7v2.
  • Experiência melhorada para personalização de modelos Liquid predefinidos.
  • Exemplos que demonstram como criar um pipeline ETL (extrair, transformar, carregar) com o Azure Data Factory (ADF).

Para implementar a imagem do contêiner do conversor FHIR, consulte o projeto GitHub do conversor FHIR.

A $convert-data operação no serviço FHIR® permite converter dados de saúde de vários formatos em dados FHIR R4 . A $convert-data operação usa modelos Liquid do projeto FHIR Converter para conversão de dados FHIR. Você pode personalizar esses modelos de conversão conforme necessário.

A $convert-data operação suporta quatro tipos de conversão de dados:

  • HL7v2 para FHIR R4
  • C-CDA para FHIR R4
  • JSON para FHIR R4 (destinado a mapeamentos de conversão personalizados)
  • FHIR STU3 para FHIR R4

Utilizar o ponto final $convert-data

Use o $convert-data ponto de extremidade como um componente dentro de um pipeline ETL (extrair, transformar e carregar) para a conversão de dados de integridade de vários formatos (por exemplo: HL7v2, CCDA, JSON e FHIR STU3) no formato FHIR. Crie um pipeline ETL para um fluxo de trabalho completo à medida que converte seus dados de integridade. Recomendamos que você use um mecanismo de ETL baseado em Aplicativos Lógicos do Azure ou no Azure Data Factory. Por exemplo, um fluxo de trabalho pode incluir ingestão de dados, execução de $convert-data operações, validação, pré e pós-processamento de dados, enriquecimento de dados, desduplicação de dados e carregamento de dados para persistência no serviço FHIR.

A $convert-data operação é integrada ao serviço FHIR como uma ação da API REST. Você pode chamar o $convert-data ponto de extremidade da seguinte maneira:

POST {{fhirurl}}/$convert-data

Os dados de saúde para conversão são entregues ao serviço FHIR no corpo do $convert-data pedido. Se a solicitação for bem-sucedida, o serviço FHIR retornará uma resposta de pacote FHIR com os dados convertidos para FHIR R4.

Parâmetros

Uma $convert-data chamada de operação empacota os dados de integridade para conversão dentro de parâmetros formatados em JSON no corpo da solicitação. Os parâmetros são descritos na tabela a seguir:

Nome do parâmetro Descrição Valores aceites
inputData Carga útil de dados a ser convertida em FHIR. Para Hl7v2: string
Para Ccda: XML
Para Json: JSON
Para FHIR STU3: JSON
inputDataType Tipo de entrada de dados. Hl7v2, Ccda, Json, Fhir
templateCollectionReference Referência a uma coleção de modelos de imagem OCI no Registro de Contêiner do Azure. A referência é a uma imagem que contém modelos Liquid para usar na conversão. Ele pode se referir a modelos padrão ou a uma imagem de modelo personalizada registrada no serviço FHIR. As seções a seguir abordam a personalização dos modelos, hospedá-los no Registro de Contêiner do Azure e registrar-se no serviço FHIR. Para modelos padrão/exemplo :
Modelos HL7v2 :
microsofthealth/fhirconverter:default
microsofthealth/hl7v2templates:default
Modelos C-CDA :
microsofthealth/ccdatemplates:default
Modelos JSON :
microsofthealth/jsontemplates:default
Modelos FHIR STU3 :
microsofthealth/stu3tor4templates:default

Para modelos personalizados :
<RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag>
rootTemplate O modelo raiz a ser usado durante a transformação dos dados. Para HL7v2:
ADT_A01, ADT_A02, ADT_A03, ADT_A04, ADT_A05, ADT_A08, ADT_A11, ADT_A13, ADT_A14, ADT_A15, ADT_A16, ADT_A25, ADT_A26, ADT_A27, ADT_A28, ADT_A29, ADT_A31, ADT_A47, ADT_A60, OML_O21, ORU_R01, ORM_O01, VXU_V04, SIU_S12, SIU_S13, SIU_S14, SIU_S15, SIU_S16, SIU_S17, SIU_S26, MDM_T01 MDM_T02

Para C-CDA:
CCD, ConsultaNota, AltaResumo, História e Físico, Nota Operatória, ProcedimentoNota, ProgressoNota, ReferênciaNota, TransferênciaResumo

Para JSON:
ExemploPaciente, Stu3ChargeItem

Para FHIR STU3:
Nome do recurso FHIR STU3 (por exemplo: Paciente, Observação, Organização)

Considerações

  • Os modelos FHIR STU3 para FHIR R4 são modelos Liquid que fornecem mapeamentos de diferenças de campo apenas entre um recurso FHIR STU3 e seu recurso equivalente na especificação FHIR R4. Alguns dos recursos FHIR STU3 são renomeados ou removidos do FHIR R4. Para obter mais informações sobre as diferenças e restrições de recursos para a conversão FHIR STU3 para FHIR R4, consulte Diferenças e restrições de recursos para a conversão FHIR STU3 para FHIR R4.

  • Os modelos JSON são modelos de exemplo para uso na criação de seus próprios mapeamentos de conversão. Eles não são modelos padrão que aderem a qualquer tipo de mensagem de dados de integridade predefinidos. JSON em si não é especificado como um formato de dados de integridade, ao contrário de HL7v2 ou C-CDA. Portanto, em vez de fornecer modelos JSON padrão, fornecemos alguns modelos JSON de exemplo como ponto de partida para seus próprios mapeamentos personalizados.

Aviso

Os modelos padrão são lançados sob a Licença MIT e não são suportados pela Microsoft.

Os modelos padrão são fornecidos apenas para ajudá-lo a começar com seu fluxo de trabalho de conversão de dados. Esses modelos padrão não se destinam à produção e podem mudar quando a Microsoft lançar atualizações para o serviço FHIR. Para ter um comportamento consistente de conversão de dados em diferentes versões do serviço FHIR, você deve fazer o seguinte:

  1. Hospede sua própria cópia dos modelos em uma instância do Registro de Contêiner do Azure.
  2. Registe os modelos no serviço FHIR.
  3. Use seus modelos registrados em suas chamadas de API.
  4. Verifique se o comportamento de conversão atende aos seus requisitos.

Para obter mais informações sobre como hospedar seus próprios modelos, consulte Hospedar seus próprios modelos

Pedido de amostra

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "inputData",
            "valueString": "MSH|^~\\&|SIMHOSP|SFAC|RAPP|RFAC|20200508131015||ADT^A01|517|T|2.3|||AL||44|ASCII\nEVN|A01|20200508131015|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|\nPID|1|3735064194^^^SIMULATOR MRN^MRN|3735064194^^^SIMULATOR MRN^MRN~2021051528^^^NHSNBR^NHSNMBR||Kinmonth^Joanna^Chelsea^^Ms^^D||19870624000000|F|||89 Transaction House^Handmaiden Street^Wembley^^FV75 4GJ^GBR^HOME||020 3614 5541^PRN|||||||||C^White - Other^^^||||||||\nPD1|||FAMILY PRACTICE^^12345|\nPV1|1|I|OtherWard^MainRoom^Bed 183^Simulated Hospital^^BED^Main Building^4|28b|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|||CAR|||||||||16094728916771313876^^^^visitid||||||||||||||||||||||ARRIVED|||20200508131015||"
        },
        {
            "name": "inputDataType",
            "valueString": "Hl7v2"
        },
        {
            "name": "templateCollectionReference",
            "valueString": "microsofthealth/fhirconverter:default"
        },
        {
            "name": "rootTemplate",
            "valueString": "ADT_A01"
        }
    ]
}

Resposta da amostra

{
    "resourceType": "Bundle",
    "type": "batch",
    "entry": [
        {
            "fullUrl": "urn:uuid:9d697ec3-48c3-3e17-db6a-29a1765e22c6",
            "resource": {
                "resourceType": "Patient",
                "id": "9d697ec3-48c3-3e17-db6a-29a1765e22c6",
          ...
          ...
            },
            "request": {
                "method": "PUT",
                "url": "Location/50becdb5-ff56-56c6-40a1-6d554dca80f0"
            }
        }
    ]
}

O resultado da conversão FHIR é um pacote FHIR como um lote.

  • O pacote FHIR deve estar alinhado com as expectativas da especificação FHIR R4 - Bundle - FHIR v4.0.1.
  • Se você está tentando validar em relação a um perfil específico, você precisa fazer algum pós-processamento utilizando a operação FHIR $validate .

Próximos passos

Definir configurações para $convert-dados usando o portal do Azure

Solucionar problemas de dados $convert

$convert perguntas frequentes sobre dados

Nota

FHIR® é uma marca registada da HL7 e é utilizada com a permissão da HL7.