BFF to PXF
BFF to PXF - Schemas
Required Phenopackets fields
Phenopackets v2 requires fields that do not always have a direct BFF equivalent. Parentheses in the mapping tables mark values added to satisfy those requirements.
Version 0.34β
Output model: Phenopackets v2
Entity: phenopacket
Termsβ
idβ
| Source field | Target field | Notes |
|---|---|---|
Generated by convert-pheno | id | Omitted in --test mode |
subjectβ
| Source field | Target field | Notes |
|---|---|---|
id | subject.id | Direct |
info.phenopacket.vitalStatus | subject.vitalStatus | Preferred source |
info.vitalStatus | subject.vitalStatus | Fallback preserved source |
--default-vital-status | subject.vitalStatus.status | Used when no preserved source value is available |
ALIVE | subject.vitalStatus.status | Built-in fallback when no preserved source value or CLI default is available |
sex | subject.sex | Normalized to the Phenopackets enum |
info.phenopacket.dateOfBirth | subject.dateOfBirth | Preferred source |
info.dateOfBirth | subject.dateOfBirth | Fallback source |
karyotypicSex | subject.karyotypicSex | Direct |
phenotypicFeaturesβ
| Source field | Target field | Notes |
|---|---|---|
phenotypicFeatures.featureType | phenotypicFeatures.type | Renamed |
phenotypicFeatures.excluded | phenotypicFeatures.excluded | Direct; defaults to false when absent |
phenotypicFeatures.onset | phenotypicFeatures.onset | Wrapped back into a Phenopackets time element |
phenotypicFeatures.resolution | phenotypicFeatures.resolution | Wrapped back into a Phenopackets time element |
phenotypicFeatures.evidence | phenotypicFeatures.evidence[] | Beacon object is emitted as a one-item array |
phenotypicFeatures.evidence.info.phenopacket.evidence[] | phenotypicFeatures.evidence[] | Preferred when the original array was preserved |
phenotypicFeatures.evidence.reference.notes | phenotypicFeatures.evidence.reference.description | Renamed back to the Phenopackets term |
measurementsβ
| Source field | Target field | Notes |
|---|---|---|
measures.assayCode | measurements.assay | Renamed |
measures.measurementValue.quantity | measurements.value.quantity | Numeric quantity arm of the Phenopackets value |
measures.measurementValue ontology term | measurements.value.ontologyClass | Bare Beacon id/label is wrapped in the Phenopackets value arm |
measures.measurementValue.typedQuantities | measurements.complexValue.typedQuantities | Used for complex values |
measures.measurementValue.typedQuantities.quantityType | measurements.complexValue.typedQuantities.type | Inner key renamed |
measures.observationMoment | measurements.timeObserved | Wrapped back into a Phenopackets time element |
measures.date | measurements.timeObserved.timestamp | Used only when observationMoment is absent |
measures.procedure | measurements.procedure | Nested procedure is remapped with the same rules |
biosamplesβ
| Source field | Target field | Notes |
|---|---|---|
info.phenopacket.biosamples | biosamples | Restored when present |
interpretationsβ
| Source field | Target field | Notes |
|---|---|---|
info.phenopacket.interpretations | interpretations | Restored when present |
genesβ
| Source field | Target field | Notes |
|---|---|---|
info.phenopacket.genes | genes | Restored when present |
variantsβ
| Source field | Target field | Notes |
|---|---|---|
info.phenopacket.variants | variants | Restored when present |
diseasesβ
| Source field | Target field | Notes |
|---|---|---|
diseases.diseaseCode | diseases.term | Renamed |
diseases.ageOfOnset | diseases.onset | Wrapped back into a Phenopackets time element |
medicalActionsβ
| Source field | Target field | Notes |
|---|---|---|
interventionsOrProcedures.procedureCode | medicalActions.procedure.code | Renamed |
interventionsOrProcedures.bodySite | medicalActions.procedure.bodySite | Direct when present |
interventionsOrProcedures.ageAtProcedure | medicalActions.procedure.performed | Preferred source for procedure timing |
interventionsOrProcedures.dateOfProcedure | medicalActions.procedure.performed.timestamp | Used when ageAtProcedure is absent |
treatments.treatmentCode | medicalActions.treatment.agent | Renamed |
treatments.routeOfAdministration | medicalActions.treatment.routeOfAdministration | Direct |
treatments.doseIntervals | medicalActions.treatment.doseIntervals | Direct |
exposuresβ
| Source field | Target field | Notes |
|---|---|---|
exposures | Not emitted | Phenopackets v2 Phenopacket does not define top-level exposures |
filesβ
| Source field | Target field | Notes |
|---|---|---|
info.phenopacket.files | files | Restored when present |
pedigreeβ
| Source field | Target field | Notes |
|---|---|---|
info.phenopacket.pedigree | pedigree | Restored when present |
metaDataβ
| Source field | Target field | Notes |
|---|---|---|
info.phenopacket.metaData | metaData | Preferred source |
info.metaData | metaData | Fallback source |
Generated by convert-pheno | metaData | Used when no preserved metadata is available and --test is not enabled |