Очень повесилило по поводу HAPI, как сама статья, так и комментарии. Похоже народ не до конца догоняет о чём пишет. Для начала, приведённая в статье PAYMENT_REMITTANCE_DETAIL_INFO — это опциональная повторяющаяся группа, состоящая из пары обязательных сегментов, нескольких обязательных повторяющихся сегментов и одного опционального повторяющегося сегмента внутри группы. Каждый из сегментов содержит свои поля данных которые также могут повторяться.
Соответственно группа может быть пропущена, может быть одна, а может быть множество. Поэтому HAPI использует разные подходы чтобы вытащить из подобных структур данные — без итерации, с итерацией и пр.
И, оказывается, это можно заменить на 300 строк кода! Жаль в оригинале ссылки нет на этот шедевр.
Я правильно понял, что более 100 типов HL7v2 сообщений, созданных из комбинации почти 200 сегментов с использованием около 90 типов данных (многие из которых сложные), да всё это ещё и помноженное на версии от 2.1 до 2.9 — и это всё в 300 строк кода! Вы серьёзно!?
Или аноним тупо распарсил EHC_E15 (Payment/Remittance Advice) сообщение согласно спеке какого-нибудь LabCorp для одной единственной версии стандарта HL7v2? Если именно так, то это можно и в две строчки сделать — берём HAPI контекст, парсим в XML. Далее используем всё что угодно, вплоть до E4X чтобы достучаться до каждого поля.
«Нелегальный» extension правильнее назвать локальными, они имеют право на существование и по хорошему должны быть описаны в StructureDefintion. Если пойти дальше, то url в этом StructureDefinition должен указывать на реальное описание локального extension, что позволило бы тебе взять его описание.
Если пользователей больше чем один, то отредактированный ресурс обратно на сервер лучше отправить как PATCH или Conditional Update (c HTTP header If-Match).
На Vimeo есть полные видео всех FHIR Dev Days — несколько дней просмотра точно обеспечено.
И хочется спросить, что такого секретного рассказали на itmcongress.ru, что единственный доклад про FHIR недоступен хоть упытайся зарегится всему доступными на сайте способами.
Не очень convincing, но это твой проект. Ещё пара замечаний:
— сходу не вспомню где, но в некоторых случаях порядок может иметь значение, возможно в Slices или что-то подобное
— неизвестные элементы, такие как extension, в бОльшей степени должны браться из StructureDefiniton которые в свою очередь определяются профайлом
— когда делаешь PUT вероятно нужно использовать If-Match
Логичнее было бы совместить отображение данных ресурса с его описанием аналогично профайлам в Simplifier. Также, не совсем понятно по какому принципу отображаются поля. Например, некоторые из них пользователь не может менять и, по идее, вообще не должен о них знать (Resource.id, Resource.impliciteRule и т.д.).
Для конечного пользователя ресурс предоставляет Narrative, причём его содержимое не обязано совпадать с остальной частью (если status не generated). Для разработчика же возможно важнее видеть сам ресурс и иметь возможность его валидации design time с помощью XML/JSON Schema, профайлов и прочих подобных вещей (см. 7.5 Validating Resources).
Когда мне клиент подкатывает NDA, я тут же вставляю в него пункты о том, что могу использовать уже имеющийся код разработанный ранее, а также код опубликованный в виде статей и т.п., и что этот код ни в коем образе не подпадает под действие NDA и клиент не будет иметь права запретить мне последующее использование подобного кода или статей. В некоторых случаях подпись NDA от клентом я жду до конца проекта.
Вангую что будет дальше — толпы блоггеров начнут репостить всякие страшилки как новые мобилки гнутся, промокают в кипятке и всё такое прочее. Когда нужные ребята с Wall Street зайдут в акции по низам, вдруг окажется, что всё это пофиксили и новые модели уже доступны.
Насколько я помню, Patriot Act (2001 год) ещё ни кто не отменял. Там полно всего, начиная от банальщины, что теперь «на карандаш» можно поставить практически кого угодно и суд должен с этим согласиться, до всяких вещей кто и что должен раскрывать. Поскольку в 2001 году мессенджеров ещё как бы не очень, то речь в основном идёт про хостеров и майл провайдеров.
Например:
"Section 212 of USAPA allows for voluntary disclosure on the part of ISPs of private information including customer records as well as content of electronic transmissions. ISPs are given broad latitude to make such disclosures. The provision states that ISPs may choose to voluntarily disclose private customer information if there is a ‘reasonable belief’ that it relates to an ‘emergency involving immediate risk of death or serious bodily injury to any person.’ Thus, ISPs are given authority to disclose private information about their subscribers in order to assist in criminal investigations. However, the provision is for voluntary disclosure — ISPs are not required to disclose information unless it is known that it relates to criminal matters."
Сдаётся мне, что ни один ISP не будет спорить с CIA если они им скажут, что они действительно "reasonable belief", что Васю из того квартала надо проверить, после чего voluntarily disclose всё что у него есть. Обратите внимание, что content of electronic transmissions также включён.
Подозреваю, что с тех пор было принято ещё куча добавок/поправок к этой теме.
Потратить по несколько десятков тысяч баков только на один DICOM монитор (а их в клинике множество), чтобы потом смотреть картинки дорисованные ИИ!? Это сильно!
Почему у меня в голове возникают какие-то мыли про распил бабла и всё такое.
Помнится как раз в те времена, я запускал QNX с одной дискеты на 1.4Mb и там было примерно то же самое. К сожалению компьютерный мир пошёл по другому пути.
Не знаю насколько дорого или нет, но вот Стивенг Хокинг ещё в 1997 начал общаться через речевой интерфейс. Кстати, статья на Хабре — habr.com/post/364049
Как по мне, так это гораздо быстрый способ научить девайс типа AlterEgo реагировать на свои мысли (естественно, не озвучивая их для окружающих), благо распознование речи уже на высоком уровне.
Помнится решил тряхнуть стариной и поставить триальную версию на посмотреть. Скачал, поставил. Через денёк приходит майл от какого-то манагера продаж, мол, как вам наша новая версия. Я ей често сказал, что картинка города Берлина на заставке очень красивая, дальше программа весит и меня не пускает, поэтому про всё остальное сказать ни чего не могу. :)
Прям умиляет это описание "у меня -5, утром я ищу очки". У меня более -10, я по улицам хожу без очков.
Меня другое вот интерсует, что там у нас с обратимым операциями? Далеко уже продвинулись в насаживании микро-линз на хрусталик или где мы ещё. Кроме срезания роговицы что ещё появилось на небосклоне? А то везде про нано-технологии, бозоны Хиггса и чёрт пойми что ещё, а миллионы людей как носили очки начиная с 13 века, так до сих пор практически те же очки и носят.
А если миопия такая странная, что как только используешь 100% очки, то зрение как минимум за пол-года, а за год так точно упадёт примерно на -1.5дп к прежнему уровню. Проверено за долгую практику, с моими нынешними более чем -10дп. В результате использую очки примерно на 2-4 диоптрии меньше, чем должно быть.
Про incentive в конкретной провинции drivers can get up to $12K incentive to buy electric vehicle. Как видно, распространяется только на машинки меньше 77К стоимостью (прощай Tesla Model S), вместе с trade in получается всё равно не больше 12К и, кстати, программа действовала до марта.
Вместо того, чтобы восторгаться EV, за которую ещё деньги дают или впихивают по MLA схеме, написал бы статью (если у тебя есть хоть какое-то понимание в этом вопросе) о различиях BEV, PHEV, EREV, FCV, REEV и что там ещё бывает.
Соответственно группа может быть пропущена, может быть одна, а может быть множество. Поэтому HAPI использует разные подходы чтобы вытащить из подобных структур данные — без итерации, с итерацией и пр.
И, оказывается, это можно заменить на 300 строк кода! Жаль в оригинале ссылки нет на этот шедевр.
Я правильно понял, что более 100 типов HL7v2 сообщений, созданных из комбинации почти 200 сегментов с использованием около 90 типов данных (многие из которых сложные), да всё это ещё и помноженное на версии от 2.1 до 2.9 — и это всё в 300 строк кода! Вы серьёзно!?
Или аноним тупо распарсил EHC_E15 (Payment/Remittance Advice) сообщение согласно спеке какого-нибудь LabCorp для одной единственной версии стандарта HL7v2? Если именно так, то это можно и в две строчки сделать — берём HAPI контекст, парсим в XML. Далее используем всё что угодно, вплоть до E4X чтобы достучаться до каждого поля.
Если пользователей больше чем один, то отредактированный ресурс обратно на сервер лучше отправить как PATCH или Conditional Update (c HTTP header If-Match).
И хочется спросить, что такого секретного рассказали на itmcongress.ru, что единственный доклад про FHIR недоступен хоть упытайся зарегится всему доступными на сайте способами.
— сходу не вспомню где, но в некоторых случаях порядок может иметь значение, возможно в Slices или что-то подобное
— неизвестные элементы, такие как extension, в бОльшей степени должны браться из StructureDefiniton которые в свою очередь определяются профайлом
— когда делаешь PUT вероятно нужно использовать If-Match
Для конечного пользователя ресурс предоставляет Narrative, причём его содержимое не обязано совпадать с остальной частью (если status не generated). Для разработчика же возможно важнее видеть сам ресурс и иметь возможность его валидации design time с помощью XML/JSON Schema, профайлов и прочих подобных вещей (см. 7.5 Validating Resources).
Например:
"Section 212 of USAPA allows for voluntary disclosure on the part of ISPs of private information including customer records as well as content of electronic transmissions. ISPs are given broad latitude to make such disclosures. The provision states that ISPs may choose to voluntarily disclose private customer information if there is a ‘reasonable belief’ that it relates to an ‘emergency involving immediate risk of death or serious bodily injury to any person.’ Thus, ISPs are given authority to disclose private information about their subscribers in order to assist in criminal investigations. However, the provision is for voluntary disclosure — ISPs are not required to disclose information unless it is known that it relates to criminal matters."
Сдаётся мне, что ни один ISP не будет спорить с CIA если они им скажут, что они действительно "reasonable belief", что Васю из того квартала надо проверить, после чего voluntarily disclose всё что у него есть. Обратите внимание, что content of electronic transmissions также включён.
Подозреваю, что с тех пор было принято ещё куча добавок/поправок к этой теме.
Почему у меня в голове возникают какие-то мыли про распил бабла и всё такое.
Корректнее сказать что-то вроде использование стандарта FHIR ускорит интеграцию с системами ...
Как по мне, так это гораздо быстрый способ научить девайс типа AlterEgo реагировать на свои мысли (естественно, не озвучивая их для окружающих), благо распознование речи уже на высоком уровне.
Меня другое вот интерсует, что там у нас с обратимым операциями? Далеко уже продвинулись в насаживании микро-линз на хрусталик или где мы ещё. Кроме срезания роговицы что ещё появилось на небосклоне? А то везде про нано-технологии, бозоны Хиггса и чёрт пойми что ещё, а миллионы людей как носили очки начиная с 13 века, так до сих пор практически те же очки и носят.
Вместо того, чтобы восторгаться EV, за которую ещё деньги дают или впихивают по MLA схеме, написал бы статью (если у тебя есть хоть какое-то понимание в этом вопросе) о различиях BEV, PHEV, EREV, FCV, REEV и что там ещё бывает.