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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 36 Next »

General

License verification used for healthcare services linked with divisions that relates to legal entities with MSP or PHARMACY license type. The special register is used as source for the license verification - service_license table in DLS (DataLicenseStorage) database. Each insert/update event triggers replication app which replicates this data to eHealth PRM database. After that Processor app starts and perform actions in eHealth described below.

Key points:

  • DLS.service_license register is managed by NHS:  when new data inserts - previous should be cleared. Register must contain only actual license statuses for healthcare services.
  • NHS sets license statuses for healthcare services selected from healthcare_services table (see table specs)
  • Data in register should be updated at least once in twenty-four hours
  • eHealth performs replication of service_license table from DLS to PRM database, saving statuses in PRM.licensed_healthcare_services table, log history on PRM.
  • PRM.licensed_healthcare_services table isn't clears. The new records are inserts, existing - updates. 


PRM Replica structure

Replicted data stores in prm.service_license table:

Field nameTypeM/ODescription
iduuidMUnique identifier of the table record. Sets automatically 

healthcare_service_id

uuidM

Identifier of the healthcare service in eHealth. Corresponds to prm.healthcare_services.id (see table specs)

license_status

varchar(50)M

Status of the license for  healthcare service in the division of the legal entity with MSP or PHARMACY license type. Allowed values: ACTIVE, INACTIVE

inserted_at

timestampMDate of data insert. Sets automatically 
Script example
create table service_license
(
    id uuid not null
        constraint service_license_pkey
            primary key,
    healthcare_service_id uuid,
    license_status varchar(50),
    inserted_at timestamp not null
);
comment on table service_license is ’Stores license statuses for healthcare services of divisions in legal entities with MSP or PHARMACY licenses. Manages by NHS’;
comment on column service_license.id is ‘Unique entry identifier (uuid)’;
comment on column service_license.healthcare_service_id is ‘Id of the healthcare service of the division in eHealth’;
comment on column service_license.license_status is ‘Status of the license for healthcare_service_id of division in legal entity with MSP or PHARMACY license’;

alter table service_license
    owner to db;

Processor

Once a day Processor app selects all records from PRM.service_license table. Each entry should be processed with next logic:

  1. Search healthcare service in PRM.licensed_healthcare_services table by healthcare_service_id:
    • If not found - insert new record. Set all fields in PRM.licensed_healthcare_services.
    • if found - update PRM.licensed_healthcare_service.statusIf status has INACTIVE value - also set PRM.licensed_healthcare_service.is_active = False.
  2. Log status history to PRM.licensed_healthcare_services_status_history table

Influence

TBD



  • No labels