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 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: Google Cloud project ID 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==""
}
}
EOFKemudian, 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 utf8Kemudian 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
SFTagar memiliki kolom URL sebagai kolom7. - Filter
versionmenentukan 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, segmenSFTkustom berlaku saat kolom aplikasi pengirim berisiMy EHR. - Kolom untuk kolom tambahan diberi nama
7agar konsisten dengan spesifikasi lainnya. Anda juga dapat menamainyaURLagar 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 Google Cloud project 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"
}
}
EOFKemudian, 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 utf8Kemudian 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: Google Cloud project ID 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"
}
}
EOFKemudian, 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 utf8Kemudian 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: Google Cloud project ID 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"
}
}
}
EOFKemudian, 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 utf8Kemudian 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 base 64.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Google Cloud project ID 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=="
}
}
EOFKemudian, 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 utf8Kemudian 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 berikut dari objek ParserConfig yang digunakan dalam skema:
Array schemas:
mshFieldditetapkan ke kolom ke-12 (dipisahkan oleh karakter|garis vertikal) dari segmen pertama dalam pesan. Nilai kolom adalah2.3. Akibatnya,schemayang Anda berikan ke penyimpanan HL7v2 akan berlaku untuk pesan HL7v2 apa pun yang sesuai denganmshFielddanvalue.- Jenis pesan,
ORM, ditentukan dengan arraymembersyang berisi informasi berikut:- Jenis segmen untuk pesan
ORMadalah header segmen pesan, atauMSH - Grup bernama "Patient" yang memiliki
maxOccurs2.- Grup
memberslain 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
memberslain 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
membersberisi dua segmen yang dipetakan ke "Observation":OBXdanNTE.OBXmemilikimaxOccurs1.
- Array
- Grup
- Jenis segmen untuk pesan
Array types:
- Seperti array
schemas,mshFieldditetapkan ke kolom ke-12 (dipisahkan oleh karakter garis vertikal|) dari segmen pertama dalam pesan. Nilai kolom adalah2.3. Akibatnya,typesyang Anda berikan ke penyimpanan HL7v2 akan berlaku untuk pesan HL7v2 apa pun yang sesuai denganmshFielddanvalue. - Jenis data
STdanSIdideklarasikan sebagai primitifSTRING. Karena hanyaSTdanSIyang dideklarasikan, Anda dapat mengetahui bahwa pesan tidak memiliki jenis kustom. - Grup
PatientmemilikimaxOccurs2dan 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: Google Cloud project ID 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"
}
}
EOFKemudian, 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 utf8Kemudian 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 berenkode base64.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Google Cloud project ID 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"
}
}
EOFKemudian, 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 utf8Kemudian 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"
]
}
]
}
]
}
]
}
]
}
}