Compartilhar via


dados $convert no serviço FHIR

Observação

Em maio de 2024, lançamos uma API autônoma de conversor do FHIR, separada do serviço FHIR e empacotada como uma imagem de contêiner (Docker) para versão prévia. Além de permitir converter dados da fonte de registro em pacotes FHIR R4, o conversor FHIR oferece muitos novos recursos de rede, tais como:

  • Conversão bidirecional de dados da fonte de registro para pacotes do FHIR R4 e voltar. Por exemplo, o conversor do FHIR pode converter dados do formato FHIR R4 de volta para o formato HL7v2.
  • Experiência melhorada para personalização de modelos Liquid padrões.
  • Exemplos que demonstram como criar um pipeline de ETL (extração, transformação e carregamento) com o ADF (Azure Data Factory).

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

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

A operação $convert-data dá suporte a 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

Usar o ponto de extremidade $convert-data

Use o ponto de extremidade $convert-data como um componente dentro de um pipeline de ETL (extração, transformação e carregamento), para a conversão de dados de integridade de vários formatos (por exemplo: HL7v2, CCDA, JSON e FHIR STU3) no formato do FHIR. Crie um pipeline de ETL para um fluxo de trabalho completo à medida que você converte seus dados de integridade. É recomendável usar um mecanismo de ETL com base nos 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 operações $convert-data, validação, pré e pós-processamento de dados, enriquecimento de dados, eliminação de duplicação de dados e carregamento de dados para persistência no serviço FHIR.

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

POST {{fhirurl}}/$convert-data

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

Parâmetros

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

Nome do Parâmetro Descrição Valores aceitos
inputData Carga de dados a ser convertida em FHIR. Para Hl7v2: cadeia de caracteres
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 da OCI no Registro de Contêiner do Azure. A referência é para uma imagem que contém modelos Liquid a serem usados para conversão. Ela pode se referir a modelos padrão ou a uma imagem de modelo personalizada registrada no serviço FHIR. As seções a seguir abrangem personalizar os modelos, hospedá-los no Registro de Contêiner do Azure e o registo no serviço FHIR. Para modelos padrão/de 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 na 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, ConsultationNote, DischargeSummary, HistoryandPhysical, OperativeNote, ProcedureNote, ProgressNote, ReferralNote, TransferSummary

Para JSON:
ExamplePatient, Stu3ChargeItem

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

Considerações

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

  • 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 nenhum tipo predefinido de mensagem de dados de integridade. O 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 do MIT e não têm suporte da Microsoft.

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

  1. Hospede sua própria cópia dos modelos em uma instância do Registro de Contêiner do Azure.
  2. Registre os modelos no serviço FHIR.
  3. Use seus modelos registrados em suas chamadas à 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

Solicitação de exemplo

{
    "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 de exemplo

{
    "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 do FHIR é um pacote do FHIR como um lote.

  • O pacote do FHIR deve se alinhar às expectativas da especificação do FHIR R4 – Bundle – FHIR v4.0.1.
  • Caso esteja tentando validar em relação a um perfil específico, precisará fazer alguns pós-processamento utilizando a operação de$validate do FHIR.

Próximas etapas

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

Solucionar problemas de dados $convert

Perguntas frequentes sobre dados $convert

Observação

FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.