Как добавить ссылку на встречу в ресурс наблюдения?

Когда я пытаюсь обновить ресурс наблюдения ссылкой на встречу, чтобы связать наблюдение с конкретной встречей с помощью CRUD, происходит сбой со следующей ошибкой:

"Объект с id: null не принадлежит к указанному подклассу: edu.gatech.i3l.fhir.dstu2.entities.Person (класс данного объекта не соответствует классу постоянной копии)"

Я не могу сказать, какой объект, на который он ссылается, является нулевым, потому что каждый атрибут в JSON для запроса имеет соответствующее значение.

Я использую следующий синтаксис JSON для обновления:

{
    "resourceType":"Observation",
        "code":{
        "coding":[
            {
                "system":"http://loinc.org",
                "code":"8302-2"
            }
        ]
    },
    "valueQuantity":{
        "value":175.3,
        "units":"cm",
        "system":"http://unitsofmeasure.org",
        "code":"cm"
    },
    "appliesDateTime":"2015-10-26T23:59:00-04:00",
    "status":"final",
    "reliability":"ok",
    "subject":{
        "reference":"Patient/468"
    },
    "encounter":{ "reference":"336" }
}

Я делаю это на тестовом экземпляре FHIR. Я создал нового пациента, новую встречу и новое наблюдение, и теперь я хочу связать наблюдение с встречей. Как это делается? Почему этот синтаксис JSON не работает, если это формат, возвращаемый при поиске наблюдения? Я добавил только один атрибут, ссылку на встречу.


person Teksysta    schedule 27.10.2015    source источник
comment
Вот что не удалось сделать при попытках обновления: { resourceType: Observation, id: 40912, code: { coding: [ { system: loinc. org, код: 8302-2 } ] }, valueQuantity: { значение: 173,5, единицы измерения: см, система: единицы измерения. org, code:cm}, applyDateTime:2015-10-26T23:59:00-04:00, статус:final, тема:{ссылка:Patient568}, встреча:{ссылка:7360}}   -  person Teksysta    schedule 27.10.2015


Ответы (2)


Похоже, вам не хватает идентификатора ресурса — он вам не нужен для добавления, но нужен для обновления.

Если у вас все еще есть проблема, когда она присутствует, можете ли вы указать, на какой сервер вы пытаетесь отправить? (Если это не общедоступный сервер, было бы полезно знать, какую справочную библиотеку/реализацию с открытым исходным кодом он использует в качестве своей базы.)

person Lloyd McKenzie    schedule 27.10.2015
comment
Да, я вставил неправильный json для попыток обновления. - person Teksysta; 27.10.2015
comment
Я, наконец, заставил его работать. Я не уверен, действительно ли это является причиной неудачных попыток обновления/создания, но я изменил значения роста и массы тела, измеренные на значения с нулевым дробным компонентом (т.е. 50,0 против 53,5) и ссылку на запрос встречи выполнен успешно. Странный. Но это сработало. Я, вероятно, поэкспериментирую с этим еще немного, чтобы попытаться найти настоящую причину, по которой мои предыдущие попытки не увенчались успехом. Спасибо за это предложение. - person Teksysta; 27.10.2015
comment
Если сервер возьмет 50.0, а не 53.5 без каких-либо других отличий, то определенно происходит что-то странное :› - person Lloyd McKenzie; 28.10.2015

Эта ошибка исправлена ​​в версии 2.0 на TechOnFhir, попробуйте еще раз. https://github.com/i3l/GT-FHIR/issues/93

person Ismael Sarmento    schedule 05.05.2016