Halaman ini berisi contoh kasus penggunaan, mulai dari yang sederhana hingga kompleks, yang menunjukkan waktu 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 pesan contoh yang non-standar dengan cara berikut:
- Contoh pembatas segmen pesan adalah baris baru (
\n
) bukan karriage 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.
Pesan contoh menggunakan \n
non-standar sebagai terminator segmennya.
Contoh berikut menunjukkan cara mengonfigurasi segmentTerminator
di
ParserConfig
saat Anda
membuat penyimpanan HL7v2.
Terminator segmen disetel 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 toko HL7v2
- HL7V2_STORE_ID: ID toko 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 diterapkan oleh skema kustom 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 diterapkan 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 penyimpanan 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 toko HL7v2
- HL7V2_STORE_ID: ID toko 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 versi berenkode base-64 untuk pesan HL7v2
dari Terminator segmen kustom dan kolom kustom.
Untuk menyerap pesan HL7v2, gunakan
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 toko HL7v2
- HL7V2_STORE_ID: ID toko 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 ini hanya menggunakan tiga kolom berikut,
tanpa array schemas
atau types
:
"unexpectedSegmentHandling": "PARSE"
"ignoreMinOccurs": "true"
"schematizedParsingType": "HARD_FAIL"
Tanpa menentukan hal lain tentang definisi pesan atau jenisnya, parser HL7v2 akan 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 toko HL7v2
- HL7V2_STORE_ID: ID toko 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 versi berenkode basis 64 dari pesan HL7v2.
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 toko HL7v2
- HL7V2_STORE_ID: ID toko 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 mengharuskan segmen PID
berisi kolom seperti bahasa utama, alamat, dan
tanggal lahir pasien, tetapi segmen PID
dalam pesan contoh 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
disetel ke kolom ke-12 (dipisahkan oleh karakter pipa|
) dari segmen pertama dalam pesan. Nilai kolom ini 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 berada dalam grup "Pasien" yang berisi jenis segmen yang cocok dengan grup "Pasien". Jenis segmen itu adalahPID
. - Grup lain bernama "Patient Visit". Seperti "Patient", ada segmen yang cocok dengan "Patient Visit". Jenis segmen itu adalah
PV1
.
- Grup
- Grup bernama "Pesanan" yang tidak memiliki jumlah maksimum atau minimum.
- Grup
members
lain yang disusun bertingkat dalam grup "Pesanan" yang berisi jenis segmen yang cocok dengan grup "Pesanan". Jenis segmen itu adalahORC
. - Grup lain bernama "Observation", yang memiliki array
members
sendiri.- Array
members
berisi dua segmen yang dipetakan ke "Pengamatan":OBX
danNTE
.OBX
memilikimaxOccurs
dari1
.
- 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 ini 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 tersebut tidak memiliki jenis kustom. - Grup
Patient
memilikimaxOccurs
dari2
dan jenis segmenPID
, sehingga dua jenis dideklarasikan di kolomPID
. Kedua jenis tersebut adalahSI
. - Jenis segmen lainnya dicantumkan dengan kolom dan jenisnya 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 toko HL7v2
- HL7V2_STORE_ID: ID toko 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
Serap versi pesan HL7v2 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 toko HL7v2
- HL7V2_STORE_ID: ID toko 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" ] } ] } ] } ] } ] } }