Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

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

Included all diagnoses from latest encounter (current_diagnoses) and all diagnoses from previous encounters

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

...

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"identifier" : [{ Identifier }], // Identifier(s) by which this encounter is known

id

uuid

M


Ok

"status" : "<code>", // R! planned | arrived | triaged | in-progress | onleave | finished | cancelled +

status

string

M

finished, entered_in_error

Ok


contexts

array[reference(visit)|reference(episode)]

M

visit, episode

No implementation [07.09.2018]


explanatory_letter

string

O




cancellation_reason

codeable_concept

O



"statusHistory" : BackboneElement

status_history

status_history

M


No implementation

"classHistory" : BackboneElement





No implementation

"period" : { Period } // R! The time that the episode was in the specified status }],

period

period

M


No implementation


date

string

M

Date when the encounter was performed

Changed to ISO8601 [1.12.2018]

"class" : { Coding }, // inpatient | outpatient | ambulatory | emergency +

class

coding

M

eHealth/encounter_classes

Ok

"type" : [{ CodeableConcept }], // Specific type of encounter

type

codeable_concept

M

email consultation, phone consultation

Ok

"priority" : { CodeableConcept }, // Indicates the urgency of the encounter


codeable_concept

O

eHealth/encounter_priority

Ok

"subject" : { Reference(Patient|Group) }, // The patient ro group present at the encounter

patient

 reference(patient)

 M


No implementation

"episodeOfCare" : [{ Reference(EpisodeOfCare) }], // Episode(s) of care that this encounter should be recorded against

episode

 reference(episode)

M


Ok


visit

reference(visit)

M



"incomingReferral" : [{ Reference(ReferralRequest) }], // The ReferralRequest that initiated this encounter

incoming_referral

 reference(service_request)

 O



Ok

"participant":BackboneElement

performer

reference(employee)



Ok

"appointment" : { Reference(Appointment) }, // The appointment that scheduled this encounter





No implementation

"length" : { Duration }, // Quantity of time the encounter lasted (less time absent)

duration

 duration

 M


No implementation

"reason" : [{ CodeableConcept }], // Reason the encounter takes place (code)

reasons

[codeable_concept]

M

array of ICPC reasons codes

Ok

"diagnosis" : BackboneElement

diagnoses

[diagnosis]

M


Ok

"serviceProvider" : { Reference(Organization) }, // The custodian organization of this Encounter record

service_provider

reference(legal_entity)

 M

 legal_entity

Is already in Episode

"partOf" : { Reference(Encounter) } // Another Encounter this encounter is part of }





No implementation

"location": BackboneElement





No implementation

Absent in FHIR

division

 reference(division)

 O

 division_id
optional from [1.01.2018]


Absent in FHIR

actions

[codeable_concept]

 O

array of ICPC actions codes

Obligation depends on encounter class, e.g. mandatory for PHC and optional for AMB 


Absent in FHIR

action_reference

array

O

array of references to medical services which were provided to the patient during encounter


Absent in FHIR

signed_content_links

[string]

 M

array of links to media storage 


Absent in FHIR

prescriptions

string

O

Field designed to store prescriptions and recommendations made by the doctor during the encounter. Will be deprecated after medication statements implemented.


Absent in FHIR

supporting_info

[reference(observation|diagnostic_report)]

O

Diagnostic reports and observations that were used during the encounter

New

Code Block
 "hospitalization" : 
{ 
    "preAdmissionIdentifier" : { Identifier },
    "origin" : { Reference(Location|Organization) },
    "admitSource" : { CodeableConcept }, 
    "reAdmission" : { CodeableConcept }, 
    "dietPreference" : [{ CodeableConcept }], 
    "specialCourtesy" : [{ CodeableConcept }], 
    "specialArrangement" : [{ CodeableConcept }], 
    "destination":{ Reference(Location|Organization)}, 
    "dischargeDisposition" : { CodeableConcept },
    "dischargeDepartment" :  { CodeableConcept }
  },

hospitalization
- admit_source
- re_admission
- destination
- discharge_disposition
- pre_admission_identifier

- discharge_department

hospitalization
- dict. Health/encounter_admit_source
- dict. Health/encounter_re_admission
- reference (division/legal_entity)
- dict. Health/encounter_discharge_disposition
- string

- dict. Health/encounter_discharge_department

O

is mandatory for encounter class = SS, ACUTE, NONAC


Absent in FHIR

paper_referral

paper_referral

O



Code Block

Visit

Object name: visit

...

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

No

id

uuid

M



No

period

period

M



Observation

Object name: observation

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

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

id

uuid

M


Ok

"basedOn" : [{ Reference(CarePlan|DeviceRequest|ImmunizationRecommendation| MedicationRequest|NutritionOrder|ProcedureRequest|ReferralRequest) }], // Fulfills plan, proposal or order

based_on

[reference(medication_request,referral_request)]

O

for future use

Ok

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

status

string

M

valid, entered_in_error


"category" : [{ CodeableConcept }], // Classification of type of observation

categories

[codeable_concept]

M

https://www.hl7.org/fhir/valueset-observation-category.html

Ok

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

code

codeable_concept

M

http://hl7.org/fhir/ValueSet/observation-codes

Ok

"subject" : { Reference(Patient|Group|Device|Location) }, // Who and/or what this is about

patient

 uuid

M


Ok

"context" : { Reference(Encounter|EpisodeOfCare) }, // Healthcare event during which this observation is made

context

 reference(encounter)

M


Ok


Medical Events MongoDB Data Model#effective_at

Medical Events MongoDB Data Model#effective_at

O


Ok

"effectiveDateTime" : "<dateTime>"

effective_date_time

dateTime

O

Covered effective_at

No implementation

"effectivePeriod" : { Period }

effective_period

period

O

Covered effective_at

No implementation

"issued" : "<instant>", // Date/Time this was made available

issued

string

M

dateTime

Ok


primary_source

boolean

M



"performer" : [{ Reference(Practitioner|Organization|Patient|RelatedPerson) }], // Who is responsible for the observation

Medical Events MongoDB Data Model#source

Medical Events MongoDB Data Model#source

M


Ok


value

Medical Events MongoDB Data Model#value

M


Ok

"valueQuantity" : { Quantity }

value

quantity

O

Covered by Medical Events MongoDB Data Model#value

Ok

"valueCodeableConcept" : { CodeableConcept }

value

codeable_concept

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valueString" : "<string>"

value

string

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valueBoolean" : <boolean>

value

boolean

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valueRange" : { Range }

value

range

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valueRatio" : { Ratio }

value

ratio

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valueSampledData" : { SampledData }

value

sampled_data

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valueAttachment" : { Attachment }

value_attachment

attachment

O


No implementation

"valueTime" : "<time>"

value

time

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valueDateTime" : "<dateTime>"

value

date_time

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"valuePeriod" : { Period }

value

period

O

Covered by  Medical Events MongoDB Data Model#value

Ok

"dataAbsentReason" : { CodeableConcept }, // C? Why the result is missing

data_absent_reason

codeable_concept

O

 Why the result is missing
https://www.hl7.org/fhir/valueset-observation-valueabsentreason.html

No implementation

"interpretation" : { CodeableConcept }, // High, low, normal, etc.

interpretation

codeable_concept

O

High, low, normal, etc.
https://www.hl7.org/fhir/valueset-observation-interpretation.html

Ok

"comment" : "<string>", // Comments about result

comment

 string

O


Ok

"bodySite" : { CodeableConcept }, // Observed body part

body_site

codeable_concept

O


Ok

"method" : { CodeableConcept }, // How it was done

method

codeable_concept

O


Ok

"specimen" : { Reference(Specimen) }, // Specimen used for this observation





No implementation

"device" : { Reference(Device|DeviceMetric) }, // (Measurement) Device




 Measurement device
Should we have this? 

No implementation

"referenceRange" : BackboneElement

 reference_ranges

[reference_range]

O


Ok

where it should come from?

"related" : BackboneElement





No implementation

"component" : BackboneElement

components

[Medical Events MongoDB Data Model#component]

O


Ok

...

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

...

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

Ok

"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

ok

"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

"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

ok

"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

ok

"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

...

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
Нужно сделать обратную связь



primary_source






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

performer

reference(employee)

M


Ok



report_origin






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

one of

  • reason_codes

  • reason_references

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


...

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


Code Block
"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


...

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


Code Block
// 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


...

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

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

id

uuid

M




"instantiates" : ["<uri>"],
// Instantiates protocol or definition

?



A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.

No implementation


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

part_of

[reference(

Medication_administration,

Procedure

)]

O




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

status

string

M

dictionary (completed,entered_in_error)



"statusReason" : [{ CodeableConcept }], // Reason administration not performed

status_reason

codeable_concept

O

mandatory for entered_in_error



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

 category

codeable_concept

M




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

medication

reference(medication)

M

Reference to the medication (with the type BRAND) 



"subject" : { Reference(Patient|Group) }, // R! Who received medication

subject

reference(person)


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



"context" : { Reference(Encounter|EpisodeOfCare) },
// Encounter or Episode of Care administered as part of

context

reference(encounter)

M




"supportingInformation" : [{ Reference(Any) }],
// Additional information to support administration

?






// effective[x]: Start and end time of administration. One of these 2: "effectiveDateTime" : "<dateTime>", "effectivePeriod" : { Period },

performed_date_time

 date_time

M

datetime



"performer" : [{ // Who performed the medication administration and what they did "function" : { CodeableConcept }, // Type of performance "actor" : { Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|Device) }
// R! Who performed the medication administration }],

performer

reference(employee)

M





managing_organization

managing_organization


autofilled for ABAK



"reasonCode" : [{ CodeableConcept }], // Reason administration performed

?




No implementation


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

reason_references

[{ Reference(Condition|Observation|DiagnosticReport) }]

O




"request" : { Reference(MedicationRequest) }, // Request administration performed against

request

{ Reference(MedicationRequest) }

O

validate with ATC codes in medication



"device" : [{ Reference(Device) }], // Device used to administer

?device

[{ Reference(Device) }]

O


No implementation


"note" : [{ Annotation }], // Information about the administration

note

string

O




"dosage" : { // Details of how medication was taken "text" : "<string>", // Free text dosage instructions e.g. SIG "site" : { CodeableConcept }, // Body site administered to "route" : { CodeableConcept }, // Path of substance into body "method" : { CodeableConcept }, // How drug was administered "dose" : { Quantity(SimpleQuantity) }, // Amount of medication per dose // rate[x]: Dose quantity per unit of time. One of these 2: "rateRatio" : { Ratio } "rateQuantity" : { Quantity(SimpleQuantity) } },

dosage

[dosage]

M




"eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle

?






...

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

"identifier" : [{ Identifier }], // External Identifiers for this procedure

id

uuid

M

Unique identifier of current record

+

"instantiatesCanonical" : [{ canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition





No implementation

"instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition





No implementation

"basedOn" : [{ Reference(CarePlan|ServiceRequest) }], // A request for this procedure

based_on

reference(ServiceRequest)

O

Mandatory for encounter package,

could be send with  encounter package type PHC

+

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

part_of

reference(procedure)

O

Only type procedure allowed

No Implementation

"status" : "<code>", // R! preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown

status

string

M

Only these statuses allowed:

entered_in_error, completed

+

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

status_reason

codeable_concept

O

mandatory for enterred_in_error

+


explanatory_letter

string

O

mandatory for enterred_in_error

+

"category" : { CodeableConcept }, // Classification of the procedure



?

No dictionary will be provided any  soon

No implemenation

"code" : { CodeableConcept }, // Identification of the procedure

code

reference(services)

M

reference on services

+

"subject" : { Reference(Patient|Group) }, // R! Who the procedure was performed on



M

part of patients collection

+

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

encounter

reference(encounter)

O

mandatory for encounter package, 

can not be submitted in DR in separate route

+

// performed[x]: When the procedure was performed. One of these 5: "performedDateTime" : "<dateTime>", "performedPeriod" : { Period }, "performedString" : "<string>", "performedAge" : { Age }, "performedRange" : { Range },

performed_date_time

date_time

M

datetime

+

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

recorded_by

reference(employee)

M

signature or encounter performer

+

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





No implementation


primary_source

boolean

M

determines the source of data in current record: whether the procedure was posted by its performer (true) or it was posted by third party, for example by family doctor based on the patients words (false) 



report_origin

codeable_concept

O

should be filled, if primary_source=false


"performer" : [{ // The people who performed the procedure "function" : { CodeableConcept }, // Type of performance "actor" : { Reference(Practitioner|PractitionerRole|Organization|Patient| RelatedPerson|Device) }, // R! The reference to the practitioner "onBehalfOf" : { Reference(Organization) } // Organization the device or practitioner was acting for }],

performer

extended_reference

M

should be filled by reference, if primary_source=true

if reference, then it should be an employee with type 'DOCTOR', 'SPECIALIST', 'ASSISTANT'

+

Code Block
  "location" : { Reference(Location) }, // Where the procedure happened

division

reference(division)

O

Legal entity division where procedure was performed



managing_organization

reference(legal_entity)

M

Organization (legal entity) which is responsible for current procedure 


Code Block
 "reasonCode" : [{ CodeableConcept }], // Coded reason procedure performed





No implementation

Code Block
 "reasonReference" : [{ Reference(Condition|Observation|Procedure|
   DiagnosticReport|DocumentReference) }], // The justification that the procedure was performed

reason_references

[reference(condition|procedure|diagnostic_report)]

O

The justification of why the procedure was performed

+

Code Block
 "bodySite" : [{ CodeableConcept }], // Target body sites

body_sites

[codeable_concept]

O

No implementation cause there is no corresponding dictionary and no implementation of such field on Service Requests at the moment. If doctor needs to specify body site, he/she will do it using text in code attribute.

No implementation

Code Block
 "outcome" : { CodeableConcept }, // The result of procedure

outcome

codeable_concept

O

The outcome of the procedure - did it resolve the reasons for the procedure being performed.

+

Code Block
 "report" : [{ Reference(DiagnosticReport|DocumentReference|Composition) }], // Any report resulting from the procedure

report

reference(diagnostic_report)

O

No implementation cause currently there is no need in posting of diagnostic procedure reports with separate  procedure to the system 

No implementation

Code Block
  "complication" : [{ CodeableConcept }], // Complication following the procedure

complications

[codeable_concept]

O

No implementation cause there is no corresponding dictionaries. Doctor should use text part in outcome field instead or complicationDetail as a reference to condition

No implementation

Code Block
  "complicationDetail" : [{ Reference(Condition) }], // A condition that is a result of the procedure

complication_details

[reference(condition)]

O

Could be filled only for procedure in encounter package and only with reference to condition from same encounter

+

Code Block
  "followUp" : [{ CodeableConcept }], // Instructions for follow up


-



No implementation

Code Block
"note" : [{ Annotation }], // Additional information about the procedure

note

string

O

Any other notes and comments about the procedure that are not specified in corresponding attributes 


Code Block
 "focalDevice" : [{ // Manipulated, implanted, or removed device
    "action" : { CodeableConcept }, // Kind of change to device
    "manipulated" : { Reference(Device) } // R!  Device that was changed
  }],


-



No implementation

Code Block
  "usedReference" : [{ Reference(Device|Medication|Substance) }], // Items used during procedure

used_references

[reference(medication)]

O

Useful attribute, but it could be implemented without national medicine registry, which is currently unavailable. Mecications structure in e-health contains only medications, which take part in reimbursement national program.

No implementation

Code Block
  "usedCode" : [{ CodeableConcept }] // Coded items used during the procedure


-



No implementation


origin_episode

reference(episode)

M

Episode of care during which Service Request, dispensed by Procedure, was initialised


Complex Types

reference

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

...

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

...

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
Anchor
coding
coding

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

...

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

...

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


-

...

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


"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


...

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



...

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


...

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



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

...

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


...

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


...

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


...

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

...

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


...

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



type

string

M

report_origin, performer, asserter

Ok



value

for report_origin - codeable_concept
for performer - reference(employee)

for asserter - reference(employee)

M


Ok


...

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


...

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

"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


...

HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status


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



dosage


HL7

Name

Type

M/O

Description and constraints

HL7 vs eHealth comparison result

Status

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







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







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







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







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







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







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







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







Code Block
 "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) }
  }],







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







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







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







...