Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

General

...

  • 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. 

...

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 

...

Code Block
languagesql
titleScript example
collapsetrue
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 in N interval (where N - cron parameter), 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