$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. Pode personalizar estes 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. Como resultado, 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:
- Hospede sua própria cópia dos modelos em uma instância do Registro de Contêiner do Azure.
- Registe os modelos no serviço FHIR.
- Use seus modelos registrados em suas chamadas de API.
- 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
Resolver problemas de $convert-data
Nota
FHIR® é uma marca registada da HL7 e é utilizada com a permissão da HL7.