eLab posistemės integracijos dokumentacija
0.3.40 - versija
eLab posistemės integracijos dokumentacija - Local Development build (v0.3.40) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Yra 2 pasirašymo būdai: Registrų centro komponentu ir SPĮ IS priemonėmis. Daugiau informacijos apie dokumentų pasirašymo procesą galite rasti dokumente ESPBI IS duomenų mainų ir integracijos projektavimo dokumentacija, skyriuje 2.6.23 „Pasirašyti medicininį dokumentą“.
| Pavadinimas | Aprašymas |
|---|---|
callbackUrl |
URL, į kurį bus nukreipiama po pasirašymo |
compositionIds |
Pasirašomų composition identifikatoriai |
Užklausa
POST /fhir/Composition/{id}/$sign
Užklausos pavyzdžiai
Inicijuojamas vienos kompozicijos pasirašymas, kur paduodami compositionId (nurodomas URL kaip kompozijos resurso identifikatorius) ir callbackUrl (nurodomas užklausos kūne) parametrai.
pvz:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "callbackUrl",
"valueString": "http://example.com"
}
]
}
Gaunamas atsakymas su šiomis reikšmėmis
SVARBU! Gavus atsakymą būtina kreiptis į $confirm-sign
Užklausa
POST /fhir/Composition/{id}/$confirm-sign
Užklausos pavyzdžiai
Po pasirašymo, būtina kreiptis į “$confirm-sign” kur id yra compositionId. Šis metodas išsaugo pasirašymo informaciją ELAB sistemoje ir gaunamas atsakymas su šiomis reikšmėmis:
Užklausa
POST /fhir/Composition/$sign-multi
Užklausos pavyzdžiai
Inicijuojamas vienos arba daugiau kompozicijų pasirašymas, kur užklausos parametruose paduodami callbackUrl, ir kompozicijų identifikatoriai.
{
"resourceType": "Parameters",
"parameter": [
{
"name": "callbackUrl",
"valueString": "http://example.com"
},
{
"name": "compositionIds",
"valueId": "c5562539-7e49-4a95-9129-847bdee9d060"
},
{
"name": "compositionIds",
"valueId": "69ca25a3-4f60-49ba-ac08-4d90e6aa5e93"
}
]
}
Gaunamas atsakymas su šiomis reikšmėmis.
SVARBU! Gavus atsakymą būtina kreiptis į $confirm-multi-sign arba $confirm-multi-sign-comp
Užklausa
POST /fhir/Composition/$confirm-multi-sign
Po pasirašymo, būtina kreiptis į “$confirm-multi-sign” arba "$confirm-multi-sign-comp". Šis metodas išsaugo pasirašymo informaciją ELAB sistemoje.
Užklausos pavyzdžiai
Užklausos parametruose paduodami kompozicijų identifikatoriai.
{
"resourceType": "Parameters",
"parameter": [
{
"name": "compositionIds",
"valueId": "c5562539-7e49-4a95-9129-847bdee9d060"
},
{
"name": "compositionIds",
"valueId": "69ca25a3-4f60-49ba-ac08-4d90e6aa5e93"
}
{
"name": "compositionIds",
"valueId": "b3bd8ac5-559a-4c82-98b6-9afc8b24ad0d"
}
]
}
Atsakymas
Gaunamas atsakymas su šiomis reikšmėmis.
Šis API skirtas suderinamumui su ESPBI IS API naudojamu kelių (paketinio) dokumentų pasirašymo (multisign) API. Nuo $sign-multi skiriasi tuo, kad užklausos parametrai perduodami URL kaip užklausos eilutės (query string) parametrai, o ne Parameters resurso kūne, taip pat atsakymas grąžinamas ne kaip FHIR Parameters resursas, o kaip „grynas“ HTTP atsakymas su Location antrašte ir tekstiniu (text/plain) turiniu.
Nuo ESPBI API skiriasi klaidų tvarkymo mechanizmu - atsitikus nenumatytiems atvejams (pvz dokumentas jau pasirašytas), klaidos "pranešimas" skirsis nuo ESPBI.
Užklausa
POST /fhir/Composition/$multi-sign-comp
arba
GET /fhir/Composition/$multi-sign-comp
Pastaba. GET metodas palaikomas (ESPBI tik jis naudojamas), bet nerekomenduojamas ("depreciated") - pagal hapi-fhir serverio "ideologiją GET užklausos pagal identiškus parametrus turi gražinti identiškus rezultatus (t.y. idempotent=true), todėl yra tikimybė kad sekančiose hapi-fhir serverio versijose gali būti pridėti "kešavimas" ar panašūs optimizavimai, ko pasekoj GET metodas gali būti ateityj nebepalaikomas.
Užklausos parametrai
| Pavadinimas | Aprašymas |
|---|---|
callbackUrl |
Adresas (URL), į kurį turi būti nukreipiama naršyklė pasirašymo proceso pabaigoje (pvz., https://mano-ligoninė.lt/pasirašymas-baigtas/pasirašytas-paketas?id=100). Adresas turi būti užkoduotas pagal RFC 1738 specifikacijos skyrių 2.2. URL Character Encoding Issues; (ESPBI atveju parametras įvardintas kaip 'returnURL' - tai vienas iš skirtumų su ESPBI paketinio pasirašymo implementacija) |
id |
Kableliais atskirti pasirašomų Composition resursų identifikatoriai |
personalCode |
Pasirašančio asmens asmens kodas. Neprivalomas parametras. Jei parametras nenurodytas arba tuščias, pasirašymo transakciją gali užbaigti bet kuris organizacijos narys |
Užklausos pavyzdžiai
Inicijuojamas vienos arba daugiau kompozicijų pasirašymas, kur callbackUrl ir id (bei neprivalomas personalCode) perduodami kaip URL kodavimu užkoduoti užklausos eilutės parametrai.
pvz:
GET http://localhost:8082/fhir/Composition/$multi-sign-comp?id=22e75be0-9e5d-4f77-b10f-8678112464f5, 75b24f1a-daf1-48ec-968b-7c7befdde2db&callbackUrl=http://poliklinika.com&personalCode=38002191214
arba
POST /fhir/Composition/$multi-sign-comp?callbackUrl=http%3A%2F%2Fexample.com&id=c5562539-7e49-4a95-9129-847bdee9d060%2C69ca25a3-4f60-49ba-ac08-4d90e6aa5e93
Parametrai šiuo atveju perduodami kaip HTTP užklausos parametrai; Galima juos perduoti ir Hapi-fhir serverio stiliumi, naudojant json'ą body, tokiu atveju http parametrai nenurodomi, o paduodamos toks body:
{
"resourceType": "Parameters",
"parameter": [
{ "name": "callbackUrl", "valueString": "https://mano-ligoninė.lt/pasirašymas-baigtas/pasirašytas-paketas?id=100" },
{ "name": "id", "valueString": "22e75be0-9e5d-4f77-b10f-8678112464f5, 75b24f1a-daf1-48ec-968b-7c7befdde2db" },
{ "name": "personalCode", "valueString": "39001010000" }
]
}
Jei asmens kodas nenurodomas, parametras turi būti praleistas, tokiu atveju body turėtų būti toks:
{
"resourceType": "Parameters",
"parameter": [
{ "name": "callbackUrl", "valueString": "https://mano-ligoninė.lt/pasirašymas-baigtas/pasirašytas-paketas?id=100" },
{ "name": "id", "valueString": "22e75be0-9e5d-4f77-b10f-8678112464f5, 75b24f1a-daf1-48ec-968b-7c7befdde2db" }
]
}
Toks parametrų perdavimas per json'a requesto body'je ESPBI nepalaikomas (čia hapi-fhir serverio feature'as), ji naudojant HTTP parametrų nurodyt nereikia, arba jei naudojami http užklausos parametrais (pvz "get ttp://localhost:8082/fhir/Composition/$multi-sign-comp?id=22e75be0-9e5d-4f77-b10f-8678112464f5, 75b24f1a-daf1-48ec-968b-7c7befdde2db&callbackUrl=http://poliklinika.com"), tai body reikia paduoti tuščią.
Atsakymas
Gaunamas HTTP 200 atsakymas su šiomis reikšmėmis:
SVARBU! Gavus atsakymą būtina kreiptis į $confirm-multi-sign-comp arba $confirm-multi-sign
Užklausa
POST /fhir/Composition/$confirm-multi-sign-comp
Po pasirašymo, būtina kreiptis į „$confirm-multi-sign-comp“ arba “$confirm-multi-sign”. Šis metodas išsaugo pasirašymo informaciją ELAB sistemoje.
Užklausos parametrai
$multi-sign-comp atsakymo (arba $sign-multi).Užklausos pavyzdžiai
pvz:
POST /fhir/Composition/$confirm-multi-sign-comp?transaction=123456
Atsakymas
Gaunamas HTTP 200 atsakymas su tekstiniu (text/plain) turiniu - kableliais atskirtas sėkmingai pasirašytų kompozicijų identifikatorių sąrašas.
pvz:
c5562539-7e49-4a95-9129-847bdee9d060,69ca25a3-4f60-49ba-ac08-4d90e6aa5e93
Užklausa
GET /fhir/Composition/{id}/$get-pdf-document-for-signing
Atsakymo pavyzdžiai
Gaunamas Parameters resursas su dokumento turiniu.
Pavyzdys:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "data",
"valueString": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3VyYWJpdHVyIGVnZXQgYmxhbmRpdCBhbnRlLiBTZWQgYSBkaWFtIHZlbCBzZW0gZmFjaWxpc2lzIGltcGVyZGlldC4gTnVuYyBuZWMgdG9ydG9yIG5lYyBzYXBpZW4gYWxpcXVldCBncmF2aWRhIGV1IG5vbiB2ZWxpdC4gRHVpcyBmZXJtZW50dW0gc29kYWxlcyByaG9uY3VzLiBDcmFzIHZlbCBtZXR1cyBhbGlxdWFtLCBwdWx2aW5hciBvcmNpIHNhZ2l0dGlzLCBncmF2aWRhIG51bGxhLiBPcmNpIHZhcml1cyBuYXRvcXVlIHBlbmF0aWJ1cyBldCBtYWduaXMgZGlzIHBhcnR1cmllbnQgbW9udGVzLCBuYXNjZXR1ciByaWRpY3VsdXMgbXVzLg=="
}
]
}
Užklausa
POST /fhir/DocumentReference/$upload-pdf-document
Siunčiamas Parameters resursas su dokumento turiniu.
Užklausos pavyzdžiai
Užklausoje pateikiamos šios reikšmės:
Pavyzdys:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "compositionId",
"valueId": "3b79ecf2-645a-4754-92cd-5cf1e220103e"
},
{
"name": "data",
"valueString": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3VyYWJpdHVyIGVnZXQgYmxhbmRpdCBhbnRlLiBTZWQgYSBkaWFtIHZlbCBzZW0gZmFjaWxpc2lzIGltcGVyZGlldC4gTnVuYyBuZWMgdG9ydG9yIG5lYyBzYXBpZW4gYWxpcXVldCBncmF2aWRhIGV1IG5vbiB2ZWxpdC4gRHVpcyBmZXJtZW50dW0gc29kYWxlcyByaG9uY3VzLiBDcmFzIHZlbCBtZXR1cyBhbGlxdWFtLCBwdWx2aW5hciBvcmNpIHNhZ2l0dGlzLCBncmF2aWRhIG51bGxhLiBPcmNpIHZhcml1cyBuYXRvcXVlIHBlbmF0aWJ1cyBldCBtYWduaXMgZGlzIHBhcnR1cmllbnQgbW9udGVzLCBuYXNjZXR1ciByaWRpY3VsdXMgbXVzLg=="
}
]
}
Užklausa
GET /fhir/DocumentReference/$get-pdf-document?compositionId={compositionId}
Atsakymo pavyzdžiai
Gaunamas Parameters resursas su dokumento turiniu.
Gaunamas atsakymas su šiomis reikšmėmis:
Pavyzdys:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "documentReference",
"valueId": "DocumentReference/5e61540a-e664-494b-b94b-1b7769efdbb4/_history/1"
},
{
"name": "fileName",
"valueString": "e200-0b3c783e-1f04-496d-8cf1-57f15368d8bc.pdf"
},
{
"name": "data",
"valueString": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3VyYWJpdHVyIGVnZXQgYmxhbmRpdCBhbnRlLiBTZWQgYSBkaWFtIHZlbCBzZW0gZmFjaWxpc2lzIGltcGVyZGlldC4gTnVuYyBuZWMgdG9ydG9yIG5lYyBzYXBpZW4gYWxpcXVldCBncmF2aWRhIGV1IG5vbiB2ZWxpdC4gRHVpcyBmZXJtZW50dW0gc29kYWxlcyByaG9uY3VzLiBDcmFzIHZlbCBtZXR1cyBhbGlxdWFtLCBwdWx2aW5hciBvcmNpIHNhZ2l0dGlzLCBncmF2aWRhIG51bGxhLiBPcmNpIHZhcml1cyBuYXRvcXVlIHBlbmF0aWJ1cyBldCBtYWduaXMgZGlzIHBhcnR1cmllbnQgbW9udGVzLCBuYXNjZXR1ciByaWRpY3VsdXMgbXVzLg=="
}
]
}