Share via


$convert-data nel servizio FHIR

Nota

A maggio 2024 è stata rilasciata un'API del convertitore FHIR autonoma disaccoppiata dal servizio FHIR e inserita in un pacchetto come immagine contenitore (Docker) per l'anteprima. Oltre a consentire di convertire i dati dall'origine del record ai bundle FHIR R4, il convertitore FHIR offre molte nuove funzionalità nette, ad esempio:

  • Conversione bidirezionale dei dati dall'origine del record ai bundle FHIR R4 e indietro. Ad esempio, il convertitore FHIR può convertire i dati dal formato FHIR R4 al formato HL7v2.
  • Esperienza migliorata per la personalizzazione dei modelli Liquid predefiniti.
  • Esempi che illustrano come creare una pipeline ETL (estrazione, trasformazione, caricamento) con Azure Data Factory (ADF).

Per implementare l'immagine del contenitore del convertitore FHIR, vedere il progetto GitHub del convertitore FHIR.

L'operazione $convert-data nel servizio FHIR® consente di convertire i dati di integrità da diversi formati in dati FHIR R4 . L'operazione $convert-data usa modelli Liquid del progetto FHIR Converter per la conversione dei dati FHIR. È possibile personalizzare questi modelli di conversione in base alle esigenze.

L'operazione $convert-data supporta quattro tipi di conversione dei dati:

  • Da HL7v2 a FHIR R4
  • Da C-CDA a FHIR R4
  • Da JSON a FHIR R4 (destinato ai mapping di conversione personalizzati)
  • Da FHIR STU3 a FHIR R4

Usare l'endpoint $convert-data

Usare l'endpoint $convert-data come componente all'interno di una pipeline ETL (estrazione, trasformazione e caricamento) per la conversione dei dati di integrità da diversi formati (ad esempio: HL7v2, CCDA, JSON e FHIR STU3) nel formato FHIR. Creare una pipeline ETL per un flusso di lavoro completo durante la conversione dei dati di integrità. È consigliabile usare un motore ETL basato su App per la logica di Azure o Azure Data Factory. Ad esempio, un flusso di lavoro può includere inserimento dati, esecuzione $convert-data di operazioni, convalida, pre-elaborazione dei dati e post-elaborazione, arricchimento dei dati, deduplicazione dei dati e caricamento dei dati per la persistenza nel servizio FHIR.

L'operazione $convert-data è integrata nel servizio FHIR come azione dell'API REST. È possibile chiamare l'endpoint $convert-data come segue:

POST {{fhirurl}}/$convert-data

I dati di integrità per la conversione vengono recapitati al servizio FHIR nel corpo della $convert-data richiesta. Se la richiesta ha esito positivo, il servizio FHIR restituisce una risposta bundle FHIR con i dati convertiti in FHIR R4.

Parametri

Una $convert-data chiamata di operazione crea un pacchetto dei dati di integrità per la conversione all'interno di parametri in formato JSON nel corpo della richiesta. I parametri vengono descritti nella tabella seguente:

Nome parametro Descrizione Valori accettati
inputData Payload dei dati da convertire in FHIR. Per Hl7v2: stringa
Per Ccda: XML
Per Json: JSON
Per FHIR STU3: JSON
inputDataType Tipo di input dati. Hl7v2, Ccda, JsonFhir
templateCollectionReference Riferimento a una raccolta di modelli di immagine OCI in Registro Azure Container. Il riferimento è a un'immagine che contiene modelli Liquid da usare per la conversione. Può fare riferimento ai modelli predefiniti o a un'immagine modello personalizzata registrata all'interno del servizio FHIR. Le sezioni seguenti illustrano la personalizzazione dei modelli, l'hosting in Registro Azure Container e la registrazione nel servizio FHIR. Per i modelli predefiniti/di esempio :
Modelli HL7v2 :
microsofthealth/fhirconverter:default
microsofthealth/hl7v2templates:default
Modelli C-CDA :
microsofthealth/ccdatemplates:default
Modelli JSON :
microsofthealth/jsontemplates:default
Modelli FHIR STU3 :
microsofthealth/stu3tor4templates:default

Per i modelli personalizzati :
<RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag>
rootTemplate Modello radice da usare durante la trasformazione dei dati. Per 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

Per C-CDA:
CCD, ConsultationNote, DischargeSummary, HistoryandPhysical, OperativeNote, ProcedureNote, ProgressNote, ReferralNote, TransferSummary

Per JSON:
ExamplePatient, Stu3ChargeItem

Per FHIR STU3:
Nome della risorsa FHIR STU3 (ad esempio: Paziente, Osservazione, Organizzazione)

Considerazioni

  • I modelli da FHIR STU3 a FHIR R4 sono modelli Liquid che forniscono mapping di differenze di campo solo tra una risorsa FHIR STU3 e la relativa risorsa equivalente nella specifica FHIR R4. Alcune delle risorse FHIR STU3 vengono rinominate o rimosse da FHIR R4. Per altre informazioni sulle differenze e sui vincoli delle risorse per la conversione da FHIR STU3 a FHIR R4, vedere Differenze e vincoli delle risorse per la conversione da FHIR STU3 a FHIR R4.

  • I modelli JSON sono modelli di esempio da usare per la creazione di mapping di conversione personalizzati. Non sono modelli predefiniti che rispettano qualsiasi tipo di messaggio dati di integrità predefinito. JSON stesso non viene specificato come formato di dati di integrità, a differenza di HL7v2 o C-CDA. Pertanto, invece di fornire modelli JSON predefiniti, vengono forniti alcuni modelli JSON di esempio come punto di partenza per i mapping personalizzati.

Avviso

I modelli predefiniti vengono rilasciati con la licenza MIT e non sono supportati da Microsoft.

I modelli predefiniti vengono forniti solo per iniziare a usare il flusso di lavoro di conversione dei dati. Questi modelli predefiniti non sono destinati all'ambiente di produzione e possono cambiare quando Microsoft rilascia gli aggiornamenti per il servizio FHIR. Per avere un comportamento coerente di conversione dei dati tra versioni diverse del servizio FHIR, è necessario eseguire le operazioni seguenti:

  1. Ospitare una copia personalizzata dei modelli in un'istanza di Registro Azure Container.
  2. Registrare i modelli nel servizio FHIR.
  3. Usare i modelli registrati nelle chiamate API.
  4. Verificare che il comportamento di conversione soddisfi i requisiti.

Per altre informazioni sull'hosting di modelli personalizzati, vedere Ospitare modelli personalizzati

Esempio di richiesta

{
    "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"
        }
    ]
}

Risposta di esempio

{
    "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"
            }
        }
    ]
}

Il risultato della conversione FHIR è un bundle FHIR come batch.

  • Il bundle FHIR deve essere allineato alle aspettative della specifica FHIR R4 - Bundle - FHIR v4.0.1.
  • Se si sta tentando di eseguire la convalida in base a un profilo specifico, è necessario eseguire alcune operazioni di post-elaborazione usando l'operazione di $validate FHIR.

Passaggi successivi

Configurare le impostazioni per i dati di $convert usando il portale di Azure

Risolvere i problemi relativi a $convert-data

Domande frequenti su $convert-data

Nota

FHIR® è un marchio registrato di HL7 e viene usato con l'autorizzazione di HL7.