$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 di operazioni $convert-data
, 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 richiesta $convert-data
. Se la richiesta ha esito positivo, il servizio FHIR restituisce una risposta bundle FHIR con i dati convertiti in FHIR R4.
Parametri
Una chiamata operativa $convert-data
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 , Json , Fhir |
templateCollectionReference | Riferimento a una raccolta di modelli 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 modelli predefiniti/campione: 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 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. Di conseguenza, 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 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:
- Ospitare una copia personalizzata dei modelli in un'istanza di Registro Azure Container.
- Registrare i modelli nel servizio FHIR.
- Usare i modelli registrati nelle chiamate API.
- 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 $validate FHIR.
Passaggi successivi
Configurare le impostazioni per $convert-data usando il portale di Azure
Risolvere i problemi relativi a $convert-data
Domande frequenti su $convert-data
Nota
FHIR® è un marchio registrato di HL7 ed è usato con l'autorizzazione di HL7.