Cette page explique comment exporter des messages HL7v2 depuis un entrepôt HL7v2 vers Cloud Storage. Vous pouvez exporter de manière groupée des messages HL7v2 vers Cloud Storage pour un traitement en aval.
Avant de commencer
Consultez Exporter des messages HL7v2 depuis Cloud Storage pour connaître les rôles que vous devez accorder au compte de service Agent de service Cloud Healthcare.
Exporter des messages HL7v2 vers Cloud Storage
L'API Cloud Healthcare exporte chaque message HL7v2 en tant que
dans un fichier NDJSON .ndjson
. Les messages HL7v2 sont classés chronologiquement en fonction de leur valeur sendTime
.
Exporter vers un bucket ou un dossier Cloud Storage plutôt qu'un objet car l'API Cloud Healthcare peut créer plusieurs fichiers NDJSON il y a beaucoup de messages HL7v2.
Si vous exportez vers un dossier Cloud Storage qui n'existe pas, le dossier est créé.
Console
Pour exporter des messages HL7v2 vers Cloud Storage, procédez comme suit :
Dans la console Google Cloud, accédez à la page Ensembles de données.
Cliquez sur l'ensemble de données contenant le store HL7v2 à partir duquel vous exportez des messages HL7v2.
Dans la liste des data stores, sélectionnez Exporter dans la liste Actions du store HL7v2.
La page Exporter des messages HL7v2 s'affiche.
Dans la liste Projet, sélectionnez un projet Cloud Storage.
Dans la liste Emplacement, sélectionnez un bucket Cloud Storage.
Cliquez sur Exporter pour exporter des instances HL7v2 vers l'emplacement défini dans Cloud Storage.
- Pour suivre l'état de l'opération, cliquez sur l'onglet Opérations. Une fois l'opération terminée, les indications suivantes s'affichent :
- La section État de l'opération de longue durée est représentée par une coche verte sous l'en-tête OK.
- La section Présentation comporte une coche verte et un indicateur OK sur la même ligne que l'ID de l'opération.
Exporter des messages HL7v2 vers Cloud Storage à l'aide de filtres
Par défaut, l'exportation de messages HL7v2 vers Cloud Storage inclut tous les messages HL7v2 d'un magasin HL7v2 et tous les champs de chaque objet Message
.
Vous pouvez filtrer les messages HL7v2 exportés comme suit :
- Utilisez des filtres pour exporter un sous-ensemble de messages HL7v2 correspondant à critères de filtre. Pour en savoir plus, consultez Exporter un sous-ensemble de messages HL7v2 à l'aide d'un filtre.
- Utilisez le
MessageView
pour sélectionner les champs dans chaque élémentMessage
à exporter. Pour en savoir plus, consultez Exporter des messages HL7v2 par champMessage
.
Exporter un sous-ensemble de messages HL7v2 à l'aide d'un filtre
Vous pouvez utiliser les champs suivants dans vos critères de filtrage :
Vous pouvez spécifier les paramètres de filtre suivants en tant que critères de filtrage dans la filter
. Pour connaître la syntaxe des filtres et créer des requêtes, consultez la section Chaînes de requête.
message_type
: provenant du champ MSH.9.1. Exemple :NOT message_type = "ADT"
send_date
: dateYYYY-MM-DD
à laquelle le message a été envoyé à partir du segment MSH.7, spécifiée dans le fuseau horaire de l'ensemble de données. Par exemple,send_date < "2017-01-02"
.send_time
: code temporel de l'envoi du message. Ce paramètre provient de le segment MSH.7 du message. Ce paramètre utilise le format temporel RFC 3339 pour les comparaisons. Par exemple,send_time < "2017-01-02T00:00:00-05:00"
.create_time
: horodatage de la création du message dans l'API Cloud Healthcare, en utilisant le format d'heure RFC 3339 à des fins de comparaison. Exemple :create_time < "2017-01-02T00:00:00-05:00"
.send_facility
: centre de soins d'où provient le message, du segment MSH.4. Exemple :send_facility = "ABC"
Les exemples suivants montrent comment spécifier un filtre pour n'exporter que les messages HL7v2 de type ADT
.
REST
Utilisez la méthode
hl7V2Stores.export
pour exporter les messages HL7v2 :Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google CloudLOCATION
: emplacement de l'ensemble de donnéesDATASET_ID
: ensemble de données parent du store HL7v2HL7V2_STORE_ID
: ID du store HL7v2CLOUD_STORAGE_LOCATION
: nom d'un bucket ou d'un dossier Cloud Storage dans lequel les messages HL7v2 exportés sont écrits
Corps JSON de la requête :
{ "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :cat > request.json << 'EOF' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :@' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand ContentOPERATION_ID
. Vous en aurez besoin à l'étape suivante.Utilisez la méthode
projects.locations.datasets.operations.get
pour obtenir l'état de l'opération de longue durée.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google CloudDATASET_ID
: ID de l'ensemble de donnéesLOCATION
: emplacement de l'ensemble de donnéesOPERATION_ID
: ID renvoyé par l'opération de longue durée
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPI Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
"done": true
, l'opération de longue durée est terminée.
Exporter les messages HL7v2 via le champ Message
Dans l'API Cloud Healthcare, les messages HL7v2 sont stockés dans des ressources Message
. Vous pouvez utiliser le MessageView
pour déterminer quels champs de la ressource Message
sont inclus dans
chaque message HL7v2 exporté.
Les exemples suivants montrent comment utiliser le
BASIC
dans MessageView
pour n'inclure que name
dans les messages HL7v2 exportés.
REST
Utilisez le
hl7V2Stores.export
pour exporter les messages HL7v2:Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google CloudLOCATION
: emplacement de l'ensemble de donnéesDATASET_ID
: ensemble de données parent du store HL7v2HL7V2_STORE_ID
: ID du store HL7v2CLOUD_STORAGE_LOCATION
: nom d'un bucket ou d'un dossier Cloud Storage dans lequel les messages HL7v2 exportés sont écrits
Corps JSON de la requête :
{ "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :cat > request.json << 'EOF' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :@' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand ContentOPERATION_ID
. Vous en aurez besoin à l'étape suivante.Utilisez la méthode
projects.locations.datasets.operations.get
pour obtenir l'état de l'opération de longue durée.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google CloudDATASET_ID
: ID de l'ensemble de donnéesLOCATION
: emplacement de l'ensemble de donnéesOPERATION_ID
: ID renvoyé par l'opération de longue durée
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPI Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
"done": true
, l'opération de longue durée est terminée.
Résoudre les problèmes liés aux requêtes d'exportation HL7v2
Si des erreurs se produisent lors de l'exportation de messages HL7v2, elles sont consignées dans Cloud Logging. Pour en savoir plus, consultez la section Afficher les journaux d'erreurs dans Cloud Logging.
Si une opération de longue durée renvoie une erreur, consultez la section Résoudre les problèmes liés aux opérations de longue durée.