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,
orderId: number,
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}
`;