ЕСОЗ - публічна документація

RС_[UPD] Medical Events MongoDB Data Model

Concept

Medical Events Data Structure is designed to be relevant for FHIR( Release 3 (STU)) Standart. All the resources, most of the data types and their way of usage are inherited from FHIR. However, some resources may not inherit ALL the properties or may require additional properties that are not provided by FHIR.

Medical data is stored in no-sql format. In the centre of the architecture is a Patient collection. Most of the resources are a part of this collection, except of Observations and Conditions, because of their expected collection size.

Medical Events Data Model.png

Data Structure

This section describes the actual data structure in eHealth MongoDB and how does it correspond to FHIR standard.
Some fields in Data Model may not correspond directly to the API interfaces. They are transformed on the application level.

Important!

Next objects contain audit fields by default:

  • Episode

  • Visit

  • Encounter

  • Observation

  • Condition

  • Immunization

  • Allergy_intolerance

  • Device

  • Risk_assessment

  • Medication_statement

  • Procedure

  • Diagnostic report

  • Clinical impression

  • Specimen

  • Device dispense

Audit fields: 

Name

Type

M/O

 

Name

Type

M/O

 

inserted_at

dateTime

M

 

updated_at

dateTime

M

 

inserted_by

uuid

M

 

updated_by

uuid

M

 

Patient

Object name: patient

Name

Type

M/O

Description and constraints

Name

Type

M/O

Description and constraints

id

base64

M

hash

status

string

M

 

inserted_by

uuid

M

 

preperson

boolean

M

 

death_date

date

O

 

Episode of care

Object name: episode_of_care

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"identifier" : [{ Identifier }], // Business Identifier(s) relevant for this EpisodeOfCare

id

uuid

M

 

Ok

Approved

 

name

string

M

 

Ok

 

"status" : "<code>"

status

code

M

active, closed, entered_in_error

Ok

Approved

 

number

string

M

Human readable episode number. Is a shared identifier common to all service requests related to this episode of care

No implementation [3.12.2018]

 

 

cancellation_reason

codeable_concept

O

 

No implementation

 

 

closing_reason

codeable_concept

O

 

No implementation

 

 

status_reason

codeable_concept

O

eHealth/closing_reasons,
eHealth/cancellation_reasons

 

 

 

explanatory_letter

string

O

 

 

 

 

closing_summary

string

O

 

 

 

"statusHistory" : BackboneElement

status_history

[status_history]

M

only start date

Ok

Approved

"type" : [{ CodeableConcept }], // Type/class - e.g. specialist referral, disease management

type

coding

M

deafult value: primary_care
changed from string to coding [1.12.2018]

Ok

Approved

 

current_diagnoses

[diagnosis]

O

 

 

 

"diagnosis" : BackboneElement

diagnoses_history

[diagnoses_hstr]

M

 

Ok

Approved

"patient" : { Reference(Patient) }, // R! The patient who is the focus of this episode of care

patient

reference(patient)

M

 

Is a part of the corresponding collection

Approved

"managingOrganization" : { Reference(Organization) }, // Organization that assumes care

managing_organization

reference(organization)

M

Legal_entity

Ok

Approved

"period" : { Period }, // Interval during responsibility is assumed

 period

 period_date

 

Only date handled

Approved

"referralRequest" : [{ Reference(ReferralRequest) }], // Originating Referral Request(s)

 

 

 

Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals.

No implementation

Approved

"careManager" : { Reference(Practitioner) }, // Care manager/care co-ordinator for the patient

care_manager

reference(employee)

M

 Employee

Ok

Approved

"team" : [{ Reference(CareTeam) }], // Other practitioners facilitating this episode of care

 

 

 

 

No implementation

Approved

"account" : [{ Reference(Account) }] // The set of accounts that may be used for billing for this EpisodeOfCare }

 

 

 

 

No implementation

Approved

 

encounters

[encounter]

M

 

mongo

No implementation

Encounter

It is described at Encounter data model

Visit

Object name: visit

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

No

id

uuid

M

 

 

No

period

period

M

 

 

Observation

It is described at Observation data model

Medication request

Object name: medication_request

Details

Condition

Object name: condition

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"identifier" : [{ Identifier }], // Business identifier

id

uuid

M

 

Ok

Approved

"clinicalStatus" : "<code>", // C? active | recurrence | inactive | remission | resolved

clinical_status

string

M

active | recurrence | inactive | remission | resolved

Ok

 

 

"verificationStatus" : "<code>", // C? provisional | differential | confirmed | refuted | entered-in-error | unknown

verification_status

string

M

provisional | differential | confirmed | refuted | entered_in_error 

Ok

 

 

"category" : [{ CodeableConcept }], // problem-list-item | encounter-diagnosis

category

codeable_concept

M

 

No implementation

 

"severity" : { CodeableConcept }, // Subjective severity of condition

severity 

codeable_concept

O

 

Ok

 

"code" : { CodeableConcept }, // Identification of the condition, problem or diagnosis

code

codeable_concept

M

ICPC2  or ICD10 code: depends on context encounter class

Ok

 

"bodySite" : [{ CodeableConcept }], // Anatomical location, if relevant

body_sites

[codeable_concept]

O

 

Ok

 

"subject" : { Reference(Patient|Group) }, // R! Who has the condition?

patient

uuid

M

 

Ok

 

"context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or episode when condition first asserted

context

reference(encounter)

M

 

Ok

 

"onsetDateTime" : "<dateTime>",

onset_date

string

M

date_time

Ok

 

"onsetAge" : { Age },

onset_age

positiveInt

O

 

Ok

No implementation

"onsetPeriod" : { Period },

onset_period

period

O

 

Ok

No implementation

"onsetRange" : { Range },

onset_range

range

O

 

Ok

No implementation

"onsetString" : "<string>",

onset_string

string

O

 

Ok

No implementation

"abatementDateTime" : "<dateTime>",

abatement_date_time

date_time

O

 

Ok

No implementation

"abatementAge" : { Age },

abatement_age

age

O

 

Ok

No implementation

"abatementBoolean" : <boolean>,

abatement_boolean

boolean

O

 

Ok

No implementation

"abatementPeriod" : { Period },

abatement_period

period

O

 

Ok

No implementation

"abatementRange" : { Range },

abatement_range

range

O

 

Ok

No implementation

"abatementString" : "<string>",

abatement_string

string

O

 

Ok

No implementation

"assertedDate" : "<dateTime>", // Date record was believed accurate

asserted_date 

string

O

Date record was believed accurate

date_time

Ok

 

 

primary_source

boolean

M

 

 

 

 

Medical Events MongoDB Data Model#source

Medical Events MongoDB Data Model#source

M

 

 

 

 

report_origin

codeable_concept

O

 

Covered by Medical Events MongoDB Data Model#source

No implementation

"asserter" : { Reference(Practitioner|Patient|RelatedPerson) }, // Person who asserts this condition

asserter

reference(employee|patient)

O

 

Covered by Medical Events MongoDB Data Model#source

No implementation

"stage" : Backbone

stage

stage

O

 

Ok

 

"evidence" : Backbone

evidences

[evidence]

O

 

Ok

 

"note" : [{ Annotation }] // Additional information about the Condition

note

[annotation]

O

 

Ok

No implementation

Immunization

Object name: immunization

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"identifier" : [{ Identifier }], // Business identifier

id

uuid

M

 

Ok

"status" : "<code>", // R! completed | entered-in-error

status

string

M

completed | entered_in_error

Ok

"notGiven" : <boolean>, // R! Flag for whether immunization was given

not_given

boolean

M

 

Ok

"vaccineCode" : { CodeableConcept }, // R! Vaccine product administered

vaccine_code

codeable_concept

M

 

Ok

"patient" : { Reference(Patient) }, // R! Who was immunized

patient

reference(patient)

M

 

No implementation

"encounter" : { Reference(Encounter) }, // Encounter administered as part of

context

reference(encounter)

M

This a encounter on which immunization was registered

Ok

"date" : "<dateTime>", // Vaccination administration date

date

string

M

string

Ok

"primarySource" : <boolean>, // R! Indicates context the data was recorded in

primary_source

boolean

M

 

Ok

 

Medical Events MongoDB Data Model#source

Medical Events MongoDB Data Model#source

M

 

 

"reportOrigin" : { CodeableConcept }, // Indicates the source of a secondarily reported record

report_origin

codeable_concept

O

Covered by Medical Events MongoDB Data Model#source

No implementation

"location" : { Reference(Location) }, // Where vaccination occurred

legal_entity

reference(legal_entity)

O

 

Ok

"manufacturer" : { Reference(Organization) }, // Vaccine manufacturer

manufacturer

string

O

 

Ok

"lotNumber" : "<string>", // Vaccine lot number

lot_number

string

O

 

Ok

"expirationDate" : "<date>", // Vaccine expiration date

expiration_date

string

O

date_time

Ok

"site" : { CodeableConcept }, // Body site vaccine was administered

site

codeable_concept

O

 

Ok

"route" : { CodeableConcept }, // How vaccine entered body

route

codeable_concept

O

 

Ok

"doseQuantity" : { Quantity(SimpleQuantity) }, // Amount of vaccine administered

dose_quantity

quantity

O

 

Ok

"practitioner" : BackboneElement

performer

reference(employee)

O

Covered by Medical Events MongoDB Data Model#source

No implementation

"note" : [{ Annotation }], // Vaccination notes

 

 

 

 

No implementation

"explanation" : BackboneElement

explanation

explanation

O

 

Ok

"reaction" : BackboneElement

reactions

[reaction]

O

 

Ok

"vaccinationProtocol" : BackboneElement

vaccination_protocols

[vaccination_protocol]

O

 

Ok

Allergy intolerance 

Object name: allergy_intolerance

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"identifier" : [{ Identifier }], // Business identifier

id

uuid

M

 

Ok

"clinicalStatus" : "<code>", // C? active | inactive | resolved

clinical_status

string

M

dictionary

Ok

"verificationStatus" : "<code>", // C? R! unconfirmed | confirmed | refuted | entered-in-error

verification_status

string

M

dictionary

Ok

"type" : "<code>", // allergy | intolerance - Underlying mechanism (if known)

type

string

M

 

Ok

"category" : ["<code>"], // food | medication | environment | biologic

category

string

M

dictionary

Ok

"criticality" : "<code>", // low | high | unable-to-assess

criticality

string

M

dictionary

Ok

"code" : { CodeableConcept }, // Code that identifies the allergy or intolerance

code

codeable_concept

M

 

Ok

"patient" : { Reference(Patient) }, // R! Who the sensitivity is for

 

reference(patient)

M

 

No implementation

"onsetDateTime" : "<dateTime>",

onset_date_time

string

M

date_time

Ok

"onsetAge" : { Age },

 

 

 

 

No implementation

"onsetPeriod" : { Period },

 

 

 

 

No implementation

"onsetRange" : { Range },

 

 

 

 

No implementation

"onsetString" : "<string>",

 

 

 

 

No implementation

"assertedDate" : "<dateTime>", // Date record was believed accurate

asserted_date

string

M

date_time

Ok

"recorder" : { Reference(Practitioner|Patient) }, // Who recorded the sensitivity

recorder

reference(patient| employee)

M

 

No implementation

 

primary_source

boolean

M

 

 

 

Medical Events MongoDB Data Model#source

Medical Events MongoDB Data Model#source

M

 

 

 

report_origin

codeable_concept

O

Covered by Medical Events MongoDB Data Model#source

No implementation

"asserter" : { Reference(Patient|RelatedPerson|Practitioner) }, // Source of the information about the allergy

asserter

reference(patient|employee)

O

Covered by Medical Events MongoDB Data Model#source

No implementation

"lastOccurrence" : "<dateTime>", // Date(/time) of last known occurrence of a reaction

last_occurence

string

O

date_time

Ok

"note" : [{ Annotation }], // Additional text not captured in other fields

 

 

 

 

No implementation

"reaction" : BackboneElement

reaction

reaction

M

 

No implementation

 

context

reference(encounter)

M

 

Ok

Risk Assessment

Object name: risk_assessment

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"identifier" : { Identifier }, // Unique identifier for the assessment

id

uuid

M

 

Ok

 

"basedOn" : { Reference(Any) }, // Request fulfilled by this assessment

based_on

reference(service_request)

O

service request?

No implementation

 

"parent" : { Reference(Any) }, // Part of this occurrence

parent

 

 

use case? can't find an example

No implementation

 

"status" : "<code>", // R! registered | preliminary | final | amended +

status

string

M

Dictionary

Ok

 

"method" : { CodeableConcept }, // Evaluation mechanism

method

codeable_concept

O

Dictionary: deafult_code

Ok

 

"code" : { CodeableConcept }, // Type of assessment

code

codeable_concept

M

 

Ok

 

"subject" : { Reference(Patient|Group) }, // Who/what does assessment apply to?

subject

reference(patient)

 

No implementation, because risk assessment is already in patient's collection

Ok

 

"context" : { Reference(Encounter|EpisodeOfCare) }, // Where was assessment performed?

context

reference(encounter)

M

 

Ok

 

// occurrence[x]: When was assessment made?. One of these 2: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period },

asserted_date

string

M

only datetime
in the past

Ok

 

"condition" : { Reference(Condition) }, // Condition assessed

condition

 

 

Use case?
 Why do we need that? 

No implementation
Нужно сделать обратную связь

 

"performer" : { Reference(Practitioner|Device) }, // Who did assessment?

performer

reference(employee)

M

 

Ok

 

// reason[x]: Why the assessment was necessary?. One of these 2: "reasonCodeableConcept" : { CodeableConcept }, "reasonReference" : { Reference(Any) },

reason

reason

O

 

Ok

 

"basis" : [{ Reference(Any) }], // Information used in assessment

basis

extended_reference(text+[reference(condition|observation|diagnostic_report)])

O

 

Ok

 

"prediction" : [{ Backbone element }],

predictions

[prediction]

 

 

 

 

"mitigation" : "<string>", // How to reduce risk

mitigation

string

O

 

Ok

 

"comment" : "<string>" // Comments on the risk assessment

comment

string

O

 

Ok

 

Device

Object name: device

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"identifier" : [{ Identifier }], // Instance identifier

id

uuid

M

 

Ok

 

"udi" : { // Unique Device Identifier (UDI) Barcode string "deviceIdentifier" : "<string>", // Mandatory fixed portion of UDI "name" : "<string>", // Device Name as appears on UDI label "jurisdiction" : "<uri>", // Regional UDI authority "carrierHRF" : "<string>", // UDI Human Readable Barcode String "carrierAIDC" : "<base64Binary>", // UDI Machine Readable Barcode String "issuer" : "<uri>", // UDI Issuing Organization "entryType" : "<code>" // barcode | rfid | manual + },

udi

string

M

what format is suitable for Ukraine?

No implementation

 

"status" : "<code>", // active | inactive | entered-in-error | unknown

status

string

M

Dictionary

Ok

 

 

status_history

 

M

 

No implementation
There is no need in this field if each state is in new item

 

 

asserted_date

string

M

date_time

 

 

 

 

usage_period

Period

M

 

 

 

 

context

reference(encounter)

M

 

 

 

 

primary_source

boolean

M

 

 

 

 

report_origin

source

M

 

 

 

"type" : { CodeableConcept }, // What kind of device this is

type

codeable_concept

M

example - implant

Ok

 

"lotNumber" : "<string>", // Lot number of manufacture

lot_number

string

O

 

Ok

 

"manufacturer" : "<string>", // Name of device manufacturer

manufacturer

string

O

 

Ok

 

"manufactureDate" : "<dateTime>", // Date when the device was made

manufacture_date

string

O

date_time

Ok

 

"expirationDate" : "<dateTime>", // Date and time of expiry of this device (if applicable)

expiration_date

string

O

date_time

Ok

 

"model" : "<string>", // Model id assigned by the manufacturer

model

string

O

 

Ok

 

"version" : "<string>", // Version number (i.e. software)

version

string

O

 

Ok

 

"patient" : { Reference(Patient) }, // Patient to whom Device is affixed

 

 

 

 

No implementation

 

"owner" : { Reference(Organization) }, // Organization responsible for device

 

 

 

 

No implementation for now

 

"contact" : [{ ContactPoint }], // Details for human/organization for support

contact_point

string

 

 

No implementation

 

"location" : { Reference(Location) }, // Where the resource is found

location

 

 

 

No implementation for now

 

"url" : "<uri>", // Network address to contact device

uri

string

 

 

No implementation for now

 

"note" : [{ Annotation }], // Device notes and comments

note

string

O

 

Ok

 

"safety" : [{ CodeableConcept }] // Safety Characteristics of Device

safety

[codeable_concept]

O

 

No implementation

 

Medication Statement

Object name: medication_statement

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"identifier" : [{ Identifier }], // External identifier

id

uuid

M

 

Ok

 

"basedOn" : [{ Reference(MedicationRequest|CarePlan|ServiceRequest) }], // Fulfils plan, proposal or order

based_on

reference(medication_request)

O

 

Ok

 

"partOf" : [{ Reference(MedicationAdministration|MedicationDispense| MedicationStatement|Procedure|Observation) }], // Part of referenced event

part_of

reference(?)

 

What is the difference between this one and the previous one?

No implementation

 

"status" : "<code>", // R! active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken

status

string

M

dictionary: 
active | stopped| entered-in-error 

 

 

"statusReason" : [{ CodeableConcept }], // Reason for current status

status_reason

codeable_concept

M

 

No implementation

 

"category" : { CodeableConcept }, // Type of medication usage

category

codeable_concept

M

 

No implementation

 

// medication[x]: What medication was taken. One of these 2: "medicationCodeableConcept" : { CodeableConcept }, "medicationReference" : { Reference(Medication) },

medication_code

codeable_concept

M

 

Ok
No  medication reference

 

"subject" : { Reference(Patient|Group) }, // R! Who is/was taking the medication

 

 

 

No implementation, because medication statement is already stored in the patient collection

Ok

 

context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter / Episode associated with MedicationStatement

context

reference(encounter)

M

 

Ok

 

// effective[x]: The date/time or interval when the medication is/was/will taken. One of these 2: "effectiveDateTime" : "<dateTime>", "effectivePeriod" : { Period },

effective_period

string

O

IT'S JUST A STRING. NO DATE_TIME VALIDATION

Changed

 

"dateAsserted" : "<dateTime>", // When the statement was asserted?

asserted_date

string

M

date_time

Ok

 

 

primary_source

boolean

M

 

 

 

 

asserter

reference(employee)

O

 

 

 

"informationSource" : { Reference(Patient|Practitioner|RelatedPerson| Organization) }, // Person or organization that provided the information about the taking of this medication

report_origin

codeable_concept

O

 

Ok

 

"derivedFrom" : [{ Reference(Any) }], // Additional supporting information

 

 

 

 

No implementation

 

"reasonCode" : [{ CodeableConcept }], // Reason for why the medication is being/was taken

 

 

 

 

 

 

"reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport) }], // Condition or observation that supports why the medication is being/was taken

 

 

 

 

 

 

"note" : [{ Annotation }], // Further information about the statement

note

string

O

 

Ok

 

"dosage" : [{ Dosage }] // Details of how medication is/was taken or should be taken

dosage

string

O

 

Type changed

 

Procedure

It is described at Procedure data model

Diagnostic report

Its data model described at Diagnostic Report Data Model

Сlinical impression

Its data model described at Clinical impression data model

Specimen

Its data model described at Specimen data model

Device dispense

Its data model described at Device dispense data model

Complex Types

reference

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"reference" : "<string>", // C? Literal reference, Relative, internal or absolute URL

 

 

 

 

No implementation

"identifier" : { Identifier }, // Logical reference, when literal reference is not known

identifier

identifier

M

 

Ok

 

display

string

O

 

This field is filled on creating and never updated after

"display" : "<string>" // Text alternative for the resource

 

 

 

 

No implementation

identifier

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"use" : "<code>", // usual | official | temp | secondary (If known)

use

 

M

 

No implementation

"type" : { CodeableConcept }, // Description of identifier

type

codeable_concept

M

Plain text representation of the concept

Ok

"system" : "<uri>", // The namespace for the identifier value

system

string

M

 

No implementation

"value" : "<string>", // The value that is unique

value

string

M

 

Ok

"period" : { Period }, // Time period when id is/was valid for use

period

 

 

 

No implementation

"assigner" : { Reference(Organization) } // Organization that issued id (may be just text)

assigner

 

 

 

No implementation

 

codeable_concept

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"coding" : [{ Coding }], // Code defined by a terminology system

coding

[coding]

M

 

Ok

"text" : "<string>" // Plain text representation of the concept

text

string

O

Plain text representation of the concept

Ok

 

coding

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"system" : "<uri>", // Identity of the terminology system

system

string

M

 

Ok

"version" : "<string>", // Version of the system - if relevant

version

string

O

Version of the system - if relevant

No

"code" : "<code>", // Symbol in syntax defined by the system

code

string

M

Any dictionary

Ok

"display" : "<string>", // Representation defined by the system

display

string

O

 

Ok

"userSelected" : <boolean> // If this coding was chosen directly by the user

 

 

 

 

No implementetion

period

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"start" : "<dateTime>", // C? Starting time with inclusive boundary

start

dateTime

M

 

Ok

"end" : "<dateTime>" // C? End time with inclusive boundary, if not ongoing

end

dateTime

O

 

Ok

period_date

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"start" : "<dateTime>", // C? Starting time with inclusive boundary

start

date

M

 

-

"end" : "<dateTime>" // C? End time with inclusive boundary, if not ongoing

end

date

O

 

-

status_history

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"status" : "<code>"

status

string

M

dictionary

Ok

 

status_reason

codeable_concept

O

 

 

 

inserted_at

string

M

date

 

 

inserted_by

uuid

M

user_id

 

"period" : { Period } // R! Duration the EpisodeOfCare was in the specified status

period

period

M

 

No implementation

diagnosis

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

"condition" : { Reference(Condition) }, // R! Conditions/problems/diagnoses this episode of care is for

condition

reference(condition)

M

 

Ok

Approved

"role" : { CodeableConcept }, // Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …)

role

codeable_concept

M

Own dictionary

Ok

Approved

"rank" : "<positiveInt>" // Ranking of the diagnosis (for each role type)

rank

positiveInt

O

max 10

Ok

Approved

 

code

codeable_concept

M

 

Ok

 

 

diagnoses_hstr

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

 

date

string

M

date_time

 

 

 

evidence

reference(encounter)

M

 

 

 

 

diagnoses

[diagnosis]

M

 

 

 

 

is_active

boolean

M

true by default

 

 

 

stage

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

"summary" : { CodeableConcept }, // C? Simple summary (disease specific)

summary

codeable_concept

M

 

Ok

 

"assessment" : [{ Reference(ClinicalImpression|DiagnosticReport|Observation) }] // C? Formal record of assessment

assessment

 

M

Own dictionary

No implementation

 

evidence

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

"code" : [{ CodeableConcept }], // C? Manifestation/symptom

codes

[codeable_concept]

M

 

Ok

 

"detail" : [{ Reference(Any) }] // C? Supporting information found elsewhere

details

[reference(observation)]

M

 

Ok

 

explanation

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

 

type

string

M

reasons, reasons_not_given

 

 

 

value

[codeable_concept]

M

 

 

 

"reason" : [{ CodeableConcept }], // Why immunization occurred

reasons

[codeable_concept]

O

 

Covered by explanation.value

No implementation

"reasonNotGiven" : [{ CodeableConcept }] // Why immunization did not occur

reasons_not_given

[codeable_concept]

O

 

Covered by explanation.value

No implementation

reaction

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

"date" : "<dateTime>", // When reaction started

date

date_time

O

 

No implementation

 

"detail" : { Reference(Observation) }, // Additional information on reaction

detail

reference(observation)

O

 

Ok

 

"reported" : <boolean> // Indicates self-reported reaction

reported

boolean

O

 

No implementation

 


vaccination_protocol

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

"doseSequence" : "<positiveInt>", // Dose number within series

dose_sequence

positive_int

O

 

Ok

 

"description" : "<string>", // Details of vaccine protocol

description

string

O

 

Ok

 

"authority" : { Reference(Organization) }, // Who is responsible for protocol

authority

codeable_concept

O

 

Ok

 

"series" : "<string>", // Name of vaccine series

series

string

O

 

Ok

 

"seriesDoses" : "<positiveInt>", // Recommended number of doses for immunity

series_doses

postive_int

O

 

Ok

 

"targetDisease" : [{ CodeableConcept }], // R! Disease immunized against

target_diseases

[codeable_concept]

M

 

Ok

 

"doseStatus" : { CodeableConcept }, // R! Indicates if dose counts towards immunity

dose_status

codeable_concept

M

 

Removed 26.02.2019

 

"doseStatusReason" : { CodeableConcept } // Why dose does (not) count

dose_status_reason

codeable_concept

O

 

Removed 26.02.2019

 

 

 

value

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

 

type

string

M

quantity, codeable_concept, string, boolean, range, ratio, sampled_data, time, date_time, period

Ok

 

 

value

ONE OF: quantity, codeable_concept, string, boolean, range, ratio, sampled_data, time, date_time, period

M

 

Ok

 

 

component

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"code" : { CodeableConcept }, // R! Type of component observation (code / type)

code

codeable_concept

M

 

Ok

 

 

value

Medical Events MongoDB Data Model#value

M

 

Ok

 

"valueQuantity" : { Quantity },

 

 

 

 

Covered by value

No implementation

"valueCodeableConcept" : { CodeableConcept }

 

 

 

 

Covered by value

No implementation

"valueString" : "<string>"

 

 

 

 

Covered by value

No implementation

"valueRange" : { Range }

 

 

 

 

Covered by value

No implementation

"valueRatio" : { Ratio }

 

 

 

 

Covered by value

No implementation

"valueSampledData" : { SampledData }

 

 

 

 

Covered by value

No implementation

"valueTime" : "<time>"

 

 

 

 

Covered by value

No implementation

"valueDateTime" : "<dateTime>"

 

 

 

 

Covered by value

No implementation

"valuePeriod" : { Period }

 

 

 

 

Covered by value

No implementation

"interpretation" : { CodeableConcept }

interpretation

codeable_concept

O

 

 

Ok

"referenceRange" : [{ Content as for Observation.referenceRange }]

reference_ranges

[reference_range]

O

 

 

Ok

reference_range

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"low" : { Quantity(SimpleQuantity) }, // C? Low Range, if relevant

low

quantity

O

 

Ok

 

"high" : { Quantity(SimpleQuantity) }, // C? High Range, if relevant

high

quantity

O

 

Ok

 

"type" : { CodeableConcept }, // Reference range qualifier

type

codeable_concept

O

 

Ok

 

"appliesTo" : [{ CodeableConcept }], // Reference range population

applies_to

[codeable_concept]

O

 

Ok

 

"age" : { Range }, // Applicable age range, if relevant

age

range

O

 

Ok

 

"text" : "<string>" // Text based reference range in an observation

text

string

O

 

Ok

 

effective_at

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

 

type

string

M

effective_date_time, effective_period

Ok

 

 

value

string or period

M

 

Ok

 

 

source

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

 

 

type

string

M

report_origin, performer, asserter

Ok

 

 

value

for report_origin - codeable_concept
for performer - reference(employee)

for asserter - reference(employee)

M

 

Ok

 

quantity

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"value" : <decimal>, // Numerical value (with implicit precision)

value

decimal

M

 

Ok

 

"comparator" : "<code>", // < | <= | >= | > - how to understand the value

comparator

string

enum

O

< | <= | >= | >

Ok

 

"unit" : "<string>", // Unit representation

unit

string

enum

O

for future use

Ok

 

"system" : "<uri>", // C? System that defines coded unit form

system

string enum

M

eHealth/ucum/units

Ok

 

"code" : "<code>" // Coded form of the unit

code

string enum

M

 

Ok

 

 

range

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"low" : { Quantity(SimpleQuantity) }, // C? Low limit

low

quantity

O

 

Ok

 

"high" : { Quantity(SimpleQuantity) } // C? High limit

high

quantity

O

 

Ok

 

 

prediction

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"outcome" : { CodeableConcept }, // R! Possible outcome for the subject

outcome

codeable_concept

M

 

Ok

 

// probability[x]: Likelihood of specified outcome.One of these 2:

"probabilityDecimal" : <decimal>,

"probabilityRange" : { Range },

probability

probability

O

 

Ok

 

"qualitativeRisk" : { CodeableConcept }, // Likelihood of specified outcome as a qualitative value

qualitative_risk

codeable_concept

O

 

Ok

 

"relativeRisk" : <decimal>, // Relative likelihood

relative_risk

decimal

O

 

Ok

 

// when[x]: Timeframe or age range. One of these 2:

"whenPeriod" : { Period },

"whenRange" : { Range },

when

 

O

is a stupid name for a field =\ 

Ok

 

"rationale" : "<string>" // Explanation of prediction

rationale

string

O

 

 

Ok

 

 

probability

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

 

type

string

M

enum: probability_decimalprobability_range 

ok

 

 

value

ONE_OF:

probability_decimal - decimal,

probability_range - Range

M

 

ok

 

 

when

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

 

type

string

M

enum: when_period, when_range

ok

 

 

value

ONE_OF:

when_period - Period,

when_range - Range

M

 

ok

 

 

UDI

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"deviceIdentifier" : "<string>", // Mandatory fixed portion of UDI

device_number

 

 

 

 

 

"name" : "<string>", // Device Name as appears on UDI label

 

 

 

 

 

 

"jurisdiction" : "<uri>", // Regional UDI authority

 

 

 

 

 

 

"carrierHRF" : "<string>", // UDI Human Readable Barcode String

 

 

 

 

 

 

"carrierAIDC" : "<base64Binary>", // UDI Machine Readable Barcode String

 

 

 

 

 

 

"issuer" : "<uri>", // UDI Issuing Organization

 

 

 

 

 

 

"entryType" : "<code>" // barcode | rfid | manual +

 

 

 

 

 

 

 

extended_reference

This type can be used when a reference cannot be defined and text should be used instead.

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

 

text

string

O

 

 

 

 

references

[reference]

O

 

 

 

 

reason

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

 

type

string

М

enum: reason_codes, reason_references

 

 

 

value

ONE_OF: reason_codes - [codeable_concept], reason_references-[reference]

М

 

 

 

 

dosage

 

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

"sequence" : <integer>, // The order of the dosage instructions

 

 

 

 

 

 

"text" : "<string>", // Free text dosage instructions e.g. SIG

 

 

 

 

 

 

"additionalInstruction" : [{ CodeableConcept }], // Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"

 

 

 

 

 

 

"patientInstruction" : "<string>", // Patient or consumer oriented instructions

 

 

 

 

 

 

"timing" : { Timing }, // When medication should be administered // asNeeded[x]: Take "as needed" (for x). One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept },

 

 

 

 

 

 

"site" : { CodeableConcept }, // Body site to administer to

 

 

 

 

 

 

"route" : { CodeableConcept }, // How drug should enter body

 

 

 

 

 

 

"method" : { CodeableConcept }, // Technique for administering medication

 

 

 

 

 

 

"doseAndRate" : [{ // Amount of medication administered "type" : { CodeableConcept }, // The kind of dose or rate specified // dose[x]: Amount of medication per dose. One of these 2: "doseRange" : { Range }, "doseQuantity" : { Quantity(SimpleQuantity) }, // rate[x]: Amount of medication per unit of time. One of these 3: "rateRatio" : { Ratio } "rateRange" : { Range } "rateQuantity" : { Quantity(SimpleQuantity) } }],

 

 

 

 

 

 

"maxDosePerPeriod" : { Ratio }, // Upper limit on medication per unit of time

 

 

 

 

 

 

"maxDosePerAdministration" : { Quantity(SimpleQuantity) }, // Upper limit on medication per administration

 

 

 

 

 

 

"maxDosePerLifetime" : { Quantity(SimpleQuantity) } // Upper limit on medication per lifetime of the patient

 

 

 

 

 

 

 

paper_referral

HL7

Name

Type

M/O

Description and constraints

HL7

Name

Type

M/O

Description and constraints

 

requisition

string

O

Service request number

 

requester_legal_entity_name

string

O

Requester legal entity name

 

requester_legal_entity_edrpou

string

M

Requester legal entity edrpou

 

requester_employee_name

string

M

Requester employee name

 

service_request_date

date

M

Service request date

 

note

string

O

Some notes

 

duration

The same structure as Medical Events MongoDB Data Model#quantity . There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM.

ЕСОЗ - публічна документація