Skip to content

onconova.interoperability.fhir.schemas.homologous_recombination_deficiency

HomologousRecombinationDeficiencyProfile

Bases: OnconovaFhirBaseSchema, OnconovaHomologousRecombinationDeficiency

__model__ class-attribute instance-attribute

__schema__ class-attribute instance-attribute

fhir_to_onconova(obj) classmethod

Source code in onconova/interoperability/fhir/schemas/homologous_recombination_deficiency.py
@classmethod
def fhir_to_onconova(
    cls, obj: fhir.OnconovaHomologousRecombinationDeficiency
) -> schemas.HomologousRecombinationDeficiencyCreate:
    return schemas.HomologousRecombinationDeficiencyCreate(
        externalSource=None,
        externalSourceId=None,
        caseId=obj.fhirpath_single(
            "Observation.subject.reference.getValue()"
        ).replace("Patient/", ""),
        date=obj.fhirpath_single("Observation.effectiveDateTime.getValue()"),
        value=obj.fhirpath_single("Observation.valueQuantity.value.getValue()"),
        interpretation=(
            cls.map_to_internal("interpretation", interpretation)
            if (
                interpretation := obj.fhirpath_single(
                    "Observation.extension('http://onconova.github.io/fhir/StructureDefinition/onconova-ext-homologous-recombination-deficiency-interpretation').valueCodeableConcept.coding"
                )
            )
            else None
        ),
    )

onconova_to_fhir(obj) classmethod

Source code in onconova/interoperability/fhir/schemas/homologous_recombination_deficiency.py
@classmethod
def onconova_to_fhir(
    cls, obj: schemas.HomologousRecombinationDeficiency
) -> fhir.OnconovaHomologousRecombinationDeficiency:
    resource = fhir.OnconovaHomologousRecombinationDeficiency.model_construct()
    resource.id = str(obj.id)
    resource.text = Narrative(
        status="generated",
        div=f'<div xmlns="http://www.w3.org/1999/xhtml">{obj.description}</div>',
    )
    resource.effectiveDateTime = obj.date.isoformat()
    resource.subject = Reference(
        reference=f"Patient/{obj.caseId}",
    )
    resource.valueQuantity = (
        fhir.OnconovaHomologousRecombinationDeficiencyValueQuantity(value=obj.value)
    )
    resource.extension = [
        fhir.Extension(
            url="http://onconova.github.io/fhir/StructureDefinition/onconova-ext-homologous-recombination-deficiency-interpretation",
            valueCodeableConcept=construct_fhir_codeable_concept(
                cls.map_to_fhir("interpretation", obj.interpretation)
            ),
        )
    ]
    return resource
runner