Halaman ini berisi contoh kasus penggunaan, mulai dari yang sederhana hingga kompleks, yang menunjukkan kapan dan cara mengonfigurasi parser skema kustom di penyimpanan HL7v2. Setiap kasus penggunaan berisi pesan HL7v2 yang menjadi dasar parser skema kustom.
Terminator segmen kustom dan kolom kustom
Contoh di bagian ini menggunakan contoh pesan yang tidak standar dengan cara berikut:
- Pemisah segmen pesan contoh adalah baris baru (
\n
), bukan carriage return standar (\r
). - Contoh pesan memiliki segmen software (
SFT
) dengan sub-kolom tambahan: kolom kustom yang menentukan URLhttps://example.com/healthcare-api/
.
MSH|^~\&|My EHR|My Test Facility||My EHR Facility|20150926140551||ORU^R01^ORU_R01|My-LOI_5.0_1.1-NG|T|2.5.1|||AL|AL|||||\n
SFT|Google^D|v1|Healthcare API|1||20190601|https://example.com/healthcare-api/\n
PID|1||PATID5421^^^My MPI^MR||Zhang^Sally^Brian^^^^L||19840611|F||2106-3^White^HL70005|123 Main Street^^Mountain Springs^CO^80439^^H||^PRN^PH^^^203^2290210|||||||||N^Not Hispanic or Latino^HL70189\n
ORC|RE|833582639|3266238193||CM||||20101234567890\n
OBR|1|833582639|3266238193|us-0005^Vital Signs^WinPath^^||20101234567890|20101234567890|||||||20101234567890||||||||20101234567890|||F||1\n
OBX|1|NM|tt-0005-07^MDC_PULS_RATE_NON_INV^MDC^^||52.31|MDC_DIM_BEAT_PER_MIN|50-200||||F|||20101234567890||\n
OBX|2|NM|tt-0005-12^PAIN LEVEL^L^^||1.71|/10|1-10||||F|||20101234567890||\n
OBX|3|NM|tt-0005-09^MDC_TEMP^MDC^^||36.22|MDC_DIM_DEGC|36-38||||F|||20101234567890||\n
Memperbarui penyimpanan HL7v2 dengan terminator segmen kustom
Anda harus menentukan
terminator segmen
jika pesan Anda menggunakan terminator nonstandar seperti contoh pesan yang diberikan
di Terminator segmen kustom dan kolom kustom.
Contoh pesan menggunakan \n
nonstandar sebagai terminator segmennya.
Contoh berikut menunjukkan cara mengonfigurasi segmentTerminator
di
ParserConfig
saat Anda
membuat penyimpanan HL7v2.
Terminator segmen ditetapkan ke Cg==
, yang merupakan encoding base-64 dari
\n
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- LOCATION: lokasi set data induk
- DATASET_ID: set data induk penyimpanan HL7v2
- HL7V2_STORE_ID: ID penyimpanan HL7v2
Meminta isi JSON:
{ "parserConfig": { "segmentTerminator": "Cg=="" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "parserConfig": { "segmentTerminator": "Cg=="" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "parserConfig": { "segmentTerminator": "Cg=="" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Memperbarui penyimpanan HL7v2 dengan skema kustom
Anda dapat memperbarui penyimpanan HL7v2 dengan skema kustom yang ditentukan dalam format JSON.
Setelah mengonfigurasi skema kustom yang menyertakan kolom tambahan di segmen SFT
, Anda dapat menyerap pesan contoh.
Untuk mengetahui informasi tentang cara menentukan kolom kustom, lihat
SchemaPackage
.
Konfigurasi yang ditentukan dalam contoh ini memiliki perilaku berikut:
- Menulis ulang definisi segmen
SFT
agar memiliki kolom URL sebagai kolom7
. - Filter
version
menentukan pesan masuk mana yang akan diterapkan skema kustomnya berdasarkan kolom di header segmen pesan (MSH
). Jika Anda tidak menyediakan filterversion
, skema akan diterapkan ke semua pesan HL7v2 di penyimpanan HL7v2. Dalam contoh ini, segmenSFT
kustom berlaku saat kolom aplikasi pengiriman berisiMy EHR
. - Kolom untuk kolom tambahan diberi nama
7
agar konsisten dengan spesifikasi lainnya. Anda juga dapat menamainyaURL
agar lebih deskriptif.
Untuk memperbarui toko dengan skema kustom, gunakan
metode
projects.locations.datasets.hl7V2Stores.patch
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan HL7v2
- HL7V2_STORE_ID: ID penyimpanan HL7v2
Meminta isi JSON:
{ "parserConfig": { "schema": { "schematizedParsingType": "HARD_FAIL", "types": [ { "version": [ { "mshField": "3.1", "value": "My EHR" } ], "type": [ { "name": "SFT", "fields": [ { "name": "1", "type": "XON", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "3", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "4", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "5", "type": "TX", "maxOccurs": 1 }, { "name": "6", "type": "DTM", "maxOccurs": 1 }, { "name": "7", "type": "ST", "maxOccurs": 1 } ] } ] } ] }, "version": "V3" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "parserConfig": { "schema": { "schematizedParsingType": "HARD_FAIL", "types": [ { "version": [ { "mshField": "3.1", "value": "My EHR" } ], "type": [ { "name": "SFT", "fields": [ { "name": "1", "type": "XON", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "3", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "4", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "5", "type": "TX", "maxOccurs": 1 }, { "name": "6", "type": "DTM", "maxOccurs": 1 }, { "name": "7", "type": "ST", "maxOccurs": 1 } ] } ] } ] }, "version": "V3" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PATCH \
-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?updateMask=parser_config.schema"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "parserConfig": { "schema": { "schematizedParsingType": "HARD_FAIL", "types": [ { "version": [ { "mshField": "3.1", "value": "My EHR" } ], "type": [ { "name": "SFT", "fields": [ { "name": "1", "type": "XON", "minOccurs": 1, "maxOccurs": 1 }, { "name": "2", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "3", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "4", "type": "ST", "minOccurs": 1, "maxOccurs": 1 }, { "name": "5", "type": "TX", "maxOccurs": 1 }, { "name": "6", "type": "DTM", "maxOccurs": 1 }, { "name": "7", "type": "ST", "maxOccurs": 1 } ] } ] } ] }, "version": "V3" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-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?updateMask=parser_config.schema" | Select-Object -Expand Content
V3
yang direkomendasikan.
Menyerap dan mengurai pesan HL7v2 menggunakan skema kustom
Contoh berikut menunjukkan cara menyerap pesan HL7v2 versi yang dienkode base-64
dari Terminator segmen kustom dan kolom kustom.
Untuk menyerap pesan HL7v2, Anda menggunakan metode
projects.locations.datasets.hl7V2Stores.messages.ingest
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- LOCATION: lokasi set data induk
- DATASET_ID: set data induk penyimpanan HL7v2
- HL7V2_STORE_ID: ID penyimpanan HL7v2
Meminta isi JSON:
{ "message": { "data": "TVNIfF5+XCZ8TXkgRUhSfE15IFRlc3QgRmFjaWxpdHl8fE15IEVIUiBGYWNpbGl0eXwyMDE1MDkyNjE0MDU1MXx8T1JVXlIwMV5PUlVfUjAxfE15LUxPSV81LjBfMS4xLU5HfFR8Mi41LjF8fHxBTHxBTHx8fHx8ClNGVHxHb29nbGVeRHx2MXxIZWFsdGhjYXJlIEFQSXwxfHwyMDE5MDYwMXxodHRwczovL2V4YW1wbGUuY29tL2hlYWx0aGNhcmUvClBJRHwxfDQwOTAzMzEzMjBeXl5TSU1VTEFUT1IgTVJOXk1STnw0MDkwMzMxMzIwXl5eU0lNVUxBVE9SIE1STl5NUk5+Mjg4ODUyNzE1NF5eXk5IU05CUl5OSFNOTUJSfHxEYXZpc15DaGVsc2VhXl5eTWlzc15eQ1VSUkVOVHx8MjAwOTEwMTcwMDAwMDB8Rnx8fDE4MSBUcmFuc21pc3Npb24gUm9hZF5eTG9uZG9uXl5LRzIyIDlIWF5HQlJeSE9NRXx8MDIwIDgxMjIgOTk0N15IT01FfHx8fHx8fHx8SF5Bc2lhbiBvciBBc2lhbiBCcml0aXNoIC0gSW5kaWFuXl5efHx8fHx8fHwKUFYxfDF8SXxPdGhlcldhcmReTWFpblJvb21eQmVkIDFeU2ltdWxhdGVkIEhvc3BpdGFsXl5CRUReTWFpbiBCdWlsZGluZ140fDI4Ynx8fEMwMDNeQ3VkZHleS2V2aW5eXl5Ecl5eXkRSTkJSXlBSU05MXl5eT1JHRFJ8fHxVUk98fHx8fHx8fHwxMjUxMzI0NzIzMjIzODk0ODc4M15eXl52aXNpdGlkfHx8fHx8fHx8fHx8fHx8fHx8fHx8fEFSUklWRUR8fHwyMDIwMDUwNjE3MDgyMnx8Ck9SQ3xSRXw4MzM1ODI2Mzl8MzI2NjIzODE5M3x8Q018fHx8MjAyMDA1MDYxNzA4MjIKT0JSfDF8ODMzNTgyNjM5fDMyNjYyMzgxOTN8dXMtMDAwNV5WaXRhbCBTaWduc15XaW5QYXRoXl58fDIwMjAwNTA2MTcwODIyfDIwMjAwNTA2MTcwODIyfHx8fHx8fDIwMjAwNTA2MTcwODIyfHx8fHx8fHwyMDIwMDUwNjE3MDgyMnx8fEZ8fDEKT0JYfDF8VFh8dHQtMDAwNS0xMV5PeHlnZW5EZXZeV2VsY2hBbGx5bl5efHxWZW50dXJpfHx8fHx8Rnx8fDIwMjAwNTA2MTcwODIyfHwK" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "message": { "data": "TVNIfF5+XCZ8TXkgRUhSfE15IFRlc3QgRmFjaWxpdHl8fE15IEVIUiBGYWNpbGl0eXwyMDE1MDkyNjE0MDU1MXx8T1JVXlIwMV5PUlVfUjAxfE15LUxPSV81LjBfMS4xLU5HfFR8Mi41LjF8fHxBTHxBTHx8fHx8ClNGVHxHb29nbGVeRHx2MXxIZWFsdGhjYXJlIEFQSXwxfHwyMDE5MDYwMXxodHRwczovL2V4YW1wbGUuY29tL2hlYWx0aGNhcmUvClBJRHwxfDQwOTAzMzEzMjBeXl5TSU1VTEFUT1IgTVJOXk1STnw0MDkwMzMxMzIwXl5eU0lNVUxBVE9SIE1STl5NUk5+Mjg4ODUyNzE1NF5eXk5IU05CUl5OSFNOTUJSfHxEYXZpc15DaGVsc2VhXl5eTWlzc15eQ1VSUkVOVHx8MjAwOTEwMTcwMDAwMDB8Rnx8fDE4MSBUcmFuc21pc3Npb24gUm9hZF5eTG9uZG9uXl5LRzIyIDlIWF5HQlJeSE9NRXx8MDIwIDgxMjIgOTk0N15IT01FfHx8fHx8fHx8SF5Bc2lhbiBvciBBc2lhbiBCcml0aXNoIC0gSW5kaWFuXl5efHx8fHx8fHwKUFYxfDF8SXxPdGhlcldhcmReTWFpblJvb21eQmVkIDFeU2ltdWxhdGVkIEhvc3BpdGFsXl5CRUReTWFpbiBCdWlsZGluZ140fDI4Ynx8fEMwMDNeQ3VkZHleS2V2aW5eXl5Ecl5eXkRSTkJSXlBSU05MXl5eT1JHRFJ8fHxVUk98fHx8fHx8fHwxMjUxMzI0NzIzMjIzODk0ODc4M15eXl52aXNpdGlkfHx8fHx8fHx8fHx8fHx8fHx8fHx8fEFSUklWRUR8fHwyMDIwMDUwNjE3MDgyMnx8Ck9SQ3xSRXw4MzM1ODI2Mzl8MzI2NjIzODE5M3x8Q018fHx8MjAyMDA1MDYxNzA4MjIKT0JSfDF8ODMzNTgyNjM5fDMyNjYyMzgxOTN8dXMtMDAwNV5WaXRhbCBTaWduc15XaW5QYXRoXl58fDIwMjAwNTA2MTcwODIyfDIwMjAwNTA2MTcwODIyfHx8fHx8fDIwMjAwNTA2MTcwODIyfHx8fHx8fHwyMDIwMDUwNjE3MDgyMnx8fEZ8fDEKT0JYfDF8VFh8dHQtMDAwNS0xMV5PeHlnZW5EZXZeV2VsY2hBbGx5bl5efHxWZW50dXJpfHx8fHx8Rnx8fDIwMjAwNTA2MTcwODIyfHwK" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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/messages:ingest"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "message": { "data": "TVNIfF5+XCZ8TXkgRUhSfE15IFRlc3QgRmFjaWxpdHl8fE15IEVIUiBGYWNpbGl0eXwyMDE1MDkyNjE0MDU1MXx8T1JVXlIwMV5PUlVfUjAxfE15LUxPSV81LjBfMS4xLU5HfFR8Mi41LjF8fHxBTHxBTHx8fHx8ClNGVHxHb29nbGVeRHx2MXxIZWFsdGhjYXJlIEFQSXwxfHwyMDE5MDYwMXxodHRwczovL2V4YW1wbGUuY29tL2hlYWx0aGNhcmUvClBJRHwxfDQwOTAzMzEzMjBeXl5TSU1VTEFUT1IgTVJOXk1STnw0MDkwMzMxMzIwXl5eU0lNVUxBVE9SIE1STl5NUk5+Mjg4ODUyNzE1NF5eXk5IU05CUl5OSFNOTUJSfHxEYXZpc15DaGVsc2VhXl5eTWlzc15eQ1VSUkVOVHx8MjAwOTEwMTcwMDAwMDB8Rnx8fDE4MSBUcmFuc21pc3Npb24gUm9hZF5eTG9uZG9uXl5LRzIyIDlIWF5HQlJeSE9NRXx8MDIwIDgxMjIgOTk0N15IT01FfHx8fHx8fHx8SF5Bc2lhbiBvciBBc2lhbiBCcml0aXNoIC0gSW5kaWFuXl5efHx8fHx8fHwKUFYxfDF8SXxPdGhlcldhcmReTWFpblJvb21eQmVkIDFeU2ltdWxhdGVkIEhvc3BpdGFsXl5CRUReTWFpbiBCdWlsZGluZ140fDI4Ynx8fEMwMDNeQ3VkZHleS2V2aW5eXl5Ecl5eXkRSTkJSXlBSU05MXl5eT1JHRFJ8fHxVUk98fHx8fHx8fHwxMjUxMzI0NzIzMjIzODk0ODc4M15eXl52aXNpdGlkfHx8fHx8fHx8fHx8fHx8fHx8fHx8fEFSUklWRUR8fHwyMDIwMDUwNjE3MDgyMnx8Ck9SQ3xSRXw4MzM1ODI2Mzl8MzI2NjIzODE5M3x8Q018fHx8MjAyMDA1MDYxNzA4MjIKT0JSfDF8ODMzNTgyNjM5fDMyNjYyMzgxOTN8dXMtMDAwNV5WaXRhbCBTaWduc15XaW5QYXRoXl58fDIwMjAwNTA2MTcwODIyfDIwMjAwNTA2MTcwODIyfHx8fHx8fDIwMjAwNTA2MTcwODIyfHx8fHx8fHwyMDIwMDUwNjE3MDgyMnx8fEZ8fDEKT0JYfDF8VFh8dHQtMDAwNS0xMV5PeHlnZW5EZXZeV2VsY2hBbGx5bl5efHxWZW50dXJpfHx8fHx8Rnx8fDIwMjAwNTA2MTcwODIyfHwK" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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/messages:ingest" | Select-Object -Expand Content
ORU_R01.SFT.7
.
Heuristik parser menggunakan segmen kustom
Contoh berikut menunjukkan cara parser HL7v2 menggunakan heuristik untuk mengurai pesan dengan konfigurasi minor di penyimpanan HL7v2.
Contoh ini menggunakan pesan HL7v2 berikut:
MSH|^~\&$|||||||ADT^A01|||2.1
EVN|\P\\L\\H\\N\
PID|1
ZCD|1
Pesan HL7v2 bersifat non-standar karena segmen ZCD
tidak ditentukan dalam standar HL7v2.
Membuat penyimpanan HL7v2 dengan skema kustom
Untuk membuat penyimpanan HL7v2 dengan skema kustom, gunakan metode
projects.locations.datasets.hl7V2Stores.create
.
Perhatikan bahwa konfigurasi hanya menggunakan tiga kolom berikut dan tidak ada array schemas
atau types
:
"unexpectedSegmentHandling": "PARSE"
"ignoreMinOccurs": "true"
"schematizedParsingType": "HARD_FAIL"
Tanpa menentukan hal lain tentang definisi pesan atau jenisnya,
parser HL7v2 menentukan bahwa pesan tersebut adalah pesan ADT_A01
dan
mengurai segmen MSH
, EVN
, dan PID
, serta segmen ZCD
kustom.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- LOCATION: lokasi set data induk
- DATASET_ID: set data induk penyimpanan HL7v2
- HL7V2_STORE_ID: ID penyimpanan HL7v2
Meminta isi JSON:
{ "parserConfig": { "schema": { "unexpectedSegmentHandling": "PARSE", "ignoreMinOccurs": "true", "schematizedParsingType": "HARD_FAIL" } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "parserConfig": { "schema": { "unexpectedSegmentHandling": "PARSE", "ignoreMinOccurs": "true", "schematizedParsingType": "HARD_FAIL" } } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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?hl7V2StoreId=HL7V2_STORE_ID"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "parserConfig": { "schema": { "unexpectedSegmentHandling": "PARSE", "ignoreMinOccurs": "true", "schematizedParsingType": "HARD_FAIL" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Menyerap dan mengurai pesan HL7v2 menggunakan skema kustom
Serap pesan HL7v2 versi yang dienkode base64.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- LOCATION: lokasi set data induk
- DATASET_ID: set data induk penyimpanan HL7v2
- HL7V2_STORE_ID: ID penyimpanan HL7v2
Meminta isi JSON:
{ "message": { "data": "TVNIfF5+XCYkfHx8fHx8fEFEVF5BMDF8fHwyLjENRVZOfFxQXExcSFxOXA1QSUR8MQ1aQ0R8MQ==" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "message": { "data": "TVNIfF5+XCYkfHx8fHx8fEFEVF5BMDF8fHwyLjENRVZOfFxQXExcSFxOXA1QSUR8MQ1aQ0R8MQ==" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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/messages:ingest"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "message": { "data": "TVNIfF5+XCYkfHx8fHx8fEFEVF5BMDF8fHwyLjENRVZOfFxQXExcSFxOXA1QSUR8MQ1aQ0R8MQ==" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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/messages:ingest" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Parser menggunakan pesan HL7v2 dengan kolom yang tidak ada
Contoh berikut menunjukkan cara menggunakan definisi jenis dan grup untuk mengurai pesan HL7v2 ini:
MSH|^~\&|||||20100101000000||ORM^O01^O01|23701|1|2.3||
PID|11|SMITH
PV1|11
PID|22|JOHN
PV1|22
ORC|3
OBX|4
NTE|5
NTE|6
OBX|7
NTE|8
Pesan HL7v2 bersifat non-standar karena hanya menggunakan beberapa kolom (dalam beberapa kasus satu kolom)
di semua segmen kecuali MSH
. Misalnya, standar HL7v2 mewajibkan segmen PID
berisi kolom seperti bahasa utama, alamat, dan
tanggal lahir pasien, tetapi segmen PID
dalam contoh pesan hanya berisi
ID untuk pasien dan nama depan atau belakang pasien.
Pesan HL7v2 mengikuti sintaksis HL7, tetapi hampir sepenuhnya disesuaikan.
Membuat penyimpanan HL7v2 dengan skema kustom
Sebelum membuat penyimpanan HL7v2 dengan skema kustom, baca
properti objek ParserConfig
berikut yang digunakan dalam skema:
Array schemas
:
mshField
ditetapkan ke kolom ke-12 (dipisahkan oleh karakter|
garis vertikal) dari segmen pertama dalam pesan. Nilai kolom adalah2.3
. Akibatnya,schema
yang Anda berikan ke penyimpanan HL7v2 akan berlaku untuk pesan HL7v2 apa pun yang sesuai denganmshField
danvalue
.- Jenis pesan,
ORM
, ditentukan dengan arraymembers
yang berisi informasi berikut:- Jenis segmen untuk pesan
ORM
adalah header segmen pesan, atauMSH
- Grup bernama "Patient" yang memiliki
maxOccurs
2.- Grup
members
lain yang disusun bertingkat di bawah grup "Pasien" yang berisi jenis segmen yang cocok dengan grup "Pasien". Jenis segmen tersebut adalahPID
. - Grup lain bernama "Kunjungan Pasien". Seperti "Pasien", ada segmen yang cocok dengan "Kunjungan Pasien". Jenis segmen tersebut adalah
PV1
.
- Grup
- Grup bernama "Order" yang tidak memiliki frekuensi maksimum atau minimum.
- Grup
members
lain yang bertingkat di bawah grup "Pesanan" yang berisi jenis segmen yang cocok dengan grup "Pesanan". Jenis segmen tersebut adalahORC
. - Grup lain bernama "Observation", yang memiliki array
members
-nya sendiri.- Array
members
berisi dua segmen yang dipetakan ke "Observation":OBX
danNTE
.OBX
memilikimaxOccurs
1
.
- Array
- Grup
- Jenis segmen untuk pesan
Array types
:
- Seperti array
schemas
,mshField
ditetapkan ke kolom ke-12 (dipisahkan oleh karakter pipa|
) dari segmen pertama dalam pesan. Nilai kolom adalah2.3
. Akibatnya,types
yang Anda berikan ke penyimpanan HL7v2 akan berlaku untuk pesan HL7v2 apa pun yang sesuai denganmshField
danvalue
. - Jenis data
ST
danSI
dideklarasikan sebagai primitifSTRING
. Karena hanyaST
danSI
yang dideklarasikan, Anda dapat mengetahui bahwa pesan tidak memiliki jenis kustom. - Grup
Patient
memilikimaxOccurs
2
dan jenis segmenPID
, sehingga dua jenis dideklarasikan di kolomPID
. Kedua jenis tersebut adalahSI
. - Jenis segmen lainnya dicantumkan dengan kolom dan jenis yang relevan. Semua segmen yang tersisa memiliki satu kemunculan dan menggunakan jenis
SI
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- LOCATION: lokasi set data induk
- DATASET_ID: set data induk penyimpanan HL7v2
- HL7V2_STORE_ID: ID penyimpanan HL7v2
Meminta isi JSON:
{ "parserConfig": { "schema": { "schematizedParsingType": "HARD_FAIL", "unexpectedSegmentHandling": "PARSE", "schemas": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ORM_O01": { "name": "ORM_O01", "members": [ { "segment": { "type": "MSH" } }, { "group": { "name": "Patient", "maxOccurs": 2, "members": [ { "segment": { "type": "PID" } }, { "group": { "name": "Patient Visit", "members": [ { "segment": { "type": "PV1" } } ] } } ] } }, { "group": { "name": "Order", "members": [ { "segment": { "type": "ORC" } }, { "group": { "name": "Observation", "members": [ { "segment": { "type": "OBX", "maxOccurs": 1 } }, { "segment": { "type": "NTE" } } ] } } ] } } ] } } } ], "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ST", "primitive": "STRING" }, { "name": "SI", "primitive": "STRING" }, { "name": "PID", "fields": [ { "name": "1", "type": "SI" }, { "name": "2", "type": "SI" } ] }, { "name": "PV1", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "ORC", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "OBX", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "NTE", "fields": [ { "name": "1", "type": "SI" } ] } ] } ], }, "version": "V3" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "parserConfig": { "schema": { "schematizedParsingType": "HARD_FAIL", "unexpectedSegmentHandling": "PARSE", "schemas": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ORM_O01": { "name": "ORM_O01", "members": [ { "segment": { "type": "MSH" } }, { "group": { "name": "Patient", "maxOccurs": 2, "members": [ { "segment": { "type": "PID" } }, { "group": { "name": "Patient Visit", "members": [ { "segment": { "type": "PV1" } } ] } } ] } }, { "group": { "name": "Order", "members": [ { "segment": { "type": "ORC" } }, { "group": { "name": "Observation", "members": [ { "segment": { "type": "OBX", "maxOccurs": 1 } }, { "segment": { "type": "NTE" } } ] } } ] } } ] } } } ], "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ST", "primitive": "STRING" }, { "name": "SI", "primitive": "STRING" }, { "name": "PID", "fields": [ { "name": "1", "type": "SI" }, { "name": "2", "type": "SI" } ] }, { "name": "PV1", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "ORC", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "OBX", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "NTE", "fields": [ { "name": "1", "type": "SI" } ] } ] } ], }, "version": "V3" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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?hl7V2StoreId=HL7V2_STORE_ID"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "parserConfig": { "schema": { "schematizedParsingType": "HARD_FAIL", "unexpectedSegmentHandling": "PARSE", "schemas": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "messageSchemaConfigs": { "ORM_O01": { "name": "ORM_O01", "members": [ { "segment": { "type": "MSH" } }, { "group": { "name": "Patient", "maxOccurs": 2, "members": [ { "segment": { "type": "PID" } }, { "group": { "name": "Patient Visit", "members": [ { "segment": { "type": "PV1" } } ] } } ] } }, { "group": { "name": "Order", "members": [ { "segment": { "type": "ORC" } }, { "group": { "name": "Observation", "members": [ { "segment": { "type": "OBX", "maxOccurs": 1 } }, { "segment": { "type": "NTE" } } ] } } ] } } ] } } } ], "types": [ { "version": [ { "mshField": "12", "value": "2.3" } ], "type": [ { "name": "ST", "primitive": "STRING" }, { "name": "SI", "primitive": "STRING" }, { "name": "PID", "fields": [ { "name": "1", "type": "SI" }, { "name": "2", "type": "SI" } ] }, { "name": "PV1", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "ORC", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "OBX", "fields": [ { "name": "1", "type": "SI" } ] }, { "name": "NTE", "fields": [ { "name": "1", "type": "SI" } ] } ] } ], }, "version": "V3" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Menyerap dan mengurai pesan HL7v2 menggunakan skema kustom
Menyerap pesan HL7v2 versi yang dienkode base64.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- LOCATION: lokasi set data induk
- DATASET_ID: set data induk penyimpanan HL7v2
- HL7V2_STORE_ID: ID penyimpanan HL7v2
Meminta isi JSON:
{ "message": { "data": "TVNIfF5+XCZ8fHx8fDIwMTAwMTAxMDAwMDAwfHxPUk1eTzAxXk8wMXwyMzcwMXwxfDIuM3x8DVBJRHwxMXxTTUlUSA1QVjF8MTENUElEfDIyfEpPSE4NUFYxfDIyDU9SQ3wzDU9CWHw0DU5URXw1DU5URXw2DU9CWHw3DU5URXw4" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "message": { "data": "TVNIfF5+XCZ8fHx8fDIwMTAwMTAxMDAwMDAwfHxPUk1eTzAxXk8wMXwyMzcwMXwxfDIuM3x8DVBJRHwxMXxTTUlUSA1QVjF8MTENUElEfDIyfEpPSE4NUFYxfDIyDU9SQ3wzDU9CWHw0DU5URXw1DU5URXw2DU9CWHw3DU5URXw4" } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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/messages:ingest"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "message": { "data": "TVNIfF5+XCZ8fHx8fDIwMTAwMTAxMDAwMDAwfHxPUk1eTzAxXk8wMXwyMzcwMXwxfDIuM3x8DVBJRHwxMXxTTUlUSA1QVjF8MTENUElEfDIyfEpPSE4NUFYxfDIyDU9SQ3wzDU9CWHw0DU5URXw1DU5URXw2DU9CWHw3DU5URXw4" } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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/messages:ingest" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Untuk versi kolom data
yang lebih mudah dibaca dalam respons, luaskan
bagian berikut:
Luaskan
{ "data": { "ORM_O01": [ { "MSH": [ { "0": "MSH", "1": "|", "2": "^~\\\\\\u0026", "3": null, "4": null, "5": null, "6": null, "7": "20100101000000", "8": null, "9": { "1": "ORM", "2": "O01", "3": "O01" }, "10": "23701", "11": { "1": "1" }, "12": { "1": "2.3" }, "13": null, "14": null } ], "Order": [ { "ORC": [ { "0": "ORC", "1": [ "3" ] } ], "Observation": [ { "NTE": [ { "0": "NTE", "1": [ "5" ] }, { "0": "NTE", "1": [ "6" ] } ], "OBX": { "0": "OBX", "1": [ "4" ] } }, { "NTE": [ { "0": "NTE", "1": [ "8" ] } ], "OBX": { "0": "OBX", "1": [ "7" ] } } ] } ], "Patient": [ { "PID": [ { "0": "PID", "1": [ "11" ], "2": [ "SMITH" ] } ], "Patient Visit": [ { "PV1": [ { "0": "PV1", "1": [ "11" ] } ] } ] }, { "PID": [ { "0": "PID", "1": [ "22" ], "2": [ "JOHN" ] } ], "Patient Visit": [ { "PV1": [ { "0": "PV1", "1": [ "22" ] } ] } ] } ] } ] } }