Вставка нескольких значений наблюдения в одном ресурсе - FHIR - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть почасовая информация о частоте сердечных сокращений пациентов, как эта

PID Hour HR
1   1    97
1   2    89
1   3    90
1   4    100
.....
.....
1   100  93

для каждого часа, данные, которые я создал json, как это

# For Hour 1
{
  "resourceType": "Observation",
  "id": "heart-rate",
  "meta": {
    "profile": [
      "http://hl7.org/fhir/StructureDefinition/vitalsigns"
    ]
  },
  "status": "final",
  "category": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "vital-signs",
          "display": "Vital Signs"
        }
      ],
      "text": "Vital Signs"
    }
  ],
  "code": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "8867-4",
        "display": "Heart rate"
      }
    ],
    "text": "Heart rate"
  },
  "subject": {
    "reference": "Patient/example"
  },
  "effectiveDateTime": "2020-04-21T00:00:00+05:30",
  "valueQuantity": {
    "value": 97,
    "unit": "beats/minute",
    "system": "http://unitsofmeasure.org",
    "code": "/min"
  }
}

# Hour 2
{
  "resourceType": "Observation",
  "id": "heart-rate",
  "meta": {
    "profile": [
      "http://hl7.org/fhir/StructureDefinition/vitalsigns"
    ]
  },
  "status": "final",
  "category": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "vital-signs",
          "display": "Vital Signs"
        }
      ],
      "text": "Vital Signs"
    }
  ],
  "code": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "8867-4",
        "display": "Heart rate"
      }
    ],
    "text": "Heart rate"
  },
  "subject": {
    "reference": "Patient/example"
  },
  "effectiveDateTime": "2020-04-21T01:00:00+05:30",
  "valueQuantity": {
    "value": 89,
    "unit": "beats/minute",
    "system": "http://unitsofmeasure.org",
    "code": "/min"
  }
}

Я создал пакет ресурсов с 100 jsons вложены внутрь записи, и я могу добавить sh внутрь fhir-сервера.

{"resourceType": "Bundle", "type": "batch", "entry": [

Приведенный выше пример относится к одному пациенту и одному ресурсу наблюдения (частота сердечных сокращений). У меня более 20000 пациентов с 50 различными типами ресурсов наблюдения.

Вместо создания 100 различных json записей, есть ли способ иметь одну json, представляющую 100 значений. в значении количества, если есть какой-либо способ, чтобы массив значений отображался с отметкой времени. Это сэкономит много времени.

1 Ответ

1 голос
/ 28 апреля 2020

Для одного типа наблюдения и одного субъекта, если наблюдения проводятся на регулярной основе c, вы можете использовать тип данных SampledData в качестве значения Observation.value. Обычно это такие вещи, как ЭКГ, мониторы сердечного ритма плода и т. Д. c. которые делают частые выборки, но ничто не мешает вам иметь период выборки в час. Однако, если у вас нет регулярной выборки, вы должны захватить каждую как отдельную Наблюдение. Причина в том, что мы должны иметь возможность извлекать данные, однако пользователь выбирает запрос к ним. Данные должны поступать с такой же детализированной организацией, что и позже, возможно, потребуется go. Вы можете взглянуть на API Bulk Data, который использует LD- JSON для более эффективной обработки больших объемов данных.

...