Руководство к использованию стандарта FHIR в МИС2
0.5.0 - ci-build Uzbekistan flag

Руководство к использованию стандарта FHIR в МИС2 - Local Development build (v0.5.0). See the Directory of published versions

Описание работы с направлениями

Данное руководство разъясняет основные правила использования всех видов направлений, например на консультацию, анализы, исследования и т.д. Специфика льготного стационарного направляния описана в отдельном приложении. Артефакты содержат детальную спецификацию UZBaseServiceRequest и примеры.

Общие требования

Каждый FHIR ресурс ДОЛЖЕН содержать тип ресурса (“resourceType”) и информацию о профиле (“meta.profile”).

  "resourceType": "ServiceRequest",
  "meta": {
    "profile": [
      "https://ssv.uz/fhir/StructureDefinition/UZBaseServiceRequest"
    ]
  }

Запрос (Request)

Запрос на создание направления должен быть направлен на FHIR endpoint, например в среде разработки на: https://mis.kodality.dev/fhir/ServiceRequest. В запросе следует:

  • задать тип данных (заголовок “Content-Type” с значениями “application/json” или application/xml”)
  • токен аутентификации (заголовок “Authorization”) и
  • передать в теле сообщения валидный ресурс.

Ответ (Response)

При успешном создании endpoint вернёт код 20Х. При ошибке 40Х. Например запрос на создание направления дольен вернуть HTTP code = 201 Created.
По умолчанию возвращется ссылка на созданный ресурс в заголовке “Location”

Location:	http://mis.kodality.dev/fhir/ServiceRequest/7704

и тело созданного ресурса не не возвращается. При необходимости вы можете переопределить поведение по умолчанию заголовком “Prefer”.

Категория

Различные категории описаны в классификаторе категорий направлений. Направление на анализы:

  "category" : [
    {
      "coding" : [
        {
          "system" : "https://tx.ssv.uz/fhir/ValueSet/service-request-category",
          "code" : "108252007",
          "display" : "Лабораторное исследование"
        }
      ]
    }
  ]

Направление на льготное стационарное лечение должно содержать код 000000001.

  "category" : [
    {
      "coding" : [
        {
          "system" : "https://tx.ssv.uz/fhir/ValueSet/service-request-category",
          "code" : "000000001",
          "display" : "Imtiyozli davolanish"
        }
      ]
    }
  ]

Пациент

Ссылка на пациента задаётся в поле subject. Ссылка может быть задана тремя спосабами: 1) ссылка на пациента в МИС2

  "subject" : {
    "reference" : "Patient/123"
  }

2) ссылка на пациента в МИС1

  "subject" : {
    "reference" : "https://mis.ssv.uz/Patient/92853-tjh46-m34j64-jh354"
  }

3) используя натуральный идентификатор пациента

  "subject" : {
    "type": "Patient", 
    "identifier": {
      "system": "urn:pin:ssv.uz:pid:ni:uzb",
      "value": "31002736540023"
    } 
  }

Заказчик

Информация о заказчике передаётся в поле requester. Информация об заказчике должна содержать организацию, специалиста, а также может содержать специальности и контактные данные - телефон и э-почту. Информацию об заказчике необходимо передавать в виде contained рессурса.

  "contained": [
    {
      "resourceType" : "PractitionerRole",
      "id" : "requester",
      "practitioner" : {
        "reference" : "Practitioner/cd005f03-3ae4-48e6-b01c-ea46e49a12e4",
        "display" : "Aibolit"
      },
      "organization" : {
        "reference" : "Organization/75074647-87c6-48d8-b7cc-f6446e252461",
        "display" : "IT-Med Hospital"
      }
    }
  ],    
  "requester" : {
    "reference" : "#requester",
    "display" : "Dr Aibolit @ IT-Med"
  },

Исполнитель

Информация об испольнителе заказа передаётся в поле performer. Информация об исполнителе должна содержать организацию испольнителя, а также может содержать информацию об специальности исполнителя, конкретного врача или услугу. Информацию об организации, враче и/или специальности необходимо передавать в виде contained рессурса. Информацию об услуге надо передавать ссылкой на услугу в HealthcareService. NB! Льготный диагноз также опысывается как услуга!

  "contained": [
    {
      "id": "performer",
      "meta": {
        "profile": [
          "https://ssv.uz/fhir/StructureDefinition/UZBasePractitionerRolePerformer"
        ]
      },
      "resourceType": "PractitionerRole",
      "organization": {
        "reference": "Organization/37007889-eabc-42a9-83a2-136e7a105cb8"
      }
    }
  ],
  "performer" : [
    {
      "reference" : "#performer",
      "display" : "IT-Med Hospital"
    },
    {
      "reference" : "HealthcareService/hs2",
      "display" : "Услуга '1024' @ IT-Med"
    }
  ],

Диагнозы

Информация о диагнозе (МКБ-10) записывается в поле reasonReference. Для этого диагноз должен быть предварительно записан в виде отдельного ресурса.

 "reasonReference" : [
    {
      "reference" : "Condition/condition1"
    }
  ],

Как альтернатива данные об диагнозе можно записать кодом диагноза. В таком случае этот диагноз будет только на направлении и его не будет видно в истории болезни пациента.

 "reasonReference" : [
    {
      "identifier" : {
          "system": "https://tx.ssv.uz/fhir/ValueSet/icd10-uz",
          "code": "F15.2",
          "display": "Синдром зависимости"
        }
    }
  ] 

Медицинская информация

Медицинская информация передаётся в поле supportingInfo. Информация включает анамнез (код 72185-2), клинический осмотр (75321-0), лечение (18776-5), которые передаются ввиде contained ресурсы типа ClinicalImpression.

"contained": [
    {
      "id": "anamnesis",
      "meta": {
        "profile": [
          "https://ssv.uz/fhir/StructureDefinition/UZBaseClinicalImpressionAnamnesis"
        ]
      },
      "resourceType": "ClinicalImpression",
      "status": "completed",
      "code": {
        "coding": [
          {
            "system": "http://loinc.org",
            "code": "72185-2",
            "display": "Medical history"
          }
        ]
      },
      "subject": {
        "reference": "https://test-api.ssv.uz/v2/Patient/4ebb1581-955a-4a67-9ed8-532dd7789d3d"
      },
      "summary": "Жалобы и анамнез\n123"
    },
    {
      "id": "finding",
      "meta": {
        "profile": [
          "https://ssv.uz/fhir/StructureDefinition/UZBaseClinicalImpressionFinding"
        ]
      },
      "resourceType": "ClinicalImpression",
      "status": "completed",
      "code": {
        "coding": [
          {
            "system": "http://loinc.org",
            "code": "75321-0",
            "display": "Clinical finding"
          }
        ]
      },
      "subject": {
        "reference": "https://test-api.ssv.uz/v2/Patient/4ebb1581-955a-4a67-9ed8-532dd7789d3d"
      },
      "summary": "Клинический осмотр\n123"
    },
    {
      "id": "treatment",
      "meta": {
        "profile": [
          "https://ssv.uz/fhir/StructureDefinition/UZBaseClinicalImpressionTreatment"
        ]
      },
      "resourceType": "ClinicalImpression",
      "status": "completed",
      "code": {
        "coding": [
          {
            "system": "http://loinc.org",
            "code": "18776-5",
            "display": "Plan of care note"
          }
        ]
      },
      "subject": {
        "reference": "https://test-api.ssv.uz/v2/Patient/4ebb1581-955a-4a67-9ed8-532dd7789d3d"
      },
      "summary": "Назначенное лечение\n123"
    }
  ],
  "supportingInfo": [
    {
        "reference": "#anamnesis",
        "type": "ClinicalImpression"
    },
    {
        "reference": "#finding",
        "type": "ClinicalImpression"
    },
    {
        "reference": "#treatment",
        "type": "ClinicalImpression"
    }
  ]    

Примeчание

Примечание к направлению передается с поле note.

  "note": [
    {
      "text": "Примечание 123"
    }
  ]

Льготы

Информация о льготах связанных с направлением также передаётся в поле supportingInfo, ввиде contained ресурсов типа Observation.

"contained": [
    {
      "id": "benefit-2",
      "meta": {
        "profile": [
          "https://ssv.uz/fhir/StructureDefinition/UZBaseSociaHistoryBenefit"
        ]
      },
      "resourceType": "Observation",
      "status": "final",
      "category": [
        {
          "coding": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/observation-category",
              "code": "social-history"
            }
          ]
        }
      ],
      "code": {
        "coding": [
          {
            "system": "http://snomed.info/sct",
            "code": "224192004",
            "display": "Benefit status"
          }
        ]
      },
      "subject": {
        "reference": "https://test-api.ssv.uz/v2/Patient/4ebb1581-955a-4a67-9ed8-532dd7789d3d"
      },
      "valueCodeableConcept": {
        "coding": [
          {
            "system": "https://tx.ssv.uz/fhir/ValueSet/patient-benefit",
            "code": "benefit-2"
          }
        ]
      }
    }
  ],
  "supportingInfo": [
    {
        "reference": "#benefit-2",
        "type": "Observation"
    }
  ]    

Состояние

Статус

Для описание состояния направлений используется статус и фаза. Список поддерживаемых статусов описан в классификаторе статусов направлений.

graph TD
    draft -->|Confirm| active
    draft -->|Edit| draft
    active --> |Create new version| active
    active --> |Use, Complete| completed
    active --> |Cancel| revoked

Фаза

Для Список поддерживаемых статусов описан в классификаторе фаз направлений. Фаза направлений является информативной и вычисляется автоматически. Изменение фазы происходит с помошью операций. Направление, сохранённое через интеграцию, считается проверенным на льготы и начинает с фазы waiting-documentation-check

Intent

NB! МИС2 не использует поле intent. Поскольку поле по стандарту FHIR обязательно, то рекоммендуемым значением является order. При необходимости можете использовать это поле для своих целей.

Операции с направлением

В дополнение к стандартным действиям (создание - POST, изменение - PUT, отмена - DELETE) МИС2 предлагает целый ряд операций изменяющих статус и фазу направления

Описание Операция Параметры
Вернуть в режим изменения POST /ServiceRequest/${id}/$reclaim-edit  
Начать изучение документации / заблокировать режим изменения POST /ServiceRequest/${id}/$start-treatment-check  
Подтвердить соответствие документации требованиям POST /ServiceRequest/${id}/$confirm-treatment  
Отказать в лечении и отправить направление обратно POST /ServiceRequest/${id}/$reject-treatment reason
Направить в другую организацию POST /ServiceRequest/${id}/$reflex-treatment reason
Начать лечение / Использовать направление POST /ServiceRequest/${id}/$start-fulfillment  
Отменить лечение POST /ServiceRequest/${id}/$revert-fulfillment  
Закончить лечение / направление POST /ServiceRequest/${id}/$complete  
Отменить завершение лечения POST /ServiceRequest/${id}/$revert-complete  
graph TD
    mis1[(mis1)] -- льготное? --> A{ }
    A -- нет --> waiting-fulfillment
    A -- да  --> waiting-documentation-check
    waiting-documentation-check -- $start-treatment-check --> in-documentation-check
    waiting-documentation-check -- $reclaim-edit --> mis1
    in-documentation-check -- $reject-treatment --> rejected
    in-documentation-check -- $reflex-treatment --> reflected
    rejected -- $reclaim-edit --> mis1
    in-documentation-check -- $confirm-treatment --> waiting-fulfillment
    reflected -. новое направление .-> waiting-documentation-check
    waiting-fulfillment -- $start-fulfillment --> fulfillment
    fulfillment -- $complete --> completed