import { format } from 'date-fns'; import Isikukood, { Gender } from 'isikukood'; import { Tables } from '@/packages/supabase/src/database.types'; import { DATE_FORMAT, DATE_TIME_FORMAT } from '@/lib/constants'; const isProd = process.env.NODE_ENV === 'production'; export const getPais = ( sender: string, recipient: string, createdAt: Date, orderId: string, packageName = "OL", ) => { if (isProd) { // return correct data } return ` ${packageName} ${sender} ${recipient} ${format(createdAt, DATE_TIME_FORMAT)} ${orderId} argo@medreport.ee `; }; export const getClientInstitution = ({ index }: { index?: number } = {}) => { if (isProd) { // return correct data } return ` 16381793 MedReport OÜ TSU +37258871517 `; }; export const getProviderInstitution = ({ index }: { index?: number } = {}) => { if (isProd) { // return correct data } return ` 11107913 Synlab HTI Tallinn SLA Synlab HTI Tallinn +3723417123 `; }; export const getClientPerson = ({ idCode, firstName, lastName, phone, }: { idCode: string, firstName: string, lastName: string, phone: string, }) => { if (isProd) { // return correct data } return ` 1.3.6.1.4.1.28284.6.2.4.9 ${idCode} ${lastName} ${firstName} ${phone ? `${phone.startsWith('+372') ? phone : `+372${phone}`}` : ''} `; }; // export const getOrderEnteredPerson = () => { // if (isProd) { // // return correct data // } // return ` // 1.3.6.1.4.1.28284.6.2.4.9 // D07907 // Eduard // Tsvetkov // +37258131202 // `; // }; export const getPatient = ({ idCode, lastName, firstName, }: { idCode: string, lastName: string, firstName: string, }) => { const isikukood = new Isikukood(idCode); return ` 1.3.6.1.4.1.28284.6.2.2.1 ${idCode} ${lastName} ${firstName} ${format(isikukood.getBirthday(), DATE_FORMAT)} 1.3.6.1.4.1.28284.6.2.3.16.2 ${isikukood.getGender() === Gender.MALE ? 'M' : 'N'} `; }; export const getConfidentiality = () => { if (isProd) { // return correct data } return ` 2.16.840.1.113883.5.25 N 1.3.6.1.4.1.28284.6.2.2.39.1 N 1.3.6.1.4.1.28284.6.2.2.37.1 N `; }; // export const getOrderEnteredByPerson = () => { // if (isProd) { // // return correct data // } // return ` // // 1.3.6.1.4.1.28284.6.2.4.9 // D07907 // Eduard // Tsvetkov // +37258131202 // `; // }; export const getSpecimen = ( materialTypeOid: string, materialGroupId: string, materialName: string, order: number, sampleContainerOid?: string, sampleContainerId?: string, ) => ` ${sampleContainerOid ? `${sampleContainerOid}` : null} ${sampleContainerId ? `${sampleContainerId}` : null} ${materialTypeOid} ${materialGroupId} ${materialName} ${order} `; export const getAnalysisElement = ( analysisIdOid: string, analysisIdOriginal: string, tehikShortLoinc: string, tehikLoincName: string, analysisElementId: number, analysisNameLab?: string | null, ) => { return ` ${analysisIdOid} ${analysisIdOriginal} ${tehikShortLoinc} ${tehikLoincName} ${analysisNameLab ?? tehikLoincName} ${analysisElementId} `; }; export const getAnalysisGroup = ( analysisGroupOriginalId: string, analysisGroupName: string, specimenOrderNr: number, analysisElement: Tables<{ schema: 'medreport' }, 'analysis_elements'>, ) => ` ${analysisGroupOriginalId} ${analysisGroupName} ${getAnalysisElement(analysisElement.analysis_id_oid, analysisElement.analysis_id_original, analysisElement.tehik_short_loinc, analysisElement.tehik_loinc_name, analysisElement.id, analysisElement.analysis_name_lab)} ${specimenOrderNr} `;