Cette page explique comment exporter des messages HL7v2 depuis un magasin 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 la section Exporter des messages HL7v2 depuis Cloud Storage pour connaître les rôles que vous devez attribuer au compte de service Agent de service Cloud Healthcare.
Exporter des messages HL7v2 vers Cloud Storage
L'API Cloud Healthcare exporte chaque message HL7v2 sous forme de ligne dans un fichier NDJSON .ndjson
. Les messages HL7v2 sont classés chronologiquement en fonction de leur valeur sendTime
.
Effectuez l'exportation vers un bucket ou un dossier Cloud Storage plutôt que vers un objet, car l'API Cloud Healthcare peut créer plusieurs fichiers NDJSON lorsqu'il existe de nombreux 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 à un critère de filtre. Pour en savoir plus, consultez la page Exporter un sous-ensemble de messages HL7v2 à l'aide d'un filtre.
- Utilisez l'objet
MessageView
pour sélectionner les champs de chaqueMessage
à exporter. Pour en savoir plus, consultez la page Exporter les messages HL7v2 via le champMessage
.
Exporter un sous-ensemble de messages HL7v2 à l'aide d'un filtre
Vous pouvez utiliser les champs suivants dans vos critères de filtre:
Vous pouvez spécifier les paramètres de filtre suivants comme critères de filtre dans le champ filter
. Pour connaître la syntaxe des filtres et construire des requêtes, consultez la page Chaînes de requête.
message_type
: à partir du champ MSH.9.1. Exemple :NOT message_type = "ADT"
send_date
: date (YYYY-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. Exemple :send_date < "2017-01-02"
send_time
: code temporel de l'envoi du message Ce paramètre provient du segment MSH.7 du message. Ce paramètre utilise le format d'heure RFC 3339 pour les comparaisons. 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, 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 datastore 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, 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 ContentAPIs 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 en fonction du champ Message
Dans l'API Cloud Healthcare, les messages HL7v2 sont stockés dans des ressources Message
. Vous pouvez utiliser l'énumération MessageView
pour déterminer quels champs de la ressource Message
sont inclus dans chaque message HL7v2 exporté.
Les exemples suivants montrent comment utiliser la valeur BASIC
dans MessageView
pour n'inclure que le champ name
dans les messages HL7v2 exportés.
REST
Utilisez la méthode
hl7V2Stores.export
pour exporter les messages HL7v2:Avant d'utiliser les données de requête, 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 datastore 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, 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 ContentAPIs 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 demandes d'exportation HL7v2
Si des erreurs se produisent lors de l'exportation des 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 Dépanner les opérations de longue durée.