Skip to content

Commit

Permalink
Spanish translations
Browse files Browse the repository at this point in the history
  • Loading branch information
pnrobinson committed Jun 23, 2024
1 parent 72c71a7 commit 96fcf80
Show file tree
Hide file tree
Showing 10 changed files with 655 additions and 385 deletions.
36 changes: 36 additions & 0 deletions docs/cases/PMID_28183707.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
[source]
pmid = PMID:28183707
title = Chédiak-Higashi syndrome with novel gene mutation
[diagnosis]
disease_id = OMIM:214500
disease_label = Chediak-Higashi syndrome
[text]
A boy aged 2½ years was admitted with right-sided pneumonia, which did not improve on antibiotics. Prior to admission,
the child had a history of fever and poor appetite of 2 weeks duration. He had no cough, sweating, vomiting, diarrhoea or urinary symptoms.
The child had a history of recurrent wheezing which was managed by nebulised bronchodilators. Moreover, there was a history of skin
discolouration and weight loss for the past 8 months. The child was under treatment for infantile eczema. One year back,
he had scalp abscess, which was resolved by oral antibiotics. The child was born term by Lower segment Caesarean section (LSCS)
due to previous LSCS and Placenta Previa. His mother had gestational diabetes. He had an uneventful prenatal, natal and postnatal
history. His birth weight was 3kg. He was born to consanguineous parents; his parents are cousins. He has two healthy
elder brothers and a sister. His vaccination schedule was up to date. There was a history of contact with a caregiver who had old treated tuberculosis.
On examination, he was afebrile with normal vital signs. His general condition was good apart from pallor with good nutritional status.
No lymph nodes were palpable. He has greyish short sparse hair. There was a hyperpigmented area at the forehead with other
hypopigmented patches on the face, behind the ear (figure 1A), at the trunk, the scapular area (figure 1B), the dorsum of the hand (figure 1C),
and extremities, especially the dorsum of the foot and upper inner thighs (figure 1D). The scrotum, flexural areas and creases were spared.
There was no joint swelling or tenderness. His weight was between the 3rd and 10th centile, and his height was between the 50th and 75th centile.
Systemic examination was normal apart from reduced air entry on the right side, mainly the posterior lower zone of the chest.
There was no hepatosplenomegaly or bleeding tendency and nor was there neurological or developmental impairment.
Preliminary investigation revealed anaemia with an elevated acute phase reactant. The relevant haematological findings were haemoglobin of
8.8g %, and total white cell count was within the normal range of a healthy population with no leucopenia, neutropenia or lymphopenia.
The total leucocyte count was 11900/μL and the platelet count 531000/μL. Differential leucocyte counts showed 60% lymphocytes, 26% neutrophils,
10% monocytes and eosinophils 4%. C reactive protein: 12mg/L. Serum ferritin: 14.1ng/mL (N: 9.29–58.7).
T-Spot Tuberculosis test: non-reactive. Acid-fast bacilli (AFB) Smear only: AFB not seen. AFB culture and sensitivity (gastric aspirate): not seen.
CXR showed right middle lobe consolidation. Repeated chest X-ray after 1week revealed patchy opacities, noted in the right lung and left lower lobe,
suggestive of progressive pneumonic consolidation.
Immune status screen showed a non-specific reactive picture: CD4,8 RATIO 1.729% (normal range (N) 1.20–2.40),
TOTAL T CELLS 67.7% (N:62.0–72.0), CD3 ABS 6119.0 CELL/μL (N:812–2318), CD4% 37.7% (N:35.0–55.0), CD4 ABS 3408.0 CELL/μL (N:589–1505)
CD8% 21.8% (N:16.0–28.0), CD8 ABS 1971.0 CELL/μL (N:325–995), CD56% 2.3% (N:5.00–13.0), CD56 ABS 208.0 CELL/μL (N:78–602, CD19% 21.6% (N:12.0–28.0)
CD19 ABS 1952.0 CELL/μL (N: 99–426).
Immunoglobulins assay showed elevated immunoglobulin E (IgE) 2680.0KU/L (N: 0–64), IGG 21.80g/L (N: 4.07–10.09), IGA 2.01g/L (N: 0.14–1.22),
IGM 1.94g/L (N:0.46–1.60).
Liver and renal function tests were normal.
24 changes: 24 additions & 0 deletions docs/cases/PMID_28503313.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[source]
pmid = PMID:28503313
title = Novel DHCR7 mutation in a case of Smith-Lemli-Opitz syndrome showing 46,XY disorder of sex development
[diagnosis]
disease_id = OMIM:270400
disease_label = Smith-Lemli-Opitz syndrome
[text]
The patient was born at 38 weeks of gestation to non-consanguineous Japanese parents. Birth weight, length and head
circumference were 2,59Z g (−0.92 s.d.), 45 cm (−1.7 s.d.) and 33 cm (−0.1 s.d.), respectively.
Ambiguous genitalia, low set ears, a short nose and Y-shaped 2–3 toe syndactyly were detected at birth (Figure 1a and b).
Examination of the patient’s genitalia revealed a micropenis (stretch length: 1.5 cm),
left lateral testicular hypoplasia (right and left diameters: 10 and 5 mm, respectively), hypospadias and a bifid scrotum (Figure 1c).
Echography and magnetic resonance imaging failed to detect the presence of a uterus or ovaries.
Blood examination revealed a relatively low total cholesterol (T. Chol) level (46 mg/dl) (reference: 129–232),
normal testosterone and slightly low anti-mullerian hormone level for males.
Urine steroid profile was normal.
G-banding analysis confirmed a normal 46,XY male karyotype. From these results, the patient was recorded in public office documents as male.
We performed cholesterol analysis with high-performance liquid chromatography.
This analysis revealed relative hypocholesterolemia and high 7-DHC and 8-dehydrocholesterol levels in the patient and normal levels
(undetectable) in his parents (Table 1). T.
Chol/7-DHC was significantly lower in the patient than in his parents.
Therefore, he was biochemically diagnosed with SLOS.
The patient also presented with allergies for milk and eggs, and eczema throughout his body.
His eczema, considered to be atopic dermatitis, was treated with corticosteroid ointment.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>org.monarchinitiative</groupId>
<artifactId>phenopacket2prompt</artifactId>
<version>0.4.4</version>
<version>0.4.6</version>

<name>phenopacket2prompt</name>
<url>https://github.com/monarch-initiative/phenopacket2prompt</url>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public interface PpktPhenotypicFeatureGenerator {

String formatFeatures(List<OntologyTerm> ontologyTerms);

default String featuresAtEncounter(List<OntologyTerm> ontologyTerms) {
default String featuresAtEncounter(String personString, String ageString, List<OntologyTerm> ontologyTerms) {
return ""; //TODO - implement and make this not default
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,12 @@ public String formatFeatures(List<OntologyTerm> ontologyTerms) {
@Override
public String getVignetteAtAge(PhenopacketAge page, PhenopacketSex psex, List<OntologyTerm> terms) {
String ageString = this.ppktAgeSexGenerator.atAgeForVignette(page);
String features = formatFeatures(terms);
return String.format("%s, präsentierte %s mit den folgenden Symptomen: %s", ageString, ppktAgeSexGenerator.heSheIndividual(psex), features);
String person = switch (psex) {
case MALE -> "er";
case FEMALE -> "sie";
default -> "die betroffene Person";
};
return this.ppktPhenotypicFeatureGenerator.featuresAtEncounter(person, ageString, terms);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.monarchinitiative.phenopacket2prompt.output.impl.german;

import org.monarchinitiative.phenol.base.PhenolRuntimeException;
import org.monarchinitiative.phenopacket2prompt.international.HpInternational;
import org.monarchinitiative.phenopacket2prompt.model.OntologyTerm;
import org.monarchinitiative.phenopacket2prompt.output.PpktPhenotypicFeatureGenerator;
Expand Down Expand Up @@ -82,13 +83,41 @@ public Set<String> getMissingTranslations() {
}


@Override
public String featuresAtEncounter(String personString, String ageString, List<OntologyTerm> ontologyTerms) {
List<OntologyTerm> observed = getObservedFeatures(ontologyTerms);
List<OntologyTerm> excluded = getExcludedFeatures(ontologyTerms);
List<String> observedGerman = getTranslations(observed);
List<String> excludedGerman = getTranslations(excluded);
var observedStr = getCommaList(observedGerman);
var excludedStr = getCommaList(excludedGerman);
if (!observed.isEmpty() && ! excluded.isEmpty()) {
return String.format("%s präsentierte %s mit den folgenden Symptomen: %s. Im Gegensatz %s die folgenden Symptome ausgeschlossen: %s.",
ageString,
personString,
observedStr,
excluded.size()>1? "wurden":"wurde",
excludedStr);
} else if (!observed.isEmpty()) {
return String.format("%s präsentierte %s mit den folgenden Symptomen: %s.", ageString, personString, observedStr);
} else if (!excluded.isEmpty()) {
return String.format("%s %s die folgenden Symptome ausgeschlossen: %s.",
ageString,
excluded.size()>1? "wurden":"wurde", excludedStr);
} else {
throw new PhenolRuntimeException("No features found for time point " + ageString); // should never happen
}
}

@Override
public String featuresAtOnset(String personString, List<OntologyTerm> ontologyTerms) {
List<String> observed = getObservedFeaturesAsStr(ontologyTerms);
List<String> excluded = getExcludedFeaturesAsStr(ontologyTerms);
var observedStr = getCommaList(observed);
var excludedStr = getCommaList(excluded);
List<OntologyTerm> observed = getObservedFeatures(ontologyTerms);
List<OntologyTerm> excluded = getExcludedFeatures(ontologyTerms);
List<String> observedGerman = getTranslations(observed);
List<String> excludedGerman = getTranslations(excluded);
var observedStr = getCommaList(observedGerman);
var excludedStr = getCommaList(excludedGerman);

if (!observed.isEmpty() && ! excluded.isEmpty()) {
return String.format("%s präsentierte mit den folgenden Symptomen: %s. Im Gegensatz %s die folgenden Symptome ausgeschlossen: %s.",
personString,
Expand Down
Loading

0 comments on commit 96fcf80

Please sign in to comment.