@jjlmoya/utils-forensic-science 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/package.json +2 -2
  2. package/src/category/index.ts +21 -16
  3. package/src/entries.ts +8 -1
  4. package/src/tests/locale_completeness.test.ts +2 -2
  5. package/src/tests/tool_validation.test.ts +2 -2
  6. package/src/tool/time-of-death-algor-mortis-calculator/bibliography.astro +14 -0
  7. package/src/tool/time-of-death-algor-mortis-calculator/bibliography.ts +7 -0
  8. package/src/tool/time-of-death-algor-mortis-calculator/component.astro +133 -0
  9. package/src/tool/time-of-death-algor-mortis-calculator/controller.ts +254 -0
  10. package/src/tool/time-of-death-algor-mortis-calculator/dom-views.ts +144 -0
  11. package/src/tool/time-of-death-algor-mortis-calculator/entry.ts +29 -0
  12. package/src/tool/time-of-death-algor-mortis-calculator/evaluator.ts +34 -0
  13. package/src/tool/time-of-death-algor-mortis-calculator/i18n/de.ts +139 -0
  14. package/src/tool/time-of-death-algor-mortis-calculator/i18n/en.ts +136 -0
  15. package/src/tool/time-of-death-algor-mortis-calculator/i18n/es.ts +136 -0
  16. package/src/tool/time-of-death-algor-mortis-calculator/i18n/fr.ts +136 -0
  17. package/src/tool/time-of-death-algor-mortis-calculator/i18n/id.ts +139 -0
  18. package/src/tool/time-of-death-algor-mortis-calculator/i18n/it.ts +136 -0
  19. package/src/tool/time-of-death-algor-mortis-calculator/i18n/ja.ts +136 -0
  20. package/src/tool/time-of-death-algor-mortis-calculator/i18n/ko.ts +136 -0
  21. package/src/tool/time-of-death-algor-mortis-calculator/i18n/nl.ts +139 -0
  22. package/src/tool/time-of-death-algor-mortis-calculator/i18n/pl.ts +139 -0
  23. package/src/tool/time-of-death-algor-mortis-calculator/i18n/pt.ts +136 -0
  24. package/src/tool/time-of-death-algor-mortis-calculator/i18n/ru.ts +139 -0
  25. package/src/tool/time-of-death-algor-mortis-calculator/i18n/sv.ts +139 -0
  26. package/src/tool/time-of-death-algor-mortis-calculator/i18n/tr.ts +139 -0
  27. package/src/tool/time-of-death-algor-mortis-calculator/i18n/zh.ts +136 -0
  28. package/src/tool/time-of-death-algor-mortis-calculator/index.ts +11 -0
  29. package/src/tool/time-of-death-algor-mortis-calculator/logic.test.ts +77 -0
  30. package/src/tool/time-of-death-algor-mortis-calculator/logic.ts +177 -0
  31. package/src/tool/time-of-death-algor-mortis-calculator/seo.astro +15 -0
  32. package/src/tool/time-of-death-algor-mortis-calculator/storage.ts +21 -0
  33. package/src/tool/time-of-death-algor-mortis-calculator/time-of-death-algor-mortis-calculator.css +596 -0
  34. package/src/tool/time-of-death-algor-mortis-calculator/ui.ts +60 -0
  35. package/src/tools.ts +3 -1
@@ -0,0 +1,136 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { TimeOfDeathAlgorMortisLocaleContent } from '../entry';
3
+
4
+ const slug = 'time-of-death-algor-mortis-calculator';
5
+ const title = '사후경과시간 사냉 계산기 헨스게 노모그램';
6
+ const description = '직장 체온과 주변 환경 온도를 바탕으로 헨스게 이중 지수식 노모그램을 적용하여 사망 추정 시간을 산출합니다.';
7
+
8
+ const howTo = [
9
+ { name: '직장 심부 체온 및 주변 온도 입력', text: '사건 현장에서 측정한 직장 심부 온도와 주변 환경 기온을 입력합니다.' },
10
+ { name: '체중 및 환경 보정 계수 설정', text: '시신의 체중을 킬로그램 단위로 입력하고 착의 상태나 수중 침수 여부에 따른 보정 계수를 선택합니다.' },
11
+ { name: '온도 측정 시각 지정', text: '온도를 측정한 정확한 시각을 입력하거나 현재 시각 버튼을 클릭합니다.' },
12
+ { name: '사후경과시간 및 냉각 곡선 분석', text: '추정된 사후경과시간과 95퍼센트 신뢰구간의 사망 시간대 및 열역학적 곡선을 확인합니다.' }
13
+ ];
14
+
15
+ const faq = [
16
+ { question: '법의학에서 사냉이란 무엇입니까', answer: '사냉은 심장 박동 정지 후 체열 생성이 중단되어 시신 체온이 주변 환경 온도와 평형에 도달할 때까지 점진적으로 하강하는 물리적 현상입니다.' },
17
+ { question: '선형 공식보다 헨스게 노모그램이 선호되는 이유는 무엇입니까', answer: '사망 초기 체온 안정기와 체중 및 착의 상태에 따른 비선형 이중 지수 냉각 특성을 정확하게 반영하기 때문입니다.' },
18
+ { question: '체온 기반 사망 시각 추정의 정확도는 어느 정도입니까', answer: '통제된 표준 조건에서 첫 10시간 동안의 95퍼센트 통계적 신뢰 한계는 약 플러스마이너스 2.8시간입니다.' },
19
+ { question: '사후 체온 안정기란 무엇입니까', answer: '사망 후 초기 1시간에서 3시간 동안 체표면이 먼저 냉각되는 동안 직장 심부 온도가 거의 떨어지지 않는 지연 기간을 의미합니다.' }
20
+ ];
21
+
22
+ export const content: TimeOfDeathAlgorMortisLocaleContent = {
23
+ slug,
24
+ title,
25
+ description,
26
+ ui: {
27
+ title,
28
+ subtitle: '사후경과시간 추정 및 열 감쇠 노모그램',
29
+ disclaimer: '본 계산기는 교육 및 학술 시뮬레이션 전용입니다. 공식적인 법의학적 감정은 사법 부검 및 시반 시강의 종합적 분석이 필수적입니다.',
30
+ unitSystemLabel: '단위계',
31
+ unitMetricLabel: '미터법',
32
+ unitImperialLabel: '야드파운드법',
33
+ presetsHeader: '표준 법의학 시나리오',
34
+ presetCustom: '사용자 지정 설정',
35
+ presetNakedCalm: '무풍 실내 나체 (20°C)',
36
+ presetDressedIndoor: '실내 평상복 착용 (19.5°C)',
37
+ presetWinterOutdoor: '겨울철 야외 환경 (4°C)',
38
+ presetSubmergedWater: '정수 수중 침수 (12°C)',
39
+ presetHeavyDuvet: '침대 두꺼운 거위털 이불 (18°C)',
40
+ inputsHeader: '현장 측정값 및 환경 파라미터',
41
+ rectalTempLabel: '직장 심부 체온',
42
+ ambientTempLabel: '주변 환경 온도',
43
+ bodyWeightLabel: '시신 체중',
44
+ factorLabel: '환경 보정 계수',
45
+ measurementTimeLabel: '체온 측정 시각',
46
+ factorNaked: '무풍 공기 중 나체',
47
+ factorLightClothes: '얇은 옷 1에서 2겹',
48
+ factorStandardClothes: '평상복 3에서 4겹',
49
+ factorHeavyWinter: '두꺼운 겨울 방한복',
50
+ factorLightBlanket: '침대 얇은 담요',
51
+ factorHeavyDuvet: '침대 두꺼운 우모 이불',
52
+ factorStillWater: '정체된 수중에 침수',
53
+ factorFlowingWater: '흐르는 차가운 물에 침수',
54
+ factorWetClothing: '젖은 의복 및 바람',
55
+ factorMovingAir: '선풍기 등 유동 공기',
56
+ resultsHeader: '사후경과시간 분석 결과',
57
+ estimatedPmiLabel: '사망 후 추정 경과시간',
58
+ deathWindowLabel: '추정 사망 시간대',
59
+ confidenceMarginLabel: '95퍼센트 신뢰구간',
60
+ coolingPhaseLabel: '열역학적 단계',
61
+ coolingRateLabel: '순간 열 손실률',
62
+ glaisterEstimateLabel: '글레이스터 선형 공식 비교',
63
+ chartHeader: '헨스게 이중 지수 냉각 궤적',
64
+ chartXAxis: '사후 경과 시간',
65
+ chartYAxis: '심부 체온',
66
+ chartNowMarker: '측정 체온',
67
+ chartPlateauMarker: '초기 체온 안정기',
68
+ phasePlateau: '체온 안정기',
69
+ phaseDescent: '지수 하강기',
70
+ phaseEquilibrium: '열 평형 상태',
71
+ phaseHyperthermia: '생전 고열 주의',
72
+ hoursUnit: '시간',
73
+ minutesUnit: '분',
74
+ celsiusUnit: '°C',
75
+ fahrenheitUnit: '°F',
76
+ kgUnit: 'kg',
77
+ lbUnit: 'lb',
78
+ celsiusPerHour: '°C/h',
79
+ fahrenheitPerHour: '°F/h',
80
+ resetBtn: '초기화',
81
+ nowBtn: '현재 시각',
82
+ coreThermometerLabel: '심부 체온',
83
+ baselineAmbientLabel: '환경 기준선',
84
+ referenceBodyTempLabel: '정상 기준 체온'
85
+ },
86
+ seo: [
87
+ { type: 'title', text: '사체 냉각의 열역학적 원리와 사후경과시간 추정', level: 2 },
88
+ { type: 'paragraph', html: '사후경과시간(PMI)의 판정은 법의학 사망 원인 규명의 핵심 과제입니다. <strong>사냉(Algor Mortis)</strong>은 심박동 정지 이후 인체의 열 생산이 멈추면서 체온이 주변 환경 온도와 평형을 이룰 때까지 냉각되는 현상입니다. 직장 심부 체온 측정과 열역학적 모델을 결합하여 사망 시점을 과학적으로 역추산합니다.' },
89
+ { type: 'diagnostic', variant: 'info', title: '시신 냉각의 물리적 거동', html: '시신의 체온 하강은 선형적으로 진행되지 않습니다. 초기 <em>체온 안정기</em>라 불리는 지연 구간을 거친 후 급격한 지수 감쇠 곡선을 나타냅니다.' },
90
+ { type: 'stats', columns: 3, items: [
91
+ { value: '37.2°C', label: '정상 직장 기준 체온' },
92
+ { value: '±2.8시간', label: '초기 10시간 95% 신뢰범위' },
93
+ { value: '이중 지수식', label: '헨스게 수학적 모델' }
94
+ ] },
95
+ { type: 'title', text: '클라우스 헨스게의 이중 지수 공식', level: 3 },
96
+ { type: 'paragraph', html: '과거에 사용되던 글레이스터 법칙은 시간당 0.83도 하강이라는 일률적인 가정을 적용했으나 체질량과 착의 상태의 단열 효과를 반영하지 못하는 한계가 있었습니다.' },
97
+ { type: 'code', ariaLabel: '헨스게 공식', code: 'Q = (T_직장 - T_주변) / (37.2 - T_주변)\nQ = 1.25 * exp(-k * t) - 0.25 * exp(-5 * k * t)\nk = 1.2815 / (체중^0.625 * 보정계수) - 0.0284' },
98
+ { type: 'paragraph', html: '헨스게 교수가 정립한 이중 지수 방정식은 피부 표면 열전달과 내부 심부 장기의 열 관성을 복합적으로 계산하여 신뢰도 높은 추정 구간을 도출합니다.' },
99
+ { type: 'title', text: '환경 및 의복 상태별 보정 계수', level: 3 },
100
+ { type: 'paragraph', html: '열 방출 속도는 체표면적과 공기 유동 및 섬유 단열층에 따라 큰 편차를 보입니다.' },
101
+ { type: 'table', headers: ['현장 상황', '보정 계수', '물리적 기전'], rows: [
102
+ ['무풍 실내 나체', '1.0', '표준 복사 및 자연 대류 냉각'],
103
+ ['얇은 옷 1에서 2겹', '1.1', '피부 대류 열 손실의 완만한 감소'],
104
+ ['평상복 3에서 4겹', '1.2', '몸통 및 사지의 중간 수준 단열'],
105
+ ['두꺼운 방한복', '1.4', '공기층 포획을 통한 강력한 단열'],
106
+ ['침대 두꺼운 우모 이불', '1.8', '극히 높은 보온성으로 냉각 지연'],
107
+ ['정체된 수중에 침수', '0.5', '물의 열전도율은 공기의 약 24배'],
108
+ ['흐르는 차가운 물에 침수', '0.35', '강제 대류에 의한 급격한 열 흡수']
109
+ ] },
110
+ { type: 'title', text: '사후 냉각의 열역학적 단계 구분', level: 3 },
111
+ { type: 'comparative', columns: 2, items: [
112
+ { title: '사후 체온 안정기', description: '사망 후 1에서 3시간 동안 체표면이 먼저 식는 동안 직장 심부 온도는 매우 서서히 떨어집니다.', points: ['중심부에서 외주부로 열구배 형성', '선형 공식이 과소평가하는 구간', '공식의 마이너스 0.25 항으로 보정'] },
113
+ { title: '급격한 지수 하강기', description: '열구배 형성 후 체중에 비례하는 일정한 속도로 열이 방출되는 구간입니다.', highlight: true, points: ['가장 높은 분석 민감도', '통계적 오차가 가장 좁은 구간', '온도 측정법 적용의 최적 시간대'] }
114
+ ] },
115
+ { type: 'title', text: '현장 체온 측정 시 실무 준수사항', level: 3 },
116
+ { type: 'list', items: [
117
+ '<strong>직장 심부 체온 정확한 측정:</strong> 교정된 디지털 온도계 탐침을 직장 내 8에서 10cm 깊이로 삽입합니다.',
118
+ '<strong>시신 근접 환경 온도 측정:</strong> 시신으로부터 10cm 이내의 위치에서 기온을 측정합니다.',
119
+ '<strong>현장 환경 안정성 확인:</strong> 난방기 가동, 개방된 창문, 직사광선 유무를 기록합니다.',
120
+ '<strong>의복 습기 여부 확인:</strong> 젖은 옷은 증발열로 인해 냉각 속도를 현저히 가속합니다.'
121
+ ] },
122
+ { type: 'summary', title: '방법론 요약', items: [
123
+ '헨스게 노모그램은 국제적으로 표준화된 사후경과시간 온도 측정 기법입니다.',
124
+ '단일 시각이 아닌 표준편차를 포함한 확률적 시간 구간으로 감정서를 작성해야 합니다.',
125
+ '시강, 시반 및 근육의 초생체 반응 검사 결과를 종합하여 결론을 도출합니다.'
126
+ ] }
127
+ ],
128
+ faq,
129
+ bibliography,
130
+ howTo,
131
+ schemas: [
132
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
133
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
134
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) }
135
+ ]
136
+ };
@@ -0,0 +1,139 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { TimeOfDeathAlgorMortisLocaleContent } from '../entry';
3
+
4
+ const slug = 'tijdstip-van-overlijden-rekenmachine-algor-mortis';
5
+ const title = 'Tijdstip van Overlijden Rekenmachine Algor Mortis';
6
+ const description = 'Schat het postmortale interval en tijdstip van overlijden met het Henssge nomogram en de afkoeling van het lichaam.';
7
+
8
+ const howTo = [
9
+ { name: 'Voer rectale en omgevingstemperatuur in', text: 'Voer de gemeten diepe rectale kerntemperatuur en de omgevingstemperatuur op de vindplaats in.' },
10
+ { name: 'Stel lichaamsgewicht en correctiefactor in', text: 'Geef het lichaamsgewicht op en selecteer de omgevingsfactor voor kleding of wateronderdompeling.' },
11
+ { name: 'Geef het meettijdstip op', text: 'Voer het exacte tijdstip van de temperatuurmeting in of kies Huidige tijd.' },
12
+ { name: 'Analyseer het PMI en de afkoelingscurve', text: 'Bekijk het berekende interval, het 95 procent betrouwbaarheidsvenster en de thermische curve.' }
13
+ ];
14
+
15
+ const faq = [
16
+ { question: 'Wat is Algor Mortis in de forensische geneeskunde?', answer: 'Algor Mortis is de geleidelijke daling van de lichaamstemperatuur na het overlijden tot thermisch evenwicht met de omgeving is bereikt.' },
17
+ { question: 'Waarom heeft het Henssge nomogram de voorkeur?', answer: 'Omdat het rekening houdt met het initiële temperatuurplateau en de dubbel exponentiële afkoeling op basis van gewicht en kleding.' },
18
+ { question: 'Hoe nauwkeurig is de temperatuurmethode?', answer: 'Onder gecontroleerde standaardomstandigheden is het 95 procent betrouwbaarheidsinterval ongeveer plusminus 2.8 uur in de eerste tien uur.' },
19
+ { question: 'Wat is het postmortale temperatuurplateau?', answer: 'Het plateau is de periode van 1 tot 3 uur na het overlijden waarin de rectale kerntemperatuur nauwelijks daalt.' }
20
+ ];
21
+
22
+ export const content: TimeOfDeathAlgorMortisLocaleContent = {
23
+ slug,
24
+ title,
25
+ description,
26
+ ui: {
27
+ title,
28
+ subtitle: 'Schatting van het Postmortaal Interval en Henssge Nomogram',
29
+ disclaimer: 'Uitsluitend voor educatieve en academische doeleinden. Juridische vaststellingen vereisen een volledige gerechtelijke sectie en milieumetingen.',
30
+ unitSystemLabel: 'Eenhedenstelsel',
31
+ unitMetricLabel: 'Metrisch',
32
+ unitImperialLabel: 'Imperiaal',
33
+ presetsHeader: 'Standaard forensische scenarios',
34
+ presetCustom: 'Aangepaste waarden',
35
+ presetNakedCalm: 'Ontkleed in rustige kamer (20°C)',
36
+ presetDressedIndoor: 'Gekleed binnenshuis (19.5°C)',
37
+ presetWinterOutdoor: 'Winterse buitenlucht (4°C)',
38
+ presetSubmergedWater: 'Ondergedompeld in stilstaand water (12°C)',
39
+ presetHeavyDuvet: 'Onder dik donzen dekbed (18°C)',
40
+ inputsHeader: 'Meetwaarden en omgevingsparameters',
41
+ rectalTempLabel: 'Diepe rectale temperatuur',
42
+ ambientTempLabel: 'Omgevingstemperatuur',
43
+ bodyWeightLabel: 'Lichaamsgewicht',
44
+ factorLabel: 'Omgevingscorrectiefactor',
45
+ measurementTimeLabel: 'Tijdstip van meting',
46
+ factorNaked: 'Ontkleed in stilstaande lucht',
47
+ factorLightClothes: 'Lichte kleding (1-2 lagen)',
48
+ factorStandardClothes: 'Normale kleding (3-4 lagen)',
49
+ factorHeavyWinter: 'Dikke winterkleding',
50
+ factorLightBlanket: 'Bed met lichte deken',
51
+ factorHeavyDuvet: 'Bed met dik donzen dekbed',
52
+ factorStillWater: 'In stilstaand water',
53
+ factorFlowingWater: 'In stromend koud water',
54
+ factorWetClothing: 'Natte kleding bij wind',
55
+ factorMovingAir: 'Bewegende lucht met ventilator',
56
+ resultsHeader: 'Analyse van het postmortaal interval',
57
+ estimatedPmiLabel: 'Geschatte tijd sinds overlijden',
58
+ deathWindowLabel: 'Vermoedelijk tijdvenster',
59
+ confidenceMarginLabel: 'Betrouwbaarheidsmarge (95%)',
60
+ coolingPhaseLabel: 'Thermodynamische fase',
61
+ coolingRateLabel: 'Momenteel warmteverlies',
62
+ glaisterEstimateLabel: 'Vergelijking met Glaister regel',
63
+ chartHeader: 'Henssge dubbel exponentiele afkoelingscurve',
64
+ chartXAxis: 'Uren postmortaal',
65
+ chartYAxis: 'Kerntemperatuur',
66
+ chartNowMarker: 'Meetwaarde',
67
+ chartPlateauMarker: 'Initieel plateau',
68
+ phasePlateau: 'Plateaufase',
69
+ phaseDescent: 'Exponentiele daling',
70
+ phaseEquilibrium: 'Thermisch evenwicht',
71
+ phaseHyperthermia: 'Waarschuwing hyperthermie',
72
+ hoursUnit: 'uur',
73
+ minutesUnit: 'min',
74
+ celsiusUnit: '°C',
75
+ fahrenheitUnit: '°F',
76
+ kgUnit: 'kg',
77
+ lbUnit: 'lb',
78
+ celsiusPerHour: '°C/u',
79
+ fahrenheitPerHour: '°F/u',
80
+ resetBtn: 'Herstellen',
81
+ nowBtn: 'Nu',
82
+ coreThermometerLabel: 'Kerntemperatuur',
83
+ baselineAmbientLabel: 'Omgevingsgrens',
84
+ referenceBodyTempLabel: 'Referentietemperatuur'
85
+ },
86
+ seo: [
87
+ { type: 'title', text: 'Fysische Principes van Lijksafkoeling en Bepaling van het Tijdstip van Overlijden', level: 2 },
88
+ { type: 'paragraph', html: 'Het bepalen van het postmortale interval (PMI) is een fundamentele opgave in de gerechtelijke geneeskunde en het strafrechtelijk sporenonderzoek. <strong>Algor Mortis</strong> beschrijft het geleidelijke verlies van lichaamswarmte na de circulatiestilstand totdat de temperatuur van de omgeving volledig is bereikt. Met behulp van diepe rectale temperatuurmeting en natuurkundige thermodynamische modellen kan het tijdstip van overlijden wetenschappelijk en objectief worden gereconstrueerd voor justitieel onderzoek.' },
89
+ { type: 'paragraph', html: 'Warmteoverdracht vindt plaats via thermische straling, geleiding, vrije luchtconvectie en verdamping. Doordat interne organen hun warmte eerst overdragen aan de buitenste huidlagen, ontstaat een complex temperatuurprofiel dat niet met eenvoudige lineaire vergelijkingen beschreven kan worden.' },
90
+ { type: 'diagnostic', variant: 'info', title: 'Thermodynamisch Afkoelingsverloop', html: 'Het warmteverlies verloopt niet lineair vanaf de eerste minuut. Het vertoont een vertragingsfase genaamd het <em>temperatuurplateau</em>, gevolgd door een steile dubbel exponentiele daling en een geleidelijke nadering van het omgevingsevenwicht.' },
91
+ { type: 'stats', columns: 3, items: [
92
+ { value: '37.2°C', label: 'Normotherme referentietemperatuur' },
93
+ { value: '±2.8 uur', label: '95% Betrouwbaarheid eerste 10u' },
94
+ { value: 'Dubbel Exponentieel', label: 'Henssge rekenmodel' }
95
+ ] },
96
+ { type: 'title', text: 'De Dubbel Exponentiele Vergelijking van Claus Henssge', level: 3 },
97
+ { type: 'paragraph', html: 'Eenvoudige lineaire benaderingen zoals de historische regel van Glaister gingen uit van een constante daling van ongeveer 0.83 graad Celsius per uur. Deze formules hielden echter geen rekening met de totale lichaamsmassa, kledingisolatie en het fysiologische plateaueffect in de vroege fase na het intreden van de dood.' },
98
+ { type: 'code', ariaLabel: 'Henssge Formule', code: 'Q = (T_rectaal - T_omgeving) / (37.2 - T_omgeving)\nQ = 1.25 * exp(-k * t) - 0.25 * exp(-5 * k * t)\nk = 1.2815 / (Lichaamsgewicht^0.625 * Correctiefactor) - 0.0284' },
99
+ { type: 'paragraph', html: 'Professor Claus Henssge ontwikkelde een geavanceerde wiskundige vergelijking met twee exponentiele termen die gelijktijdig de warmteafgifte aan het huidoppervlak en de interne warmtecapaciteit van de diepe organen modelleert voor betrouwbare tijdvensterberekening.' },
100
+ { type: 'paragraph', html: 'Het dimensieloze thermische quotient Q berekent het resterende warmtepercentage ten opzichte van de fysiologische uitgangswaarde. Hierdoor blijft de berekening uiterst robuust onder sterk variërende klimaatomstandigheden.' },
101
+ { type: 'title', text: 'Omgevings en Kledingcorrectiefactoren', level: 3 },
102
+ { type: 'paragraph', html: 'De snelheid van warmteoverdracht is sterk afhankelijk van het totale lichaamsgewicht, de luchtstroming rond het lichaam en de thermische weerstand van de aanwezige kledinglagen.' },
103
+ { type: 'table', headers: ['Situatie op de Plaats Delict', 'Factorwaarde Cf', 'Fysisch Effect'], rows: [
104
+ ['Ontkleed in stilstaande lucht', '1.0', 'Standaard warmtestraling en natuurlijke convectie'],
105
+ ['Lichte kleding (1-2 lagen)', '1.1', 'Lichte vermindering van warmteverlies aan de huid'],
106
+ ['Normale stadskleding (3-4 lagen)', '1.2', 'Matige thermische barriere op romp en ledematen'],
107
+ ['Dikke winterkleding', '1.4', 'Hoge isolatie door ingesloten warme luchtlaag'],
108
+ ['Onder dik donzen dekbed in bed', '1.8', 'Zeer sterke warmtebehoud en vertraagde afkoeling'],
109
+ ['Ondergedompeld in stilstaand water', '0.5', 'Warmtegeleiding van water is 24 keer groter dan lucht'],
110
+ ['Ondergedompeld in stromend koud water', '0.35', 'Geforceerde vloeistofconvectie versnelt warmteonttrekking']
111
+ ] },
112
+ { type: 'title', text: 'Thermodynamische Fasen van het Afkoelingsproces', level: 3 },
113
+ { type: 'comparative', columns: 2, items: [
114
+ { title: 'Het Postmortale Temperatuurplateau', description: 'Gedurende de eerste 1 tot 3 uur daalt de rectale kerntemperatuur nauwelijks terwijl de buitenste weefsels afkoelen.', points: ['Vorming van kern naar schil gradient', 'Lineaire regels onderschatten de tijd hier', 'Gemodelleerd met de term -0.25 exp(-5kt)'] },
115
+ { title: 'De Snelle Exponentiele Daling', description: 'Zodra de gradient is gevormd vindt warmteverlies plaats met maximale analytische betrouwbaarheid.', highlight: true, points: ['Hoogste meetgevoeligheid', 'Smalste statistische foutmarge', 'Optimale periode voor thermometrie'] }
116
+ ] },
117
+ { type: 'title', text: 'Praktische Richtlijnen voor Temperatuurmeting', level: 3 },
118
+ { type: 'paragraph', html: 'Nauwkeurige naleving van forensische meetprotocollen is cruciaal om betrouwbare tijdschattingen te waarborgen in juridische procedures.' },
119
+ { type: 'list', items: [
120
+ '<strong>Meet de diepe rectale temperatuur:</strong> breng de geijkte digitale sensor minstens 8 tot 10 cm in het rectum in.',
121
+ '<strong>Meet de omgevingstemperatuur vlakbij het lichaam:</strong> plaats de sensor binnen 10 cm van het stoffelijk overschot.',
122
+ '<strong>Controleer de thermische stabiliteit:</strong> noteer verwarming, open ramen of directe zoninval.',
123
+ '<strong>Beoordeel vochtigheid van kleding:</strong> natte kleding verhoogt het verdampingsverlies aanzienlijk.'
124
+ ] },
125
+ { type: 'summary', title: 'Methodologische Samenvatting', items: [
126
+ 'Het Henssge nomogram is de internationaal aanvaarde standaard voor thermometrische overlijdensbepaling.',
127
+ 'Rapporteer altijd een tijdsinterval met betrouwbaarheidsgrenzen in plaats van een enkel tijdstip.',
128
+ 'Combineer temperatuurmetingen met lijkstijfheid, lijkvlekken en supravitale reacties.'
129
+ ] }
130
+ ],
131
+ faq,
132
+ bibliography,
133
+ howTo,
134
+ schemas: [
135
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
136
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
137
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) }
138
+ ]
139
+ };
@@ -0,0 +1,139 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { TimeOfDeathAlgorMortisLocaleContent } from '../entry';
3
+
4
+ const slug = 'kalkulator-czasu-zgonu-algor-mortis';
5
+ const title = 'Kalkulator Czasu Zgonu Algor Mortis i Nomogram Henssge';
6
+ const description = 'Oszacuj czas od zgonu oraz przedział godzinowy śmierci na podstawie temperatury rektalnej i nomogramu Henssge.';
7
+
8
+ const howTo = [
9
+ { name: 'Wprowadź temperaturę rektalną i otoczenia', text: 'Podaj zmierzoną głęboką temperaturę rektalną zwłok oraz temperaturę powietrza na miejscu zdarzenia.' },
10
+ { name: 'Ustal masę ciała i współczynnik korekcyjny', text: 'Wpisz masę ciała w kilogramach i wybierz współczynnik izolacji odzieży lub zanurzenia w wodzie.' },
11
+ { name: 'Określ godzinę pomiaru temperatury', text: 'Wpisz dokładną godzinę wykonania pomiaru lub kliknij Aktualny czas.' },
12
+ { name: 'Przeanalizuj czas zgonu i krzywą stygnięcia', text: 'Sprawdź obliczony czas od momentu śmierci, 95 procentowy przedział ufności i wykres termiczny.' }
13
+ ];
14
+
15
+ const faq = [
16
+ { question: 'Czym jest Algor Mortis w medycynie sądowej?', answer: 'Algor Mortis to pośmiertne oziębienie ciała wynikające z ustania krążenia i produkcji ciepła aż do zrównania z temperaturą otoczenia.' },
17
+ { question: 'Dlaczego nomogram Henssge jest lepszy od reguł liniowych?', answer: 'Ponieważ uwzględnia początkowe plateau temperaturowe oraz podwójnie wykładniczy spadek ciepła zależny od masy i odzieży.' },
18
+ { question: 'Jaka jest dokładność termometrycznego szacowania czasu zgonu?', answer: 'W kontrolowanych warunkach standardowych 95 procentowy przedział ufności wynosi około plus minus 2.8 godziny w pierwszych dziesięciu godzinach.' },
19
+ { question: 'Co oznacza pośmiertne plateau temperaturowe?', answer: 'To początkowy okres 1 do 3 godzin po śmierci, w którym temperatura w odbytnicy spada bardzo wolno z powodu gradientu cieplnego.' }
20
+ ];
21
+
22
+ export const content: TimeOfDeathAlgorMortisLocaleContent = {
23
+ slug,
24
+ title,
25
+ description,
26
+ ui: {
27
+ title,
28
+ subtitle: 'Szacowanie Czasu od Zgonu i Nomogram Henssge',
29
+ disclaimer: 'Narzędzie wyłącznie do celów edukacyjnych i akademickich. Oficjalne opinie sądowo-lekarskie wymagają pełnej sekcji zwłok i weryfikacji plam opadowych.',
30
+ unitSystemLabel: 'Układ jednostek',
31
+ unitMetricLabel: 'Metryczny',
32
+ unitImperialLabel: 'Imperialny',
33
+ presetsHeader: 'Standardowe scenariusze sądowe',
34
+ presetCustom: 'Parametry niestandardowe',
35
+ presetNakedCalm: 'Nago w spokojnym pokoju (20°C)',
36
+ presetDressedIndoor: 'W ubraniu w pomieszczeniu (19.5°C)',
37
+ presetWinterOutdoor: 'Na zewnątrz w zimie (4°C)',
38
+ presetSubmergedWater: 'Zanurzenie w stojącej wodzie (12°C)',
39
+ presetHeavyDuvet: 'Pod grubą pierzyną puchową (18°C)',
40
+ inputsHeader: 'Pomiary termiczne i parametry otoczenia',
41
+ rectalTempLabel: 'Głęboka temp. rektalna',
42
+ ambientTempLabel: 'Temperatura otoczenia',
43
+ bodyWeightLabel: 'Masa ciała',
44
+ factorLabel: 'Współczynnik korekcyjny',
45
+ measurementTimeLabel: 'Godzina pomiaru',
46
+ factorNaked: 'Nago w stojącym powietrzu',
47
+ factorLightClothes: 'Lekkie ubranie (1-2 warstwy)',
48
+ factorStandardClothes: 'Standardowe ubranie (3-4 warstwy)',
49
+ factorHeavyWinter: 'Gruba odzież zimowa',
50
+ factorLightBlanket: 'Łóżko z lekkim kocem',
51
+ factorHeavyDuvet: 'Łóżko z grubą pierzyną puchową',
52
+ factorStillWater: 'Zanurzenie w wodzie stojącej',
53
+ factorFlowingWater: 'Zanurzenie w zimnej wodzie płynącej',
54
+ factorWetClothing: 'Mokre ubranie przy wietrze',
55
+ factorMovingAir: 'Ruch powietrza z wentylatorem',
56
+ resultsHeader: 'Analiza czasu od zgonu',
57
+ estimatedPmiLabel: 'Szacowany czas od śmierci',
58
+ deathWindowLabel: 'Prawdopodobne okno zgonu',
59
+ confidenceMarginLabel: 'Przedział ufności (95%)',
60
+ coolingPhaseLabel: 'Faza termodynamiczna',
61
+ coolingRateLabel: 'Chwilowe tempo utraty ciepła',
62
+ glaisterEstimateLabel: 'Porównanie z regułą Glaistera',
63
+ chartHeader: 'Wykładnicza trajektoria stygnięcia Henssge',
64
+ chartXAxis: 'Godziny po zgonie',
65
+ chartYAxis: 'Temperatura głęboka',
66
+ chartNowMarker: 'Zanotowany pomiar',
67
+ chartPlateauMarker: 'Początkowe plateau',
68
+ phasePlateau: 'Faza plateau',
69
+ phaseDescent: 'Spadek wykładniczy',
70
+ phaseEquilibrium: 'Równowaga termiczna',
71
+ phaseHyperthermia: 'Ostrzeżenie o hipertermii',
72
+ hoursUnit: 'godz.',
73
+ minutesUnit: 'min',
74
+ celsiusUnit: '°C',
75
+ fahrenheitUnit: '°F',
76
+ kgUnit: 'kg',
77
+ lbUnit: 'lb',
78
+ celsiusPerHour: '°C/h',
79
+ fahrenheitPerHour: '°F/h',
80
+ resetBtn: 'Resetuj',
81
+ nowBtn: 'Aktualny czas',
82
+ coreThermometerLabel: 'Temperatura głęboka',
83
+ baselineAmbientLabel: 'Poziom otoczenia',
84
+ referenceBodyTempLabel: 'Temperatura wyjściowa'
85
+ },
86
+ seo: [
87
+ { type: 'title', text: 'Fizyczne Podstawy Oziębienia Pośmiertnego i Szacowanie Czasu Zgonu', level: 2 },
88
+ { type: 'paragraph', html: 'Określenie czasu od momentu śmierci (Postmortem Interval, PMI) jest jednym z kluczowych zadań tanatologii sądowo-lekarskiej w ramach oględzin miejsca ujawnienia zwłok. <strong>Algor Mortis</strong> oznacza stopniową utratę energii cieplnej przez ciało po ustaniu krążenia krwi i metabolizmu komórkowego aż do osiągnięcia równowagi termicznej z otoczeniem. Pomiar głębokiej temperatury w odbytnicy w połączeniu z prawami termodynamiki pozwala naukowo i obiektywnie zrekonstruować ramy czasowe zgonu.' },
89
+ { type: 'paragraph', html: 'Oddawanie ciepła przez zwłoki zachodzi na drodze promieniowania termicznego, przewodzenia, swobodnej konwekcji powietrznej oraz parowania wilgoci ze skóry. Ponieważ narządy wewnętrzne przekazują energię najpierw do tkanek powierzchownych, powstaje złożony gradient termiczny, którego nie są w stanie opisać proste wzory liniowe.' },
90
+ { type: 'diagnostic', variant: 'info', title: 'Przebieg Termodynamiczny Stygnięcia Zwłok', html: 'Utrata ciepła nie przebiega liniowo od pierwszej chwili po zgonie. Występuje początkowe opóźnienie zwane <em>plateau temperaturowym</em>, po którym następuje faza szybkiego spadku wykładniczego oraz końcowa asymptota wyrównawcza.' },
91
+ { type: 'stats', columns: 3, items: [
92
+ { value: '37.2°C', label: 'Rektalna norma wyjściowa' },
93
+ { value: '±2.8 h', label: 'Przedział 95% w 10h' },
94
+ { value: 'Podwójny Wykładnik', label: 'Model matematyczny Henssge' }
95
+ ] },
96
+ { type: 'title', text: 'Równanie Podwójnie Wykładnicze Clausa Henssge', level: 3 },
97
+ { type: 'paragraph', html: 'Uproszczone wzory liniowe, takie jak reguła Glaistera, zakładały stały spadek rzędu 0.83 stopnia Celsjusza na godzinę. Pomijały one jednak całkowitą masę ciała, właściwości izolacyjne odzieży oraz początkowe zjawisko opóźnienia stygnięcia rdzenia ciała.' },
98
+ { type: 'code', ariaLabel: 'Wzór Henssge', code: 'Q = (T_rektalna - T_otoczenia) / (37.2 - T_otoczenia)\nQ = 1.25 * exp(-k * t) - 0.25 * exp(-5 * k * t)\nk = 1.2815 / (MasaCiala^0.625 * WspolczynnikKorekcyjny) - 0.0284' },
99
+ { type: 'paragraph', html: 'Profesor Claus Henssge opracował równanie dwuwykładnicze opisujące jednocześnie powierzchniowy gradient oddawania ciepła oraz bezwładność termiczną narządów wewnętrznych, co stanowi podstawę nowoczesnej tanatometrii sądowej.' },
100
+ { type: 'paragraph', html: 'Bezwymiarowy iloraz cieplny Q określa ułamek ciepła pozostałego w ciele w odniesieniu do temperatury otoczenia. Dzięki temu równanie zachowuje stabilność matematyczną niezależnie od skrajnych temperatur otoczenia.' },
101
+ { type: 'title', text: 'Współczynniki Korekcyjne Środowiska i Odzieży', level: 3 },
102
+ { type: 'paragraph', html: 'Szybkość wymiany ciepła zależy ściśle od masy ciała, ruchów powietrza wokół zwłok oraz warstw tkanin izolacyjnych zabezpieczających powłoki ciała.' },
103
+ { type: 'table', headers: ['Warunki na Miejscu', 'Wartość Cf', 'Efekt Fizyczny'], rows: [
104
+ ['Nago w stojącym powietrzu', '1.0', 'Standardowe promieniowanie i konwekcja naturalna'],
105
+ ['Lekkie ubranie (1-2 warstwy)', '1.1', 'Niewielkie ograniczenie konwekcyjnej utraty ciepła'],
106
+ ['Zwykłe ubranie (3-4 warstwy)', '1.2', 'Umiarkowana bariera termiczna tułowia i kończyn'],
107
+ ['Gruba odzież zimowa', '1.4', 'Silna izolacja dzięki uwięzionej warstwie powietrza'],
108
+ ['Pod grubą pierzyną puchową w łóżku', '1.8', 'Bardzo wysoka retencja ciepła i opóźnienie stygnięcia'],
109
+ ['Zanurzenie w wodzie stojącej', '0.5', 'Przewodnictwo cieplne wody jest 24 razy wyższe niż powietrza'],
110
+ ['Zanurzenie w zimnej wodzie płynącej', '0.35', 'Wymuszona konwekcja cieczy przyspiesza utratę ciepła']
111
+ ] },
112
+ { type: 'title', text: 'Fazy Termodynamiczne Stygnięcia Ciała', level: 3 },
113
+ { type: 'comparative', columns: 2, items: [
114
+ { title: 'Pośmiertne Plateau Temperaturowe', description: 'W pierwszych 1 do 3 godzinach temperatura rektalna spada minimalnie, podczas gdy skóra oddaje ciepło.', points: ['Kształtowanie gradientu rdzeń powłoki', 'Wzory liniowe zaniżają tu czas zgonu', 'Opisane składnikiem -0.25 exp(-5kt)'] },
115
+ { title: 'Szybki Spadek Wykładniczy', description: 'Po uformowaniu gradientu ciepło ucieka z maksymalną regularnością zależną od masy.', highlight: true, points: ['Najwyższa czułość pomiarowa', 'Najwęższy margines błędu statystycznego', 'Optymalny czas dla termometrii'] }
116
+ ] },
117
+ { type: 'title', text: 'Zasady Pomiaru Temperatury na Miejscu Zdarzenia', level: 3 },
118
+ { type: 'paragraph', html: 'Ścisłe przestrzeganie metodyki pomiarowej jest niezbędne dla zachowania wartości dowodowej ekspertyzy. Nawet drobne błędy w kalibracji przyrządów mogą prowadzić do błędnych wniosków co do czasu zgonu.' },
119
+ { type: 'list', items: [
120
+ '<strong>Głęboki pomiar temperatury rektalnej:</strong> wprowadzić skalibrowaną sondę cyfrową na głębokość co najmniej 8 do 10 cm.',
121
+ '<strong>Pomiar temperatury otoczenia przy ciele:</strong> umieścić termometr w odległości nie większej niż 10 cm od zwłok.',
122
+ '<strong>Kontrola stabilności termicznej otoczenia:</strong> odnotować działanie grzejników, otwarte okna lub nasłonecznienie.',
123
+ '<strong>Ocena wilgotności odzieży:</strong> mokre tkaniny znacznie zwiększają chłodzenie wyparne.'
124
+ ] },
125
+ { type: 'summary', title: 'Podsumowanie Metodologiczne', items: [
126
+ 'Nomogram Henssge jest międzynarodowym standardem termometrycznego szacowania czasu śmierci.',
127
+ 'Wynik należy zawsze podawać w formie przedziału czasowego z granicami ufności, a nie pojedynczego punktu.',
128
+ 'Konieczna jest korelacja z oceną stężenia pośmiertnego, plam opadowych i pobudliwości suprawitalnej.'
129
+ ] }
130
+ ],
131
+ faq,
132
+ bibliography,
133
+ howTo,
134
+ schemas: [
135
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
136
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
137
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) }
138
+ ]
139
+ };
@@ -0,0 +1,136 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { TimeOfDeathAlgorMortisLocaleContent } from '../entry';
3
+
4
+ const slug = 'calculadora-hora-da-morte-algor-mortis';
5
+ const title = 'Calculadora da Hora da Morte por Algor Mortis';
6
+ const description = 'Estime o intervalo post mortem e a hora provavel do obito atraves do nomograma de Henssge e do resfriamento cadaverico.';
7
+
8
+ const howTo = [
9
+ { name: 'Inserir temperaturas retal e ambiente', text: 'Introduza a temperatura retal profunda do cadaver e a temperatura ambiente do local do crime.' },
10
+ { name: 'Definir peso corporal e fator de correcao', text: 'Indique o peso em quilogramas e selecione o fator corretivo conforme as roupas ou imersao em agua.' },
11
+ { name: 'Indicar a hora da medicao termica', text: 'Insira a hora exata da medicao ou clique em Hora atual para calculo retrospectivo.' },
12
+ { name: 'Analisar o intervalo post mortem', text: 'Consulte o intervalo estimado, a janela de 95 por cento de confianca e a curva termica.' }
13
+ ];
14
+
15
+ const faq = [
16
+ { question: 'O que e o Algor Mortis na medicina legal?', answer: 'O Algor Mortis e o resfriamento progressivo do corpo apos a parada circulatoria ate atingir o equilibrio termico com o ambiente.' },
17
+ { question: 'Por que o nomograma de Henssge e superior a regras lineares?', answer: 'Porque modela com exatidao o patamar termico inicial e o decaimento bi-exponencial ajustado a massa e ao vestuario.' },
18
+ { question: 'Qual a precisao da estimativa termometrica da morte?', answer: 'Em condicoes padrao controladas, o intervalo de confianca a 95 por cento e de aproximadamente mais ou menos 2.8 horas nas primeiras dez horas.' },
19
+ { question: 'O que e o patamar termico post mortem inicial?', answer: 'E o periodo inicial de 1 a 3 horas apos a morte no qual a temperatura retal profunda quase nao varia enquanto se estabelece o gradiente para a pele.' }
20
+ ];
21
+
22
+ export const content: TimeOfDeathAlgorMortisLocaleContent = {
23
+ slug,
24
+ title,
25
+ description,
26
+ ui: {
27
+ title,
28
+ subtitle: 'Estimador do Intervalo Post Mortem e Nomograma Termico',
29
+ disclaimer: 'Ferramenta de simulacao puramente academica. Conclusoes periciais oficiais exigem necropsia completa e avaliacao de livores e rigidez cadavérica.',
30
+ unitSystemLabel: 'Sistema de unidades',
31
+ unitMetricLabel: 'Metrico',
32
+ unitImperialLabel: 'Imperial',
33
+ presetsHeader: 'Cenarios forenses predefinidos',
34
+ presetCustom: 'Parametros personalizados',
35
+ presetNakedCalm: 'Despido em quarto calmo (20°C)',
36
+ presetDressedIndoor: 'Vestido em ambiente interno (19.5°C)',
37
+ presetWinterOutdoor: 'Exterior no inverno (4°C)',
38
+ presetSubmergedWater: 'Submerso em agua calma (12°C)',
39
+ presetHeavyDuvet: 'Sob edredom grosso na cama (18°C)',
40
+ inputsHeader: 'Medicoes termicas e parametros do local',
41
+ rectalTempLabel: 'Temp. retal profunda',
42
+ ambientTempLabel: 'Temp. ambiente',
43
+ bodyWeightLabel: 'Peso corporal',
44
+ factorLabel: 'Fator corretivo ambiental',
45
+ measurementTimeLabel: 'Hora da medicao',
46
+ factorNaked: 'Despido em ar calmo',
47
+ factorLightClothes: 'Roupas leves (1-2 camadas)',
48
+ factorStandardClothes: 'Roupas normais (3-4 camadas)',
49
+ factorHeavyWinter: 'Roupas grossas de inverno',
50
+ factorLightBlanket: 'Cama com cobertor leve',
51
+ factorHeavyDuvet: 'Cama com edredom grosso de plumas',
52
+ factorStillWater: 'Submerso em agua estagnada',
53
+ factorFlowingWater: 'Submerso em agua corrente fria',
54
+ factorWetClothing: 'Roupas molhadas com vento',
55
+ factorMovingAir: 'Ar em movimento com ventilador',
56
+ resultsHeader: 'Analise do intervalo post mortem',
57
+ estimatedPmiLabel: 'Tempo decorrido da morte',
58
+ deathWindowLabel: 'Janela provavel de obito',
59
+ confidenceMarginLabel: 'Margem de confianca (95%)',
60
+ coolingPhaseLabel: 'Fase termodinamica',
61
+ coolingRateLabel: 'Taxa instantanea de perda termica',
62
+ glaisterEstimateLabel: 'Comparacao com regra de Glaister',
63
+ chartHeader: 'Curva de resfriamento bi exponencial de Henssge',
64
+ chartXAxis: 'Horas post mortem',
65
+ chartYAxis: 'Temperatura central',
66
+ chartNowMarker: 'Medicao registrada',
67
+ chartPlateauMarker: 'Patamar inicial',
68
+ phasePlateau: 'Fase de patamar',
69
+ phaseDescent: 'Descida exponencial',
70
+ phaseEquilibrium: 'Equilibrio termico',
71
+ phaseHyperthermia: 'Alerta de hipertermia previa',
72
+ hoursUnit: 'horas',
73
+ minutesUnit: 'min',
74
+ celsiusUnit: '°C',
75
+ fahrenheitUnit: '°F',
76
+ kgUnit: 'kg',
77
+ lbUnit: 'lb',
78
+ celsiusPerHour: '°C/h',
79
+ fahrenheitPerHour: '°F/h',
80
+ resetBtn: 'Redefinir',
81
+ nowBtn: 'Hora atual',
82
+ coreThermometerLabel: 'Temperatura central',
83
+ baselineAmbientLabel: 'Limite ambiental',
84
+ referenceBodyTempLabel: 'Referencia corporal'
85
+ },
86
+ seo: [
87
+ { type: 'title', text: 'Fundamentos Fisicos do Resfriamento Cadaverico e Estimativa da Data da Morte', level: 2 },
88
+ { type: 'paragraph', html: 'A determinacao do intervalo post mortem (IPM) e um dos objetivos fundamentais da medicina legal nas investigacoes criminais e periciais. O <strong>Algor Mortis</strong> descreve a perda progressiva de calor do corpo humano apos a cessacao cardiocirculatoria ate atingir o perfeito equilibrio termico com o ambiente do local do fato. Atraves da medicao termica retal profunda e aplicacao de modelos termodinamicos avancados, os peritos legistas podem estimar com rigor cientifico a hora exata do falecimento.' },
89
+ { type: 'diagnostic', variant: 'info', title: 'Comportamento Termodinamico Post Mortem', html: 'A queda de temperatura nao ocorre de forma retilinea constante desde o primeiro momento. Ha um atraso inicial chamado <em>patamar termico</em>, seguido de uma queda exponencial pronunciada e uma desaceleracao assintotica final.' },
90
+ { type: 'stats', columns: 3, items: [
91
+ { value: '37.2°C', label: 'Referencia retal normotermica' },
92
+ { value: '±2.8 h', label: 'Margem estatistica a 95%' },
93
+ { value: 'Bi Exponencial', label: 'Modelo matematico de Henssge' }
94
+ ] },
95
+ { type: 'title', text: 'A Equacao Bi Exponencial de Claus Henssge', level: 3 },
96
+ { type: 'paragraph', html: 'Metodos lineares empiricos simplificados como a regra de Glaister previam uma perda fixa de cerca de 0.83 grau Celsius por hora. Essa aproximacao rudimentar ignora a massa corporal, o isolamento termico dos tecidos do vestuario e o patamar inicial.' },
97
+ { type: 'code', ariaLabel: 'Equacao de Henssge', code: 'Q = (T_retal - T_ambiente) / (37.2 - T_ambiente)\nQ = 1.25 * exp(-k * t) - 0.25 * exp(-5 * k * t)\nk = 1.2815 / (PesoCorporal^0.625 * FatorCorrecao) - 0.0284' },
98
+ { type: 'paragraph', html: 'O professor Claus Henssge formulou uma consagrada equacao com dois termos exponenciais que contempla a dissipacao de calor na superficie corporal e a inercia termica dos orgaos viscerais profundos para fornecer um laudo pericial seguro.' },
99
+ { type: 'title', text: 'Fatores de Correcao Ambientais e de Vestimentas', level: 3 },
100
+ { type: 'paragraph', html: 'A troca de calor depende diretamente do peso corporal do individuo, da conveccao do ar ambiente e das camadas de roupa protetoras presentes no cadaver.' },
101
+ { type: 'table', headers: ['Condicao no Local', 'Valor do Fator Cf', 'Efeito Fisico'], rows: [
102
+ ['Despido em ar calmo', '1.0', 'Radiacao padrao e conveccao natural livre'],
103
+ ['Roupas leves (1-2 camadas)', '1.1', 'Atenuacao leve da perda convectiva cutanea'],
104
+ ['Roupas normais da cidade (3-4 camadas)', '1.2', 'Barreira termica moderada no tronco'],
105
+ ['Roupas grossas de inverno', '1.4', 'Alto isolamento que retem camada de ar quente'],
106
+ ['Sob edredom grosso na cama', '1.8', 'Altissima retencao termica e retardo no resfriamento'],
107
+ ['Submerso em agua calma', '0.5', 'Condutividade termica da agua 24 vezes maior que o ar'],
108
+ ['Submerso em agua corrente fria', '0.35', 'Conveccao forcada liquida acelerada']
109
+ ] },
110
+ { type: 'title', text: 'Fases Termodinamicas do Processo Tanatologico', level: 3 },
111
+ { type: 'comparative', columns: 2, items: [
112
+ { title: 'Patamar Termico Inicial', description: 'Nas primeiras 1 a 3 horas, a temperatura retal profunda pouco varia enquanto a pele se resfria.', points: ['Formacao do gradiente centro a periferia', 'Regras lineares subestimam o tempo aqui', 'Modelado pelo termo -0.25 exp(-5kt)'] },
113
+ { title: 'Descida Exponencial Rapida', description: 'Apos o estabelecimento do gradiente, a perda termica ocorre em ritmo constante dependente do peso.', highlight: true, points: ['Maior sensibilidade analitica', 'Margem de erro estatistico mais estreita', 'Janela ideal para a termometria'] }
114
+ ] },
115
+ { type: 'title', text: 'Diretrizes Praticas para Medicao de Temperatura no Local', level: 3 },
116
+ { type: 'list', items: [
117
+ '<strong>Medir temperatura retal profunda:</strong> inserir a sonda digital calibrada por pelo menos 8 a 10 cm no reto.',
118
+ '<strong>Medir a temperatura ambiente proxima ao corpo:</strong> posicionar o sensor a menos de 10 cm do cadaver.',
119
+ '<strong>Verificar a estabilidade termica do ambiente:</strong> registrar aquecedores ligados, janelas abertas ou insolacao.',
120
+ '<strong>Avaliar umidade nas vestimentas:</strong> roupas molhadas aumentam consideravelmente o resfriamento evaporativo.'
121
+ ] },
122
+ { type: 'summary', title: 'Sintese Metodologica', items: [
123
+ 'O nomograma de Henssge e o padrao cientifico internacional para estimativa da hora da morte.',
124
+ 'Sempre apresentar o resultado como um intervalo de confianca e nao um horario pontual exato.',
125
+ 'O exame deve ser obrigatoriamente correlacionado com a rigidez cadaverica e os livores.'
126
+ ] }
127
+ ],
128
+ faq,
129
+ bibliography,
130
+ howTo,
131
+ schemas: [
132
+ { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
133
+ { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
134
+ { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) }
135
+ ]
136
+ };