ehealth-ua / api-spec Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Структура словника SPECIALITY_LEVEL(кваліфікаційний рівень лікаря) не передбачає нульового рівня, тобто лікаря-спеціаліста. Причому, сам квадіфікаційний рівень є обов"язковим для create employee request.
Пропоную додати категорію "Лікар-спеціаліст"
{
"values": {
"SECOND": "Друга категорія",
"HIGHEST": "Вища категорія",
"FIRST": "Перша категорія"
},
"name": "SPECIALITY_LEVEL",
"labels": [
"SYSTEM",
"EXTERNAL"
],
"is_active": true
},
Добрий день.
Роблю GET запит на http://demo.ehealth.world/api/legal_entities. В списку 3-ри юр. особи (2-ві з них створені мною). Але по жодній немає інформації про власника. Хоча при створенні інформація була.
Підкажіть як отримати відповідь з власником.
Дякую.
Please provide a scope dictionary.
As per specification, science degree is managed by a enum dictionary SCIENCE_DEGREE which is currently absent in /api/dictionaries response
https://github.com/ehealth-ua/api-spec/blob/master/apiary.apib#L2125
Суть end point: Ми вам на вхід подаємо json підписаний ЕЦП в base64 (в base64 лише тому, що решта end point які приймають зашифрований контент приймають саме так), а на виході від вас ми отримуємо true / false.
true - якщо можете зняти ЕЦП, тобто дане ЕЦП підтримується вашим сервісом;
false - якщо НЕ можете зняти ЕЦП, тобто дане ЕЦП НЕ підтримується вашим сервісом;
[*] endpoint address
api.ehealth.world
[*] preconditions if any
No preconditions
[*] sequence of actions that should be taken to reproduce the behavior.
[*] test data, requests examples, json files, curl requests etc
GET /api/uaddresses/search/settlements?settlement_name=ВАСИЛЬКІВ&region=КИЇВСЬКА HTTP/1.1
Host: api.ehealth.world
"data": [
{
"type": "CITY",
"settlement_name": "ВАСИЛЬКІВ",
"region": "КИЇВСЬКА",
"parent_settlement": null,
"mountain_group": "false",
"koatuu": "3210700000",
"id": "2564ff1f-6659-4af3-98bc-e74d6e49660d",
**"district": null**
}
District should not be null, according to KOATUU
Колеги, підкажіть, будь ласка.
Колеги, як обговорювали на останній зустрічі в рамках реєстрації MSP ви знімете required з полів
addresses.settlement_id і addresses.building, так як це адреси юредичні і особливої інфи для Вас не несуть. На даний момент вони ще required.
Прохання повертати повний шлях до помилки.
Наприклад зараз по .../api/legal_entities , коли помилка в айді паспорту повертає помилку "entry":"$.owner.documents.[0]", а потрібно щось типу "entry":"$.owner.documents.document_id".
При створенні медичного закладу можна обрати пункт без аккредитації
, але при цьому поле order_no
є обов'язковим. Потрібно при створенні медичного закладу без аккредитації забирати валідацію на всі зв'язані з нею поля.
validation error: "equired property order_no was not present"
As per recent changes in licensing of LE, there are no more such paper document as license
http://www.moz.gov.ua/ua/portal/pre_20170126_a.html
Basically Legal Entity could have only order number now, and no any license number exist
Could you please analyze and suggest a solution?
Should we make licence_no optional?
Згідно специфікації, speciality в science_degree має бути string, а не прив"язуватись до словника.
Наразі ж, неможливо ввести довільний speciality в science degree, через помилку валідації
POST /api/employee_requests HTTP/1.1
Host: demo.ehealth.world
Content-Type: application/json
Authorization: Bearer
Cache-Control: no-cache
Postman-Token: 3038060a-ecf7-952c-be60-d6f03d45b084
{
"employee_request": {
"legal_entity_id": "786d84d9-e1c5-4d58-9f0f-f5f3d826b26e",
"position": "P1",
"start_date": "2017-03-02",
"status": "NEW",
"employee_type": "DOCTOR",
"party": {
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович",
"birth_date": "1991-08-25",
"gender": "MALE",
"tax_id": "2345678902",
"email": "[email protected]",
"documents": [
{
"type": "PASSPORT",
"number": "120518"
}
],
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
]
},
"doctor": {
"educations": [
{
"country": "UA",
"city": "Київ",
"institution_name": "Академія Богомольця",
"issued_date": "2017-08-05",
"diploma_number": "DD123543",
"degree": "MASTER",
"speciality": "Педіатр"
}
],
"qualifications": [
{
"type": "AWARDING",
"institution_name": "Академія Богомольця",
"speciality": "Педіатр",
"issued_date": "2017-08-05",
"certificate_number": "2017-08-05"
}
],
"specialities": [
{
"speciality": "PEDIATRICIAN",
"speciality_officio": true,
"level": "FIRST",
"qualification_type": "AWARDING",
"attestation_name": "Академія Богомольця",
"attestation_date": "2017-08-05",
"valid_to_date": "2017-08-05",
"certificate_number": "AB/21331"
}
],
"science_degree": {
"country": "UA",
"city": "Київ",
"degree": "Доктор філософії",
"institution_name": "Академія Богомольця",
"diploma_number": "DD123543",
"speciality": "бла-бла",
"issued_date": "2017-08-05"
}
}
}
}
Response:
{
"meta": {
"url": "http://demo.ehealth.world/api/employee_requests",
"type": "object",
"request_id": "7onkvavrg8mtc8pabt6gk12cman39cs1",
"code": 422
},
"error": {
"type": "validation_failed",
"message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.",
"invalid": [
{
"rules": [
{
"rule": "inclusion",
"params": [
"FAMILY_DOCTOR",
"PEDIATRICIAN",
"THERAPIST"
],
"description": "value is not allowed in enum"
}
],
"entry_type": "json_data_property",
"entry": "$.employee_request.doctor.science_degree.speciality"
}
]
}
}
In Legal Entity licenses:
kved
- is obsolete, should be removed
one more DATE type fieild is required - active_from_date
, because active_from_date
in regular practice is different from issued_date
"issued_date": "2017",
"expiry_date": "2017",
pls ignore
===NO SECRET INFORMATION FROM PRODUCTION SHOULD BE DISCLOSED IN THIS REPO. IT IS PUBLIC====
Виникає помилка при реєстрації МСП, якщо не обовязкові поля пусті. При цьому вони не передаються.
Call for all employees returns neither phone nor emails of employees. This was different before - contact points should be returned ? Or is it a kind of privacy feature?
GET /api/employees HTTP/1.1
Host: demo.ehealth.world
When creating legal entity, we are getting response of redirect_uri== redirect_uri.com, instead of echo of URI sent in request
Registartion succeeds, but kveds are
"kveds": [
"86.10"
],
Even though kveds in requests were
"kveds": [
"86.21"
],
Full response:
{
"urgent": {
"security": {
"redirect_uri": "https://dummy.com/",
"client_secret": "VXhoT21CdHpEU2o1b0ZEcGhNMloxZz09",
"client_id": "14b002cb-724b-4836-9ebf-d80deeb59356"
},
"employee_request_id": "34cb32e1-99ae-4ae6-a2be-03d969c05fa8"
},
"meta": {
"url": "http://api-svc.il/api/legal_entities",
"type": "object",
"request_id": "fog9mj06s11ud5r7mfqmjhhtltf575ep",
"code": 200
},
"data": {
"updated_by": "ca5a94eb-ff85-46d4-abd7-1ca95a911f40",
"type": "MSP",
"status": "NOT_VERIFIED",
"short_name": "КНП 'Перший Черкаський міський ЦПМСД'",
"public_name": "КНП 'Перший Черкаський міський ЦПМСД'",
"phones": [
{
"type": "MOBILE",
"number": "+380674023650"
}
],
"owner_property_type": "STATE",
"name": "КНП 'Перший Черкаський міський ЦПМСД'",
"medical_service_provider": {
"licenses": [
{
"what_licensed": "реалізація наркотичних засобів",
"license_number": "fd123443",
"issued_date": "1991-08-19",
"issued_by": "Кваліфікацйна комісія",
"expiry_date": "1991-08-19",
"active_from_date": "1991-08-19"
}
],
"accreditation": {
"order_no": "fd123443",
"order_date": "1991-08-19",
"issued_date": "1991-08-19",
"expiry_date": "1991-08-19",
"category": "FIRST"
}
},
"legal_form": "120",
"kveds": [
"86.10"
],
"is_active": true,
"inserted_by": "ca5a94eb-ff85-46d4-abd7-1ca95a911f40",
"id": "14b002cb-724b-4836-9ebf-d80deeb59356",
"email": "[email protected]",
"edrpou": "38782323",
"addresses": [
{
"zip": "02090",
"type": "REGISTRATION",
"street_type": "STREET",
"street": "вул. Ніжинська",
"settlement_type": "CITY",
"settlement_id": "43432432",
"settlement": "Київ",
"region": "Бердичівський",
"country": "UA",
"building": "15",
"area": "Житомирська",
"apartment": "23"
}
]
}
}
Proper kved's list should be created for legal entity
POST /api/employee_requests HTTP/1.1
Host: demo.ehealth.world
Content-Type: application/json
Authorization: Bearer OHJQODZwOVNpRjVBdEVqa3ZLbU1oZz09
Cache-Control: no-cache
Postman-Token: 1dda5c66-9d3f-c4eb-4f6d-1a7e9db13c28
{
"employee_request": {
"legal_entity_id": "786d84d9-e1c5-4d58-9f0f-f5f3d826b26e",
"position": "P1",
"start_date": "2017-03-02",
"status": "NEW",
"employee_type": "DOCTOR",
"party": {
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович",
"birth_date": "1991-08-25",
"gender": "MALE",
"tax_id": "2345678902",
"email": "[email protected]",
"documents": [
{
"type": "PASSPORT",
"number": "120518"
}
],
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
]
},
"doctor": {
"educations": [
{
"country": "UA",
"city": "Київ",
"institution_name": "Академія Богомольця",
"issued_date": "2017-08-05",
"diploma_number": "DD123543",
"degree": "MASTER",
"speciality": "Педіатр"
}
],
"qualifications": [
{
"type": "AWARDING",
"institution_name": "Академія Богомольця",
"speciality": "Педіатр",
"issued_date": "2017-08-05",
"certificate_number": "2017-08-05"
}
],
"specialities": [
{
"speciality": "PEDIATRICIAN",
"speciality_officio": true,
"level": "FIRST",
"qualification_type": "AWARDING",
"attestation_name": "Академія Богомольця",
"attestation_date": "2017-08-05",
"valid_to_date": "2017-08-05",
"certificate_number": "AB/21331"
}
],
"science_degree": {
"country": "UA",
"city": "Київ",
"degree": "Доктор філософії",
"institution_name": "Академія Богомольця",
"diploma_number": "DD123543",
"speciality": "THERAPIST",
"issued_date": "2017-08-05"
}
}
}
}
{
"meta": {
"url": "http://demo.ehealth.world/api/employee_requests",
"type": "object",
"request_id": "mj3r8orsruttv67gd7v2vgo5dead1nlu",
"code": 200
},
"data": {
"updated_at": "2017-07-10T13:35:12.780573",
"status": "NEW",
"start_date": "2017-03-02",
"position": "P1",
"party": {
"tax_id": "2345678902",
"second_name": "Миколайович",
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
],
"last_name": "Іванов",
"gender": "MALE",
"first_name": "Петро",
"email": "[email protected]",
"documents": [
{
"type": "PASSPORT",
"number": "120518"
}
],
"birth_date": "1991-08-25"
},
"legal_entity_id": "786d84d9-e1c5-4d58-9f0f-f5f3d826b26e",
"inserted_at": "2017-07-10T13:35:12.780558",
"id": "a1e46294-0666-4d7e-b588-38c15337a318",
"employee_type": "DOCTOR",
"doctor": {
"specialities": [
{
"valid_to_date": "2017-08-05",
"speciality_officio": true,
"speciality": "PEDIATRICIAN",
"qualification_type": "AWARDING",
"level": "FIRST",
"certificate_number": "AB/21331",
"attestation_name": "Академія Богомольця",
"attestation_date": "2017-08-05"
}
],
"science_degree": {
"speciality": "THERAPIST",
"issued_date": "2017-08-05",
"institution_name": "Академія Богомольця",
"diploma_number": "DD123543",
"degree": "Доктор філософії",
"country": "UA",
"city": "Київ"
},
"qualifications": [
{
"type": "AWARDING",
"speciality": "Педіатр",
"issued_date": "2017-08-05",
"institution_name": "Академія Богомольця",
"certificate_number": "2017-08-05"
}
],
"educations": [
{
"speciality": "Педіатр",
"issued_date": "2017-08-05",
"institution_name": "Академія Богомольця",
"diploma_number": "DD123543",
"degree": "MASTER",
"country": "UA",
"city": "Київ"
}
]
}
}
}
As per specification there should be employee_id returned as well as id
However we could see only id being returned
Прохання додати в response endpoint Get Legal Entities - атрибути insert date i update date.
В такому запиті маємо HTTP/200, хоча нічого не знайдень. Пропонується уточнити на HTTP/204, наприклад
{ "meta": { "url": "http://api-svc.il/api/legal_entities", "type": "object", "request_id": "lkrv5kmtherhd2fgiquffjjab8kjtk76", "code": 422 }, "error": { "type": "validation_failed", "message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.", "invalid": [ { "rules": [ { "rule": "invalid", "params": [ "signed_content" ], "description": "not a base64 string" } ], "entry_type": "json_data_property", "entry": "$.signed_content" } ] } }
@lymychp
Чи працює зараз GET
-запит на словник адрес?
http://demo.ehealth.world/api/uaddresses/addresses
При запиті отримую:
{ "type": "not_found" }
Дубль romanm/algoritmed-mvp1-ehealth#6
Успішна реєстрація на demo.ehealth.world не працює на api.ehealth.world
Я підозрюю що невистачає https, чи може бути інша причина?
{ "name": "Бориспільське відділення Клініки Борис 111", "addresses": [ { "type": "REGISTRATION", "country": "UA", "area": "ЛЬВІВСЬКА", "region": "ПУСТОМИТІВСЬКИЙ", "settlement": "СОРОКИ-ЛЬВІВСЬКІ", "settlement_type": "CITY", "settlement_id": "707dbc55-cb6b-4aaa-97c1-2a1e03476100", "street_type": "STREET", "street": "вул. Ніжинська", "building": "15", "apartment": "23", "zip": "02090" } ], "phones": [ { "type": "MOBILE", "number": "+380503410870" } ], "email": "[email protected]", "type": "clinic", "external_id": "3213213", "active": true }
{ "meta": { "url": "http://demo.ehealth.world/api/divisions", "type": "object", "request_id": "kterogiukddgimtesit4rohvt1hck3up", "code": 422 }, "error": { "type": "validation_failed", "message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.", "invalid": [ { "rules": [ { "rule": "schema", "params": { "active": true }, "description": "schema does not allow additional properties" } ], "entry_type": "json_data_property", "entry": "$.active" } ] } }
При регистрации юр. лица возвращается ошибка:
Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.
$.email: expected "ро[email protected]" to be an email address $.owner.email: expected "ро[email protected]" to be an email address
Возможно это связанно с доменным именем.
endpoint address - http://demo.ehealth.world/api/uaddresses/search/settlements?settlement_name=Славутич®ion=Київська
sequence of actions that should be taken to reproduce the behavior. - запросити інфу по andPoint вище
test data, requests examples, json files, curl requests etc
не вдається отримати список адрес:
Request:
http://demo.ehealth.world/api/uaddresses/addresses?settlement_name=Адамівка&settlement_id=857c7f5b-db60-4e59-9383-555accf573a9
{"Authorization":"Bearer c490c936651a0f6badeb426721076437»}
Response:
{
"type": "not_found"
}
Выполнить поиск регионов
http://demo.ehealth.world/api/uaddresses/search/regions
Выполнить поиск районов
http://demo.ehealth.world/api/uaddresses/search/districts?region=М.КИЇВ
Выполнить поиск насенных пунктов по заранее заданым региону и району
http://demo.ehealth.world/api/uaddresses/search/settlements?region=М.КИЇВ&district=ГОЛОСІЇВСЬКИЙ
пустой список населенных пунктов
список доступних наленных пунктов, в этом кейсе только один, КИЕВ
Я понимаю что это кажеться не логичным, но для всех остальных районов это нормальный сценарий, например ВІННИЦЬКА -> ОРАТІВСЬКИЙ -> (много различних населенных пунктов)
http://demo.ehealth.world/api/uaddresses/search/settlements?region=ВІННИЦЬКА&district=ОРАТІВСЬКИЙ
Можно ли поменить такие регионы флагом говорящим о том что поиск по районам не даст результатов? Или во время поиска по районам отдавать населенные пункти у которых district == request.district && district == null даже если в параметрах запроса указан конкретный дистрикт?
ENDPOINT: http://demo.ehealth.world/api/legal_entities
Файлы с JSON, BASE64, REQUEST, RESPONCE прикреплени к запросу
1-EQ-MSP-TEST-1_raw.txt
3-EQ-MSP-TEST-1_base64.txt
4-EQ-MSP-TEST-1_request.txt
5-EQ-MSP-TEST-1_responce.txt
Этот же код ответа в прикрепленном файле "5-EQ-MSP-TEST-1_responce.txt"
{
"meta": {
"url": "http://demo.ehealth.world/api/legal_entities",
"type": "object",
"request_id": "nc27k18efrmhue5ctqqsrekfngojd5hr",
"code": 422
},
"error": {
"type": "validation_failed",
"message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.",
"invalid": [
{
"rules": [
{
"rule": "invalid",
"params": [],
"description": "one and only one registration address is required"
}
],
"entry_type": "json_data_property",
"entry": "$.addresses"
}
]
}
}
Предпологалось что все даные верные(
1. Беремо стрічку для підписання (підходить навіть з вашого еталонного прикладу) - http://docs.ehealthapi1.apiary.io/#reference/public.-medical-service-provider-integration-layer/legal-entities
{
"name": "Клініка Адоніс21",
"short_name": "Адоніс21",
"public_name": "Адоніс21",
"type": "MSP",
"owner_property_type": "STATE",
"legal_form": "140",
"edrpou": "38782323",
"kveds": [
"86.10"
],
"addresses": [
{
"type": "REGISTRATION",
"country": "UA",
"area": "Волинська область",
"region": "Бердичівський",
"settlement": "Київ",
"settlement_type": "CITY",
"settlement_id": "43432432",
"street_type": "STREET",
"street": "вул. Ніжинська",
"building": "15",
"apartment": "23",
"zip": "02090"
}
],
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
],
"email": "[email protected]",
"owner": {
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович",
"tax_id": "3015492565",
"birth_date": "1985-06-16",
"birth_place": "Вінниця, Україна",
"gender": "FEMALE",
"email": "[email protected]",
"documents": [
{
"type": "PASSPORT",
"number": "120518"
}
],
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
],
"position": "P1"
},
"medical_service_provider": {
"licenses": [
{
"license_number": "fd123443",
"issued_by": "Кваліфікацйна комісія",
"issued_date": "1991-08-19",
"expiry_date": "1991-08-19",
"active_from_date": "1991-08-19",
"what_licensed": "реалізація наркотичних засобів"
}
],
"accreditation": {
"category": "FIRST",
"issued_date": "1991-08-19",
"expiry_date": "1991-08-19",
"order_no": "fd123443",
"order_date": "1991-08-19"
}
},
"security": {
"redirect_uri": "http://example2.com"
},
"public_offer": {
"consent": true,
"consent_text": "Consent text"
}
}
2. постимо реквест (підписаний тестовим ключем)
{ "signed_legal_entity_request":"MIIe3QYJKoZIh ..... PqfIa", "signed_content_encoding":"base64" }
3. Отримуємо
error": {
"type": "validation_failed",
"message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.",
"invalid": [
{
"rules": [
{
"rule": "cast",
"params": [
"object"
],
"description": "type mismatch. Expected Object but got String"
}
],
"entry_type": "json_data_property",
"entry": "$"
}
]
}
Добрий день.
Вчора з'явилась помилка при реєстрації юр. особи. По логіці public_offer.consent має бути true/false.
{ "meta": { "url": "http://api-svc.il/api/legal_entities", "type": "object", "request_id": "70d2k7e32o53ggudgl3qdfumd0uifok4", "code": 422 }, "error": { "type": "validation_failed", "message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.", "invalid": [ { "rules": [ { "rule": "inclusion", "params": [ true ], "description": "value is not allowed in enum" } ], "entry_type": "json_data_property", "entry": "$.public_offer.consent" } ] } }
Дякую.
Мені необхідно вказати місто при виборі адреси.
Скажімо нехай це буде Вінниця.
Роблю запит на
https://api.ehealth.world/api/uaddresses/details/region/C4C0F907-8B60-483E-BBF6-DFB34AB91574/districts?limit=100
Бачу всі райони включно з вінницьким.
Пробую отримати всі населені від цього району.
І міста Вінниця я там не бачу.
Підкажіть будь ласка REST API пошуку вулиці в населеному пункті.
Список областей і пошук населеного пункту в області працюють добре.
/uaddresses/search/regions
/uaddresses/search/settlements?settlement_name=уши®ion=хмельницька
demo
http://medic.algoritmed.com/v/testMvpAddress
дубляж
romanm/algoritmed-mvp1-ehealth#5
Прохання додати параметр email в метод Show Login UI.
Очікуваний результат: в даному параметрі ми передаємо email користувача і він автоматично підставляється на формі логіна в поле логін.
Issue observed since last week with authorize scopes
Also, seems to be broken in Postman
Request
POST /oauth/apps/authorize HTTP/1.1
Host: demo.ehealth.world
Origin: http://auth.demo.ehealth.world
authorization: Bearer dDFUV1ZQZ1ROdVdxM3dmVTNhc0lMUT09
content-type: application/json
cache-control: no-cache
Referer: http://auth.demo.ehealth.world/accept?client_id=14c5f300-16e9-4d19-9579-64d7e0a9068d&email=boris%40helsi.me&redirect_uri=http%3A%2F%2Fdisdev.helsi.me%2Fclinics%2Fmsp_ready&request_type=code&scope=division%3Aread+division%3Awrite+employee%3Aread+employee%3Awrite+employee_request%3Aread+employee_request%3Awrite+app%3Aauthorize+address%3Aread+legal_entity%3Aread
Accept-Encoding: gzip, deflate
Accept-Language: uk-UA,uk;q=0.8,ru;q=0.6,en-US;q=0.4,en;q=0.2
Response:
{"meta
meta":{"url":"http://demo.ehealth.world/oauth/apps/authorize","type":"object","request_id":"6q1u0n3eitoksbbdhvbdho2iu7osk899","code":422},"error":{"invalid_client":"Scope is not allowed by client type."}}
Костя, нужна помощь (не срочно, но надо) в тестировании с одним из МИСов.
Есть кто-нибудь, кто сможет уделить хотя бы минут 30 по проверке?
Тут 2 вопроса
Есть ли проблема с упомянутой подписью АЦСК "Украина" - почему-то приходит ошибка 500
1а) Есть ли проблема с подписями ФОП - там не ЕДРПОУ а ИНН из подписи должен браться
Уточнить что за проблема с HTTP/422 - validation failed. Это ошибка по несовпадению ЕДРПОУ в подписи и в докумете?
BR, Pavel V. Zhuk
---------- Переслане повідомлення ----------
Від: Песков Дмитрий Александрович [email protected]
Дата: 25 травня 2017 р. о 14:23
Тема: Підписи АЦСК "Україна"
Кому: "[email protected]" [email protected]
Копія: "Pavel V. Zhuk" [email protected]
Добрий день.
Створюю юр. особу Org.json
Підписав файл Org.json ключами АЦСК "Україна" на сайті http://czo.gov.ua/sign. (ключ реальної юр. особи)
Перетворив у base64.
OrgTest.p7s - Org.json підписаний тестовими ключами
OrgTest_base64.p7s - Org.json підписаний тестовими ключами у base64
рекв. ключа.txt - інформація по ключу.
Приходить у відповідь
{
"meta": {
"url": "http://api-svc.il/api/legal_entities",
"type": "object",
"request_id": "t656oacqfl42tm8ljap182gbs32e8vtc",
"code": 500
},
"error": {
"type": "internal_error"
}
}
Все це роблю тестовими ключами, відповідь
{
"meta": {
"url": "http://api-svc.il/api/legal_entities",
"type": "object",
"request_id": "at041o8dasis5lriqnd1kogb3jp8um4q",
"code": 422
},
"error": {
"type": "validation_failed",
"message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.",
"invalid": [
{
"rules": [
{
"rule": "inclusion",
"params": [
"38469862"
],
"description": "is invalid"
}
],
"entry_type": "json_data_property",
"entry": "$.edrpou"
}
]
}
}
Може я щось роблю не так, виправте будь ласка.
Дякую.
Прошу создать end point "Settlements by region" - нас. пункты привязанные только к региону.
http://demo.ehealth.world/api/uaddresses/search/settlements?region=ЛЬВІВСЬКА&district=СОКАЛЬСЬКИЙ&settlement_name=ЛЬВІВ - возвращает нас. пункты с привязкой к области и району.
http://demo.ehealth.world/api/uaddresses/search/settlements?region=ЛЬВІВСЬКА&settlement_name=ЛЬВІВ - возвращает нас. пункты с привязкой к области и району и только к области. Но это логически неправильно. Если я не указал район, то и хочу получить нас. пункты области.
Надсилаємо такі данні
legal.txt
отримуємо таку помилку - {
"meta":{
"url":"http://demo.ehealth.world/api/legal_entities",
"type":"object",
"request_id":"aouv8653ho3km9i7ab85c0r35t4d291t",
"code":422
},
"error":{
"type":"validation_failed",
"message":"Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.",
"invalid":[
{
"rules":[
{
"rule":"invalid",
"params":[
],
"description":"one and only one registration address is required"
}
],
"entry_type":"json_data_property",
"entry":"$.addresses"
}
]
}
}
Підкажіть, будь ласка, в чому може бути проблема.
[*] endpoint address:
http://demo.ehealth.world/api/legal_entities
[*] preconditions if any:
new clinic registration or updating existing LE
[* ] sequence of actions that should be taken to reproduce the behavior.
register LE with a list of KVEDs, where one of the KVEDs is not in allowed KVEDs list
[*] test data, requests examples, json files, curl requests etc
test_le.json.txt
Validation error, HTTP/422, because 86.90 is not in the list of allowed KVEDs
Kved validation must be less strict. Instead of checking that all KVEDs are allowed to be reststered, system should check that AT LEAST ONE of the KVEDs is allowed for registration
GET /api/uaddresses/search/settlements?settlement_name=НОВОГРАД-ВОЛИНСЬКИЙ&region=ЖИТОМИРСЬКА HTTP/1.1
Host: api.ehealth.world
HTTP/200, nothing found data:[]
НОВОГРАД-ВОЛИНСЬКИЙ should be found!
Є декілька питань по листу підтвердження реєстрації.
В тому вигляді в якому він є зараз він більше підходить для всіх співробітників крім "Керівника".
Для куріника пропоную змінити текст на:
"Вітаємо!
Ви зробили перший крок в рамках впровадження в Україні електронної системи охорони здоров'я.
Цим листом ми підтверджуємо, що заклад "...", який зареєстровано за адресою: ..... зареєстровано в системі eHealth.
Для завершення реєстрації, будь ласка, перейдіть за посиланням:
........
"
А також, додати щось про те що функціонал поки, що не повний чекайте.
Тепер по багам:
При регистрации клиники выдаёт такую ошибку:
{"meta":{"url":"http://api.ehealth-ukraine.org/api/legal_entities","type":"object","request_id":"rmpvb4gsv4meki2no95p3s26e6l3cset","code":400},"error":{"type":"request_malformed","message":"Signed request data is invalid","invalid":[{"rules":[{"rule":"json"}],"entry_type":"request"}]}}
Данный клиники, которую мы регистрируем:
{"owner":{"gender":"MALE","phones":[{"type":"MOBILE","number":"+380509874741"},{"type":"LAND_LINE","number":"+380567495160"},{"type":"LAND_LINE","number":"+380567934460"}],"documents":[{"type":"PASSPORT","number":"АЕ 816138"}],"position":"P3","first_name":"Кондратенко","last_name":"Іван","second_name":"Миколайович","birth_date":"1978-01-31","tax_id":"2852004472","email":"[email protected]","birth_place":"м. Житомир, Україна"},"medical_service_provider":{"accreditation":{"category":"FIRST","order_date":"2017-04-28","expiry_date":"2020-04-27","order_no":"466/0/197-17","issued_date":"2017-04-28"},"licenses":[{"license_number":"АД №063046","what_licensed":"Медична практика","issued_by":"Міністерство охорони здоров'я України","issued_date":"2012-07-12","active_from_date":"2012-07-12"}]},"addresses":[{"settlement":"ДНІПРО","settlement_type":"CITY","settlement_id":"ee73597c-273d-457c-a01a-5c86f2904db4","zip":"49020","street_type":"STREET","street":"Футбольна","building":"12","apartment":"-","type":"REGISTRATION","country":"UA","area":"ДНІПРОПЕТРОВСЬКА"}],"phones":[{"type":"LAND_LINE","number":"+380567495160"},{"type":"LAND_LINE","number":"+380567934460"}],"kveds":["86.21"],"owner_property_type":"STATE","name":"Комунальний заклад "Дніпровський центр первинної медико-санітарної допомоги №12"","short_name":"КЗ "ДЦПМСД №12"","legal_form":"430","edrpou":"37899720","public_name":"Комунальний заклад "Дніпровський центр первинної медико-санітарної допомоги №12"","email":"[email protected]","type":"MSP","security":{"redirect_uri":"https://newmedicine.com.ua"},"public_offer":{"consent":true,"consent_text":"Зобов'язуюсь дотримуватись Регламенту функціонування системи eHealth. Підтверджую достовірність вказаних мною даних та добровільність надання цих даних. Усвідомлюю, що у випадку надання мною невірної інформації, мені може бути відмовлено у реєстрації в системі eHealth."}}
Используется ЕЦП от ПРИВАТБАНКА
Mutiple bugs on this requests
First of all - wrong response code is returned
Second - DigSign verification fails even though it's a proper test Signature
{ "_id" : ObjectId("592b019d8fe080d4186fabd2"), "request_id" : "9034ee3c-d391-4274-919f-19ecf3400c38", "request_data" : { "edrpou" : "38782323", "legal_form" : "540", "name" : "Helsi DIS", "short_name" : "Helsi", "public_name" : "Helsi eHealth DIS", "owner_property_type" : "STATE", "kveds" : [ "33.12", "87.12" ], "addresses" : [ { "type" : "REGISTRATION", "area" : "Вінницька область", "settlement" : "Киев", "street_type" : "STREET", "street" : "Прохора", "building" : "12", "apartment" : "111", "zip" : "23433", "country" : "UA", "settlement_id" : "43432432", "settlement_type" : "CITY", "region" : "Вінницька область" }, { "area" : "Вінницька область", "settlement" : "Лунь", "street_type" : "STREET", "street" : "Мишина", "building" : "12", "apartment" : "", "zip" : "34534", "country" : "UA", "settlement_id" : "43432432", "settlement_type" : "CITY", "region" : "Вінницька область" } ], "owner" : { "last_name" : "Лапуга", "first_name" : "Борис", "second_name" : "Казановиич", "birth_date" : "19.11.1986", "birth_place" : "Россия, Украина", "gender" : "MALE", "documents" : [ { "type" : "TEMPORARY_CERTIFICATE", "number" : "34534544" } ], "tax_id" : "3453453454", "position" : "P9", "phones" : [ { "number" : "+380734439137", "type" : "MOBILE" } ], "email" : "[email protected]" }, "medical_service_provider" : { "accreditation" : { "category" : "SECOND", "issued_date" : "1999-11-11", "expiry_date" : "1999-11-11", "order_no" : "12312312", "order_date" : "2231-12-12" }, "licenses" : [ { "license_number" : "23423423", "issued_by" : "", "issued_date" : "", "expiry_date" : "", "kved" : "", "what_licensed" : "" } ] }, "phones" : [ { "number" : "+380449134324", "type" : "LAND_LINE" } ], "email" : "[email protected]", "type" : "MSP", "security" : { "redirect_uri" : "http://dis.helsi.dev/legal_entity/msp_ready" }, "public_offer" : { "consent" : true, "consent_text" : "Test" } }, "create_date" : ISODate("2017-05-28T16:58:05Z"), "signedRequestData" : "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", "signedRequestDate" : ISODate("2017-05-28T16:58:22Z"), "ehealthRequests" : [ { "meta" : { "url" : "http://api-svc.il/api/legal_entities", "type" : "object", "request_id" : "b6v23dq1c04p0t0r5ig2lj2963qmbhru", "code" : 400 }, "error" : { "type" : "request_malformed", "message" : "Signed request data is invalid", "invalid" : [ { "rules" : [ { "rule" : "json" } ], "entry_type" : "request" } ] } } ] }
При регистрации employee:
{"employee_request":{"end_date": "1899-12-30", "legal_entity_id": "5933602e-c3bc-4a3a-a961-6ec3569052e5", "position": "P1", "start_date": "2017-07-03", "status": "NEW", "employee_type": "DOCTOR", "party": {"first_name": "Иван", "second_name": "Иванович", "birth_date": "1958-04-04", "gender": "MALE", "tax_id": "2222222222", "email": "[email protected]", "documents": [{"type": "PASSPORT", "number": "НС336478 "}], "phones": [{"type": "LAND_LINE", "number": "+380372373350"}]}, "doctor": {"educations": [{"country": "UA", "city": "Київ", "institution_name": "Академія Богомольця", "issued_date": "1977-04-04", "diploma_number": "DD123543", "degree": "MASTER", "speciality": "Педіатр"}], "qualifications": [{"type": "AWARDING", "institution_name": "Академія Богомольця", "speciality": "Педіатр", "issued_date": "2017-08-05", "certificate_number": "СТ123456"}], "specialities": [{"speciality": "PEDIATRICIAN", "speciality_officio": true, "level": "FIRST", "qualification_type": "AWARDING", "attestation_name": "Академія Богомольця", "attestation_date": "2017-08-05", "valid_to_date": "2017-08-05", "certificate_number": "AB\/21331"}], "science_degree": {"country": "UA", "city": "Київ", "institution_name": "Академія Богомольця", "issued_date": "2017-08-05", "diploma_number": "DD123543", "degree": "Доктор філософії", "speciality": "THERAPIST"}}}}
"rules": [ { "rule": "format", "params": [ "^(\\d{4}(?!\\d{2}\\b))((-)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6]))))$" ], "description": "string does not match pattern \"^(\\\\d{4}(?!\\\\d{2}\\\\b))((-)((0[1-9]|1[0-2])(\\\\3([12]\\\\d|0[1-9]|3[01]))|(00[1-9]|0[1-9]\\\\d|[12]\\\\d{2}|3([0-5]\\\\d|6[1-6]))))$\"" } ], "entry_type": "json_data_property", "entry": "$.employee_request.doctor.qualifications.[0].certificate_number
issue здубльований romanm/algoritmed-mvp1-ehealth#4
Данні збережених як файл registry_MSP_157.json, підписаних ЕЦП Key-6.dat з тестових даних за допомогою http://czo.gov.ua/sign (результатативний фай registry_MSP_157.json.p7s), закодований base64, base64 стрічка запакована в відповідний формат і відправлена HttpClient PUT http://demo.ehealth.world/api/legal_entities .
Папка з файлами даних https://github.com/romanm/algoritmed-mvp1-ehealth/tree/master/src/main/resources/test2_api__legal_entities
від первинних даних
https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/resources/test2_api__legal_entities/registry_MSP_157.json
до https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/resources/test2_api__legal_entities/registry_MSP_157_response.json .
Тестовий сервер з вказаним випадком:
http://medic.algoritmed.com/v/testMvpMedic?doc_id=157
Передача p7s даних кліент бровзер
https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/resources/static/f/mvp1/medic/msp/msp_registry_data_digitalsign.html#L31
Прийом p7s даних сервер
https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/java/org/algoritmed/mvp1/medic/EhealthUaRegistryFileUploadRest.java#L20
Кодування base64
https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/java/org/algoritmed/mvp1/medic/EhealthUaRegistryFileUploadRest.java#L25
Підготовка request контайнера поетапно:
https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/java/org/algoritmed/mvp1/medic/EhealthUaRegistryFileUploadRest.java#L29
https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/java/org/algoritmed/mvp1/util/EhealthUaRegistryWebClient.java#L25
Підскажіть будьласка де міститься повна інформація про типи адресів
addresses.type:[]
В документації http://docs.ehealthapi1.apiary.io її неможливо знайти.
Добрий день.
Хотів уточнити, який формат дат буде використовуватись для полів з JSON.
Дякую.
I try to get all regions by this endpoint address http://demo.ehealth.world/api/uaddresses/regions
but I get the error:
{
"meta":{
"url":"http://api-svc.uaddresses/regions",
"type":"object",
"request_id":"tgb0bq3tiio156ceed2p6gahrdn04qfg",
"code":404
},
"error":{
"type":"not_found"
}
}
but it worked before
PLESE FIX THIS!!!!!!!!!
Прохання збільшити час дії Refresh token до 60 днів.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.