FHIR Поиск слотов
Я внедряю сервер FHIR и по какой-то неустранимой причине у меня нет доступа к расписанию врача, однако у меня есть доступ к слотам, доступным для бронирования по назначению.
Я могу получить слоты из 4 параметров, используя
- идентификатор врача
- идентификатор организации
- идентификатор местоположения
- дата слота
Ниже будет рассматриваться как действительный запрос слота с использованием FHIR:
Кроме того, в ответе на вышеуказанный запрос, поскольку ссылка на Расписание является абсолютно необходимой (слот имеет карту =1..1 для ссылки на Расписание), я могу передать значение ссылки как что-то вроде:
"schedule": {
"reference": "Schedule/notrequired"
}
в ответ слот?
2 ответа
К сожалению, прямо сейчас вам нужно раскрыть Расписание, но нет никаких причин, по которым оно должно быть "реальным". В настоящее время мы реализовали поиск по слотам, выставив фиктивное расписание с единственным элементом данных, который является ссылкой на актера. Например:
<Schedule xmlns="http://hl7.org/fhir">
<id value="1234" />
<actor>
<display value="Cooper Thompson, MD" />
<reference value="http://host/api/FHIR/DSTU2/Practitioner/1234" />
</actor>
Наш поиск слотов в итоге выглядит следующим образом (с некоторыми правками для краткости и ясности, особенно вокруг типа слота):
http://host/api/FHIR/DSTU2/Slot?Schedule.actor:Practitioner=1234&Schedule.actor:Patient=5678&slottype=urn:oid:1.2.3|Cardiology&start=2016-07-21
Обратите внимание, что это технически недопустимо, так как слот может иметь только одно расписание, и мы включаем несколько связанных параметров поиска для расписания. Мы также используем расширения для отправки обратно пациенту, практикующему врачу и местоположению, связанному со слотом, так как Slot.schedule - 1:1. Однако это "преднамеренное неправильное использование" - лучший вариант, который я нашел, не заставляя клиента становиться системой планирования и иметь дело с выравниванием слотов для каждого ресурса.
В gforge FHIR есть несколько элементов отслеживания ( 9989, 9208) о внесении обновлений в слот, чтобы быть более дружественными к "простым клиентам". Мы будем благодарны за ваш вклад:).
Я мог бы что-то здесь упустить, но не уверен, как вы определяете разницу между временем и расписанием?
Ресурс "Расписание" просто определяет период времени, в течение которого могут существовать временные интервалы, и для которого другой ресурс. Он не определяет и не раскрывает встречи, которые могут существовать в течение этого времени.
Параметры поиска слотов не определяют параметры поиска, как вы предполагали. Это все из ресурса расписания, с которого он ссылается.
Практик, местоположение и пациент могут иметь свое расписание / слоты, и, таким образом, это зависит от системы, в которой определяется сложность. Некоторые системы решают, что они будут беспокоиться только о практикующих (у которых есть своя комната), другие беспокоятся только о комнате и будут распределять практикующих позже.
Исходя из моего понимания того, что, по моему мнению, вы пытаетесь сделать (создавая фасад FHIR перед системой управления практикой), я думаю, что вам нужно будет предоставить следующие ресурсы:
- Практикующий: раскрыть подробности практикующего (интересно, могут ли ваши практикующие работать в разных местах)
- Расписание. Чтобы просто указать диапазон дат, в который вы принимаете встречи (и у вас будет определена доступность слотов), и практикующий будет связан с этим ресурсом, если они работают в нескольких местах, у вас будет один из них для каждого местоположения, в котором работает практикующий врач., (Если ресурсы местоположения имеют свое собственное расписание, то необходимо будет дополнительно его рассмотреть, и где будет выполнено согласование доступных слотов)
- Слот: для определения доступных слотов, в которые могут быть назначены встречи. (примечание: это не встречи)
- Назначение: для получения созданных назначений (не знаю, как вы собираетесь это делать, если у вас нет доступа к расписанию)
- Пациент: Предполагая, что вы хотите назначить пациентов на приемы;)
Если все это имеет смысл, и вы проясните свое окружение, я добавлю вероятные запросы, которые вам нужно будет обработать.
Это был отличный вопрос, и администрация пациента планирует написать руководство по внедрению этой функции в различных средах (общая практика, стационар, амбулатор, сообщество, лаборатория и т. Д.).