import { format } from 'date-fns'; import { Tables } from '@/packages/supabase/src/database.types'; import { DATE_FORMAT, DATE_TIME_FORMAT } from '@/lib/constants'; import PersonalCode from '../utils'; 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(new Date(), DATE_TIME_FORMAT)} ${orderId} info@medreport.ee `; }; export const getClientInstitution = ({ index }: { index?: number } = {}) => { return ` 16381793 MedReport OÜ MRP +37258871517 `; }; export const getProviderInstitution = ({ index }: { index?: number } = {}) => { return ` 11107913 Synlab Eesti OÜ HTI Synlab HTI Tallinn +37217123 `; }; export const getClientPerson = () => { return ` 1.3.6.1.4.1.28284.6.2.4.9 D07907 Eduard Tsvetkov +37258131202 `; }; export const getOrderEnteredPerson = () => { 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 { dob, gender } = PersonalCode.parsePersonalCode(idCode); return ` 1.3.6.1.4.1.28284.6.2.2.1 ${idCode} ${lastName} ${firstName} ${format(dob, DATE_FORMAT)} 1.3.6.1.4.1.28284.6.2.3.16.2 ${gender.value === 'M' ? '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} `;