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

RC_[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 (1).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

 

verification_status

string

M

 

preperson

boolean

M

 

death_date

dateTime

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

 

patient_id

string

M

 

 

 

 

name

string

M

 

Ok

 

"status" : "<code>"

status

code
string

M

active, closed, entered_in_error
Dictionary - eHealth/episode_statuses

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

 

 

closing_summary

string

O

 

 

 

 

explanatory_letter

string

O

 

 

 

 

status_reason

{codeable_concept}

O

eHealth/closing_reasons,
eHealth/cancellation_reasons

 

 

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

 period

{period_date}

 

Only date handled

Approved

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

managing_organization

{reference(legal_entity)}

M

 

Ok

Approved

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

care_manager

{reference(employee)}

M

 Employee

Ok

Approved

"diagnosis" : BackboneElement

diagnoses_history

[diagnoses_hstr]

M

 

Ok

Approved

"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]
eHealth/episode_types

Ok

Approved

 

current_diagnoses

[diagnosis]

O

 

 

 

 

closing_summary

string

O

 

 

 

"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

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

 

 

 

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

No implementation

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

 

 

 

patient_id

string

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

 

primary_source

boolean

M

 

 

 

 

source

{source}

O

 

 

 

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

asserted_date

string

O

Date record was believed accurate

date_time

Ok

 

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

body_sites

[codeable_concept]

O

eHealth/body_sites

Ok

 

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

clinical_status

string

M

active | recurrence | inactive | remission | resolved
eHealth/condition_clinical_statuses

Ok

 

 

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

code

{codeable_concept}

M

ICPC2  or ICD10 code: depends on context encounter class

Ok

 

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

context

{reference(encounter)}

M

 

Ok

 

"evidence" : Backbone

evidences

[evidence]

O

 

Ok

 

 

patient_id

string

M

 

 

 

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

patient

uuid

M

 

Ok

 

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

severity 

{codeable_concept}

O

eHealth/condition_severities

Ok

 

"stage" : Backbone

stage

{stage}

O

eHealth/condition_stages

Ok

 

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

verification_status

string

M

provisional | differential | confirmed | refuted | entered_in_error 

eHealth/condition_verification_statuses

Ok

 

 

 

context_episode_id

uuid

O

Episode of the Encounter, during which this condition is made

 

 

 

managing_organization

{reference(legal_entity)}

 

 

 

 

 

explanation_letter

string

M

 

 

 

"onsetDateTime" : "<dateTime>",

onset_date

dateTime

M

 

Ok

 

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

category

codeable_concept

M

 

No implementation

 

 

report_origin

reference(patient)

O

 

Covered by Medical Events MongoDB Data Model#source

No implementation

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

asserter

reference(employee)

O

 

Covered by Medical Events MongoDB Data Model#source

No implementation

"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

 

Medical Events MongoDB Data Model#source

Medical Events MongoDB Data Model#source

M

 

 

 

"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

"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

dateTime

M

string

Ok

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

dose_quantity

{quantity}

O

 

Ok

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

status

string

M

completed | entered_in_error

eHealth/immunization_statuses

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

eHealth/vaccine_codes

Ok

 

patient_id

string

M

 

 

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

patient

reference(patient)

M

 

No implementation

"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

eHealth/immunization_report_origins

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

dateTime

O

 

Ok

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

site

{codeable_concept}

O

eHealth/immunization_body_sites

Ok

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

route

{codeable_concept}

O

eHealth/vaccination_routes

Ok

 

source

{source}

O

 

 

"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

 

explanation_letter

string

M

M - only for "verification_status" : "entered_in_error"

 

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

eHealth/allergy_intolerance_clinical_statuses

Ok

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

verification_status

string

M

eHealth/allergy_intolerance_verification_statuses

Ok

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

type

string

M

eHealth/allergy_intolerance_types

Ok

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

category

string

M

eHealth/allergy_intolerance_categories

Ok

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

criticality

string

M

eHealth/allergy_intolerance_criticalities

Ok

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

code

{codeable_concept}

M

eHealth/allergy_intolerance_codes

Ok

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

 

reference(patient)

M

 

No implementation

"onsetDateTime" : "<dateTime>",

onset_date_time

dateTime

M

 

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

dateTime

M

 

Ok

 

source

{source}

O

 

 

 

patient_id

string

M

 

 

"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

dateTime

O

 

Ok

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

 

 

 

 

No implementation

"reaction" : BackboneElement

reaction

reaction

M

 

No implementation

 

context

{reference(encounter)}

M

 

Ok

 

explanation_letter

string

M

M - only for "verification_status" : "entered_in_error"

 

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

risk_assessment_statuses

Ok

 

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

method

ccodeable_concept}

O

eHealth/risk_assessment_methods: deafult_code

Ok

 

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

code

{codeable_concept}

M

eHealth/risk_assessment_codes

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

dateTime

M

only datetime
in the past

Ok

 

 

patient_id

string

M

 

 

 

"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

condition|observation|diagnostic_report

Ok

 

"prediction" : [{ Backbone element }],

predictions

[prediction]

O

 

 

 

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

mitigation

string

O

 

Ok

 

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

comment

string

O

 

Ok

 

 

explanation_letter

String

M

M - only for "verification_status" : "entered_in_error"

 

 

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

 

 

identifier

[reference(identifier)]

O

 

 

 

 

definition

{reference(device_definition)}

O

 

 

 

 

name

[reference(device_name)]

M

device_name_type

 

 

"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

eHealth/device_statuses

Ok

 

 

status_reason

{codeable_concept}

O

device_status_reasons

 

 

 

serial_number

string

O

 

 

 

 

parent

{reference(device)}

O

 

 

 

 

recorder

{reference(employee)}

M

 

 

 

 

recorder_legal_entity

{reference(legal_entity)}

M

 

 

 

 

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

 

 

 

 

context_episode_id

uuid

M

 

 

 

 

property

[reference(device_property)]

О

 

 

 

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

subject

{reference(patient)}

M

 

 

 

 

primary_source

boolean

M

 

 

 

 

report_origin

source

M

 

 

 

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

type

{codeable_concept}

M

example - implant device_definition_classification_type

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

dateTime

O

 

Ok

 

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

expiration_date

dateTime

O

 

Ok

 

 

model_number

string

O

 

 

 

"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

 

 

explanation_letter

string

M

M - only for "verification_status" : "entered_in_error"

 

 

"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 

medication_statement_statuses

 

 

"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

eHealth/medication_statement_medications

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:

 

 

 

 

 

 

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

asserted_date

dateTime

M

 

Ok

 

 

explanation_letter

string

M

M - only for "verification_status" : "entered_in_error"

 

 

"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

dateTime

M

 

Ok

 

 

primary_source

boolean

M

 

 

 

 

source

{source}

O

 

 

 

 

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

Composition

Its data model described at https://edenlab.atlassian.net/wiki/spaces/EH/pages/4219928582

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_value

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 UUID

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

“extension”: <Extension>

extension

[extension]

O

By default, using the extension is prohibited, except in cases where certain validations allow it.

Ok

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

dateTime

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

eHealth/resources

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

eHealth/diagnosis_roles

Ok

Approved

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

rank

positiveInt

O

 

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

ONE OF: M

 

Ok

 

 

value_quantity

quantity

 

 

 

 

 

value_codeable_concept

[codeable_concept]

 

 

 

 

 

value_sampled_data

{SampledData}

 

 

 

 

 

value_string

string

 

 

 

 

 

value_boolean

boolean

 

 

 

 

 

value_range

range

 

 

 

 

 

value_ratio

ratio

 

 

 

 

 

value_time

string

 

 

 

 

 

value_date_time

dateTime

 

 

 

 

 

value_period

period

 

 

 

 

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

eHealth/LOINC/observation_codes or eHealth/ICF/qualifiers or eHealth/LOINC/observation_components or eHealth/custom/observation_components

Ok

 

 

value

Medical Events MongoDB Data Model#value

M

value_quantity
value_codeable_concept
value_sampled_data
value_string
value_boolean
value_range
value_ratio
value_time
value_date_time
value_period

Ok

 

"valueQuantity" : { Quantity },

 

 

 

 

Covered by value

No implementation

"valueCodeableConcept" : { CodeableConcept }

 

 

 

 

Covered by value

 

"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

eHealth/observation_interpretations

 

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

Who is responsible for the entity. Fills from eHealth/report_origins dictionary

Employee, who is responsible for the entity.

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

 

sampledData

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

 

origin

number

O

 

 

 

 

period

number

O

 

 

 

 

factor

number

O

 

 

 

 

lower_limit

number

O

 

 

 

 

upper_limit

number

O

 

 

 

 

dimensions

number

O

 

 

 

 

data

string

M

 

 

 

 

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

double

O

 

Ok

 

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

"whenPeriod" : { Period },

"whenRange" : { Range },

when

Date

O

 

Ok

 

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

rationale

string

O

 

 

Ok

 

ratio

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

 

denominator

{quantity}

M

 

 

 

 

numerator

{quantity}

M

 

 

 

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.

related_artifact

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

М

The type of relationship to the related artifact

Ok

 

 

resource_reference

reference

М

What artifact is being referenced

Ok

 

narrative

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

 

status

string

М

Narrative status

Ok

 

 

div

string

М

Limited xhtml content

Ok

 

extension

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

string

М

The type of relationship to the related artifact

Ok

 

 

value_[x]

 

М

One of <specific type> must be provided

Ok

 

 

  • value_codeable_concept

{CodeableConcept}

 

 

 

 

 

  • value_decimal

number

 

 

 

 

 

  • value_string

string

 

 

 

 

Predefined extensions

item_weight

Name

Type

M/O

Comments

Name

Type

M/O

Comments

code

string

M

code = item_weight

value_decimal

number

M

 

COMPOSITION_ADDITIONAL_CONDITION_ADMISSION

Name

Type

M/O

Comments

Name

Type

M/O

Comments

code

string

M

code = COMPOSITION_ADDITIONAL_CONDITION_ADMISSION

valueCodeableConcept

{CodeableConceptExtension}

M

 

 

COMPOSITION_ADDITIONAL_CONDITION_ADMISSION_VALUE

Name

Type

M/O

Comments

Name

Type

M/O

Comments

сode

string

M

code = COMPOSITION_ADDITIONAL_CONDITION_ADMISSION_VALUE

 

valueDecimal

number

M

 

COMPOSITION_ADDITIONAL_CONDITION_ADMISSION_LETTER_DESIGNATIONS

Name

Type

M/O

Comments

Name

Type

M/O

Comments

сode

string

M

code = COMPOSITION_ADDITIONAL_CONDITION_ADMISSION_LETTER_DESIGNATIONS

valueCodeableConcept

{CodeableConcept}

M

 

 

 

 

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