Ресурс MedicationDispense
FHIR
определяет атрибуты, связанные с рецептом, такие как запрос, дозировка, количество и т. д. Номер рецепта, также известный как RxNumber
, является довольно распространенным атрибутом записи о выдаче в аптечной системе. Мне интересно, почему это не определено в схеме MedicationDispense
?
В схеме есть два идентификатора: id
и identifier
. Как упоминалось в другом посте, identifier
должно быть чем-то в разных системах, например SSN
пациента. Между тем id
неоднозначен, поскольку это может быть внутренний идентификатор базы данных или что-то еще, что может однозначно идентифицировать эту запись о выдаче.
В чем разница между идентификатором и идентификатором для ресурса FHIR?
MedicationDispense включает ссылку на MedicationRequest 'authorizingPrescription'. Здесь фиксируется вся информация о рецепте (идентификатор, врач, дата назначения, назначенное лекарство и т. д.). В FHIR мы стараемся нет объединить информацию, представленную в других ресурсах, в ссылочный ресурс, потому что это затрудняет синхронизацию и плохо работает для обмена RESTful. В результате часто используется параметр _include при выполнении поиска для захвата связанных ресурсов (например, MedicationRequest, Organization, Medication, Practitioner и т. д.) при поиске по базовому ресурсу.
«Идентификатор» — это, по сути, первичный ключ для ресурса, хранящегося на конкретном сервере. Если вы скопируете ресурс на другой сервер, этот сервер назначит свой собственный идентификатор/первичный ключ. «Идентификатор», с другой стороны, является бизнес-идентификатором. Для выдачи это обычно будет идентификатор «транзакции», который идет на бутылке/банке/коробке и однозначно идентифицирует это конкретное событие выдачи. Если информация о выдаче хранится в нескольких системах (например, она направляется в систему, выписывающую рецепты, в личную медицинскую карту, в централизованный реестр лекарств и т. д.), она будет иметь один и тот же «идентификатор», но (обычно) будет иметь разные 'я бы'. Конечно, две тесно связанные системы могут использовать один и тот же идентификатор для эквивалентных записей, но для этого требуется тщательная координация во избежание конфликтов.
Обратите внимание, что MedicationDispense.identifier имеет значение нет, такое же, как и MedicationRequest.identifier. Первый — это уникальный идентификатор для конкретного события выдачи. Последний является уникальным идентификатором всего заказа. Часто существует несколько событий MedicationDispense (каждое с отдельным идентификатором) для одного MedicationRequest.
MedicationRequest используется для представления рецепта как в системе ввода заказов а также, так и в аптечной системе. В первом случае MedicationRequest.intent является «исходным заказом». Для заказа, созданного аптекой (закодированного), это «заказ наполнителя». MedicationDispense вообще не представляет заказ. Он представляет собой одно действие по снабжению, предпринятое по рецепту. Для некоторых рецептов может быть только одна выдача, но для многих рецептов будет несколько выдач для одного заказа.
Обратите внимание, что и система размещения, и система аптек присваивают идентификаторы «заказу». Они отличаются от идентификатора, присвоенного любой дозировке. В частности, если аптека выдает лекарство, а затем несколько раз пополняет его, идентификатор Rx (тот, который передается в MedicationRequest) будет одинаковым для исходной выдачи и всех пополнений. С другой стороны, идентификатор выдачи (появляющийся в MedicationDispense.identifier) будет отличаться для каждого.
Спасибо за ваши комментарии. Вы подразумеваете, что
MedicationRequest.identifier
эквивалентноRxNumber
? Я думаю, чтоMedicationRequest
обозначает рецепт, выписанный поставщиками в EHR, в то время какMediationDispense
больше похож на концепцию рецепта в аптечной системе.RxNumber
доступен только на стороне аптеки, и более логично, что EHR не нужно определять этот атрибут.