Giter Site home page Giter Site logo

api-spec's Introduction

MIS API GENERAL

Support

!All the support tickets related to the public API should be registered with the kind/support label.

It should consist of the below chapters

Steps to Reproduce (Repro steps)

Capture enough information so that other team members can understand the full impact of the problem as well as whether they have fixed the bug. This includes actions taken to find or reproduce the bug and expected behavior

  • Should include endpoint name and address.
  • Should include preconditions if any
  • Should include sequence of actions that should be taken to reproduce the behavior.
  • Should include the test data, requests examples, json files, curl requests etc

Actual result

The actual system behavior. Should include the received response file

Expected result

PLease describe the expected system behavior. Test

api-spec's People

Contributors

5ht avatar alekzandrv avatar anastasiia-ehealth avatar andrewdryga avatar dmytro-ehealth avatar dmytrokulibaba avatar lymychp avatar mykhailome avatar nataliiaeden avatar nemaslov avatar nick-ehealth avatar pzhuk avatar svc-git avatar troynin450 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

api-spec's Issues

Проблемы при геристрации нового legal -> one and only one registration address is required

Steps to Reproduce (Repro steps)

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

Actual result

Этот же код ответа в прикрепленном файле "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"
}
]
}
}

Expected result

Предпологалось что все даные верные(

DigSign verification fails even though it's a proper test Signature

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" } ] } } ] }

SPECIALITY_LEVEL - missing "no speciality" or "doctor-specialist"

Структура словника SPECIALITY_LEVEL(кваліфікаційний рівень лікаря) не передбачає нульового рівня, тобто лікаря-спеціаліста. Причому, сам квадіфікаційний рівень є обов"язковим для create employee request.

Пропоную додати категорію "Лікар-спеціаліст"

    {
      "values": {
        "SECOND": "Друга категорія",
        "HIGHEST": "Вища категорія",
        "FIRST": "Перша категорія"
      },
      "name": "SPECIALITY_LEVEL",
      "labels": [
        "SYSTEM",
        "EXTERNAL"
      ],
      "is_active": true
    },

Валидация электронной почты

При регистрации юр. лица возвращается ошибка:
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

Возможно это связанно с доменным именем.

Authorize scopes is broken?

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."}}

Ошибка проверки поля employee_request.doctor.qualifications.[0].certificate_number

При регистрации 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

Довідник адрес

Steps to Reproduce (Repro steps)

  1. region=Київська settlement_name=Славутич
  2. region=Луганська settlement_name=Станиця Луганська
  3. region=Дніпропетровськ district=Дніпровський settlement_name=Підгородне

Actual result

  • в respons.zip respons.zip
    і да по Славутичу, він у Вас в Чернігівській області

Expected result

  • повернення id населеного пункту

wrong kved handling

Steps to Reproduce (Repro steps)

test_le.tar.gz

Actual result

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"
      }
    ]
  }
}

Expected result

Proper kved's list should be created for legal entity

employee_id is present in spec of Create/Update Employee request but absent in actual response

Steps to Reproduce (Repro steps)

  • endpoint address: demo.ehealth.world/api/employee_requests
  • preconditions if any: no any preconditions
  • sequence of actions that should be taken to reproduce the behavior.
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"
      }
    }
  }
}

Actual result

{
  "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": "Київ"
        }
      ]
    }
  }
}

Expected result

As per specification there should be employee_id returned as well as id
However we could see only id being returned

Формат дат для полів

Добрий день.

Хотів уточнити, який формат дат буде використовуватись для полів з JSON.

Дякую.

Помилка реєстрації юр. особи

{ "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" } ] } }

Валідація аккредитації при створенні медичного закладу

При створенні медичного закладу можна обрати пункт без аккредитації, але при цьому поле order_no є обов'язковим. Потрібно при створенні медичного закладу без аккредитації забирати валідацію на всі зв'язані з нею поля.

Actual result

  • validation error: "equired property order_no was not present"

Expected result

  • збереження медичного закладу без помилки

Legal Entity licenses - obsolete and missed fields

In Legal Entity licenses:

  1. kved - is obsolete, should be removed

  2. 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",
    

speciality в employee sience_degree не має бути прив"язанами до enum

Згідно специфікації, 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"
      }
    ]
  }
}

Доопрацювання методу Show Login UI

Прохання додати параметр email в метод Show Login UI.
Очікуваний результат: в даному параметрі ми передаємо email користувача і він автоматично підставляється на формі логіна в поле логін.

Помилка створення підрозділу

  • POST http://demo.ehealth.world/api/divisions
  • { "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 }

Actual result

  • { "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" } ] } }

Expected result

Особый тип города Киев и поиск settlement

Steps to Reproduce (Repro steps)

  1. Выполнить поиск регионов
    http://demo.ehealth.world/api/uaddresses/search/regions

  2. Выполнить поиск районов
    http://demo.ehealth.world/api/uaddresses/search/districts?region=М.КИЇВ

  3. Выполнить поиск насенных пунктов по заранее заданым региону и району
    http://demo.ehealth.world/api/uaddresses/search/settlements?region=М.КИЇВ&district=ГОЛОСІЇВСЬКИЙ

Actual result

пустой список населенных пунктов

Expected result

список доступних наленных пунктов, в этом кейсе только один, КИЕВ

Я понимаю что это кажеться не логичным, но для всех остальных районов это нормальный сценарий, например ВІННИЦЬКА -> ОРАТІВСЬКИЙ -> (много различних населенных пунктов)
http://demo.ehealth.world/api/uaddresses/search/settlements?region=ВІННИЦЬКА&district=ОРАТІВСЬКИЙ

Можно ли поменить такие регионы флагом говорящим о том что поиск по районам не даст результатов? Или во время поиска по районам отдавать населенные пункти у которых district == request.district && district == null даже если в параметрах запроса указан конкретный дистрикт?

Помилка при створенні Legal Entity.

Надсилаємо такі данні
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"
     }
  ]

}
}

Підкажіть, будь ласка, в чому може бути проблема.

Повернення повного шляху до помилки

Прохання повертати повний шлях до помилки.
Наприклад зараз по .../api/legal_entities , коли помилка в айді паспорту повертає помилку "entry":"$.owner.documents.[0]", а потрібно щось типу "entry":"$.owner.documents.document_id".

type mismatch. Expected Object but got String при спробі реєстрації legal_entity

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": "$"
}
]
}

Реєстрація MSP. зняти required з атрибутів адреси

Колеги, як обговорювали на останній зустрічі в рамках реєстрації MSP ви знімете required з полів
addresses.settlement_id і addresses.building, так як це адреси юредичні і особливої інфи для Вас не несуть. На даний момент вони ще required.

Search Regions / List Of Regions By Search Params PROBLEM

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!!!!!!!!!

тест2 /api/legal_entities накладання ЕЦП і відправка Статус http 422 замість 200

Статус http 422 замість 200 при передачі даних підготовлених в medic.algoritmed.com .

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 .

Actual result

  • [https://github.com/romanm/algoritmed-mvp1-ehealth/blob/master/src/main/resources/test2_api__legal_entities/registry_MSP_157_response.json ] response example (*.json file)

Steps to Reproduce (Repro steps)

Папка з файлами даних 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

Expected result

  • description of the expected system behavior.

валідація наданих кведів

Steps to Reproduce (Repro steps)

  • [*] 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

Actual result

Validation error, HTTP/422, because 86.90 is not in the list of allowed KVEDs

Expected result

  • [* ] description of the expected system behavior.

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

UADresses mismstach for НОВОГРАД-ВОЛИНСЬКИЙ - missing settlement

Steps to Reproduce (Repro steps)

  • test data, requests examples, json files, curl requests etc
GET /api/uaddresses/search/settlements?settlement_name=НОВОГРАД-ВОЛИНСЬКИЙ&region=ЖИТОМИРСЬКА HTTP/1.1
Host: api.ehealth.world

Actual result

HTTP/200, nothing found data:[]

Expected result

НОВОГРАД-ВОЛИНСЬКИЙ should be found!

UADresses mismstach for Васильків - missing district

  • [*] 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

Actual result

  "data": [
    {
      "type": "CITY",
      "settlement_name": "ВАСИЛЬКІВ",
      "region": "КИЇВСЬКА",
      "parent_settlement": null,
      "mountain_group": "false",
      "koatuu": "3210700000",
      "id": "2564ff1f-6659-4af3-98bc-e74d6e49660d",
      **"district": null**
    }

Expected result

District should not be null, according to KOATUU

Неизвестная ошибка при регистрации клиники (ЕЦП от ПРИВАТБАНКА)

При регистрации клиники выдаёт такую ошибку:

{"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."}}

Используется ЕЦП от ПРИВАТБАНКА

Вибір міста.

Мені необхідно вказати місто при виборі адреси.
Скажімо нехай це буде Вінниця.
Роблю запит на
https://api.ehealth.world/api/uaddresses/details/region/C4C0F907-8B60-483E-BBF6-DFB34AB91574/districts?limit=100

Бачу всі райони включно з вінницьким.
Пробую отримати всі населені від цього району.
І міста Вінниця я там не бачу.

тест3 - Підкажіть будь ласка REST API пошуку вулиці в населеному пункті.

Підкажіть будь ласка REST API пошуку вулиці в населеному пункті.

Список областей і пошук населеного пункту в області працюють добре.
/uaddresses/search/regions
/uaddresses/search/settlements?settlement_name=уши&region=хмельницька
demo
http://medic.algoritmed.com/v/testMvpAddress
дубляж
romanm/algoritmed-mvp1-ehealth#5

Словник адрес

@lymychp
Чи працює зараз GET-запит на словник адрес?
http://demo.ehealth.world/api/uaddresses/addresses

При запиті отримую:
{ "type": "not_found" }

Прохання додати end point

Суть end point: Ми вам на вхід подаємо json підписаний ЕЦП в base64 (в base64 лише тому, що решта end point які приймають зашифрований контент приймають саме так), а на виході від вас ми отримуємо true / false.
true - якщо можете зняти ЕЦП, тобто дане ЕЦП підтримується вашим сервісом;
false - якщо НЕ можете зняти ЕЦП, тобто дане ЕЦП НЕ підтримується вашим сервісом;

Legal Entity API validation error (ACSK Ukraine)

Костя, нужна помощь (не срочно, но надо) в тестировании с одним из МИСов.
Есть кто-нибудь, кто сможет уделить хотя бы минут 30 по проверке?

Тут 2 вопроса

  1. Есть ли проблема с упомянутой подписью АЦСК "Украина" - почему-то приходит ошибка 500
    1а) Есть ли проблема с подписями ФОП - там не ЕДРПОУ а ИНН из подписи должен браться

  2. Уточнить что за проблема с 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"
}
]
}
}

Може я щось роблю не так, виправте будь ласка.

Дякую.

Помилка реєстрації юр. особи

Добрий день.

Вчора з'явилась помилка при реєстрації юр. особи. По логіці 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" } ] } }

Дякую.

Помилка обовязковості $.public_name і $.short_name

===NO SECRET INFORMATION FROM PRODUCTION SHOULD BE DISCLOSED IN THIS REPO. IT IS PUBLIC====

Виникає помилка при реєстрації МСП, якщо не обовязкові поля пусті. При цьому вони не передаються.

Steps to Reproduce (Repro steps)

  • /api/legal_entities
  • запити у файлі

Посмилка реэстрацыъ мсп.zip

Expected result

  • помилки не має бути

Лист підтвердження реєстрації

Є декілька питань по листу підтвердження реєстрації.
В тому вигляді в якому він є зараз він більше підходить для всіх співробітників крім "Керівника".
Для куріника пропоную змінити текст на:
"Вітаємо!
Ви зробили перший крок в рамках впровадження в Україні електронної системи охорони здоров'я.
Цим листом ми підтверджуємо, що заклад "...", який зареєстровано за адресою: ..... зареєстровано в системі eHealth.

Для завершення реєстрації, будь ласка, перейдіть за посиланням:

........
"

А також, додати щось про те що функціонал поки, що не повний чекайте.

Тепер по багам:

  1. https://prnt.sc/fe695v - не виводить адресу, вказана не назва посади, а ІД
  2. https://prnt.sc/fe68q3 - не вірний формат дати
  3. https://prnt.sc/fe68zj - по нажаттю на "Прийняв запрошення" нічого не відбувається

provide settlement filtering by null disctrict

Прошу создать 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=ЛЬВІВ - возвращает нас. пункты с привязкой к области и району и только к области. Но это логически неправильно. Если я не указал район, то и хочу получить нас. пункты области.

get Employees does not return contact points any more

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.