From 9a2e89706967887813b8fe15c341d368571c1fa7 Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Mon, 16 Mar 2026 21:12:52 +0000 Subject: [PATCH 01/11] py: added extension example and test --- examples/python-extension-example/.gitignore | 4 + examples/python-extension-example/README.md | 159 + .../fhir_types/README.md | 2552 +++++++++++++++++ .../fhir_types/__init__.py | 78 + .../fhir_types/hl7_fhir_r4_core/__init__.py | 80 + .../fhir_types/hl7_fhir_r4_core/base.py | 411 +++ .../fhir_types/hl7_fhir_r4_core/bundle.py | 74 + .../hl7_fhir_r4_core/domain_resource.py | 34 + .../hl7_fhir_r4_core/observation.py | 98 + .../hl7_fhir_r4_core/operation_outcome.py | 41 + .../fhir_types/hl7_fhir_r4_core/patient.py | 71 + .../fhir_types/hl7_fhir_r4_core/resource.py | 32 + .../hl7_fhir_r4_core/resource_families.py | 115 + .../fhir_types/requirements.txt | 7 + examples/python-extension-example/generate.ts | 41 + examples/python-extension-example/mypy.ini | 13 + .../test_raw_extension.py | 180 ++ .../python-extension-example/tsconfig.json | 6 + 18 files changed, 3996 insertions(+) create mode 100644 examples/python-extension-example/.gitignore create mode 100644 examples/python-extension-example/README.md create mode 100644 examples/python-extension-example/fhir_types/README.md create mode 100644 examples/python-extension-example/fhir_types/__init__.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py create mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py create mode 100644 examples/python-extension-example/fhir_types/requirements.txt create mode 100644 examples/python-extension-example/generate.ts create mode 100644 examples/python-extension-example/mypy.ini create mode 100644 examples/python-extension-example/test_raw_extension.py create mode 100644 examples/python-extension-example/tsconfig.json diff --git a/examples/python-extension-example/.gitignore b/examples/python-extension-example/.gitignore new file mode 100644 index 000000000..d9bd8be76 --- /dev/null +++ b/examples/python-extension-example/.gitignore @@ -0,0 +1,4 @@ +.pytest_cache +__pycache__ +.mypy_cache +venv diff --git a/examples/python-extension-example/README.md b/examples/python-extension-example/README.md new file mode 100644 index 000000000..4bc3e991d --- /dev/null +++ b/examples/python-extension-example/README.md @@ -0,0 +1,159 @@ +# Python Example + +FHIR R4 type generation with Pydantic models, configurable field formats, and validation. + +## Overview + +This example demonstrates how to generate Python/Pydantic models from the FHIR R4 specification using the Atomic EHR Codegen toolkit. It includes: + +- Full FHIR R4 resource type definitions as Pydantic models +- Automatic validation and serialization +- Configurable field naming conventions (snake_case or camelCase) +- Integration with Python type checking and IDE support +- Virtual environment setup +- Simple FHIR server client example using `requests` + +For an example using the `fhirpy` async client library, see [python-fhirpy/](../python-fhirpy/). + +## Setup + +### Python Environment + +1. Create virtual environment: + +```bash +cd examples/python +python3 -m venv venv + +# On macOS/Linux: +source venv/bin/activate +# On Windows: +venv\Scripts\activate +``` + +2. Install Python dependencies: + +```bash +pip install -r fhir_types/requirements.txt +``` + +3. Check Python version: + +```bash +python --version # Should be 3.10 or higher +``` + +## Generating Types + +To generate Python/Pydantic types for FHIR R4: + +```bash +bun run examples/python/generate.ts +``` + +This will output to `./examples/python/fhir_types/` + +## Configuration + +Edit `generate.ts` to customize: + +```typescript +.python({ + allowExtraFields: false, // Reject unknown fields in models + fieldFormat: "snake_case" // or "camelCase" +}) +``` + +**Field Format Options:** + +- `snake_case`: Python convention, converts `firstName` → `first_name` +- `camelCase`: Preserves FHIR naming (less Pythonic) + +**Extra Fields:** + +- `true`: Allow undefined fields (more lenient) +- `false`: Reject unknown fields (strict validation) + +## Using Generated Types + +### Create and Validate + +```python +from fhir_types import Patient, Observation +from datetime import date + +patient = Patient( + resource_type="Patient", + id="patient-1", + name=[{ + "use": "official", + "family": "Smith", + "given": ["John"] + }], + birth_date=date(1980, 1, 15), + gender="male" +) + +print(f"Patient: {patient.family_name}") # Snake case access +``` + +### Validation + +```python +from pydantic import ValidationError + +try: + patient = Patient( + resource_type="Patient", + gender="invalid" # Must be in value set + ) +except ValidationError as e: + print(f"Validation error: {e}") +``` + +### Serialization and Deserialization + +```python +# To JSON +json_str = patient.model_dump_json(indent=2) + +# From JSON +patient = Patient.model_validate_json(json_str) + +# To dictionary (excludes None values) +dict_data = patient.model_dump(exclude_none=True) + +# From dictionary +patient = Patient.model_validate(dict_data) +``` + +## Type Checking + +### MyPy Integration + +Verify type safety with MyPy: + +```bash +pip install mypy +mypy fhir_types/ +``` + +### IDE Support + +Generated Pydantic models provide: +- Autocomplete for all fields +- Type hints for parameters and returns +- Inline documentation from FHIR specs +- Real-time validation errors + +## Running Tests + +```bash +pytest test_sdk.py -v +``` + +## Next Steps + +- See [python-fhirpy/](../python-fhirpy/) for fhirpy async client example +- See [examples/](../) overview for other language examples +- Check [../../CLAUDE.md](../../CLAUDE.md) for architecture details diff --git a/examples/python-extension-example/fhir_types/README.md b/examples/python-extension-example/fhir_types/README.md new file mode 100644 index 000000000..3fd43079a --- /dev/null +++ b/examples/python-extension-example/fhir_types/README.md @@ -0,0 +1,2552 @@ +# IR Report + +## Package: `hl7.fhir.r4.core` + +### Skipped Canonicals + +- `http://fhir-registry.smarthealthit.org/StructureDefinition/capabilities` +- `http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris` +- `http://hl7.org/fhir/StructureDefinition/11179-objectClass` +- `http://hl7.org/fhir/StructureDefinition/11179-objectClassProperty` +- `http://hl7.org/fhir/StructureDefinition/11179-permitted-value-conceptmap` +- `http://hl7.org/fhir/StructureDefinition/11179-permitted-value-valueset` +- `http://hl7.org/fhir/StructureDefinition/Account` +- `http://hl7.org/fhir/StructureDefinition/ActivityDefinition` +- `http://hl7.org/fhir/StructureDefinition/AdverseEvent` +- `http://hl7.org/fhir/StructureDefinition/AllergyIntolerance` +- `http://hl7.org/fhir/StructureDefinition/Appointment` +- `http://hl7.org/fhir/StructureDefinition/AppointmentResponse` +- `http://hl7.org/fhir/StructureDefinition/AuditEvent` +- `http://hl7.org/fhir/StructureDefinition/BackboneElement` +- `http://hl7.org/fhir/StructureDefinition/Basic` +- `http://hl7.org/fhir/StructureDefinition/Binary` +- `http://hl7.org/fhir/StructureDefinition/BiologicallyDerivedProduct` +- `http://hl7.org/fhir/StructureDefinition/BodyStructure` +- `http://hl7.org/fhir/StructureDefinition/Bundle` +- `http://hl7.org/fhir/StructureDefinition/CapabilityStatement` +- `http://hl7.org/fhir/StructureDefinition/CarePlan` +- `http://hl7.org/fhir/StructureDefinition/CareTeam` +- `http://hl7.org/fhir/StructureDefinition/CatalogEntry` +- `http://hl7.org/fhir/StructureDefinition/ChargeItem` +- `http://hl7.org/fhir/StructureDefinition/ChargeItemDefinition` +- `http://hl7.org/fhir/StructureDefinition/Claim` +- `http://hl7.org/fhir/StructureDefinition/ClaimResponse` +- `http://hl7.org/fhir/StructureDefinition/ClinicalImpression` +- `http://hl7.org/fhir/StructureDefinition/CodeSystem` +- `http://hl7.org/fhir/StructureDefinition/Communication` +- `http://hl7.org/fhir/StructureDefinition/CommunicationRequest` +- `http://hl7.org/fhir/StructureDefinition/CompartmentDefinition` +- `http://hl7.org/fhir/StructureDefinition/Composition` +- `http://hl7.org/fhir/StructureDefinition/ConceptMap` +- `http://hl7.org/fhir/StructureDefinition/Condition` +- `http://hl7.org/fhir/StructureDefinition/Consent` +- `http://hl7.org/fhir/StructureDefinition/Contract` +- `http://hl7.org/fhir/StructureDefinition/Coverage` +- `http://hl7.org/fhir/StructureDefinition/CoverageEligibilityRequest` +- `http://hl7.org/fhir/StructureDefinition/CoverageEligibilityResponse` +- `http://hl7.org/fhir/StructureDefinition/Definition` +- `http://hl7.org/fhir/StructureDefinition/DetectedIssue` +- `http://hl7.org/fhir/StructureDefinition/Device` +- `http://hl7.org/fhir/StructureDefinition/DeviceDefinition` +- `http://hl7.org/fhir/StructureDefinition/DeviceMetric` +- `http://hl7.org/fhir/StructureDefinition/DeviceRequest` +- `http://hl7.org/fhir/StructureDefinition/DeviceUseStatement` +- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport` +- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAnalysis` +- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAssessedCondition` +- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsFamilyMemberHistory` +- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsReferences` +- `http://hl7.org/fhir/StructureDefinition/DocumentManifest` +- `http://hl7.org/fhir/StructureDefinition/DocumentReference` +- `http://hl7.org/fhir/StructureDefinition/DomainResource` +- `http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis` +- `http://hl7.org/fhir/StructureDefinition/Element` +- `http://hl7.org/fhir/StructureDefinition/ElementDefinition` +- `http://hl7.org/fhir/StructureDefinition/Encounter` +- `http://hl7.org/fhir/StructureDefinition/Endpoint` +- `http://hl7.org/fhir/StructureDefinition/EnrollmentRequest` +- `http://hl7.org/fhir/StructureDefinition/EnrollmentResponse` +- `http://hl7.org/fhir/StructureDefinition/EpisodeOfCare` +- `http://hl7.org/fhir/StructureDefinition/Event` +- `http://hl7.org/fhir/StructureDefinition/EventDefinition` +- `http://hl7.org/fhir/StructureDefinition/Evidence` +- `http://hl7.org/fhir/StructureDefinition/EvidenceVariable` +- `http://hl7.org/fhir/StructureDefinition/ExampleScenario` +- `http://hl7.org/fhir/StructureDefinition/ExplanationOfBenefit` +- `http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory` +- `http://hl7.org/fhir/StructureDefinition/FiveWs` +- `http://hl7.org/fhir/StructureDefinition/Flag` +- `http://hl7.org/fhir/StructureDefinition/Goal` +- `http://hl7.org/fhir/StructureDefinition/GraphDefinition` +- `http://hl7.org/fhir/StructureDefinition/Group` +- `http://hl7.org/fhir/StructureDefinition/GuidanceResponse` +- `http://hl7.org/fhir/StructureDefinition/HealthcareService` +- `http://hl7.org/fhir/StructureDefinition/ImagingStudy` +- `http://hl7.org/fhir/StructureDefinition/Immunization` +- `http://hl7.org/fhir/StructureDefinition/ImmunizationEvaluation` +- `http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation` +- `http://hl7.org/fhir/StructureDefinition/ImplementationGuide` +- `http://hl7.org/fhir/StructureDefinition/InsurancePlan` +- `http://hl7.org/fhir/StructureDefinition/Invoice` +- `http://hl7.org/fhir/StructureDefinition/Library` +- `http://hl7.org/fhir/StructureDefinition/Linkage` +- `http://hl7.org/fhir/StructureDefinition/List` +- `http://hl7.org/fhir/StructureDefinition/Location` +- `http://hl7.org/fhir/StructureDefinition/MarketingStatus` +- `http://hl7.org/fhir/StructureDefinition/Measure` +- `http://hl7.org/fhir/StructureDefinition/MeasureReport` +- `http://hl7.org/fhir/StructureDefinition/Media` +- `http://hl7.org/fhir/StructureDefinition/Medication` +- `http://hl7.org/fhir/StructureDefinition/MedicationAdministration` +- `http://hl7.org/fhir/StructureDefinition/MedicationDispense` +- `http://hl7.org/fhir/StructureDefinition/MedicationKnowledge` +- `http://hl7.org/fhir/StructureDefinition/MedicationRequest` +- `http://hl7.org/fhir/StructureDefinition/MedicationStatement` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProduct` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductAuthorization` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductContraindication` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductIndication` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductIngredient` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductInteraction` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductManufactured` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductPackaged` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductPharmaceutical` +- `http://hl7.org/fhir/StructureDefinition/MedicinalProductUndesirableEffect` +- `http://hl7.org/fhir/StructureDefinition/MessageDefinition` +- `http://hl7.org/fhir/StructureDefinition/MessageHeader` +- `http://hl7.org/fhir/StructureDefinition/MetadataResource` +- `http://hl7.org/fhir/StructureDefinition/MolecularSequence` +- `http://hl7.org/fhir/StructureDefinition/MoneyQuantity` +- `http://hl7.org/fhir/StructureDefinition/NamingSystem` +- `http://hl7.org/fhir/StructureDefinition/NutritionOrder` +- `http://hl7.org/fhir/StructureDefinition/Observation` +- `http://hl7.org/fhir/StructureDefinition/ObservationDefinition` +- `http://hl7.org/fhir/StructureDefinition/OperationDefinition` +- `http://hl7.org/fhir/StructureDefinition/OperationOutcome` +- `http://hl7.org/fhir/StructureDefinition/Organization` +- `http://hl7.org/fhir/StructureDefinition/OrganizationAffiliation` +- `http://hl7.org/fhir/StructureDefinition/Parameters` +- `http://hl7.org/fhir/StructureDefinition/Patient` +- `http://hl7.org/fhir/StructureDefinition/PaymentNotice` +- `http://hl7.org/fhir/StructureDefinition/PaymentReconciliation` +- `http://hl7.org/fhir/StructureDefinition/Person` +- `http://hl7.org/fhir/StructureDefinition/PlanDefinition` +- `http://hl7.org/fhir/StructureDefinition/Population` +- `http://hl7.org/fhir/StructureDefinition/Practitioner` +- `http://hl7.org/fhir/StructureDefinition/PractitionerRole` +- `http://hl7.org/fhir/StructureDefinition/Procedure` +- `http://hl7.org/fhir/StructureDefinition/ProdCharacteristic` +- `http://hl7.org/fhir/StructureDefinition/ProductShelfLife` +- `http://hl7.org/fhir/StructureDefinition/Provenance` +- `http://hl7.org/fhir/StructureDefinition/Questionnaire` +- `http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse` +- `http://hl7.org/fhir/StructureDefinition/RelatedPerson` +- `http://hl7.org/fhir/StructureDefinition/Request` +- `http://hl7.org/fhir/StructureDefinition/RequestGroup` +- `http://hl7.org/fhir/StructureDefinition/ResearchDefinition` +- `http://hl7.org/fhir/StructureDefinition/ResearchElementDefinition` +- `http://hl7.org/fhir/StructureDefinition/ResearchStudy` +- `http://hl7.org/fhir/StructureDefinition/ResearchSubject` +- `http://hl7.org/fhir/StructureDefinition/RiskAssessment` +- `http://hl7.org/fhir/StructureDefinition/RiskEvidenceSynthesis` +- `http://hl7.org/fhir/StructureDefinition/Schedule` +- `http://hl7.org/fhir/StructureDefinition/SearchParameter` +- `http://hl7.org/fhir/StructureDefinition/ServiceRequest` +- `http://hl7.org/fhir/StructureDefinition/SimpleQuantity` +- `http://hl7.org/fhir/StructureDefinition/Slot` +- `http://hl7.org/fhir/StructureDefinition/Specimen` +- `http://hl7.org/fhir/StructureDefinition/SpecimenDefinition` +- `http://hl7.org/fhir/StructureDefinition/StructureDefinition` +- `http://hl7.org/fhir/StructureDefinition/StructureMap` +- `http://hl7.org/fhir/StructureDefinition/Subscription` +- `http://hl7.org/fhir/StructureDefinition/Substance` +- `http://hl7.org/fhir/StructureDefinition/SubstanceAmount` +- `http://hl7.org/fhir/StructureDefinition/SubstanceNucleicAcid` +- `http://hl7.org/fhir/StructureDefinition/SubstancePolymer` +- `http://hl7.org/fhir/StructureDefinition/SubstanceProtein` +- `http://hl7.org/fhir/StructureDefinition/SubstanceReferenceInformation` +- `http://hl7.org/fhir/StructureDefinition/SubstanceSourceMaterial` +- `http://hl7.org/fhir/StructureDefinition/SubstanceSpecification` +- `http://hl7.org/fhir/StructureDefinition/SupplyDelivery` +- `http://hl7.org/fhir/StructureDefinition/SupplyRequest` +- `http://hl7.org/fhir/StructureDefinition/Task` +- `http://hl7.org/fhir/StructureDefinition/TerminologyCapabilities` +- `http://hl7.org/fhir/StructureDefinition/TestReport` +- `http://hl7.org/fhir/StructureDefinition/TestScript` +- `http://hl7.org/fhir/StructureDefinition/ValueSet` +- `http://hl7.org/fhir/StructureDefinition/VerificationResult` +- `http://hl7.org/fhir/StructureDefinition/VisionPrescription` +- `http://hl7.org/fhir/StructureDefinition/actualgroup` +- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-assertedDate` +- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-certainty` +- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-duration` +- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-reasonRefuted` +- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-resolutionAge` +- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-substanceExposureRisk` +- `http://hl7.org/fhir/StructureDefinition/auditevent-Accession` +- `http://hl7.org/fhir/StructureDefinition/auditevent-Anonymized` +- `http://hl7.org/fhir/StructureDefinition/auditevent-Encrypted` +- `http://hl7.org/fhir/StructureDefinition/auditevent-Instance` +- `http://hl7.org/fhir/StructureDefinition/auditevent-MPPS` +- `http://hl7.org/fhir/StructureDefinition/auditevent-NumberOfInstances` +- `http://hl7.org/fhir/StructureDefinition/auditevent-ParticipantObjectContainsStudy` +- `http://hl7.org/fhir/StructureDefinition/auditevent-SOPClass` +- `http://hl7.org/fhir/StructureDefinition/bmi` +- `http://hl7.org/fhir/StructureDefinition/bodySite` +- `http://hl7.org/fhir/StructureDefinition/bodyheight` +- `http://hl7.org/fhir/StructureDefinition/bodytemp` +- `http://hl7.org/fhir/StructureDefinition/bodyweight` +- `http://hl7.org/fhir/StructureDefinition/bp` +- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation` +- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-prohibited` +- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination` +- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-supported-system` +- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-websocket` +- `http://hl7.org/fhir/StructureDefinition/careplan-activity-title` +- `http://hl7.org/fhir/StructureDefinition/catalog` +- `http://hl7.org/fhir/StructureDefinition/cdshooksguidanceresponse` +- `http://hl7.org/fhir/StructureDefinition/cdshooksrequestgroup` +- `http://hl7.org/fhir/StructureDefinition/cdshooksserviceplandefinition` +- `http://hl7.org/fhir/StructureDefinition/cholesterol` +- `http://hl7.org/fhir/StructureDefinition/clinicaldocument` +- `http://hl7.org/fhir/StructureDefinition/codesystem-alternate` +- `http://hl7.org/fhir/StructureDefinition/codesystem-author` +- `http://hl7.org/fhir/StructureDefinition/codesystem-concept-comments` +- `http://hl7.org/fhir/StructureDefinition/codesystem-conceptOrder` +- `http://hl7.org/fhir/StructureDefinition/codesystem-effectiveDate` +- `http://hl7.org/fhir/StructureDefinition/codesystem-expirationDate` +- `http://hl7.org/fhir/StructureDefinition/codesystem-history` +- `http://hl7.org/fhir/StructureDefinition/codesystem-keyWord` +- `http://hl7.org/fhir/StructureDefinition/codesystem-label` +- `http://hl7.org/fhir/StructureDefinition/codesystem-map` +- `http://hl7.org/fhir/StructureDefinition/codesystem-otherName` +- `http://hl7.org/fhir/StructureDefinition/codesystem-replacedby` +- `http://hl7.org/fhir/StructureDefinition/codesystem-sourceReference` +- `http://hl7.org/fhir/StructureDefinition/codesystem-trusted-expansion` +- `http://hl7.org/fhir/StructureDefinition/codesystem-usage` +- `http://hl7.org/fhir/StructureDefinition/codesystem-warning` +- `http://hl7.org/fhir/StructureDefinition/codesystem-workflowStatus` +- `http://hl7.org/fhir/StructureDefinition/coding-sctdescid` +- `http://hl7.org/fhir/StructureDefinition/communication-media` +- `http://hl7.org/fhir/StructureDefinition/communicationrequest-initiatingLocation` +- `http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-otherConfidentiality` +- `http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-versionNumber` +- `http://hl7.org/fhir/StructureDefinition/composition-section-subject` +- `http://hl7.org/fhir/StructureDefinition/computableplandefinition` +- `http://hl7.org/fhir/StructureDefinition/concept-bidirectional` +- `http://hl7.org/fhir/StructureDefinition/condition-assertedDate` +- `http://hl7.org/fhir/StructureDefinition/condition-dueTo` +- `http://hl7.org/fhir/StructureDefinition/condition-occurredFollowing` +- `http://hl7.org/fhir/StructureDefinition/condition-outcome` +- `http://hl7.org/fhir/StructureDefinition/condition-related` +- `http://hl7.org/fhir/StructureDefinition/condition-ruledOut` +- `http://hl7.org/fhir/StructureDefinition/consent-NotificationEndpoint` +- `http://hl7.org/fhir/StructureDefinition/consent-Transcriber` +- `http://hl7.org/fhir/StructureDefinition/consent-Witness` +- `http://hl7.org/fhir/StructureDefinition/consent-location` +- `http://hl7.org/fhir/StructureDefinition/contactpoint-area` +- `http://hl7.org/fhir/StructureDefinition/contactpoint-country` +- `http://hl7.org/fhir/StructureDefinition/contactpoint-extension` +- `http://hl7.org/fhir/StructureDefinition/contactpoint-local` +- `http://hl7.org/fhir/StructureDefinition/cqf-calculatedValue` +- `http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint` +- `http://hl7.org/fhir/StructureDefinition/cqf-citation` +- `http://hl7.org/fhir/StructureDefinition/cqf-encounterClass` +- `http://hl7.org/fhir/StructureDefinition/cqf-encounterType` +- `http://hl7.org/fhir/StructureDefinition/cqf-expression` +- `http://hl7.org/fhir/StructureDefinition/cqf-initialValue` +- `http://hl7.org/fhir/StructureDefinition/cqf-initiatingOrganization` +- `http://hl7.org/fhir/StructureDefinition/cqf-initiatingPerson` +- `http://hl7.org/fhir/StructureDefinition/cqf-library` +- `http://hl7.org/fhir/StructureDefinition/cqf-measureInfo` +- `http://hl7.org/fhir/StructureDefinition/cqf-qualityOfEvidence` +- `http://hl7.org/fhir/StructureDefinition/cqf-questionnaire` +- `http://hl7.org/fhir/StructureDefinition/cqf-receivingOrganization` +- `http://hl7.org/fhir/StructureDefinition/cqf-receivingPerson` +- `http://hl7.org/fhir/StructureDefinition/cqf-recipientLanguage` +- `http://hl7.org/fhir/StructureDefinition/cqf-recipientType` +- `http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime` +- `http://hl7.org/fhir/StructureDefinition/cqf-strengthOfRecommendation` +- `http://hl7.org/fhir/StructureDefinition/cqf-systemUserLanguage` +- `http://hl7.org/fhir/StructureDefinition/cqf-systemUserTaskContext` +- `http://hl7.org/fhir/StructureDefinition/cqf-systemUserType` +- `http://hl7.org/fhir/StructureDefinition/cqllibrary` +- `http://hl7.org/fhir/StructureDefinition/cqm-ValidityPeriod` +- `http://hl7.org/fhir/StructureDefinition/data-absent-reason` +- `http://hl7.org/fhir/StructureDefinition/designNote` +- `http://hl7.org/fhir/StructureDefinition/device-implantStatus` +- `http://hl7.org/fhir/StructureDefinition/devicemetricobservation` +- `http://hl7.org/fhir/StructureDefinition/devicerequest-patientInstruction` +- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-addendumOf` +- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-extends` +- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed` +- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-replaces` +- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-risk` +- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-summaryOf` +- `http://hl7.org/fhir/StructureDefinition/diagnosticreport-genetics` +- `http://hl7.org/fhir/StructureDefinition/display` +- `http://hl7.org/fhir/StructureDefinition/ehrsrle-auditevent` +- `http://hl7.org/fhir/StructureDefinition/ehrsrle-provenance` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-de` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-equivalence` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-identifier` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-inheritedExtensibleValueSet` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-minValueSet` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-profile-element` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-question` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-selector` +- `http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable` +- `http://hl7.org/fhir/StructureDefinition/encounter-associatedEncounter` +- `http://hl7.org/fhir/StructureDefinition/encounter-modeOfArrival` +- `http://hl7.org/fhir/StructureDefinition/encounter-reasonCancelled` +- `http://hl7.org/fhir/StructureDefinition/entryFormat` +- `http://hl7.org/fhir/StructureDefinition/event-basedOn` +- `http://hl7.org/fhir/StructureDefinition/event-eventHistory` +- `http://hl7.org/fhir/StructureDefinition/event-location` +- `http://hl7.org/fhir/StructureDefinition/event-partOf` +- `http://hl7.org/fhir/StructureDefinition/event-performerFunction` +- `http://hl7.org/fhir/StructureDefinition/event-statusReason` +- `http://hl7.org/fhir/StructureDefinition/example-composition` +- `http://hl7.org/fhir/StructureDefinition/example-section-library` +- `http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-observation` +- `http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-parent` +- `http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-sibling` +- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-abatement` +- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-genetic` +- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-patient-record` +- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-severity` +- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-type` +- `http://hl7.org/fhir/StructureDefinition/flag-detail` +- `http://hl7.org/fhir/StructureDefinition/flag-priority` +- `http://hl7.org/fhir/StructureDefinition/geolocation` +- `http://hl7.org/fhir/StructureDefinition/goal-acceptance` +- `http://hl7.org/fhir/StructureDefinition/goal-reasonRejected` +- `http://hl7.org/fhir/StructureDefinition/goal-relationship` +- `http://hl7.org/fhir/StructureDefinition/groupdefinition` +- `http://hl7.org/fhir/StructureDefinition/hdlcholesterol` +- `http://hl7.org/fhir/StructureDefinition/headcircum` +- `http://hl7.org/fhir/StructureDefinition/heartrate` +- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-allele-database` +- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-glstring` +- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-haploid` +- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-method` +- `http://hl7.org/fhir/StructureDefinition/hlaresult` +- `http://hl7.org/fhir/StructureDefinition/http-response-header` +- `http://hl7.org/fhir/StructureDefinition/humanname-assembly-order` +- `http://hl7.org/fhir/StructureDefinition/humanname-fathers-family` +- `http://hl7.org/fhir/StructureDefinition/humanname-mothers-family` +- `http://hl7.org/fhir/StructureDefinition/humanname-own-name` +- `http://hl7.org/fhir/StructureDefinition/humanname-own-prefix` +- `http://hl7.org/fhir/StructureDefinition/humanname-partner-name` +- `http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix` +- `http://hl7.org/fhir/StructureDefinition/identifier-validDate` +- `http://hl7.org/fhir/StructureDefinition/iso21090-AD-use` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-careOf` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-censusTract` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-delimiter` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryAddressLine` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryInstallationArea` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryInstallationQualifier` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryInstallationType` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryMode` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryModeIdentifier` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-direction` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumberNumeric` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetAddressLine` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetNameBase` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetNameType` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitID` +- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitType` +- `http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier` +- `http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation` +- `http://hl7.org/fhir/StructureDefinition/iso21090-EN-use` +- `http://hl7.org/fhir/StructureDefinition/iso21090-PQ-translation` +- `http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding` +- `http://hl7.org/fhir/StructureDefinition/iso21090-TEL-address` +- `http://hl7.org/fhir/StructureDefinition/iso21090-nullFlavor` +- `http://hl7.org/fhir/StructureDefinition/iso21090-preferred` +- `http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty` +- `http://hl7.org/fhir/StructureDefinition/iso21090-uncertaintyType` +- `http://hl7.org/fhir/StructureDefinition/language` +- `http://hl7.org/fhir/StructureDefinition/ldlcholesterol` +- `http://hl7.org/fhir/StructureDefinition/lipidprofile` +- `http://hl7.org/fhir/StructureDefinition/list-changeBase` +- `http://hl7.org/fhir/StructureDefinition/location-boundary-geojson` +- `http://hl7.org/fhir/StructureDefinition/location-distance` +- `http://hl7.org/fhir/StructureDefinition/match-grade` +- `http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces` +- `http://hl7.org/fhir/StructureDefinition/maxSize` +- `http://hl7.org/fhir/StructureDefinition/maxValue` +- `http://hl7.org/fhir/StructureDefinition/messageheader-response-request` +- `http://hl7.org/fhir/StructureDefinition/mimeType` +- `http://hl7.org/fhir/StructureDefinition/minLength` +- `http://hl7.org/fhir/StructureDefinition/minValue` +- `http://hl7.org/fhir/StructureDefinition/narrativeLink` +- `http://hl7.org/fhir/StructureDefinition/nutritionorder-adaptiveFeedingDevice` +- `http://hl7.org/fhir/StructureDefinition/observation-bodyPosition` +- `http://hl7.org/fhir/StructureDefinition/observation-delta` +- `http://hl7.org/fhir/StructureDefinition/observation-deviceCode` +- `http://hl7.org/fhir/StructureDefinition/observation-focusCode` +- `http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice` +- `http://hl7.org/fhir/StructureDefinition/observation-genetics` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsAllele` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsAminoAcidChange` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsAncestry` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsCopyNumberEvent` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsDNARegionName` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsGene` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsGenomicSourceClass` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsInterpretation` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsPhaseSet` +- `http://hl7.org/fhir/StructureDefinition/observation-geneticsVariant` +- `http://hl7.org/fhir/StructureDefinition/observation-precondition` +- `http://hl7.org/fhir/StructureDefinition/observation-reagent` +- `http://hl7.org/fhir/StructureDefinition/observation-replaces` +- `http://hl7.org/fhir/StructureDefinition/observation-secondaryFinding` +- `http://hl7.org/fhir/StructureDefinition/observation-sequelTo` +- `http://hl7.org/fhir/StructureDefinition/observation-specimenCode` +- `http://hl7.org/fhir/StructureDefinition/observation-timeOffset` +- `http://hl7.org/fhir/StructureDefinition/openEHR-administration` +- `http://hl7.org/fhir/StructureDefinition/openEHR-careplan` +- `http://hl7.org/fhir/StructureDefinition/openEHR-exposureDate` +- `http://hl7.org/fhir/StructureDefinition/openEHR-exposureDescription` +- `http://hl7.org/fhir/StructureDefinition/openEHR-exposureDuration` +- `http://hl7.org/fhir/StructureDefinition/openEHR-location` +- `http://hl7.org/fhir/StructureDefinition/openEHR-management` +- `http://hl7.org/fhir/StructureDefinition/openEHR-test` +- `http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type` +- `http://hl7.org/fhir/StructureDefinition/operationdefinition-profile` +- `http://hl7.org/fhir/StructureDefinition/operationoutcome-authority` +- `http://hl7.org/fhir/StructureDefinition/operationoutcome-detectedIssue` +- `http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-source` +- `http://hl7.org/fhir/StructureDefinition/ordinalValue` +- `http://hl7.org/fhir/StructureDefinition/organization-period` +- `http://hl7.org/fhir/StructureDefinition/organization-preferredContact` +- `http://hl7.org/fhir/StructureDefinition/organizationaffiliation-primaryInd` +- `http://hl7.org/fhir/StructureDefinition/originalText` +- `http://hl7.org/fhir/StructureDefinition/oxygensat` +- `http://hl7.org/fhir/StructureDefinition/parameters-fullUrl` +- `http://hl7.org/fhir/StructureDefinition/patient-adoptionInfo` +- `http://hl7.org/fhir/StructureDefinition/patient-animal` +- `http://hl7.org/fhir/StructureDefinition/patient-birthPlace` +- `http://hl7.org/fhir/StructureDefinition/patient-birthTime` +- `http://hl7.org/fhir/StructureDefinition/patient-cadavericDonor` +- `http://hl7.org/fhir/StructureDefinition/patient-citizenship` +- `http://hl7.org/fhir/StructureDefinition/patient-congregation` +- `http://hl7.org/fhir/StructureDefinition/patient-disability` +- `http://hl7.org/fhir/StructureDefinition/patient-genderIdentity` +- `http://hl7.org/fhir/StructureDefinition/patient-importance` +- `http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired` +- `http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName` +- `http://hl7.org/fhir/StructureDefinition/patient-nationality` +- `http://hl7.org/fhir/StructureDefinition/patient-preferenceType` +- `http://hl7.org/fhir/StructureDefinition/patient-proficiency` +- `http://hl7.org/fhir/StructureDefinition/patient-relatedPerson` +- `http://hl7.org/fhir/StructureDefinition/patient-religion` +- `http://hl7.org/fhir/StructureDefinition/picoelement` +- `http://hl7.org/fhir/StructureDefinition/practitioner-animalSpecies` +- `http://hl7.org/fhir/StructureDefinition/practitionerrole-primaryInd` +- `http://hl7.org/fhir/StructureDefinition/procedure-approachBodyStructure` +- `http://hl7.org/fhir/StructureDefinition/procedure-causedBy` +- `http://hl7.org/fhir/StructureDefinition/procedure-directedBy` +- `http://hl7.org/fhir/StructureDefinition/procedure-incisionDateTime` +- `http://hl7.org/fhir/StructureDefinition/procedure-method` +- `http://hl7.org/fhir/StructureDefinition/procedure-progressStatus` +- `http://hl7.org/fhir/StructureDefinition/procedure-schedule` +- `http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure` +- `http://hl7.org/fhir/StructureDefinition/provenance-relevant-history` +- `http://hl7.org/fhir/StructureDefinition/quantity-precision` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-baseType` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-constraint` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-fhirType` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-hidden` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-optionExclusive` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-optionPrefix` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-referenceFilter` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-referenceProfile` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-referenceResource` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-signatureRequired` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-sliderStepValue` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-supportLink` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-unit` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-unitOption` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet` +- `http://hl7.org/fhir/StructureDefinition/questionnaire-usageMode` +- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-author` +- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-completionMode` +- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-reason` +- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-reviewer` +- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature` +- `http://hl7.org/fhir/StructureDefinition/regex` +- `http://hl7.org/fhir/StructureDefinition/relative-date` +- `http://hl7.org/fhir/StructureDefinition/rendered-value` +- `http://hl7.org/fhir/StructureDefinition/rendering-markdown` +- `http://hl7.org/fhir/StructureDefinition/rendering-style` +- `http://hl7.org/fhir/StructureDefinition/rendering-styleSensitive` +- `http://hl7.org/fhir/StructureDefinition/rendering-xhtml` +- `http://hl7.org/fhir/StructureDefinition/replaces` +- `http://hl7.org/fhir/StructureDefinition/request-doNotPerform` +- `http://hl7.org/fhir/StructureDefinition/request-insurance` +- `http://hl7.org/fhir/StructureDefinition/request-performerOrder` +- `http://hl7.org/fhir/StructureDefinition/request-relevantHistory` +- `http://hl7.org/fhir/StructureDefinition/request-replaces` +- `http://hl7.org/fhir/StructureDefinition/request-statusReason` +- `http://hl7.org/fhir/StructureDefinition/resource-approvalDate` +- `http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod` +- `http://hl7.org/fhir/StructureDefinition/resource-lastReviewDate` +- `http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal` +- `http://hl7.org/fhir/StructureDefinition/resprate` +- `http://hl7.org/fhir/StructureDefinition/servicerequest-genetics` +- `http://hl7.org/fhir/StructureDefinition/servicerequest-geneticsItem` +- `http://hl7.org/fhir/StructureDefinition/servicerequest-precondition` +- `http://hl7.org/fhir/StructureDefinition/servicerequest-questionnaireRequest` +- `http://hl7.org/fhir/StructureDefinition/shareableactivitydefinition` +- `http://hl7.org/fhir/StructureDefinition/shareablecodesystem` +- `http://hl7.org/fhir/StructureDefinition/shareablelibrary` +- `http://hl7.org/fhir/StructureDefinition/shareablemeasure` +- `http://hl7.org/fhir/StructureDefinition/shareableplandefinition` +- `http://hl7.org/fhir/StructureDefinition/shareablevalueset` +- `http://hl7.org/fhir/StructureDefinition/specimen-collectionPriority` +- `http://hl7.org/fhir/StructureDefinition/specimen-isDryWeight` +- `http://hl7.org/fhir/StructureDefinition/specimen-processingTime` +- `http://hl7.org/fhir/StructureDefinition/specimen-sequenceNumber` +- `http://hl7.org/fhir/StructureDefinition/specimen-specialHandling` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-ancestor` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-applicable-version` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-category` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-dependencies` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm-no-warnings` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-summary` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-table-name` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-template-status` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-wg` +- `http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-no-order` +- `http://hl7.org/fhir/StructureDefinition/synthesis` +- `http://hl7.org/fhir/StructureDefinition/task-candidateList` +- `http://hl7.org/fhir/StructureDefinition/task-replaces` +- `http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth` +- `http://hl7.org/fhir/StructureDefinition/timing-daysOfCycle` +- `http://hl7.org/fhir/StructureDefinition/timing-exact` +- `http://hl7.org/fhir/StructureDefinition/translation` +- `http://hl7.org/fhir/StructureDefinition/triglyceride` +- `http://hl7.org/fhir/StructureDefinition/tz-code` +- `http://hl7.org/fhir/StructureDefinition/tz-offset` +- `http://hl7.org/fhir/StructureDefinition/usagecontext-group` +- `http://hl7.org/fhir/StructureDefinition/valueset-activityStatusDate` +- `http://hl7.org/fhir/StructureDefinition/valueset-author` +- `http://hl7.org/fhir/StructureDefinition/valueset-authoritativeSource` +- `http://hl7.org/fhir/StructureDefinition/valueset-caseSensitive` +- `http://hl7.org/fhir/StructureDefinition/valueset-concept-comments` +- `http://hl7.org/fhir/StructureDefinition/valueset-concept-definition` +- `http://hl7.org/fhir/StructureDefinition/valueset-conceptOrder` +- `http://hl7.org/fhir/StructureDefinition/valueset-deprecated` +- `http://hl7.org/fhir/StructureDefinition/valueset-effectiveDate` +- `http://hl7.org/fhir/StructureDefinition/valueset-expand-group` +- `http://hl7.org/fhir/StructureDefinition/valueset-expand-rules` +- `http://hl7.org/fhir/StructureDefinition/valueset-expansionSource` +- `http://hl7.org/fhir/StructureDefinition/valueset-expirationDate` +- `http://hl7.org/fhir/StructureDefinition/valueset-expression` +- `http://hl7.org/fhir/StructureDefinition/valueset-extensible` +- `http://hl7.org/fhir/StructureDefinition/valueset-keyWord` +- `http://hl7.org/fhir/StructureDefinition/valueset-label` +- `http://hl7.org/fhir/StructureDefinition/valueset-map` +- `http://hl7.org/fhir/StructureDefinition/valueset-otherName` +- `http://hl7.org/fhir/StructureDefinition/valueset-parameterSource` +- `http://hl7.org/fhir/StructureDefinition/valueset-reference` +- `http://hl7.org/fhir/StructureDefinition/valueset-rules-text` +- `http://hl7.org/fhir/StructureDefinition/valueset-sourceReference` +- `http://hl7.org/fhir/StructureDefinition/valueset-special-status` +- `http://hl7.org/fhir/StructureDefinition/valueset-steward` +- `http://hl7.org/fhir/StructureDefinition/valueset-supplement` +- `http://hl7.org/fhir/StructureDefinition/valueset-system` +- `http://hl7.org/fhir/StructureDefinition/valueset-systemName` +- `http://hl7.org/fhir/StructureDefinition/valueset-systemRef` +- `http://hl7.org/fhir/StructureDefinition/valueset-toocostly` +- `http://hl7.org/fhir/StructureDefinition/valueset-trusted-expansion` +- `http://hl7.org/fhir/StructureDefinition/valueset-unclosed` +- `http://hl7.org/fhir/StructureDefinition/valueset-usage` +- `http://hl7.org/fhir/StructureDefinition/valueset-warning` +- `http://hl7.org/fhir/StructureDefinition/valueset-workflowStatus` +- `http://hl7.org/fhir/StructureDefinition/variable` +- `http://hl7.org/fhir/StructureDefinition/vitalspanel` +- `http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare` +- `http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical` +- `http://hl7.org/fhir/StructureDefinition/workflow-instantiatesUri` +- `http://hl7.org/fhir/StructureDefinition/workflow-reasonCode` +- `http://hl7.org/fhir/StructureDefinition/workflow-reasonReference` +- `http://hl7.org/fhir/StructureDefinition/workflow-relatedArtifact` +- `http://hl7.org/fhir/StructureDefinition/workflow-researchStudy` +- `http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo` +- `http://hl7.org/fhir/ValueSet/FHIR-version` +- `http://hl7.org/fhir/ValueSet/abstract-types` +- `http://hl7.org/fhir/ValueSet/account-status` +- `http://hl7.org/fhir/ValueSet/account-type` +- `http://hl7.org/fhir/ValueSet/action-cardinality-behavior` +- `http://hl7.org/fhir/ValueSet/action-condition-kind` +- `http://hl7.org/fhir/ValueSet/action-grouping-behavior` +- `http://hl7.org/fhir/ValueSet/action-participant-role` +- `http://hl7.org/fhir/ValueSet/action-participant-type` +- `http://hl7.org/fhir/ValueSet/action-precheck-behavior` +- `http://hl7.org/fhir/ValueSet/action-relationship-type` +- `http://hl7.org/fhir/ValueSet/action-required-behavior` +- `http://hl7.org/fhir/ValueSet/action-selection-behavior` +- `http://hl7.org/fhir/ValueSet/action-type` +- `http://hl7.org/fhir/ValueSet/activity-definition-category` +- `http://hl7.org/fhir/ValueSet/additional-instruction-codes` +- `http://hl7.org/fhir/ValueSet/additionalmaterials` +- `http://hl7.org/fhir/ValueSet/address-type` +- `http://hl7.org/fhir/ValueSet/address-use` +- `http://hl7.org/fhir/ValueSet/adjudication` +- `http://hl7.org/fhir/ValueSet/adjudication-error` +- `http://hl7.org/fhir/ValueSet/adjudication-reason` +- `http://hl7.org/fhir/ValueSet/administration-method-codes` +- `http://hl7.org/fhir/ValueSet/administrative-gender` +- `http://hl7.org/fhir/ValueSet/adverse-event-actuality` +- `http://hl7.org/fhir/ValueSet/adverse-event-category` +- `http://hl7.org/fhir/ValueSet/adverse-event-causality-assess` +- `http://hl7.org/fhir/ValueSet/adverse-event-causality-method` +- `http://hl7.org/fhir/ValueSet/adverse-event-outcome` +- `http://hl7.org/fhir/ValueSet/adverse-event-seriousness` +- `http://hl7.org/fhir/ValueSet/adverse-event-severity` +- `http://hl7.org/fhir/ValueSet/adverse-event-type` +- `http://hl7.org/fhir/ValueSet/age-units` +- `http://hl7.org/fhir/ValueSet/all-distance-units` +- `http://hl7.org/fhir/ValueSet/all-languages` +- `http://hl7.org/fhir/ValueSet/all-time-units` +- `http://hl7.org/fhir/ValueSet/all-types` +- `http://hl7.org/fhir/ValueSet/allelename` +- `http://hl7.org/fhir/ValueSet/allerg-intol-substance-exp-risk` +- `http://hl7.org/fhir/ValueSet/allergy-intolerance-category` +- `http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality` +- `http://hl7.org/fhir/ValueSet/allergy-intolerance-type` +- `http://hl7.org/fhir/ValueSet/allergyintolerance-clinical` +- `http://hl7.org/fhir/ValueSet/allergyintolerance-code` +- `http://hl7.org/fhir/ValueSet/allergyintolerance-verification` +- `http://hl7.org/fhir/ValueSet/animal-breeds` +- `http://hl7.org/fhir/ValueSet/animal-genderstatus` +- `http://hl7.org/fhir/ValueSet/animal-species` +- `http://hl7.org/fhir/ValueSet/appointment-cancellation-reason` +- `http://hl7.org/fhir/ValueSet/appointmentstatus` +- `http://hl7.org/fhir/ValueSet/approach-site-codes` +- `http://hl7.org/fhir/ValueSet/assert-direction-codes` +- `http://hl7.org/fhir/ValueSet/assert-operator-codes` +- `http://hl7.org/fhir/ValueSet/assert-response-code-types` +- `http://hl7.org/fhir/ValueSet/asset-availability` +- `http://hl7.org/fhir/ValueSet/audit-entity-type` +- `http://hl7.org/fhir/ValueSet/audit-event-action` +- `http://hl7.org/fhir/ValueSet/audit-event-outcome` +- `http://hl7.org/fhir/ValueSet/audit-event-sub-type` +- `http://hl7.org/fhir/ValueSet/audit-event-type` +- `http://hl7.org/fhir/ValueSet/audit-source-type` +- `http://hl7.org/fhir/ValueSet/basic-resource-type` +- `http://hl7.org/fhir/ValueSet/benefit-network` +- `http://hl7.org/fhir/ValueSet/benefit-term` +- `http://hl7.org/fhir/ValueSet/benefit-type` +- `http://hl7.org/fhir/ValueSet/benefit-unit` +- `http://hl7.org/fhir/ValueSet/binding-strength` +- `http://hl7.org/fhir/ValueSet/body-site` +- `http://hl7.org/fhir/ValueSet/bodysite-laterality` +- `http://hl7.org/fhir/ValueSet/bodystructure-code` +- `http://hl7.org/fhir/ValueSet/bodystructure-relative-location` +- `http://hl7.org/fhir/ValueSet/bundle-type` +- `http://hl7.org/fhir/ValueSet/c80-doc-typecodes` +- `http://hl7.org/fhir/ValueSet/c80-facilitycodes` +- `http://hl7.org/fhir/ValueSet/c80-practice-codes` +- `http://hl7.org/fhir/ValueSet/capability-statement-kind` +- `http://hl7.org/fhir/ValueSet/care-plan-activity-kind` +- `http://hl7.org/fhir/ValueSet/care-plan-activity-outcome` +- `http://hl7.org/fhir/ValueSet/care-plan-activity-status` +- `http://hl7.org/fhir/ValueSet/care-plan-category` +- `http://hl7.org/fhir/ValueSet/care-plan-intent` +- `http://hl7.org/fhir/ValueSet/care-team-category` +- `http://hl7.org/fhir/ValueSet/care-team-status` +- `http://hl7.org/fhir/ValueSet/catalogType` +- `http://hl7.org/fhir/ValueSet/cdshooks-indicator` +- `http://hl7.org/fhir/ValueSet/certainty-subcomponent-rating` +- `http://hl7.org/fhir/ValueSet/certainty-subcomponent-type` +- `http://hl7.org/fhir/ValueSet/chargeitem-billingcodes` +- `http://hl7.org/fhir/ValueSet/chargeitem-status` +- `http://hl7.org/fhir/ValueSet/choice-list-orientation` +- `http://hl7.org/fhir/ValueSet/chromosome-human` +- `http://hl7.org/fhir/ValueSet/claim-careteamrole` +- `http://hl7.org/fhir/ValueSet/claim-exception` +- `http://hl7.org/fhir/ValueSet/claim-informationcategory` +- `http://hl7.org/fhir/ValueSet/claim-modifiers` +- `http://hl7.org/fhir/ValueSet/claim-subtype` +- `http://hl7.org/fhir/ValueSet/claim-type` +- `http://hl7.org/fhir/ValueSet/claim-use` +- `http://hl7.org/fhir/ValueSet/clinical-findings` +- `http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis` +- `http://hl7.org/fhir/ValueSet/clinicalimpression-status` +- `http://hl7.org/fhir/ValueSet/clinvar` +- `http://hl7.org/fhir/ValueSet/code-search-support` +- `http://hl7.org/fhir/ValueSet/codesystem-altcode-kind` +- `http://hl7.org/fhir/ValueSet/codesystem-content-mode` +- `http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning` +- `http://hl7.org/fhir/ValueSet/common-tags` +- `http://hl7.org/fhir/ValueSet/communication-category` +- `http://hl7.org/fhir/ValueSet/communication-not-done-reason` +- `http://hl7.org/fhir/ValueSet/communication-topic` +- `http://hl7.org/fhir/ValueSet/compartment-type` +- `http://hl7.org/fhir/ValueSet/composite-measure-scoring` +- `http://hl7.org/fhir/ValueSet/composition-altcode-kind` +- `http://hl7.org/fhir/ValueSet/composition-attestation-mode` +- `http://hl7.org/fhir/ValueSet/composition-status` +- `http://hl7.org/fhir/ValueSet/concept-map-equivalence` +- `http://hl7.org/fhir/ValueSet/concept-property-type` +- `http://hl7.org/fhir/ValueSet/concept-subsumption-outcome` +- `http://hl7.org/fhir/ValueSet/conceptmap-unmapped-mode` +- `http://hl7.org/fhir/ValueSet/condition-category` +- `http://hl7.org/fhir/ValueSet/condition-cause` +- `http://hl7.org/fhir/ValueSet/condition-clinical` +- `http://hl7.org/fhir/ValueSet/condition-code` +- `http://hl7.org/fhir/ValueSet/condition-outcome` +- `http://hl7.org/fhir/ValueSet/condition-predecessor` +- `http://hl7.org/fhir/ValueSet/condition-severity` +- `http://hl7.org/fhir/ValueSet/condition-stage` +- `http://hl7.org/fhir/ValueSet/condition-stage-type` +- `http://hl7.org/fhir/ValueSet/condition-state` +- `http://hl7.org/fhir/ValueSet/condition-ver-status` +- `http://hl7.org/fhir/ValueSet/conditional-delete-status` +- `http://hl7.org/fhir/ValueSet/conditional-read-status` +- `http://hl7.org/fhir/ValueSet/conformance-expectation` +- `http://hl7.org/fhir/ValueSet/consent-action` +- `http://hl7.org/fhir/ValueSet/consent-category` +- `http://hl7.org/fhir/ValueSet/consent-content-class` +- `http://hl7.org/fhir/ValueSet/consent-content-code` +- `http://hl7.org/fhir/ValueSet/consent-data-meaning` +- `http://hl7.org/fhir/ValueSet/consent-performer` +- `http://hl7.org/fhir/ValueSet/consent-policy` +- `http://hl7.org/fhir/ValueSet/consent-provision-type` +- `http://hl7.org/fhir/ValueSet/consent-scope` +- `http://hl7.org/fhir/ValueSet/consent-state-codes` +- `http://hl7.org/fhir/ValueSet/consistency-type` +- `http://hl7.org/fhir/ValueSet/constraint-severity` +- `http://hl7.org/fhir/ValueSet/contact-point-system` +- `http://hl7.org/fhir/ValueSet/contact-point-use` +- `http://hl7.org/fhir/ValueSet/contactentity-type` +- `http://hl7.org/fhir/ValueSet/container-cap` +- `http://hl7.org/fhir/ValueSet/container-material` +- `http://hl7.org/fhir/ValueSet/contract-action` +- `http://hl7.org/fhir/ValueSet/contract-actionstatus` +- `http://hl7.org/fhir/ValueSet/contract-actorrole` +- `http://hl7.org/fhir/ValueSet/contract-assetcontext` +- `http://hl7.org/fhir/ValueSet/contract-assetscope` +- `http://hl7.org/fhir/ValueSet/contract-assetsubtype` +- `http://hl7.org/fhir/ValueSet/contract-assettype` +- `http://hl7.org/fhir/ValueSet/contract-content-derivative` +- `http://hl7.org/fhir/ValueSet/contract-data-meaning` +- `http://hl7.org/fhir/ValueSet/contract-decision-mode` +- `http://hl7.org/fhir/ValueSet/contract-definition-subtype` +- `http://hl7.org/fhir/ValueSet/contract-definition-type` +- `http://hl7.org/fhir/ValueSet/contract-expiration-type` +- `http://hl7.org/fhir/ValueSet/contract-legalstate` +- `http://hl7.org/fhir/ValueSet/contract-party-role` +- `http://hl7.org/fhir/ValueSet/contract-publicationstatus` +- `http://hl7.org/fhir/ValueSet/contract-scope` +- `http://hl7.org/fhir/ValueSet/contract-security-category` +- `http://hl7.org/fhir/ValueSet/contract-security-classification` +- `http://hl7.org/fhir/ValueSet/contract-security-control` +- `http://hl7.org/fhir/ValueSet/contract-signer-type` +- `http://hl7.org/fhir/ValueSet/contract-status` +- `http://hl7.org/fhir/ValueSet/contract-subtype` +- `http://hl7.org/fhir/ValueSet/contract-term-subtype` +- `http://hl7.org/fhir/ValueSet/contract-term-type` +- `http://hl7.org/fhir/ValueSet/contract-type` +- `http://hl7.org/fhir/ValueSet/contributor-type` +- `http://hl7.org/fhir/ValueSet/copy-number-event` +- `http://hl7.org/fhir/ValueSet/cosmic` +- `http://hl7.org/fhir/ValueSet/coverage-class` +- `http://hl7.org/fhir/ValueSet/coverage-copay-type` +- `http://hl7.org/fhir/ValueSet/coverage-financial-exception` +- `http://hl7.org/fhir/ValueSet/coverage-selfpay` +- `http://hl7.org/fhir/ValueSet/coverage-type` +- `http://hl7.org/fhir/ValueSet/coverageeligibilityresponse-ex-auth-support` +- `http://hl7.org/fhir/ValueSet/cpt-all` +- `http://hl7.org/fhir/ValueSet/currencies` +- `http://hl7.org/fhir/ValueSet/data-absent-reason` +- `http://hl7.org/fhir/ValueSet/data-types` +- `http://hl7.org/fhir/ValueSet/dataelement-sdcobjectclass` +- `http://hl7.org/fhir/ValueSet/dataelement-sdcobjectclassproperty` +- `http://hl7.org/fhir/ValueSet/days-of-week` +- `http://hl7.org/fhir/ValueSet/dbsnp` +- `http://hl7.org/fhir/ValueSet/defined-types` +- `http://hl7.org/fhir/ValueSet/definition-resource-types` +- `http://hl7.org/fhir/ValueSet/definition-status` +- `http://hl7.org/fhir/ValueSet/definition-topic` +- `http://hl7.org/fhir/ValueSet/definition-use` +- `http://hl7.org/fhir/ValueSet/designation-use` +- `http://hl7.org/fhir/ValueSet/detectedissue-category` +- `http://hl7.org/fhir/ValueSet/detectedissue-mitigation-action` +- `http://hl7.org/fhir/ValueSet/detectedissue-severity` +- `http://hl7.org/fhir/ValueSet/device-action` +- `http://hl7.org/fhir/ValueSet/device-component-property` +- `http://hl7.org/fhir/ValueSet/device-definition-status` +- `http://hl7.org/fhir/ValueSet/device-kind` +- `http://hl7.org/fhir/ValueSet/device-nametype` +- `http://hl7.org/fhir/ValueSet/device-safety` +- `http://hl7.org/fhir/ValueSet/device-statement-status` +- `http://hl7.org/fhir/ValueSet/device-status` +- `http://hl7.org/fhir/ValueSet/device-status-reason` +- `http://hl7.org/fhir/ValueSet/device-type` +- `http://hl7.org/fhir/ValueSet/devicemetric-type` +- `http://hl7.org/fhir/ValueSet/diagnosis-role` +- `http://hl7.org/fhir/ValueSet/diagnostic-based-on-snomed` +- `http://hl7.org/fhir/ValueSet/diagnostic-report-status` +- `http://hl7.org/fhir/ValueSet/diagnostic-service-sections` +- `http://hl7.org/fhir/ValueSet/dicm-405-mediatype` +- `http://hl7.org/fhir/ValueSet/diet-type` +- `http://hl7.org/fhir/ValueSet/discriminator-type` +- `http://hl7.org/fhir/ValueSet/distance-units` +- `http://hl7.org/fhir/ValueSet/doc-section-codes` +- `http://hl7.org/fhir/ValueSet/doc-typecodes` +- `http://hl7.org/fhir/ValueSet/document-classcodes` +- `http://hl7.org/fhir/ValueSet/document-mode` +- `http://hl7.org/fhir/ValueSet/document-reference-status` +- `http://hl7.org/fhir/ValueSet/document-relationship-type` +- `http://hl7.org/fhir/ValueSet/dose-rate-type` +- `http://hl7.org/fhir/ValueSet/duration-units` +- `http://hl7.org/fhir/ValueSet/effect-estimate-type` +- `http://hl7.org/fhir/ValueSet/eligibilityrequest-purpose` +- `http://hl7.org/fhir/ValueSet/eligibilityresponse-purpose` +- `http://hl7.org/fhir/ValueSet/encounter-admit-source` +- `http://hl7.org/fhir/ValueSet/encounter-diet` +- `http://hl7.org/fhir/ValueSet/encounter-discharge-disposition` +- `http://hl7.org/fhir/ValueSet/encounter-location-status` +- `http://hl7.org/fhir/ValueSet/encounter-participant-type` +- `http://hl7.org/fhir/ValueSet/encounter-reason` +- `http://hl7.org/fhir/ValueSet/encounter-special-arrangements` +- `http://hl7.org/fhir/ValueSet/encounter-special-courtesy` +- `http://hl7.org/fhir/ValueSet/encounter-status` +- `http://hl7.org/fhir/ValueSet/encounter-type` +- `http://hl7.org/fhir/ValueSet/endpoint-connection-type` +- `http://hl7.org/fhir/ValueSet/endpoint-payload-type` +- `http://hl7.org/fhir/ValueSet/endpoint-status` +- `http://hl7.org/fhir/ValueSet/ensembl` +- `http://hl7.org/fhir/ValueSet/enteral-route` +- `http://hl7.org/fhir/ValueSet/entformula-additive` +- `http://hl7.org/fhir/ValueSet/entformula-type` +- `http://hl7.org/fhir/ValueSet/episode-of-care-status` +- `http://hl7.org/fhir/ValueSet/episodeofcare-type` +- `http://hl7.org/fhir/ValueSet/event-capability-mode` +- `http://hl7.org/fhir/ValueSet/event-or-request-resource-types` +- `http://hl7.org/fhir/ValueSet/event-resource-types` +- `http://hl7.org/fhir/ValueSet/event-status` +- `http://hl7.org/fhir/ValueSet/event-timing` +- `http://hl7.org/fhir/ValueSet/evidence-quality` +- `http://hl7.org/fhir/ValueSet/evidence-variant-state` +- `http://hl7.org/fhir/ValueSet/ex-benefitcategory` +- `http://hl7.org/fhir/ValueSet/ex-diagnosis-on-admission` +- `http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup` +- `http://hl7.org/fhir/ValueSet/ex-diagnosistype` +- `http://hl7.org/fhir/ValueSet/ex-onsettype` +- `http://hl7.org/fhir/ValueSet/ex-payee-resource-type` +- `http://hl7.org/fhir/ValueSet/ex-paymenttype` +- `http://hl7.org/fhir/ValueSet/ex-procedure-type` +- `http://hl7.org/fhir/ValueSet/ex-program-code` +- `http://hl7.org/fhir/ValueSet/ex-revenue-center` +- `http://hl7.org/fhir/ValueSet/example-expansion` +- `http://hl7.org/fhir/ValueSet/example-extensional` +- `http://hl7.org/fhir/ValueSet/example-filter` +- `http://hl7.org/fhir/ValueSet/example-hierarchical` +- `http://hl7.org/fhir/ValueSet/example-intensional` +- `http://hl7.org/fhir/ValueSet/examplescenario-actor-type` +- `http://hl7.org/fhir/ValueSet/expansion-parameter-source` +- `http://hl7.org/fhir/ValueSet/expansion-processing-rule` +- `http://hl7.org/fhir/ValueSet/explanationofbenefit-status` +- `http://hl7.org/fhir/ValueSet/exposure-state` +- `http://hl7.org/fhir/ValueSet/expression-language` +- `http://hl7.org/fhir/ValueSet/extension-context-type` +- `http://hl7.org/fhir/ValueSet/feeding-device` +- `http://hl7.org/fhir/ValueSet/filter-operator` +- `http://hl7.org/fhir/ValueSet/financial-taskcode` +- `http://hl7.org/fhir/ValueSet/financial-taskinputtype` +- `http://hl7.org/fhir/ValueSet/flag-category` +- `http://hl7.org/fhir/ValueSet/flag-code` +- `http://hl7.org/fhir/ValueSet/flag-priority` +- `http://hl7.org/fhir/ValueSet/flag-status` +- `http://hl7.org/fhir/ValueSet/fm-conditions` +- `http://hl7.org/fhir/ValueSet/fm-itemtype` +- `http://hl7.org/fhir/ValueSet/fm-status` +- `http://hl7.org/fhir/ValueSet/focal-subject` +- `http://hl7.org/fhir/ValueSet/food-type` +- `http://hl7.org/fhir/ValueSet/formatcodes` +- `http://hl7.org/fhir/ValueSet/forms` +- `http://hl7.org/fhir/ValueSet/fundsreserve` +- `http://hl7.org/fhir/ValueSet/gender-identity` +- `http://hl7.org/fhir/ValueSet/genenames` +- `http://hl7.org/fhir/ValueSet/goal-acceptance-status` +- `http://hl7.org/fhir/ValueSet/goal-achievement` +- `http://hl7.org/fhir/ValueSet/goal-category` +- `http://hl7.org/fhir/ValueSet/goal-priority` +- `http://hl7.org/fhir/ValueSet/goal-relationship-type` +- `http://hl7.org/fhir/ValueSet/goal-start-event` +- `http://hl7.org/fhir/ValueSet/goal-status` +- `http://hl7.org/fhir/ValueSet/goal-status-reason` +- `http://hl7.org/fhir/ValueSet/graph-compartment-rule` +- `http://hl7.org/fhir/ValueSet/graph-compartment-use` +- `http://hl7.org/fhir/ValueSet/group-measure` +- `http://hl7.org/fhir/ValueSet/group-type` +- `http://hl7.org/fhir/ValueSet/guidance-response-status` +- `http://hl7.org/fhir/ValueSet/guide-page-generation` +- `http://hl7.org/fhir/ValueSet/guide-parameter-code` +- `http://hl7.org/fhir/ValueSet/handling-condition` +- `http://hl7.org/fhir/ValueSet/history-absent-reason` +- `http://hl7.org/fhir/ValueSet/history-status` +- `http://hl7.org/fhir/ValueSet/hl7-work-group` +- `http://hl7.org/fhir/ValueSet/http-operations` +- `http://hl7.org/fhir/ValueSet/http-verb` +- `http://hl7.org/fhir/ValueSet/icd-10` +- `http://hl7.org/fhir/ValueSet/icd-10-procedures` +- `http://hl7.org/fhir/ValueSet/identifier-type` +- `http://hl7.org/fhir/ValueSet/identifier-use` +- `http://hl7.org/fhir/ValueSet/identity-assuranceLevel` +- `http://hl7.org/fhir/ValueSet/imagingstudy-status` +- `http://hl7.org/fhir/ValueSet/immunization-evaluation-dose-status` +- `http://hl7.org/fhir/ValueSet/immunization-evaluation-dose-status-reason` +- `http://hl7.org/fhir/ValueSet/immunization-evaluation-status` +- `http://hl7.org/fhir/ValueSet/immunization-evaluation-target-disease` +- `http://hl7.org/fhir/ValueSet/immunization-function` +- `http://hl7.org/fhir/ValueSet/immunization-funding-source` +- `http://hl7.org/fhir/ValueSet/immunization-origin` +- `http://hl7.org/fhir/ValueSet/immunization-program-eligibility` +- `http://hl7.org/fhir/ValueSet/immunization-reason` +- `http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion` +- `http://hl7.org/fhir/ValueSet/immunization-recommendation-reason` +- `http://hl7.org/fhir/ValueSet/immunization-recommendation-status` +- `http://hl7.org/fhir/ValueSet/immunization-recommendation-target-disease` +- `http://hl7.org/fhir/ValueSet/immunization-route` +- `http://hl7.org/fhir/ValueSet/immunization-site` +- `http://hl7.org/fhir/ValueSet/immunization-status` +- `http://hl7.org/fhir/ValueSet/immunization-status-reason` +- `http://hl7.org/fhir/ValueSet/immunization-subpotent-reason` +- `http://hl7.org/fhir/ValueSet/immunization-target-disease` +- `http://hl7.org/fhir/ValueSet/implantStatus` +- `http://hl7.org/fhir/ValueSet/inactive` +- `http://hl7.org/fhir/ValueSet/instance-availability` +- `http://hl7.org/fhir/ValueSet/insuranceplan-applicability` +- `http://hl7.org/fhir/ValueSet/insuranceplan-type` +- `http://hl7.org/fhir/ValueSet/intervention` +- `http://hl7.org/fhir/ValueSet/investigation-sets` +- `http://hl7.org/fhir/ValueSet/invoice-priceComponentType` +- `http://hl7.org/fhir/ValueSet/invoice-status` +- `http://hl7.org/fhir/ValueSet/iso3166-1-2` +- `http://hl7.org/fhir/ValueSet/iso3166-1-3` +- `http://hl7.org/fhir/ValueSet/iso3166-1-N` +- `http://hl7.org/fhir/ValueSet/issue-severity` +- `http://hl7.org/fhir/ValueSet/issue-type` +- `http://hl7.org/fhir/ValueSet/item-type` +- `http://hl7.org/fhir/ValueSet/jurisdiction` +- `http://hl7.org/fhir/ValueSet/knowledge-resource-types` +- `http://hl7.org/fhir/ValueSet/language-preference-type` +- `http://hl7.org/fhir/ValueSet/languages` +- `http://hl7.org/fhir/ValueSet/ldlcholesterol-codes` +- `http://hl7.org/fhir/ValueSet/library-type` +- `http://hl7.org/fhir/ValueSet/link-type` +- `http://hl7.org/fhir/ValueSet/linkage-type` +- `http://hl7.org/fhir/ValueSet/list-empty-reason` +- `http://hl7.org/fhir/ValueSet/list-example-codes` +- `http://hl7.org/fhir/ValueSet/list-item-flag` +- `http://hl7.org/fhir/ValueSet/list-mode` +- `http://hl7.org/fhir/ValueSet/list-order` +- `http://hl7.org/fhir/ValueSet/list-status` +- `http://hl7.org/fhir/ValueSet/location-mode` +- `http://hl7.org/fhir/ValueSet/location-physical-type` +- `http://hl7.org/fhir/ValueSet/location-status` +- `http://hl7.org/fhir/ValueSet/manifestation-or-symptom` +- `http://hl7.org/fhir/ValueSet/map-context-type` +- `http://hl7.org/fhir/ValueSet/map-group-type-mode` +- `http://hl7.org/fhir/ValueSet/map-input-mode` +- `http://hl7.org/fhir/ValueSet/map-model-mode` +- `http://hl7.org/fhir/ValueSet/map-source-list-mode` +- `http://hl7.org/fhir/ValueSet/map-target-list-mode` +- `http://hl7.org/fhir/ValueSet/map-transform` +- `http://hl7.org/fhir/ValueSet/marital-status` +- `http://hl7.org/fhir/ValueSet/match-grade` +- `http://hl7.org/fhir/ValueSet/measure-data-usage` +- `http://hl7.org/fhir/ValueSet/measure-improvement-notation` +- `http://hl7.org/fhir/ValueSet/measure-population` +- `http://hl7.org/fhir/ValueSet/measure-report-status` +- `http://hl7.org/fhir/ValueSet/measure-report-type` +- `http://hl7.org/fhir/ValueSet/measure-scoring` +- `http://hl7.org/fhir/ValueSet/measure-type` +- `http://hl7.org/fhir/ValueSet/med-admin-perform-function` +- `http://hl7.org/fhir/ValueSet/media-modality` +- `http://hl7.org/fhir/ValueSet/media-type` +- `http://hl7.org/fhir/ValueSet/media-view` +- `http://hl7.org/fhir/ValueSet/medication-admin-category` +- `http://hl7.org/fhir/ValueSet/medication-admin-status` +- `http://hl7.org/fhir/ValueSet/medication-as-needed-reason` +- `http://hl7.org/fhir/ValueSet/medication-codes` +- `http://hl7.org/fhir/ValueSet/medication-form-codes` +- `http://hl7.org/fhir/ValueSet/medication-statement-category` +- `http://hl7.org/fhir/ValueSet/medication-statement-status` +- `http://hl7.org/fhir/ValueSet/medication-status` +- `http://hl7.org/fhir/ValueSet/medicationdispense-category` +- `http://hl7.org/fhir/ValueSet/medicationdispense-performer-function` +- `http://hl7.org/fhir/ValueSet/medicationdispense-status` +- `http://hl7.org/fhir/ValueSet/medicationdispense-status-reason` +- `http://hl7.org/fhir/ValueSet/medicationknowledge-characteristic` +- `http://hl7.org/fhir/ValueSet/medicationknowledge-package-type` +- `http://hl7.org/fhir/ValueSet/medicationknowledge-status` +- `http://hl7.org/fhir/ValueSet/medicationrequest-category` +- `http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy` +- `http://hl7.org/fhir/ValueSet/medicationrequest-intent` +- `http://hl7.org/fhir/ValueSet/medicationrequest-status` +- `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` +- `http://hl7.org/fhir/ValueSet/message-events` +- `http://hl7.org/fhir/ValueSet/message-reason-encounter` +- `http://hl7.org/fhir/ValueSet/message-significance-category` +- `http://hl7.org/fhir/ValueSet/message-transport` +- `http://hl7.org/fhir/ValueSet/messageheader-response-request` +- `http://hl7.org/fhir/ValueSet/metric-calibration-state` +- `http://hl7.org/fhir/ValueSet/metric-calibration-type` +- `http://hl7.org/fhir/ValueSet/metric-category` +- `http://hl7.org/fhir/ValueSet/metric-color` +- `http://hl7.org/fhir/ValueSet/metric-operational-status` +- `http://hl7.org/fhir/ValueSet/mimetypes` +- `http://hl7.org/fhir/ValueSet/missing-tooth-reason` +- `http://hl7.org/fhir/ValueSet/modified-foodtype` +- `http://hl7.org/fhir/ValueSet/name-assembly-order` +- `http://hl7.org/fhir/ValueSet/name-part-qualifier` +- `http://hl7.org/fhir/ValueSet/name-use` +- `http://hl7.org/fhir/ValueSet/name-v3-representation` +- `http://hl7.org/fhir/ValueSet/namingsystem-identifier-type` +- `http://hl7.org/fhir/ValueSet/namingsystem-type` +- `http://hl7.org/fhir/ValueSet/narrative-status` +- `http://hl7.org/fhir/ValueSet/network-type` +- `http://hl7.org/fhir/ValueSet/nhin-purposeofuse` +- `http://hl7.org/fhir/ValueSet/note-type` +- `http://hl7.org/fhir/ValueSet/nutrient-code` +- `http://hl7.org/fhir/ValueSet/object-lifecycle-events` +- `http://hl7.org/fhir/ValueSet/object-role` +- `http://hl7.org/fhir/ValueSet/observation-category` +- `http://hl7.org/fhir/ValueSet/observation-codes` +- `http://hl7.org/fhir/ValueSet/observation-interpretation` +- `http://hl7.org/fhir/ValueSet/observation-methods` +- `http://hl7.org/fhir/ValueSet/observation-range-category` +- `http://hl7.org/fhir/ValueSet/observation-statistics` +- `http://hl7.org/fhir/ValueSet/observation-status` +- `http://hl7.org/fhir/ValueSet/observation-vitalsignresult` +- `http://hl7.org/fhir/ValueSet/operation-kind` +- `http://hl7.org/fhir/ValueSet/operation-outcome` +- `http://hl7.org/fhir/ValueSet/operation-parameter-use` +- `http://hl7.org/fhir/ValueSet/oral-prosthodontic-material` +- `http://hl7.org/fhir/ValueSet/organization-role` +- `http://hl7.org/fhir/ValueSet/organization-type` +- `http://hl7.org/fhir/ValueSet/orientation-type` +- `http://hl7.org/fhir/ValueSet/parameter-group` +- `http://hl7.org/fhir/ValueSet/parent-relationship-codes` +- `http://hl7.org/fhir/ValueSet/participant-role` +- `http://hl7.org/fhir/ValueSet/participantrequired` +- `http://hl7.org/fhir/ValueSet/participation-role-type` +- `http://hl7.org/fhir/ValueSet/participationstatus` +- `http://hl7.org/fhir/ValueSet/patient-contactrelationship` +- `http://hl7.org/fhir/ValueSet/payeetype` +- `http://hl7.org/fhir/ValueSet/payment-adjustment-reason` +- `http://hl7.org/fhir/ValueSet/payment-status` +- `http://hl7.org/fhir/ValueSet/payment-type` +- `http://hl7.org/fhir/ValueSet/performer-function` +- `http://hl7.org/fhir/ValueSet/performer-role` +- `http://hl7.org/fhir/ValueSet/permitted-data-type` +- `http://hl7.org/fhir/ValueSet/plan-definition-type` +- `http://hl7.org/fhir/ValueSet/postal-address-use` +- `http://hl7.org/fhir/ValueSet/practitioner-role` +- `http://hl7.org/fhir/ValueSet/practitioner-specialty` +- `http://hl7.org/fhir/ValueSet/precision-estimate-type` +- `http://hl7.org/fhir/ValueSet/prepare-patient-prior-specimen-collection` +- `http://hl7.org/fhir/ValueSet/probability-distribution-type` +- `http://hl7.org/fhir/ValueSet/procedure-category` +- `http://hl7.org/fhir/ValueSet/procedure-code` +- `http://hl7.org/fhir/ValueSet/procedure-followup` +- `http://hl7.org/fhir/ValueSet/procedure-not-performed-reason` +- `http://hl7.org/fhir/ValueSet/procedure-outcome` +- `http://hl7.org/fhir/ValueSet/procedure-progress-status-codes` +- `http://hl7.org/fhir/ValueSet/procedure-reason` +- `http://hl7.org/fhir/ValueSet/process-priority` +- `http://hl7.org/fhir/ValueSet/product-category` +- `http://hl7.org/fhir/ValueSet/product-status` +- `http://hl7.org/fhir/ValueSet/product-storage-scale` +- `http://hl7.org/fhir/ValueSet/program` +- `http://hl7.org/fhir/ValueSet/property-representation` +- `http://hl7.org/fhir/ValueSet/provenance-activity-type` +- `http://hl7.org/fhir/ValueSet/provenance-agent-role` +- `http://hl7.org/fhir/ValueSet/provenance-agent-type` +- `http://hl7.org/fhir/ValueSet/provenance-entity-role` +- `http://hl7.org/fhir/ValueSet/provenance-history-agent-type` +- `http://hl7.org/fhir/ValueSet/provenance-history-record-activity` +- `http://hl7.org/fhir/ValueSet/provider-qualification` +- `http://hl7.org/fhir/ValueSet/provider-taxonomy` +- `http://hl7.org/fhir/ValueSet/publication-status` +- `http://hl7.org/fhir/ValueSet/quality-type` +- `http://hl7.org/fhir/ValueSet/quantity-comparator` +- `http://hl7.org/fhir/ValueSet/question-max-occurs` +- `http://hl7.org/fhir/ValueSet/questionnaire-answers` +- `http://hl7.org/fhir/ValueSet/questionnaire-answers-status` +- `http://hl7.org/fhir/ValueSet/questionnaire-category` +- `http://hl7.org/fhir/ValueSet/questionnaire-display-category` +- `http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior` +- `http://hl7.org/fhir/ValueSet/questionnaire-enable-operator` +- `http://hl7.org/fhir/ValueSet/questionnaire-item-control` +- `http://hl7.org/fhir/ValueSet/questionnaire-questions` +- `http://hl7.org/fhir/ValueSet/questionnaire-usage-mode` +- `http://hl7.org/fhir/ValueSet/questionnaireresponse-mode` +- `http://hl7.org/fhir/ValueSet/reaction-event-certainty` +- `http://hl7.org/fhir/ValueSet/reaction-event-severity` +- `http://hl7.org/fhir/ValueSet/reason-medication-given-codes` +- `http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes` +- `http://hl7.org/fhir/ValueSet/reason-medication-status-codes` +- `http://hl7.org/fhir/ValueSet/recommendation-strength` +- `http://hl7.org/fhir/ValueSet/ref-sequences` +- `http://hl7.org/fhir/ValueSet/reference-handling-policy` +- `http://hl7.org/fhir/ValueSet/reference-version-rules` +- `http://hl7.org/fhir/ValueSet/referencerange-appliesto` +- `http://hl7.org/fhir/ValueSet/referencerange-meaning` +- `http://hl7.org/fhir/ValueSet/rejection-criteria` +- `http://hl7.org/fhir/ValueSet/related-artifact-type` +- `http://hl7.org/fhir/ValueSet/related-claim-relationship` +- `http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype` +- `http://hl7.org/fhir/ValueSet/relation-type` +- `http://hl7.org/fhir/ValueSet/relationship` +- `http://hl7.org/fhir/ValueSet/remittance-outcome` +- `http://hl7.org/fhir/ValueSet/report-action-result-codes` +- `http://hl7.org/fhir/ValueSet/report-codes` +- `http://hl7.org/fhir/ValueSet/report-participant-type` +- `http://hl7.org/fhir/ValueSet/report-result-codes` +- `http://hl7.org/fhir/ValueSet/report-status-codes` +- `http://hl7.org/fhir/ValueSet/repository-type` +- `http://hl7.org/fhir/ValueSet/request-intent` +- `http://hl7.org/fhir/ValueSet/request-priority` +- `http://hl7.org/fhir/ValueSet/request-resource-types` +- `http://hl7.org/fhir/ValueSet/request-status` +- `http://hl7.org/fhir/ValueSet/research-element-type` +- `http://hl7.org/fhir/ValueSet/research-study-objective-type` +- `http://hl7.org/fhir/ValueSet/research-study-phase` +- `http://hl7.org/fhir/ValueSet/research-study-prim-purp-type` +- `http://hl7.org/fhir/ValueSet/research-study-reason-stopped` +- `http://hl7.org/fhir/ValueSet/research-study-status` +- `http://hl7.org/fhir/ValueSet/research-subject-status` +- `http://hl7.org/fhir/ValueSet/resource-aggregation-mode` +- `http://hl7.org/fhir/ValueSet/resource-security-category` +- `http://hl7.org/fhir/ValueSet/resource-slicing-rules` +- `http://hl7.org/fhir/ValueSet/resource-status` +- `http://hl7.org/fhir/ValueSet/resource-type-link` +- `http://hl7.org/fhir/ValueSet/resource-types` +- `http://hl7.org/fhir/ValueSet/resource-validation-mode` +- `http://hl7.org/fhir/ValueSet/response-code` +- `http://hl7.org/fhir/ValueSet/restful-capability-mode` +- `http://hl7.org/fhir/ValueSet/restful-security-service` +- `http://hl7.org/fhir/ValueSet/risk-estimate-type` +- `http://hl7.org/fhir/ValueSet/risk-probability` +- `http://hl7.org/fhir/ValueSet/route-codes` +- `http://hl7.org/fhir/ValueSet/search-comparator` +- `http://hl7.org/fhir/ValueSet/search-entry-mode` +- `http://hl7.org/fhir/ValueSet/search-modifier-code` +- `http://hl7.org/fhir/ValueSet/search-param-type` +- `http://hl7.org/fhir/ValueSet/search-xpath-usage` +- `http://hl7.org/fhir/ValueSet/secondary-finding` +- `http://hl7.org/fhir/ValueSet/security-labels` +- `http://hl7.org/fhir/ValueSet/security-role-type` +- `http://hl7.org/fhir/ValueSet/sequence-quality-method` +- `http://hl7.org/fhir/ValueSet/sequence-quality-standardSequence` +- `http://hl7.org/fhir/ValueSet/sequence-referenceSeq` +- `http://hl7.org/fhir/ValueSet/sequence-species` +- `http://hl7.org/fhir/ValueSet/sequence-type` +- `http://hl7.org/fhir/ValueSet/sequenceontology` +- `http://hl7.org/fhir/ValueSet/series-performer-function` +- `http://hl7.org/fhir/ValueSet/service-category` +- `http://hl7.org/fhir/ValueSet/service-modifiers` +- `http://hl7.org/fhir/ValueSet/service-pharmacy` +- `http://hl7.org/fhir/ValueSet/service-place` +- `http://hl7.org/fhir/ValueSet/service-product` +- `http://hl7.org/fhir/ValueSet/service-provision-conditions` +- `http://hl7.org/fhir/ValueSet/service-referral-method` +- `http://hl7.org/fhir/ValueSet/service-type` +- `http://hl7.org/fhir/ValueSet/service-uscls` +- `http://hl7.org/fhir/ValueSet/servicerequest-category` +- `http://hl7.org/fhir/ValueSet/servicerequest-orderdetail` +- `http://hl7.org/fhir/ValueSet/sibling-relationship-codes` +- `http://hl7.org/fhir/ValueSet/signature-type` +- `http://hl7.org/fhir/ValueSet/slotstatus` +- `http://hl7.org/fhir/ValueSet/smart-capabilities` +- `http://hl7.org/fhir/ValueSet/sort-direction` +- `http://hl7.org/fhir/ValueSet/spdx-license` +- `http://hl7.org/fhir/ValueSet/special-values` +- `http://hl7.org/fhir/ValueSet/specimen-collection` +- `http://hl7.org/fhir/ValueSet/specimen-collection-method` +- `http://hl7.org/fhir/ValueSet/specimen-collection-priority` +- `http://hl7.org/fhir/ValueSet/specimen-contained-preference` +- `http://hl7.org/fhir/ValueSet/specimen-container-type` +- `http://hl7.org/fhir/ValueSet/specimen-processing-procedure` +- `http://hl7.org/fhir/ValueSet/specimen-status` +- `http://hl7.org/fhir/ValueSet/standards-status` +- `http://hl7.org/fhir/ValueSet/strand-type` +- `http://hl7.org/fhir/ValueSet/structure-definition-kind` +- `http://hl7.org/fhir/ValueSet/study-type` +- `http://hl7.org/fhir/ValueSet/subject-type` +- `http://hl7.org/fhir/ValueSet/subscriber-relationship` +- `http://hl7.org/fhir/ValueSet/subscription-channel-type` +- `http://hl7.org/fhir/ValueSet/subscription-status` +- `http://hl7.org/fhir/ValueSet/subscription-tag` +- `http://hl7.org/fhir/ValueSet/substance-category` +- `http://hl7.org/fhir/ValueSet/substance-code` +- `http://hl7.org/fhir/ValueSet/substance-status` +- `http://hl7.org/fhir/ValueSet/supplement-type` +- `http://hl7.org/fhir/ValueSet/supply-item` +- `http://hl7.org/fhir/ValueSet/supplydelivery-status` +- `http://hl7.org/fhir/ValueSet/supplydelivery-type` +- `http://hl7.org/fhir/ValueSet/supplyrequest-kind` +- `http://hl7.org/fhir/ValueSet/supplyrequest-reason` +- `http://hl7.org/fhir/ValueSet/supplyrequest-status` +- `http://hl7.org/fhir/ValueSet/surface` +- `http://hl7.org/fhir/ValueSet/synthesis-type` +- `http://hl7.org/fhir/ValueSet/system-restful-interaction` +- `http://hl7.org/fhir/ValueSet/task-code` +- `http://hl7.org/fhir/ValueSet/task-intent` +- `http://hl7.org/fhir/ValueSet/task-status` +- `http://hl7.org/fhir/ValueSet/teeth` +- `http://hl7.org/fhir/ValueSet/template-status-code` +- `http://hl7.org/fhir/ValueSet/testscript-operation-codes` +- `http://hl7.org/fhir/ValueSet/testscript-profile-destination-types` +- `http://hl7.org/fhir/ValueSet/testscript-profile-origin-types` +- `http://hl7.org/fhir/ValueSet/texture-code` +- `http://hl7.org/fhir/ValueSet/timezones` +- `http://hl7.org/fhir/ValueSet/timing-abbreviation` +- `http://hl7.org/fhir/ValueSet/tooth` +- `http://hl7.org/fhir/ValueSet/transaction-mode` +- `http://hl7.org/fhir/ValueSet/trigger-type` +- `http://hl7.org/fhir/ValueSet/type-derivation-rule` +- `http://hl7.org/fhir/ValueSet/type-restful-interaction` +- `http://hl7.org/fhir/ValueSet/ucum-bodylength` +- `http://hl7.org/fhir/ValueSet/ucum-bodytemp` +- `http://hl7.org/fhir/ValueSet/ucum-bodyweight` +- `http://hl7.org/fhir/ValueSet/ucum-common` +- `http://hl7.org/fhir/ValueSet/ucum-units` +- `http://hl7.org/fhir/ValueSet/ucum-vitals-common` +- `http://hl7.org/fhir/ValueSet/udi` +- `http://hl7.org/fhir/ValueSet/udi-entry-type` +- `http://hl7.org/fhir/ValueSet/units-of-time` +- `http://hl7.org/fhir/ValueSet/unknown-content-code` +- `http://hl7.org/fhir/ValueSet/usage-context-type` +- `http://hl7.org/fhir/ValueSet/use-context` +- `http://hl7.org/fhir/ValueSet/vaccine-code` +- `http://hl7.org/fhir/ValueSet/variable-type` +- `http://hl7.org/fhir/ValueSet/variant-state` +- `http://hl7.org/fhir/ValueSet/variants` +- `http://hl7.org/fhir/ValueSet/verificationresult-can-push-updates` +- `http://hl7.org/fhir/ValueSet/verificationresult-communication-method` +- `http://hl7.org/fhir/ValueSet/verificationresult-failure-action` +- `http://hl7.org/fhir/ValueSet/verificationresult-need` +- `http://hl7.org/fhir/ValueSet/verificationresult-primary-source-type` +- `http://hl7.org/fhir/ValueSet/verificationresult-push-type-available` +- `http://hl7.org/fhir/ValueSet/verificationresult-status` +- `http://hl7.org/fhir/ValueSet/verificationresult-validation-process` +- `http://hl7.org/fhir/ValueSet/verificationresult-validation-status` +- `http://hl7.org/fhir/ValueSet/verificationresult-validation-type` +- `http://hl7.org/fhir/ValueSet/versioning-policy` +- `http://hl7.org/fhir/ValueSet/vision-base-codes` +- `http://hl7.org/fhir/ValueSet/vision-eye-codes` +- `http://hl7.org/fhir/ValueSet/vision-product` +- `http://hl7.org/fhir/ValueSet/written-language` +- `http://hl7.org/fhir/ValueSet/yesnodontknow` +- `http://terminology.hl7.org/ValueSet/v2-0001` +- `http://terminology.hl7.org/ValueSet/v2-0002` +- `http://terminology.hl7.org/ValueSet/v2-0003` +- `http://terminology.hl7.org/ValueSet/v2-0004` +- `http://terminology.hl7.org/ValueSet/v2-0005` +- `http://terminology.hl7.org/ValueSet/v2-0007` +- `http://terminology.hl7.org/ValueSet/v2-0008` +- `http://terminology.hl7.org/ValueSet/v2-0009` +- `http://terminology.hl7.org/ValueSet/v2-0012` +- `http://terminology.hl7.org/ValueSet/v2-0017` +- `http://terminology.hl7.org/ValueSet/v2-0023` +- `http://terminology.hl7.org/ValueSet/v2-0027` +- `http://terminology.hl7.org/ValueSet/v2-0033` +- `http://terminology.hl7.org/ValueSet/v2-0034` +- `http://terminology.hl7.org/ValueSet/v2-0038` +- `http://terminology.hl7.org/ValueSet/v2-0043` +- `http://terminology.hl7.org/ValueSet/v2-0048` +- `http://terminology.hl7.org/ValueSet/v2-0052` +- `http://terminology.hl7.org/ValueSet/v2-0061` +- `http://terminology.hl7.org/ValueSet/v2-0062` +- `http://terminology.hl7.org/ValueSet/v2-0063` +- `http://terminology.hl7.org/ValueSet/v2-0065` +- `http://terminology.hl7.org/ValueSet/v2-0066` +- `http://terminology.hl7.org/ValueSet/v2-0069` +- `http://terminology.hl7.org/ValueSet/v2-0070` +- `http://terminology.hl7.org/ValueSet/v2-0074` +- `http://terminology.hl7.org/ValueSet/v2-0076` +- `http://terminology.hl7.org/ValueSet/v2-0078` +- `http://terminology.hl7.org/ValueSet/v2-0080` +- `http://terminology.hl7.org/ValueSet/v2-0083` +- `http://terminology.hl7.org/ValueSet/v2-0085` +- `http://terminology.hl7.org/ValueSet/v2-0091` +- `http://terminology.hl7.org/ValueSet/v2-0092` +- `http://terminology.hl7.org/ValueSet/v2-0098` +- `http://terminology.hl7.org/ValueSet/v2-0100` +- `http://terminology.hl7.org/ValueSet/v2-0102` +- `http://terminology.hl7.org/ValueSet/v2-0103` +- `http://terminology.hl7.org/ValueSet/v2-0104` +- `http://terminology.hl7.org/ValueSet/v2-0105` +- `http://terminology.hl7.org/ValueSet/v2-0106` +- `http://terminology.hl7.org/ValueSet/v2-0107` +- `http://terminology.hl7.org/ValueSet/v2-0108` +- `http://terminology.hl7.org/ValueSet/v2-0109` +- `http://terminology.hl7.org/ValueSet/v2-0116` +- `http://terminology.hl7.org/ValueSet/v2-0119` +- `http://terminology.hl7.org/ValueSet/v2-0121` +- `http://terminology.hl7.org/ValueSet/v2-0122` +- `http://terminology.hl7.org/ValueSet/v2-0123` +- `http://terminology.hl7.org/ValueSet/v2-0124` +- `http://terminology.hl7.org/ValueSet/v2-0125` +- `http://terminology.hl7.org/ValueSet/v2-0126` +- `http://terminology.hl7.org/ValueSet/v2-0127` +- `http://terminology.hl7.org/ValueSet/v2-0128` +- `http://terminology.hl7.org/ValueSet/v2-0130` +- `http://terminology.hl7.org/ValueSet/v2-0131` +- `http://terminology.hl7.org/ValueSet/v2-0133` +- `http://terminology.hl7.org/ValueSet/v2-0135` +- `http://terminology.hl7.org/ValueSet/v2-0136` +- `http://terminology.hl7.org/ValueSet/v2-0137` +- `http://terminology.hl7.org/ValueSet/v2-0140` +- `http://terminology.hl7.org/ValueSet/v2-0141` +- `http://terminology.hl7.org/ValueSet/v2-0142` +- `http://terminology.hl7.org/ValueSet/v2-0144` +- `http://terminology.hl7.org/ValueSet/v2-0145` +- `http://terminology.hl7.org/ValueSet/v2-0146` +- `http://terminology.hl7.org/ValueSet/v2-0147` +- `http://terminology.hl7.org/ValueSet/v2-0148` +- `http://terminology.hl7.org/ValueSet/v2-0149` +- `http://terminology.hl7.org/ValueSet/v2-0150` +- `http://terminology.hl7.org/ValueSet/v2-0153` +- `http://terminology.hl7.org/ValueSet/v2-0155` +- `http://terminology.hl7.org/ValueSet/v2-0156` +- `http://terminology.hl7.org/ValueSet/v2-0157` +- `http://terminology.hl7.org/ValueSet/v2-0158` +- `http://terminology.hl7.org/ValueSet/v2-0159` +- `http://terminology.hl7.org/ValueSet/v2-0160` +- `http://terminology.hl7.org/ValueSet/v2-0161` +- `http://terminology.hl7.org/ValueSet/v2-0162` +- `http://terminology.hl7.org/ValueSet/v2-0163` +- `http://terminology.hl7.org/ValueSet/v2-0164` +- `http://terminology.hl7.org/ValueSet/v2-0165` +- `http://terminology.hl7.org/ValueSet/v2-0166` +- `http://terminology.hl7.org/ValueSet/v2-0167` +- `http://terminology.hl7.org/ValueSet/v2-0168` +- `http://terminology.hl7.org/ValueSet/v2-0169` +- `http://terminology.hl7.org/ValueSet/v2-0170` +- `http://terminology.hl7.org/ValueSet/v2-0173` +- `http://terminology.hl7.org/ValueSet/v2-0174` +- `http://terminology.hl7.org/ValueSet/v2-0175` +- `http://terminology.hl7.org/ValueSet/v2-0177` +- `http://terminology.hl7.org/ValueSet/v2-0178` +- `http://terminology.hl7.org/ValueSet/v2-0179` +- `http://terminology.hl7.org/ValueSet/v2-0180` +- `http://terminology.hl7.org/ValueSet/v2-0181` +- `http://terminology.hl7.org/ValueSet/v2-0183` +- `http://terminology.hl7.org/ValueSet/v2-0185` +- `http://terminology.hl7.org/ValueSet/v2-0187` +- `http://terminology.hl7.org/ValueSet/v2-0189` +- `http://terminology.hl7.org/ValueSet/v2-0190` +- `http://terminology.hl7.org/ValueSet/v2-0191` +- `http://terminology.hl7.org/ValueSet/v2-0193` +- `http://terminology.hl7.org/ValueSet/v2-0200` +- `http://terminology.hl7.org/ValueSet/v2-0201` +- `http://terminology.hl7.org/ValueSet/v2-0202` +- `http://terminology.hl7.org/ValueSet/v2-0203` +- `http://terminology.hl7.org/ValueSet/v2-0204` +- `http://terminology.hl7.org/ValueSet/v2-0205` +- `http://terminology.hl7.org/ValueSet/v2-0206` +- `http://terminology.hl7.org/ValueSet/v2-0207` +- `http://terminology.hl7.org/ValueSet/v2-0208` +- `http://terminology.hl7.org/ValueSet/v2-0209` +- `http://terminology.hl7.org/ValueSet/v2-0210` +- `http://terminology.hl7.org/ValueSet/v2-0211` +- `http://terminology.hl7.org/ValueSet/v2-0213` +- `http://terminology.hl7.org/ValueSet/v2-0214` +- `http://terminology.hl7.org/ValueSet/v2-0215` +- `http://terminology.hl7.org/ValueSet/v2-0216` +- `http://terminology.hl7.org/ValueSet/v2-0217` +- `http://terminology.hl7.org/ValueSet/v2-0220` +- `http://terminology.hl7.org/ValueSet/v2-0223` +- `http://terminology.hl7.org/ValueSet/v2-0224` +- `http://terminology.hl7.org/ValueSet/v2-0225` +- `http://terminology.hl7.org/ValueSet/v2-0227` +- `http://terminology.hl7.org/ValueSet/v2-0228` +- `http://terminology.hl7.org/ValueSet/v2-0229` +- `http://terminology.hl7.org/ValueSet/v2-0230` +- `http://terminology.hl7.org/ValueSet/v2-0231` +- `http://terminology.hl7.org/ValueSet/v2-0232` +- `http://terminology.hl7.org/ValueSet/v2-0234` +- `http://terminology.hl7.org/ValueSet/v2-0235` +- `http://terminology.hl7.org/ValueSet/v2-0236` +- `http://terminology.hl7.org/ValueSet/v2-0237` +- `http://terminology.hl7.org/ValueSet/v2-0238` +- `http://terminology.hl7.org/ValueSet/v2-0239` +- `http://terminology.hl7.org/ValueSet/v2-0240` +- `http://terminology.hl7.org/ValueSet/v2-0241` +- `http://terminology.hl7.org/ValueSet/v2-0242` +- `http://terminology.hl7.org/ValueSet/v2-0243` +- `http://terminology.hl7.org/ValueSet/v2-0247` +- `http://terminology.hl7.org/ValueSet/v2-0248` +- `http://terminology.hl7.org/ValueSet/v2-0250` +- `http://terminology.hl7.org/ValueSet/v2-0251` +- `http://terminology.hl7.org/ValueSet/v2-0252` +- `http://terminology.hl7.org/ValueSet/v2-0253` +- `http://terminology.hl7.org/ValueSet/v2-0254` +- `http://terminology.hl7.org/ValueSet/v2-0255` +- `http://terminology.hl7.org/ValueSet/v2-0256` +- `http://terminology.hl7.org/ValueSet/v2-0257` +- `http://terminology.hl7.org/ValueSet/v2-0258` +- `http://terminology.hl7.org/ValueSet/v2-0259` +- `http://terminology.hl7.org/ValueSet/v2-0260` +- `http://terminology.hl7.org/ValueSet/v2-0261` +- `http://terminology.hl7.org/ValueSet/v2-0262` +- `http://terminology.hl7.org/ValueSet/v2-0263` +- `http://terminology.hl7.org/ValueSet/v2-0265` +- `http://terminology.hl7.org/ValueSet/v2-0267` +- `http://terminology.hl7.org/ValueSet/v2-0268` +- `http://terminology.hl7.org/ValueSet/v2-0269` +- `http://terminology.hl7.org/ValueSet/v2-0270` +- `http://terminology.hl7.org/ValueSet/v2-0271` +- `http://terminology.hl7.org/ValueSet/v2-0272` +- `http://terminology.hl7.org/ValueSet/v2-0273` +- `http://terminology.hl7.org/ValueSet/v2-0275` +- `http://terminology.hl7.org/ValueSet/v2-0276` +- `http://terminology.hl7.org/ValueSet/v2-0277` +- `http://terminology.hl7.org/ValueSet/v2-0278` +- `http://terminology.hl7.org/ValueSet/v2-0279` +- `http://terminology.hl7.org/ValueSet/v2-0280` +- `http://terminology.hl7.org/ValueSet/v2-0281` +- `http://terminology.hl7.org/ValueSet/v2-0282` +- `http://terminology.hl7.org/ValueSet/v2-0283` +- `http://terminology.hl7.org/ValueSet/v2-0284` +- `http://terminology.hl7.org/ValueSet/v2-0286` +- `http://terminology.hl7.org/ValueSet/v2-0287` +- `http://terminology.hl7.org/ValueSet/v2-0290` +- `http://terminology.hl7.org/ValueSet/v2-0291` +- `http://terminology.hl7.org/ValueSet/v2-0292` +- `http://terminology.hl7.org/ValueSet/v2-0294` +- `http://terminology.hl7.org/ValueSet/v2-0298` +- `http://terminology.hl7.org/ValueSet/v2-0299` +- `http://terminology.hl7.org/ValueSet/v2-0301` +- `http://terminology.hl7.org/ValueSet/v2-0305` +- `http://terminology.hl7.org/ValueSet/v2-0309` +- `http://terminology.hl7.org/ValueSet/v2-0311` +- `http://terminology.hl7.org/ValueSet/v2-0315` +- `http://terminology.hl7.org/ValueSet/v2-0316` +- `http://terminology.hl7.org/ValueSet/v2-0317` +- `http://terminology.hl7.org/ValueSet/v2-0321` +- `http://terminology.hl7.org/ValueSet/v2-0322` +- `http://terminology.hl7.org/ValueSet/v2-0323` +- `http://terminology.hl7.org/ValueSet/v2-0324` +- `http://terminology.hl7.org/ValueSet/v2-0325` +- `http://terminology.hl7.org/ValueSet/v2-0326` +- `http://terminology.hl7.org/ValueSet/v2-0329` +- `http://terminology.hl7.org/ValueSet/v2-0330` +- `http://terminology.hl7.org/ValueSet/v2-0331` +- `http://terminology.hl7.org/ValueSet/v2-0332` +- `http://terminology.hl7.org/ValueSet/v2-0334` +- `http://terminology.hl7.org/ValueSet/v2-0335` +- `http://terminology.hl7.org/ValueSet/v2-0336` +- `http://terminology.hl7.org/ValueSet/v2-0337` +- `http://terminology.hl7.org/ValueSet/v2-0338` +- `http://terminology.hl7.org/ValueSet/v2-0339` +- `http://terminology.hl7.org/ValueSet/v2-0344` +- `http://terminology.hl7.org/ValueSet/v2-0350` +- `http://terminology.hl7.org/ValueSet/v2-0351` +- `http://terminology.hl7.org/ValueSet/v2-0353` +- `http://terminology.hl7.org/ValueSet/v2-0354` +- `http://terminology.hl7.org/ValueSet/v2-0355` +- `http://terminology.hl7.org/ValueSet/v2-0356` +- `http://terminology.hl7.org/ValueSet/v2-0357` +- `http://terminology.hl7.org/ValueSet/v2-0359` +- `http://terminology.hl7.org/ValueSet/v2-0363` +- `http://terminology.hl7.org/ValueSet/v2-0364` +- `http://terminology.hl7.org/ValueSet/v2-0365` +- `http://terminology.hl7.org/ValueSet/v2-0366` +- `http://terminology.hl7.org/ValueSet/v2-0367` +- `http://terminology.hl7.org/ValueSet/v2-0368` +- `http://terminology.hl7.org/ValueSet/v2-0369` +- `http://terminology.hl7.org/ValueSet/v2-0370` +- `http://terminology.hl7.org/ValueSet/v2-0371` +- `http://terminology.hl7.org/ValueSet/v2-0372` +- `http://terminology.hl7.org/ValueSet/v2-0373` +- `http://terminology.hl7.org/ValueSet/v2-0374` +- `http://terminology.hl7.org/ValueSet/v2-0375` +- `http://terminology.hl7.org/ValueSet/v2-0376` +- `http://terminology.hl7.org/ValueSet/v2-0377` +- `http://terminology.hl7.org/ValueSet/v2-0383` +- `http://terminology.hl7.org/ValueSet/v2-0384` +- `http://terminology.hl7.org/ValueSet/v2-0387` +- `http://terminology.hl7.org/ValueSet/v2-0388` +- `http://terminology.hl7.org/ValueSet/v2-0389` +- `http://terminology.hl7.org/ValueSet/v2-0392` +- `http://terminology.hl7.org/ValueSet/v2-0393` +- `http://terminology.hl7.org/ValueSet/v2-0394` +- `http://terminology.hl7.org/ValueSet/v2-0395` +- `http://terminology.hl7.org/ValueSet/v2-0396` +- `http://terminology.hl7.org/ValueSet/v2-0397` +- `http://terminology.hl7.org/ValueSet/v2-0398` +- `http://terminology.hl7.org/ValueSet/v2-0401` +- `http://terminology.hl7.org/ValueSet/v2-0402` +- `http://terminology.hl7.org/ValueSet/v2-0403` +- `http://terminology.hl7.org/ValueSet/v2-0404` +- `http://terminology.hl7.org/ValueSet/v2-0406` +- `http://terminology.hl7.org/ValueSet/v2-0409` +- `http://terminology.hl7.org/ValueSet/v2-0411` +- `http://terminology.hl7.org/ValueSet/v2-0415` +- `http://terminology.hl7.org/ValueSet/v2-0416` +- `http://terminology.hl7.org/ValueSet/v2-0417` +- `http://terminology.hl7.org/ValueSet/v2-0418` +- `http://terminology.hl7.org/ValueSet/v2-0421` +- `http://terminology.hl7.org/ValueSet/v2-0422` +- `http://terminology.hl7.org/ValueSet/v2-0423` +- `http://terminology.hl7.org/ValueSet/v2-0424` +- `http://terminology.hl7.org/ValueSet/v2-0425` +- `http://terminology.hl7.org/ValueSet/v2-0426` +- `http://terminology.hl7.org/ValueSet/v2-0427` +- `http://terminology.hl7.org/ValueSet/v2-0428` +- `http://terminology.hl7.org/ValueSet/v2-0429` +- `http://terminology.hl7.org/ValueSet/v2-0430` +- `http://terminology.hl7.org/ValueSet/v2-0431` +- `http://terminology.hl7.org/ValueSet/v2-0432` +- `http://terminology.hl7.org/ValueSet/v2-0433` +- `http://terminology.hl7.org/ValueSet/v2-0434` +- `http://terminology.hl7.org/ValueSet/v2-0435` +- `http://terminology.hl7.org/ValueSet/v2-0436` +- `http://terminology.hl7.org/ValueSet/v2-0437` +- `http://terminology.hl7.org/ValueSet/v2-0438` +- `http://terminology.hl7.org/ValueSet/v2-0440` +- `http://terminology.hl7.org/ValueSet/v2-0441` +- `http://terminology.hl7.org/ValueSet/v2-0442` +- `http://terminology.hl7.org/ValueSet/v2-0443` +- `http://terminology.hl7.org/ValueSet/v2-0444` +- `http://terminology.hl7.org/ValueSet/v2-0445` +- `http://terminology.hl7.org/ValueSet/v2-0450` +- `http://terminology.hl7.org/ValueSet/v2-0455` +- `http://terminology.hl7.org/ValueSet/v2-0456` +- `http://terminology.hl7.org/ValueSet/v2-0457` +- `http://terminology.hl7.org/ValueSet/v2-0459` +- `http://terminology.hl7.org/ValueSet/v2-0460` +- `http://terminology.hl7.org/ValueSet/v2-0465` +- `http://terminology.hl7.org/ValueSet/v2-0466` +- `http://terminology.hl7.org/ValueSet/v2-0468` +- `http://terminology.hl7.org/ValueSet/v2-0469` +- `http://terminology.hl7.org/ValueSet/v2-0470` +- `http://terminology.hl7.org/ValueSet/v2-0472` +- `http://terminology.hl7.org/ValueSet/v2-0473` +- `http://terminology.hl7.org/ValueSet/v2-0474` +- `http://terminology.hl7.org/ValueSet/v2-0475` +- `http://terminology.hl7.org/ValueSet/v2-0477` +- `http://terminology.hl7.org/ValueSet/v2-0478` +- `http://terminology.hl7.org/ValueSet/v2-0480` +- `http://terminology.hl7.org/ValueSet/v2-0482` +- `http://terminology.hl7.org/ValueSet/v2-0483` +- `http://terminology.hl7.org/ValueSet/v2-0484` +- `http://terminology.hl7.org/ValueSet/v2-0485` +- `http://terminology.hl7.org/ValueSet/v2-0487` +- `http://terminology.hl7.org/ValueSet/v2-0488` +- `http://terminology.hl7.org/ValueSet/v2-0489` +- `http://terminology.hl7.org/ValueSet/v2-0490` +- `http://terminology.hl7.org/ValueSet/v2-0491` +- `http://terminology.hl7.org/ValueSet/v2-0492` +- `http://terminology.hl7.org/ValueSet/v2-0493` +- `http://terminology.hl7.org/ValueSet/v2-0494` +- `http://terminology.hl7.org/ValueSet/v2-0495` +- `http://terminology.hl7.org/ValueSet/v2-0496` +- `http://terminology.hl7.org/ValueSet/v2-0497` +- `http://terminology.hl7.org/ValueSet/v2-0498` +- `http://terminology.hl7.org/ValueSet/v2-0499` +- `http://terminology.hl7.org/ValueSet/v2-0500` +- `http://terminology.hl7.org/ValueSet/v2-0501` +- `http://terminology.hl7.org/ValueSet/v2-0502` +- `http://terminology.hl7.org/ValueSet/v2-0503` +- `http://terminology.hl7.org/ValueSet/v2-0504` +- `http://terminology.hl7.org/ValueSet/v2-0505` +- `http://terminology.hl7.org/ValueSet/v2-0506` +- `http://terminology.hl7.org/ValueSet/v2-0507` +- `http://terminology.hl7.org/ValueSet/v2-0508` +- `http://terminology.hl7.org/ValueSet/v2-0510` +- `http://terminology.hl7.org/ValueSet/v2-0511` +- `http://terminology.hl7.org/ValueSet/v2-0513` +- `http://terminology.hl7.org/ValueSet/v2-0514` +- `http://terminology.hl7.org/ValueSet/v2-0516` +- `http://terminology.hl7.org/ValueSet/v2-0517` +- `http://terminology.hl7.org/ValueSet/v2-0518` +- `http://terminology.hl7.org/ValueSet/v2-0520` +- `http://terminology.hl7.org/ValueSet/v2-0523` +- `http://terminology.hl7.org/ValueSet/v2-0524` +- `http://terminology.hl7.org/ValueSet/v2-0527` +- `http://terminology.hl7.org/ValueSet/v2-0528` +- `http://terminology.hl7.org/ValueSet/v2-0529` +- `http://terminology.hl7.org/ValueSet/v2-0530` +- `http://terminology.hl7.org/ValueSet/v2-0532` +- `http://terminology.hl7.org/ValueSet/v2-0534` +- `http://terminology.hl7.org/ValueSet/v2-0535` +- `http://terminology.hl7.org/ValueSet/v2-0536` +- `http://terminology.hl7.org/ValueSet/v2-0538` +- `http://terminology.hl7.org/ValueSet/v2-0540` +- `http://terminology.hl7.org/ValueSet/v2-0544` +- `http://terminology.hl7.org/ValueSet/v2-0547` +- `http://terminology.hl7.org/ValueSet/v2-0548` +- `http://terminology.hl7.org/ValueSet/v2-0550` +- `http://terminology.hl7.org/ValueSet/v2-0553` +- `http://terminology.hl7.org/ValueSet/v2-0554` +- `http://terminology.hl7.org/ValueSet/v2-0555` +- `http://terminology.hl7.org/ValueSet/v2-0556` +- `http://terminology.hl7.org/ValueSet/v2-0557` +- `http://terminology.hl7.org/ValueSet/v2-0558` +- `http://terminology.hl7.org/ValueSet/v2-0559` +- `http://terminology.hl7.org/ValueSet/v2-0561` +- `http://terminology.hl7.org/ValueSet/v2-0562` +- `http://terminology.hl7.org/ValueSet/v2-0564` +- `http://terminology.hl7.org/ValueSet/v2-0565` +- `http://terminology.hl7.org/ValueSet/v2-0566` +- `http://terminology.hl7.org/ValueSet/v2-0569` +- `http://terminology.hl7.org/ValueSet/v2-0570` +- `http://terminology.hl7.org/ValueSet/v2-0571` +- `http://terminology.hl7.org/ValueSet/v2-0572` +- `http://terminology.hl7.org/ValueSet/v2-0615` +- `http://terminology.hl7.org/ValueSet/v2-0616` +- `http://terminology.hl7.org/ValueSet/v2-0617` +- `http://terminology.hl7.org/ValueSet/v2-0618` +- `http://terminology.hl7.org/ValueSet/v2-0625` +- `http://terminology.hl7.org/ValueSet/v2-0634` +- `http://terminology.hl7.org/ValueSet/v2-0642` +- `http://terminology.hl7.org/ValueSet/v2-0651` +- `http://terminology.hl7.org/ValueSet/v2-0653` +- `http://terminology.hl7.org/ValueSet/v2-0657` +- `http://terminology.hl7.org/ValueSet/v2-0659` +- `http://terminology.hl7.org/ValueSet/v2-0667` +- `http://terminology.hl7.org/ValueSet/v2-0669` +- `http://terminology.hl7.org/ValueSet/v2-0682` +- `http://terminology.hl7.org/ValueSet/v2-0702` +- `http://terminology.hl7.org/ValueSet/v2-0717` +- `http://terminology.hl7.org/ValueSet/v2-0719` +- `http://terminology.hl7.org/ValueSet/v2-0725` +- `http://terminology.hl7.org/ValueSet/v2-0728` +- `http://terminology.hl7.org/ValueSet/v2-0731` +- `http://terminology.hl7.org/ValueSet/v2-0734` +- `http://terminology.hl7.org/ValueSet/v2-0739` +- `http://terminology.hl7.org/ValueSet/v2-0742` +- `http://terminology.hl7.org/ValueSet/v2-0749` +- `http://terminology.hl7.org/ValueSet/v2-0755` +- `http://terminology.hl7.org/ValueSet/v2-0757` +- `http://terminology.hl7.org/ValueSet/v2-0759` +- `http://terminology.hl7.org/ValueSet/v2-0761` +- `http://terminology.hl7.org/ValueSet/v2-0763` +- `http://terminology.hl7.org/ValueSet/v2-0776` +- `http://terminology.hl7.org/ValueSet/v2-0778` +- `http://terminology.hl7.org/ValueSet/v2-0790` +- `http://terminology.hl7.org/ValueSet/v2-0793` +- `http://terminology.hl7.org/ValueSet/v2-0806` +- `http://terminology.hl7.org/ValueSet/v2-0818` +- `http://terminology.hl7.org/ValueSet/v2-0834` +- `http://terminology.hl7.org/ValueSet/v2-0868` +- `http://terminology.hl7.org/ValueSet/v2-0871` +- `http://terminology.hl7.org/ValueSet/v2-0881` +- `http://terminology.hl7.org/ValueSet/v2-0882` +- `http://terminology.hl7.org/ValueSet/v2-0894` +- `http://terminology.hl7.org/ValueSet/v2-0895` +- `http://terminology.hl7.org/ValueSet/v2-0904` +- `http://terminology.hl7.org/ValueSet/v2-0905` +- `http://terminology.hl7.org/ValueSet/v2-0906` +- `http://terminology.hl7.org/ValueSet/v2-0907` +- `http://terminology.hl7.org/ValueSet/v2-0909` +- `http://terminology.hl7.org/ValueSet/v2-0912` +- `http://terminology.hl7.org/ValueSet/v2-0914` +- `http://terminology.hl7.org/ValueSet/v2-0916` +- `http://terminology.hl7.org/ValueSet/v2-0917` +- `http://terminology.hl7.org/ValueSet/v2-0918` +- `http://terminology.hl7.org/ValueSet/v2-0919` +- `http://terminology.hl7.org/ValueSet/v2-0920` +- `http://terminology.hl7.org/ValueSet/v2-0921` +- `http://terminology.hl7.org/ValueSet/v2-0922` +- `http://terminology.hl7.org/ValueSet/v2-0923` +- `http://terminology.hl7.org/ValueSet/v2-0924` +- `http://terminology.hl7.org/ValueSet/v2-0925` +- `http://terminology.hl7.org/ValueSet/v2-0926` +- `http://terminology.hl7.org/ValueSet/v2-0927` +- `http://terminology.hl7.org/ValueSet/v2-0933` +- `http://terminology.hl7.org/ValueSet/v2-0935` +- `http://terminology.hl7.org/ValueSet/v2-2.1-0006` +- `http://terminology.hl7.org/ValueSet/v2-2.3.1-0360` +- `http://terminology.hl7.org/ValueSet/v2-2.4-0006` +- `http://terminology.hl7.org/ValueSet/v2-2.4-0391` +- `http://terminology.hl7.org/ValueSet/v2-2.6-0391` +- `http://terminology.hl7.org/ValueSet/v2-2.7-0360` +- `http://terminology.hl7.org/ValueSet/v2-4000` +- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementCondition` +- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementDetailCode` +- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementDetailType` +- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementType` +- `http://terminology.hl7.org/ValueSet/v3-ActClass` +- `http://terminology.hl7.org/ValueSet/v3-ActClassClinicalDocument` +- `http://terminology.hl7.org/ValueSet/v3-ActClassDocument` +- `http://terminology.hl7.org/ValueSet/v3-ActClassInvestigation` +- `http://terminology.hl7.org/ValueSet/v3-ActClassObservation` +- `http://terminology.hl7.org/ValueSet/v3-ActClassProcedure` +- `http://terminology.hl7.org/ValueSet/v3-ActClassROI` +- `http://terminology.hl7.org/ValueSet/v3-ActClassSupply` +- `http://terminology.hl7.org/ValueSet/v3-ActCode` +- `http://terminology.hl7.org/ValueSet/v3-ActConsentDirective` +- `http://terminology.hl7.org/ValueSet/v3-ActConsentType` +- `http://terminology.hl7.org/ValueSet/v3-ActCoverageTypeCode` +- `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode` +- `http://terminology.hl7.org/ValueSet/v3-ActExposureLevelCode` +- `http://terminology.hl7.org/ValueSet/v3-ActIncidentCode` +- `http://terminology.hl7.org/ValueSet/v3-ActInvoiceElementModifier` +- `http://terminology.hl7.org/ValueSet/v3-ActInvoiceGroupCode` +- `http://terminology.hl7.org/ValueSet/v3-ActMood` +- `http://terminology.hl7.org/ValueSet/v3-ActMoodIntent` +- `http://terminology.hl7.org/ValueSet/v3-ActMoodPredicate` +- `http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType` +- `http://terminology.hl7.org/ValueSet/v3-ActPriority` +- `http://terminology.hl7.org/ValueSet/v3-ActReason` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipCheckpoint` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipConditional` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipFulfills` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipHasComponent` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipJoin` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipPertains` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipSplit` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipSubset` +- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipType` +- `http://terminology.hl7.org/ValueSet/v3-ActSite` +- `http://terminology.hl7.org/ValueSet/v3-ActStatus` +- `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode` +- `http://terminology.hl7.org/ValueSet/v3-ActTaskCode` +- `http://terminology.hl7.org/ValueSet/v3-ActUSPrivacyLaw` +- `http://terminology.hl7.org/ValueSet/v3-ActUncertainty` +- `http://terminology.hl7.org/ValueSet/v3-AddressPartType` +- `http://terminology.hl7.org/ValueSet/v3-AddressUse` +- `http://terminology.hl7.org/ValueSet/v3-AdministrativeGender` +- `http://terminology.hl7.org/ValueSet/v3-AmericanIndianAlaskaNativeLanguages` +- `http://terminology.hl7.org/ValueSet/v3-Calendar` +- `http://terminology.hl7.org/ValueSet/v3-CalendarCycle` +- `http://terminology.hl7.org/ValueSet/v3-CalendarType` +- `http://terminology.hl7.org/ValueSet/v3-Charset` +- `http://terminology.hl7.org/ValueSet/v3-CodingRationale` +- `http://terminology.hl7.org/ValueSet/v3-CommunicationFunctionType` +- `http://terminology.hl7.org/ValueSet/v3-Compartment` +- `http://terminology.hl7.org/ValueSet/v3-CompressionAlgorithm` +- `http://terminology.hl7.org/ValueSet/v3-Confidentiality` +- `http://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification` +- `http://terminology.hl7.org/ValueSet/v3-ContainerCap` +- `http://terminology.hl7.org/ValueSet/v3-ContainerSeparator` +- `http://terminology.hl7.org/ValueSet/v3-ContentProcessingMode` +- `http://terminology.hl7.org/ValueSet/v3-ContextControl` +- `http://terminology.hl7.org/ValueSet/v3-DataOperation` +- `http://terminology.hl7.org/ValueSet/v3-Dentition` +- `http://terminology.hl7.org/ValueSet/v3-DeviceAlertLevel` +- `http://terminology.hl7.org/ValueSet/v3-DocumentCompletion` +- `http://terminology.hl7.org/ValueSet/v3-DocumentSectionType` +- `http://terminology.hl7.org/ValueSet/v3-DocumentStorage` +- `http://terminology.hl7.org/ValueSet/v3-EducationLevel` +- `http://terminology.hl7.org/ValueSet/v3-EmployeeJobClass` +- `http://terminology.hl7.org/ValueSet/v3-EncounterAdmissionSource` +- `http://terminology.hl7.org/ValueSet/v3-EncounterSpecialCourtesy` +- `http://terminology.hl7.org/ValueSet/v3-EntityClass` +- `http://terminology.hl7.org/ValueSet/v3-EntityClassDevice` +- `http://terminology.hl7.org/ValueSet/v3-EntityClassLivingSubject` +- `http://terminology.hl7.org/ValueSet/v3-EntityClassManufacturedMaterial` +- `http://terminology.hl7.org/ValueSet/v3-EntityClassOrganization` +- `http://terminology.hl7.org/ValueSet/v3-EntityClassPlace` +- `http://terminology.hl7.org/ValueSet/v3-EntityClassRoot` +- `http://terminology.hl7.org/ValueSet/v3-EntityCode` +- `http://terminology.hl7.org/ValueSet/v3-EntityDeterminer` +- `http://terminology.hl7.org/ValueSet/v3-EntityDeterminerDetermined` +- `http://terminology.hl7.org/ValueSet/v3-EntityHandling` +- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartQualifier` +- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartQualifierR2` +- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartType` +- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartTypeR2` +- `http://terminology.hl7.org/ValueSet/v3-EntityNameUse` +- `http://terminology.hl7.org/ValueSet/v3-EntityNameUseR2` +- `http://terminology.hl7.org/ValueSet/v3-EntityRisk` +- `http://terminology.hl7.org/ValueSet/v3-EntityStatus` +- `http://terminology.hl7.org/ValueSet/v3-EquipmentAlertLevel` +- `http://terminology.hl7.org/ValueSet/v3-Ethnicity` +- `http://terminology.hl7.org/ValueSet/v3-ExposureMode` +- `http://terminology.hl7.org/ValueSet/v3-FamilyMember` +- `http://terminology.hl7.org/ValueSet/v3-GTSAbbreviation` +- `http://terminology.hl7.org/ValueSet/v3-GenderStatus` +- `http://terminology.hl7.org/ValueSet/v3-GeneralPurposeOfUse` +- `http://terminology.hl7.org/ValueSet/v3-HL7ContextConductionStyle` +- `http://terminology.hl7.org/ValueSet/v3-HL7StandardVersionCode` +- `http://terminology.hl7.org/ValueSet/v3-HL7UpdateMode` +- `http://terminology.hl7.org/ValueSet/v3-HtmlLinkType` +- `http://terminology.hl7.org/ValueSet/v3-HumanLanguage` +- `http://terminology.hl7.org/ValueSet/v3-IdentifierReliability` +- `http://terminology.hl7.org/ValueSet/v3-IdentifierScope` +- `http://terminology.hl7.org/ValueSet/v3-InformationSensitivityPolicy` +- `http://terminology.hl7.org/ValueSet/v3-IntegrityCheckAlgorithm` +- `http://terminology.hl7.org/ValueSet/v3-LanguageAbilityMode` +- `http://terminology.hl7.org/ValueSet/v3-LanguageAbilityProficiency` +- `http://terminology.hl7.org/ValueSet/v3-LivingArrangement` +- `http://terminology.hl7.org/ValueSet/v3-LocalMarkupIgnore` +- `http://terminology.hl7.org/ValueSet/v3-LocalRemoteControlState` +- `http://terminology.hl7.org/ValueSet/v3-ManagedParticipationStatus` +- `http://terminology.hl7.org/ValueSet/v3-MapRelationship` +- `http://terminology.hl7.org/ValueSet/v3-MaritalStatus` +- `http://terminology.hl7.org/ValueSet/v3-MessageWaitingPriority` +- `http://terminology.hl7.org/ValueSet/v3-MilitaryRoleType` +- `http://terminology.hl7.org/ValueSet/v3-ModifyIndicator` +- `http://terminology.hl7.org/ValueSet/v3-NullFlavor` +- `http://terminology.hl7.org/ValueSet/v3-ObligationPolicy` +- `http://terminology.hl7.org/ValueSet/v3-ObservationCategory` +- `http://terminology.hl7.org/ValueSet/v3-ObservationInterpretation` +- `http://terminology.hl7.org/ValueSet/v3-ObservationMethod` +- `http://terminology.hl7.org/ValueSet/v3-ObservationType` +- `http://terminology.hl7.org/ValueSet/v3-ObservationValue` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationFunction` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationIndirectTarget` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationInformationGenerator` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationInformationTranscriber` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationMode` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationPhysicalPerformer` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationSignature` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationTargetDirect` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationTargetLocation` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationTargetSubject` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationType` +- `http://terminology.hl7.org/ValueSet/v3-ParticipationVerifier` +- `http://terminology.hl7.org/ValueSet/v3-PatientImportance` +- `http://terminology.hl7.org/ValueSet/v3-PaymentTerms` +- `http://terminology.hl7.org/ValueSet/v3-PersonDisabilityType` +- `http://terminology.hl7.org/ValueSet/v3-PersonalRelationshipRoleType` +- `http://terminology.hl7.org/ValueSet/v3-ProbabilityDistributionType` +- `http://terminology.hl7.org/ValueSet/v3-ProcessingID` +- `http://terminology.hl7.org/ValueSet/v3-ProcessingMode` +- `http://terminology.hl7.org/ValueSet/v3-ProvenanceEventCurrentState` +- `http://terminology.hl7.org/ValueSet/v3-ProvenanceEventCurrentState-AS` +- `http://terminology.hl7.org/ValueSet/v3-ProvenanceEventCurrentState-DC` +- `http://terminology.hl7.org/ValueSet/v3-PurposeOfUse` +- `http://terminology.hl7.org/ValueSet/v3-QueryParameterValue` +- `http://terminology.hl7.org/ValueSet/v3-QueryPriority` +- `http://terminology.hl7.org/ValueSet/v3-QueryRequestLimit` +- `http://terminology.hl7.org/ValueSet/v3-QueryResponse` +- `http://terminology.hl7.org/ValueSet/v3-QueryStatusCode` +- `http://terminology.hl7.org/ValueSet/v3-Race` +- `http://terminology.hl7.org/ValueSet/v3-RefrainPolicy` +- `http://terminology.hl7.org/ValueSet/v3-RelationalOperator` +- `http://terminology.hl7.org/ValueSet/v3-RelationshipConjunction` +- `http://terminology.hl7.org/ValueSet/v3-ReligiousAffiliation` +- `http://terminology.hl7.org/ValueSet/v3-ResponseLevel` +- `http://terminology.hl7.org/ValueSet/v3-ResponseModality` +- `http://terminology.hl7.org/ValueSet/v3-ResponseMode` +- `http://terminology.hl7.org/ValueSet/v3-RoleClass` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassAgent` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassAssociative` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassManufacturedProduct` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassMutualRelationship` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassPartitive` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassPassive` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassRelationshipFormal` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassRoot` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassServiceDeliveryLocation` +- `http://terminology.hl7.org/ValueSet/v3-RoleClassSpecimen` +- `http://terminology.hl7.org/ValueSet/v3-RoleCode` +- `http://terminology.hl7.org/ValueSet/v3-RoleLinkStatus` +- `http://terminology.hl7.org/ValueSet/v3-RoleLinkType` +- `http://terminology.hl7.org/ValueSet/v3-RoleStatus` +- `http://terminology.hl7.org/ValueSet/v3-RouteOfAdministration` +- `http://terminology.hl7.org/ValueSet/v3-SecurityControlObservationValue` +- `http://terminology.hl7.org/ValueSet/v3-SecurityIntegrityObservationValue` +- `http://terminology.hl7.org/ValueSet/v3-SecurityPolicy` +- `http://terminology.hl7.org/ValueSet/v3-Sequencing` +- `http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType` +- `http://terminology.hl7.org/ValueSet/v3-SetOperator` +- `http://terminology.hl7.org/ValueSet/v3-SeverityObservation` +- `http://terminology.hl7.org/ValueSet/v3-SpecimenType` +- `http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason` +- `http://terminology.hl7.org/ValueSet/v3-SubstitutionCondition` +- `http://terminology.hl7.org/ValueSet/v3-TableCellHorizontalAlign` +- `http://terminology.hl7.org/ValueSet/v3-TableCellScope` +- `http://terminology.hl7.org/ValueSet/v3-TableCellVerticalAlign` +- `http://terminology.hl7.org/ValueSet/v3-TableFrame` +- `http://terminology.hl7.org/ValueSet/v3-TableRules` +- `http://terminology.hl7.org/ValueSet/v3-TargetAwareness` +- `http://terminology.hl7.org/ValueSet/v3-TelecommunicationCapabilities` +- `http://terminology.hl7.org/ValueSet/v3-TimingEvent` +- `http://terminology.hl7.org/ValueSet/v3-TransmissionRelationshipTypeCode` +- `http://terminology.hl7.org/ValueSet/v3-TribalEntityUS` +- `http://terminology.hl7.org/ValueSet/v3-VaccineManufacturer` +- `http://terminology.hl7.org/ValueSet/v3-VerificationMethod` +- `http://terminology.hl7.org/ValueSet/v3-WorkClassificationODH` +- `http://terminology.hl7.org/ValueSet/v3-WorkScheduleODH` +- `http://terminology.hl7.org/ValueSet/v3-employmentStatusODH` +- `http://terminology.hl7.org/ValueSet/v3-hl7ApprovalStatus` +- `http://terminology.hl7.org/ValueSet/v3-hl7CMETAttribution` +- `http://terminology.hl7.org/ValueSet/v3-hl7ITSType` +- `http://terminology.hl7.org/ValueSet/v3-hl7ITSVersionCode` +- `http://terminology.hl7.org/ValueSet/v3-hl7PublishingDomain` +- `http://terminology.hl7.org/ValueSet/v3-hl7PublishingSection` +- `http://terminology.hl7.org/ValueSet/v3-hl7PublishingSubSection` +- `http://terminology.hl7.org/ValueSet/v3-hl7Realm` +- `http://terminology.hl7.org/ValueSet/v3-hl7V3Conformance` +- `http://terminology.hl7.org/ValueSet/v3-hl7VoteResolution` +- `http://terminology.hl7.org/ValueSet/v3-orderableDrugForm` +- `http://terminology.hl7.org/ValueSet/v3-policyHolderRole` +- `http://terminology.hl7.org/ValueSet/v3-styleType` +- `http://terminology.hl7.org/ValueSet/v3-substanceAdminSubstitution` +- `http://terminology.hl7.org/ValueSet/v3-triggerEventID` +- `http://terminology.hl7.org/ValueSet/v3-xBasicConfidentialityKind` + +## Package: `shared` + +### Skipped Canonicals + +- `urn:fhir:binding:AccidentType` +- `urn:fhir:binding:AccountStatus` +- `urn:fhir:binding:AccountType` +- `urn:fhir:binding:ActionCardinalityBehavior` +- `urn:fhir:binding:ActionConditionKind` +- `urn:fhir:binding:ActionGroupingBehavior` +- `urn:fhir:binding:ActionParticipantRole` +- `urn:fhir:binding:ActionParticipantType` +- `urn:fhir:binding:ActionPrecheckBehavior` +- `urn:fhir:binding:ActionRelationshipType` +- `urn:fhir:binding:ActionRequiredBehavior` +- `urn:fhir:binding:ActionSelectionBehavior` +- `urn:fhir:binding:ActionType` +- `urn:fhir:binding:ActivityDefinitionKind` +- `urn:fhir:binding:ActivityDefinitionType` +- `urn:fhir:binding:ActivityParticipantRole` +- `urn:fhir:binding:ActivityParticipantType` +- `urn:fhir:binding:Adjudication` +- `urn:fhir:binding:AdjudicationError` +- `urn:fhir:binding:AdjudicationReason` +- `urn:fhir:binding:AdjunctDiagnosis` +- `urn:fhir:binding:AdmitSource` +- `urn:fhir:binding:AdverseEventActuality` +- `urn:fhir:binding:AdverseEventCategory` +- `urn:fhir:binding:AdverseEventCausalityAssessment` +- `urn:fhir:binding:AdverseEventCausalityMethod` +- `urn:fhir:binding:AdverseEventOutcome` +- `urn:fhir:binding:AdverseEventSeriousness` +- `urn:fhir:binding:AdverseEventSeverity` +- `urn:fhir:binding:AdverseEventType` +- `urn:fhir:binding:AggregationMode` +- `urn:fhir:binding:AllergyIntoleranceCategory` +- `urn:fhir:binding:AllergyIntoleranceClinicalStatus` +- `urn:fhir:binding:AllergyIntoleranceCode` +- `urn:fhir:binding:AllergyIntoleranceCriticality` +- `urn:fhir:binding:AllergyIntoleranceSeverity` +- `urn:fhir:binding:AllergyIntoleranceType` +- `urn:fhir:binding:AllergyIntoleranceVerificationStatus` +- `urn:fhir:binding:AppointmentStatus` +- `urn:fhir:binding:ApptReason` +- `urn:fhir:binding:Arrangements` +- `urn:fhir:binding:AssertionDirectionType` +- `urn:fhir:binding:AssertionOperatorType` +- `urn:fhir:binding:AssertionResponseTypes` +- `urn:fhir:binding:AssetAvailabilityType` +- `urn:fhir:binding:AuditAgentRole` +- `urn:fhir:binding:AuditAgentType` +- `urn:fhir:binding:AuditEventAction` +- `urn:fhir:binding:AuditEventAgentNetworkType` +- `urn:fhir:binding:AuditEventEntityLifecycle` +- `urn:fhir:binding:AuditEventEntityRole` +- `urn:fhir:binding:AuditEventEntityType` +- `urn:fhir:binding:AuditEventOutcome` +- `urn:fhir:binding:AuditEventSourceType` +- `urn:fhir:binding:AuditEventSubType` +- `urn:fhir:binding:AuditEventType` +- `urn:fhir:binding:AuditPurposeOfUse` +- `urn:fhir:binding:AuthSupporting` +- `urn:fhir:binding:BasicResourceType` +- `urn:fhir:binding:BenefitCategory` +- `urn:fhir:binding:BenefitCostApplicability` +- `urn:fhir:binding:BenefitNetwork` +- `urn:fhir:binding:BenefitTerm` +- `urn:fhir:binding:BenefitType` +- `urn:fhir:binding:BenefitUnit` +- `urn:fhir:binding:BindingStrength` +- `urn:fhir:binding:BiologicallyDerivedProductCategory` +- `urn:fhir:binding:BiologicallyDerivedProductProcedure` +- `urn:fhir:binding:BiologicallyDerivedProductStatus` +- `urn:fhir:binding:BiologicallyDerivedProductStorageScale` +- `urn:fhir:binding:BodyLengthUnits` +- `urn:fhir:binding:BodyStructureCode` +- `urn:fhir:binding:BodyStructureQualifier` +- `urn:fhir:binding:BodyTempUnits` +- `urn:fhir:binding:BodyWeightUnits` +- `urn:fhir:binding:CapabilityStatementKind` +- `urn:fhir:binding:CarePlanActivityKind` +- `urn:fhir:binding:CarePlanActivityOutcome` +- `urn:fhir:binding:CarePlanActivityReason` +- `urn:fhir:binding:CarePlanActivityStatus` +- `urn:fhir:binding:CarePlanActivityType` +- `urn:fhir:binding:CarePlanCategory` +- `urn:fhir:binding:CarePlanIntent` +- `urn:fhir:binding:CarePlanStatus` +- `urn:fhir:binding:CareTeamCategory` +- `urn:fhir:binding:CareTeamParticipantRole` +- `urn:fhir:binding:CareTeamReason` +- `urn:fhir:binding:CareTeamRole` +- `urn:fhir:binding:CareTeamStatus` +- `urn:fhir:binding:CatalogEntryRelationType` +- `urn:fhir:binding:CatalogType` +- `urn:fhir:binding:CertaintySubcomponentRating` +- `urn:fhir:binding:CertaintySubcomponentType` +- `urn:fhir:binding:ChargeItemCode` +- `urn:fhir:binding:ChargeItemDefinitionCode` +- `urn:fhir:binding:ChargeItemDefinitionPriceComponentType` +- `urn:fhir:binding:ChargeItemPerformerFunction` +- `urn:fhir:binding:ChargeItemReason` +- `urn:fhir:binding:ChargeItemStatus` +- `urn:fhir:binding:ClaimResponseStatus` +- `urn:fhir:binding:ClaimStatus` +- `urn:fhir:binding:ClaimSubType` +- `urn:fhir:binding:ClaimType` +- `urn:fhir:binding:ClinicalImpressionPrognosis` +- `urn:fhir:binding:ClinicalImpressionStatus` +- `urn:fhir:binding:CodeSearchSupport` +- `urn:fhir:binding:CodeSystemContentMode` +- `urn:fhir:binding:CodeSystemHierarchyMeaning` +- `urn:fhir:binding:CollectedSpecimenType` +- `urn:fhir:binding:CommunicationCategory` +- `urn:fhir:binding:CommunicationMedium` +- `urn:fhir:binding:CommunicationNotDoneReason` +- `urn:fhir:binding:CommunicationPriority` +- `urn:fhir:binding:CommunicationReason` +- `urn:fhir:binding:CommunicationRequestStatus` +- `urn:fhir:binding:CommunicationStatus` +- `urn:fhir:binding:CommunicationTopic` +- `urn:fhir:binding:CompartmentCode` +- `urn:fhir:binding:CompartmentType` +- `urn:fhir:binding:CompositeMeasureScoring` +- `urn:fhir:binding:CompositionAttestationMode` +- `urn:fhir:binding:CompositionSectionType` +- `urn:fhir:binding:CompositionStatus` +- `urn:fhir:binding:ConceptDesignationUse` +- `urn:fhir:binding:ConceptMapEquivalence` +- `urn:fhir:binding:ConceptMapGroupUnmappedMode` +- `urn:fhir:binding:ConditionCategory` +- `urn:fhir:binding:ConditionClinicalStatus` +- `urn:fhir:binding:ConditionCode` +- `urn:fhir:binding:ConditionKind` +- `urn:fhir:binding:ConditionOutcome` +- `urn:fhir:binding:ConditionSeverity` +- `urn:fhir:binding:ConditionStage` +- `urn:fhir:binding:ConditionStageType` +- `urn:fhir:binding:ConditionVerificationStatus` +- `urn:fhir:binding:ConditionalDeleteStatus` +- `urn:fhir:binding:ConditionalReadStatus` +- `urn:fhir:binding:ConsentAction` +- `urn:fhir:binding:ConsentActorRole` +- `urn:fhir:binding:ConsentCategory` +- `urn:fhir:binding:ConsentContentClass` +- `urn:fhir:binding:ConsentContentCode` +- `urn:fhir:binding:ConsentDataMeaning` +- `urn:fhir:binding:ConsentPolicyRule` +- `urn:fhir:binding:ConsentProvisionType` +- `urn:fhir:binding:ConsentScope` +- `urn:fhir:binding:ConsentState` +- `urn:fhir:binding:ConstraintSeverity` +- `urn:fhir:binding:ContactPartyType` +- `urn:fhir:binding:ContainerCap` +- `urn:fhir:binding:ContainerMaterial` +- `urn:fhir:binding:ContainerType` +- `urn:fhir:binding:ContractAction` +- `urn:fhir:binding:ContractActionPerformerRole` +- `urn:fhir:binding:ContractActionPerformerType` +- `urn:fhir:binding:ContractActionReason` +- `urn:fhir:binding:ContractActionStatus` +- `urn:fhir:binding:ContractActorRole` +- `urn:fhir:binding:ContractAssetContext` +- `urn:fhir:binding:ContractAssetScope` +- `urn:fhir:binding:ContractAssetSubtype` +- `urn:fhir:binding:ContractAssetType` +- `urn:fhir:binding:ContractContentDerivative` +- `urn:fhir:binding:ContractDecisionMode` +- `urn:fhir:binding:ContractDecisionType` +- `urn:fhir:binding:ContractDefinitionSubtype` +- `urn:fhir:binding:ContractDefinitionType` +- `urn:fhir:binding:ContractExpiration` +- `urn:fhir:binding:ContractLegalState` +- `urn:fhir:binding:ContractPartyRole` +- `urn:fhir:binding:ContractPublicationStatus` +- `urn:fhir:binding:ContractScope` +- `urn:fhir:binding:ContractSecurityCategory` +- `urn:fhir:binding:ContractSecurityClassification` +- `urn:fhir:binding:ContractSecurityControl` +- `urn:fhir:binding:ContractSignerType` +- `urn:fhir:binding:ContractStatus` +- `urn:fhir:binding:ContractSubtype` +- `urn:fhir:binding:ContractTermSubType` +- `urn:fhir:binding:ContractTermType` +- `urn:fhir:binding:ContractType` +- `urn:fhir:binding:CopayTypes` +- `urn:fhir:binding:Courtesies` +- `urn:fhir:binding:CoverageClass` +- `urn:fhir:binding:CoverageFinancialException` +- `urn:fhir:binding:CoverageStatus` +- `urn:fhir:binding:CoverageType` +- `urn:fhir:binding:DICOMMediaType` +- `urn:fhir:binding:DaysOfWeek` +- `urn:fhir:binding:DefinitionTopic` +- `urn:fhir:binding:DetectedIssueCategory` +- `urn:fhir:binding:DetectedIssueEvidenceCode` +- `urn:fhir:binding:DetectedIssueMitigationAction` +- `urn:fhir:binding:DetectedIssueSeverity` +- `urn:fhir:binding:DetectedIssueStatus` +- `urn:fhir:binding:DeviceActionKind` +- `urn:fhir:binding:DeviceKind` +- `urn:fhir:binding:DeviceMetricCalibrationState` +- `urn:fhir:binding:DeviceMetricCalibrationType` +- `urn:fhir:binding:DeviceMetricCategory` +- `urn:fhir:binding:DeviceMetricColor` +- `urn:fhir:binding:DeviceMetricOperationalStatus` +- `urn:fhir:binding:DeviceNameType` +- `urn:fhir:binding:DeviceRequestParticipantRole` +- `urn:fhir:binding:DeviceRequestReason` +- `urn:fhir:binding:DeviceRequestStatus` +- `urn:fhir:binding:DeviceType` +- `urn:fhir:binding:DeviceUseStatementStatus` +- `urn:fhir:binding:DiagnosisOnAdmission` +- `urn:fhir:binding:DiagnosisRelatedGroup` +- `urn:fhir:binding:DiagnosisRole` +- `urn:fhir:binding:DiagnosisType` +- `urn:fhir:binding:DiagnosticReportCodes` +- `urn:fhir:binding:DiagnosticReportStatus` +- `urn:fhir:binding:DiagnosticServiceSection` +- `urn:fhir:binding:DischargeDisp` +- `urn:fhir:binding:DiscriminatorType` +- `urn:fhir:binding:DocumentC80Class` +- `urn:fhir:binding:DocumentC80FacilityType` +- `urn:fhir:binding:DocumentC80PracticeSetting` +- `urn:fhir:binding:DocumentC80Type` +- `urn:fhir:binding:DocumentCategory` +- `urn:fhir:binding:DocumentConfidentiality` +- `urn:fhir:binding:DocumentEventType` +- `urn:fhir:binding:DocumentFormat` +- `urn:fhir:binding:DocumentMode` +- `urn:fhir:binding:DocumentReferenceStatus` +- `urn:fhir:binding:DocumentRelationshipType` +- `urn:fhir:binding:DocumentType` +- `urn:fhir:binding:EffectEstimateType` +- `urn:fhir:binding:ElementDefinitionCode` +- `urn:fhir:binding:EligibilityRequestPurpose` +- `urn:fhir:binding:EligibilityRequestStatus` +- `urn:fhir:binding:EligibilityResponsePurpose` +- `urn:fhir:binding:EligibilityResponseStatus` +- `urn:fhir:binding:EnableWhenBehavior` +- `urn:fhir:binding:EncounterClass` +- `urn:fhir:binding:EncounterLocationStatus` +- `urn:fhir:binding:EncounterReason` +- `urn:fhir:binding:EncounterServiceType` +- `urn:fhir:binding:EncounterStatus` +- `urn:fhir:binding:EncounterType` +- `urn:fhir:binding:EndpointStatus` +- `urn:fhir:binding:EnrollmentRequestStatus` +- `urn:fhir:binding:EnrollmentResponseStatus` +- `urn:fhir:binding:EnteralFormulaAdditiveType` +- `urn:fhir:binding:EnteralFormulaType` +- `urn:fhir:binding:EnteralRouteOfAdministration` +- `urn:fhir:binding:EpisodeOfCareStatus` +- `urn:fhir:binding:EpisodeOfCareType` +- `urn:fhir:binding:EvaluationDoseStatus` +- `urn:fhir:binding:EvaluationDoseStatusReason` +- `urn:fhir:binding:EvaluationTargetDisease` +- `urn:fhir:binding:EventCapabilityMode` +- `urn:fhir:binding:EventPerformerFunction` +- `urn:fhir:binding:EventReason` +- `urn:fhir:binding:EvidenceVariableType` +- `urn:fhir:binding:EvidenceVariantState` +- `urn:fhir:binding:ExampleScenarioActorType` +- `urn:fhir:binding:ExplanationOfBenefitStatus` +- `urn:fhir:binding:ExposureState` +- `urn:fhir:binding:ExtensionContextType` +- `urn:fhir:binding:FHIRDefinedType` +- `urn:fhir:binding:FHIRDefinedTypeExt` +- `urn:fhir:binding:FHIRDeviceStatus` +- `urn:fhir:binding:FHIRDeviceStatusReason` +- `urn:fhir:binding:FHIRResourceType` +- `urn:fhir:binding:FHIRSubstanceStatus` +- `urn:fhir:binding:FHIRVersion` +- `urn:fhir:binding:FamilialRelationship` +- `urn:fhir:binding:FamilyHistoryAbsentReason` +- `urn:fhir:binding:FamilyHistoryReason` +- `urn:fhir:binding:FamilyHistoryStatus` +- `urn:fhir:binding:FilterOperator` +- `urn:fhir:binding:FlagCategory` +- `urn:fhir:binding:FlagCode` +- `urn:fhir:binding:FlagStatus` +- `urn:fhir:binding:FluidConsistencyType` +- `urn:fhir:binding:FoodType` +- `urn:fhir:binding:Forms` +- `urn:fhir:binding:FundingSource` +- `urn:fhir:binding:FundsReserve` +- `urn:fhir:binding:GoalAchievementStatus` +- `urn:fhir:binding:GoalAddresses` +- `urn:fhir:binding:GoalCategory` +- `urn:fhir:binding:GoalDescription` +- `urn:fhir:binding:GoalLifecycleStatus` +- `urn:fhir:binding:GoalOutcome` +- `urn:fhir:binding:GoalPriority` +- `urn:fhir:binding:GoalStartEvent` +- `urn:fhir:binding:GoalTargetMeasure` +- `urn:fhir:binding:GraphCompartmentRule` +- `urn:fhir:binding:GraphCompartmentUse` +- `urn:fhir:binding:GroupMeasure` +- `urn:fhir:binding:GroupType` +- `urn:fhir:binding:GuidanceResponseStatus` +- `urn:fhir:binding:GuidePageGeneration` +- `urn:fhir:binding:GuideParameterCode` +- `urn:fhir:binding:HandlingConditionSet` +- `urn:fhir:binding:IdentityAssuranceLevel` +- `urn:fhir:binding:ImagingModality` +- `urn:fhir:binding:ImagingProcedureCode` +- `urn:fhir:binding:ImagingReason` +- `urn:fhir:binding:ImagingStudyStatus` +- `urn:fhir:binding:ImmunizationEvaluationStatus` +- `urn:fhir:binding:ImmunizationFunction` +- `urn:fhir:binding:ImmunizationReason` +- `urn:fhir:binding:ImmunizationRecommendationDateCriterion` +- `urn:fhir:binding:ImmunizationRecommendationReason` +- `urn:fhir:binding:ImmunizationRecommendationStatus` +- `urn:fhir:binding:ImmunizationReportOrigin` +- `urn:fhir:binding:ImmunizationRoute` +- `urn:fhir:binding:ImmunizationSite` +- `urn:fhir:binding:ImmunizationStatus` +- `urn:fhir:binding:ImmunizationStatusReason` +- `urn:fhir:binding:InformationCategory` +- `urn:fhir:binding:InformationCode` +- `urn:fhir:binding:InsurancePlanType` +- `urn:fhir:binding:IntendedSpecimenType` +- `urn:fhir:binding:InvestigationGroupType` +- `urn:fhir:binding:InvoicePriceComponentType` +- `urn:fhir:binding:InvoiceStatus` +- `urn:fhir:binding:Jurisdiction` +- `urn:fhir:binding:LDLCodes` +- `urn:fhir:binding:LOINC LL379-9 answerlist` +- `urn:fhir:binding:Laterality` +- `urn:fhir:binding:LibraryType` +- `urn:fhir:binding:LinkageType` +- `urn:fhir:binding:ListEmptyReason` +- `urn:fhir:binding:ListItemFlag` +- `urn:fhir:binding:ListMode` +- `urn:fhir:binding:ListOrder` +- `urn:fhir:binding:ListPurpose` +- `urn:fhir:binding:ListStatus` +- `urn:fhir:binding:LocationMode` +- `urn:fhir:binding:LocationStatus` +- `urn:fhir:binding:LocationType` +- `urn:fhir:binding:Manifestation` +- `urn:fhir:binding:ManifestationOrSymptom` +- `urn:fhir:binding:MeasureDataUsage` +- `urn:fhir:binding:MeasureImprovementNotation` +- `urn:fhir:binding:MeasurePopulation` +- `urn:fhir:binding:MeasurePopulationType` +- `urn:fhir:binding:MeasureReportStatus` +- `urn:fhir:binding:MeasureReportType` +- `urn:fhir:binding:MeasureScoring` +- `urn:fhir:binding:MeasureType` +- `urn:fhir:binding:MediaModality` +- `urn:fhir:binding:MediaReason` +- `urn:fhir:binding:MediaStatus` +- `urn:fhir:binding:MediaType` +- `urn:fhir:binding:MediaView` +- `urn:fhir:binding:MedicationAdministrationCategory` +- `urn:fhir:binding:MedicationAdministrationNegationReason` +- `urn:fhir:binding:MedicationAdministrationPerformerFunction` +- `urn:fhir:binding:MedicationAdministrationReason` +- `urn:fhir:binding:MedicationAdministrationStatus` +- `urn:fhir:binding:MedicationCharacteristic` +- `urn:fhir:binding:MedicationDispenseCategory` +- `urn:fhir:binding:MedicationDispensePerformerFunction` +- `urn:fhir:binding:MedicationDispenseStatus` +- `urn:fhir:binding:MedicationDispenseType` +- `urn:fhir:binding:MedicationForm` +- `urn:fhir:binding:MedicationFormalRepresentation` +- `urn:fhir:binding:MedicationIntendedSubstitutionReason` +- `urn:fhir:binding:MedicationIntendedSubstitutionType` +- `urn:fhir:binding:MedicationKnowledgeStatus` +- `urn:fhir:binding:MedicationPackageType` +- `urn:fhir:binding:MedicationReason` +- `urn:fhir:binding:MedicationRequestCategory` +- `urn:fhir:binding:MedicationRequestCourseOfTherapy` +- `urn:fhir:binding:MedicationRequestIntent` +- `urn:fhir:binding:MedicationRequestPerformerType` +- `urn:fhir:binding:MedicationRequestPriority` +- `urn:fhir:binding:MedicationRequestReason` +- `urn:fhir:binding:MedicationRequestStatus` +- `urn:fhir:binding:MedicationRequestStatusReason` +- `urn:fhir:binding:MedicationRoute` +- `urn:fhir:binding:MedicationStatementCategory` +- `urn:fhir:binding:MedicationStatementStatus` +- `urn:fhir:binding:MedicationStatementStatusReason` +- `urn:fhir:binding:MedicationStatus` +- `urn:fhir:binding:MessageSignificanceCategory` +- `urn:fhir:binding:MessageTransport` +- `urn:fhir:binding:MetricType` +- `urn:fhir:binding:MetricUnit` +- `urn:fhir:binding:MissingReason` +- `urn:fhir:binding:Modifiers` +- `urn:fhir:binding:NamingSystemIdentifierType` +- `urn:fhir:binding:NamingSystemType` +- `urn:fhir:binding:NoteType` +- `urn:fhir:binding:NutrientModifier` +- `urn:fhir:binding:NutritiionOrderIntent` +- `urn:fhir:binding:NutritionOrderStatus` +- `urn:fhir:binding:ObservationDataType` +- `urn:fhir:binding:ObservationRangeAppliesTo` +- `urn:fhir:binding:ObservationRangeCategory` +- `urn:fhir:binding:ObservationUnit` +- `urn:fhir:binding:OperationKind` +- `urn:fhir:binding:OperationParameterUse` +- `urn:fhir:binding:OperationalStatus` +- `urn:fhir:binding:OralDiet` +- `urn:fhir:binding:OralSites` +- `urn:fhir:binding:OrderDetail` +- `urn:fhir:binding:OrganizationAffiliation` +- `urn:fhir:binding:OrganizationSpecialty` +- `urn:fhir:binding:OrganizationType` +- `urn:fhir:binding:ParticipantRequired` +- `urn:fhir:binding:ParticipantStatus` +- `urn:fhir:binding:ParticipantType` +- `urn:fhir:binding:ParticipationStatus` +- `urn:fhir:binding:PatientDiet` +- `urn:fhir:binding:PatientRelationshipType` +- `urn:fhir:binding:PayeeType` +- `urn:fhir:binding:PayloadType` +- `urn:fhir:binding:PaymentAdjustmentReason` +- `urn:fhir:binding:PaymentNoticeStatus` +- `urn:fhir:binding:PaymentReconciliationStatus` +- `urn:fhir:binding:PaymentStatus` +- `urn:fhir:binding:PaymentType` +- `urn:fhir:binding:PhysicalType` +- `urn:fhir:binding:PlanDefinitionType` +- `urn:fhir:binding:PractitionerRole` +- `urn:fhir:binding:PractitionerSpecialty` +- `urn:fhir:binding:PrecisionEstimateType` +- `urn:fhir:binding:PreparePatient` +- `urn:fhir:binding:Priority` +- `urn:fhir:binding:ProcedureCategory` +- `urn:fhir:binding:ProcedureCode` +- `urn:fhir:binding:ProcedureComplication` +- `urn:fhir:binding:ProcedureFollowUp` +- `urn:fhir:binding:ProcedureNegationReason` +- `urn:fhir:binding:ProcedureOutcome` +- `urn:fhir:binding:ProcedurePerformerRole` +- `urn:fhir:binding:ProcedureReason` +- `urn:fhir:binding:ProcedureStatus` +- `urn:fhir:binding:ProcedureType` +- `urn:fhir:binding:ProcedureUsed` +- `urn:fhir:binding:ProcessPriority` +- `urn:fhir:binding:Program` +- `urn:fhir:binding:ProgramCode` +- `urn:fhir:binding:ProgramEligibility` +- `urn:fhir:binding:PropertyRepresentation` +- `urn:fhir:binding:PropertyType` +- `urn:fhir:binding:ProvenanceActivity` +- `urn:fhir:binding:ProvenanceAgentRole` +- `urn:fhir:binding:ProvenanceAgentType` +- `urn:fhir:binding:ProvenanceEntityRole` +- `urn:fhir:binding:ProvenanceHistoryAgentType` +- `urn:fhir:binding:ProvenanceHistoryRecordActivity` +- `urn:fhir:binding:ProvenanceReason` +- `urn:fhir:binding:ProviderQualification` +- `urn:fhir:binding:PublicationStatus` +- `urn:fhir:binding:PurposeOfUse` +- `urn:fhir:binding:Qualification` +- `urn:fhir:binding:QualityOfEvidenceRating` +- `urn:fhir:binding:QuestionnaireConcept` +- `urn:fhir:binding:QuestionnaireItemOperator` +- `urn:fhir:binding:QuestionnaireItemType` +- `urn:fhir:binding:QuestionnaireResponseStatus` +- `urn:fhir:binding:ReAdmissionType` +- `urn:fhir:binding:ReferenceHandlingPolicy` +- `urn:fhir:binding:ReferenceVersionRules` +- `urn:fhir:binding:ReferralMethod` +- `urn:fhir:binding:ReferredDocumentStatus` +- `urn:fhir:binding:RejectionCriterion` +- `urn:fhir:binding:RelatedClaimRelationship` +- `urn:fhir:binding:Relationship` +- `urn:fhir:binding:RemittanceOutcome` +- `urn:fhir:binding:RequestIntent` +- `urn:fhir:binding:RequestPriority` +- `urn:fhir:binding:RequestStatus` +- `urn:fhir:binding:ResearchElementType` +- `urn:fhir:binding:ResearchStudyObjectiveType` +- `urn:fhir:binding:ResearchStudyPhase` +- `urn:fhir:binding:ResearchStudyPrimaryPurposeType` +- `urn:fhir:binding:ResearchStudyReasonStopped` +- `urn:fhir:binding:ResearchStudyStatus` +- `urn:fhir:binding:ResearchSubjectStatus` +- `urn:fhir:binding:ResourceType` +- `urn:fhir:binding:ResourceVersionPolicy` +- `urn:fhir:binding:ResponseType` +- `urn:fhir:binding:RestfulCapabilityMode` +- `urn:fhir:binding:RestfulSecurityService` +- `urn:fhir:binding:RevenueCenter` +- `urn:fhir:binding:RiskAssessmentProbability` +- `urn:fhir:binding:RiskAssessmentStatus` +- `urn:fhir:binding:RiskEstimateType` +- `urn:fhir:binding:SPDXLicense` +- `urn:fhir:binding:Safety` +- `urn:fhir:binding:SearchComparator` +- `urn:fhir:binding:SearchModifierCode` +- `urn:fhir:binding:SearchParamType` +- `urn:fhir:binding:SectionEmptyReason` +- `urn:fhir:binding:SectionEntryOrder` +- `urn:fhir:binding:SectionMode` +- `urn:fhir:binding:ServiceProduct` +- `urn:fhir:binding:ServiceProvisionConditions` +- `urn:fhir:binding:ServiceRequestCategory` +- `urn:fhir:binding:ServiceRequestCode` +- `urn:fhir:binding:ServiceRequestIntent` +- `urn:fhir:binding:ServiceRequestLocation` +- `urn:fhir:binding:ServiceRequestParticipantRole` +- `urn:fhir:binding:ServiceRequestPriority` +- `urn:fhir:binding:ServiceRequestReason` +- `urn:fhir:binding:ServiceRequestStatus` +- `urn:fhir:binding:Sex` +- `urn:fhir:binding:SlicingRules` +- `urn:fhir:binding:SlotStatus` +- `urn:fhir:binding:SpecimenCollection` +- `urn:fhir:binding:SpecimenCollectionMethod` +- `urn:fhir:binding:SpecimenCondition` +- `urn:fhir:binding:SpecimenContainedPreference` +- `urn:fhir:binding:SpecimenContainerType` +- `urn:fhir:binding:SpecimenProcessingProcedure` +- `urn:fhir:binding:SpecimenStatus` +- `urn:fhir:binding:SpecimenType` +- `urn:fhir:binding:StructureDefinitionKeyword` +- `urn:fhir:binding:StructureDefinitionKind` +- `urn:fhir:binding:StructureMapContextType` +- `urn:fhir:binding:StructureMapGroupTypeMode` +- `urn:fhir:binding:StructureMapInputMode` +- `urn:fhir:binding:StructureMapModelMode` +- `urn:fhir:binding:StructureMapSourceListMode` +- `urn:fhir:binding:StructureMapTargetListMode` +- `urn:fhir:binding:StructureMapTransform` +- `urn:fhir:binding:StudyType` +- `urn:fhir:binding:SubpotentReason` +- `urn:fhir:binding:SubscriptionChannelType` +- `urn:fhir:binding:SubscriptionStatus` +- `urn:fhir:binding:SubstanceCategory` +- `urn:fhir:binding:SubstanceCode` +- `urn:fhir:binding:SupplementType` +- `urn:fhir:binding:SupplyDeliveryStatus` +- `urn:fhir:binding:SupplyDeliveryType` +- `urn:fhir:binding:SupplyRequestKind` +- `urn:fhir:binding:SupplyRequestReason` +- `urn:fhir:binding:SupplyRequestStatus` +- `urn:fhir:binding:Surface` +- `urn:fhir:binding:SynthesisType` +- `urn:fhir:binding:SystemRestfulInteraction` +- `urn:fhir:binding:TargetDisease` +- `urn:fhir:binding:TaskCode` +- `urn:fhir:binding:TaskIntent` +- `urn:fhir:binding:TaskPerformerType` +- `urn:fhir:binding:TaskPriority` +- `urn:fhir:binding:TaskStatus` +- `urn:fhir:binding:TestReportActionResult` +- `urn:fhir:binding:TestReportParticipantType` +- `urn:fhir:binding:TestReportResult` +- `urn:fhir:binding:TestReportStatus` +- `urn:fhir:binding:TestScriptOperationCode` +- `urn:fhir:binding:TestScriptProfileDestinationType` +- `urn:fhir:binding:TestScriptProfileOriginType` +- `urn:fhir:binding:TestScriptRequestMethodCode` +- `urn:fhir:binding:TextureModifiedFoodType` +- `urn:fhir:binding:TextureModifier` +- `urn:fhir:binding:TypeDerivationRule` +- `urn:fhir:binding:TypeRestfulInteraction` +- `urn:fhir:binding:UCUMUnits` +- `urn:fhir:binding:UDIEntryType` +- `urn:fhir:binding:Use` +- `urn:fhir:binding:VaccineCode` +- `urn:fhir:binding:VariableType` +- `urn:fhir:binding:VisionBase` +- `urn:fhir:binding:VisionEyes` +- `urn:fhir:binding:VisionProduct` +- `urn:fhir:binding:VisionStatus` +- `urn:fhir:binding:XPathUsageType` +- `urn:fhir:binding:appointment-type` +- `urn:fhir:binding:can-push-updates` +- `urn:fhir:binding:cancelation-reason` +- `urn:fhir:binding:chromosome-human` +- `urn:fhir:binding:communication-method` +- `urn:fhir:binding:endpoint-contype` +- `urn:fhir:binding:failure-action` +- `urn:fhir:binding:messageheader-response-request` +- `urn:fhir:binding:need` +- `urn:fhir:binding:orientationType` +- `urn:fhir:binding:primary-source-type` +- `urn:fhir:binding:push-type-available` +- `urn:fhir:binding:qualityMethod` +- `urn:fhir:binding:qualityStandardSequence` +- `urn:fhir:binding:qualityType` +- `urn:fhir:binding:repositoryType` +- `urn:fhir:binding:sequenceReference` +- `urn:fhir:binding:sequenceType` +- `urn:fhir:binding:service-category` +- `urn:fhir:binding:service-specialty` +- `urn:fhir:binding:service-type` +- `urn:fhir:binding:sopClass` +- `urn:fhir:binding:specialty` +- `urn:fhir:binding:status` +- `urn:fhir:binding:strandType` +- `urn:fhir:binding:v3Act` +- `urn:fhir:binding:validation-process` +- `urn:fhir:binding:validation-status` +- `urn:fhir:binding:validation-type` + +## Schema Collisions + +The following canonicals have multiple schema versions with different content. +To inspect collision versions, export TypeSchemas using `.introspection({ typeSchemas: 'path' })` +and check `/collisions//1.json, 2.json, ...` files. + +### `shared` + +- `urn:fhir:binding:CommunicationReason` (2 versions) + - Version 1: Communication (hl7.fhir.r4.core#4.0.1) + - Version 2: CommunicationRequest (hl7.fhir.r4.core#4.0.1) +- `urn:fhir:binding:ObservationCategory` (2 versions) + - Version 1: Observation (hl7.fhir.r4.core#4.0.1), vitalsigns (hl7.fhir.r4.core#4.0.1) + - Version 2: ObservationDefinition (hl7.fhir.r4.core#4.0.1) +- `urn:fhir:binding:ObservationRangeMeaning` (2 versions) + - Version 1: cholesterol (hl7.fhir.r4.core#4.0.1), hdlcholesterol (hl7.fhir.r4.core#4.0.1), ldlcholesterol (hl7.fhir.r4.core#4.0.1), Observation (hl7.fhir.r4.core#4.0.1), triglyceride (hl7.fhir.r4.core#4.0.1) + - Version 2: ObservationDefinition (hl7.fhir.r4.core#4.0.1) +- `urn:fhir:binding:PaymentType` (2 versions) + - Version 1: ClaimResponse (hl7.fhir.r4.core#4.0.1), ExplanationOfBenefit (hl7.fhir.r4.core#4.0.1) + - Version 2: PaymentReconciliation (hl7.fhir.r4.core#4.0.1) +- `urn:fhir:binding:ProcessPriority` (2 versions) + - Version 1: Claim (hl7.fhir.r4.core#4.0.1), CoverageEligibilityRequest (hl7.fhir.r4.core#4.0.1) + - Version 2: ExplanationOfBenefit (hl7.fhir.r4.core#4.0.1) +- `urn:fhir:binding:TargetDisease` (2 versions) + - Version 1: Immunization (hl7.fhir.r4.core#4.0.1) + - Version 2: ImmunizationRecommendation (hl7.fhir.r4.core#4.0.1) diff --git a/examples/python-extension-example/fhir_types/__init__.py b/examples/python-extension-example/fhir_types/__init__.py new file mode 100644 index 000000000..21844fe8c --- /dev/null +++ b/examples/python-extension-example/fhir_types/__init__.py @@ -0,0 +1,78 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from fhir_types.hl7_fhir_r4_core.base import (\ + Address, Age, Annotation, Attachment, BackboneElement, CodeableConcept, Coding, ContactDetail, ContactPoint, \ + Contributor, Count, DataRequirement, Distance, Dosage, Duration, Element, Expression, Extension, HumanName, \ + Identifier, Meta, Money, Narrative, ParameterDefinition, Period, Quantity, Range, Ratio, Reference, RelatedArtifact, \ + SampledData, Signature, Timing, TriggerDefinition, UsageContext +) + +from fhir_types.hl7_fhir_r4_core.bundle import (\ + Bundle, BundleEntry, BundleEntryRequest, BundleEntryResponse, BundleEntrySearch, BundleLink +) +from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource +from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily +from fhir_types.hl7_fhir_r4_core.observation import (\ + Observation, ObservationComponent, ObservationReferenceRange +) +from fhir_types.hl7_fhir_r4_core.operation_outcome import OperationOutcome, OperationOutcomeIssue +from fhir_types.hl7_fhir_r4_core.patient import (\ + Patient, PatientCommunication, PatientContact, PatientLink +) +from fhir_types.hl7_fhir_r4_core.resource import Resource +from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily + +Address.model_rebuild() +Age.model_rebuild() +Annotation.model_rebuild() +Attachment.model_rebuild() +BackboneElement.model_rebuild() +Bundle.model_rebuild() +BundleEntry.model_rebuild() +BundleEntryRequest.model_rebuild() +BundleEntryResponse.model_rebuild() +BundleEntrySearch.model_rebuild() +BundleLink.model_rebuild() +CodeableConcept.model_rebuild() +Coding.model_rebuild() +ContactDetail.model_rebuild() +ContactPoint.model_rebuild() +Contributor.model_rebuild() +Count.model_rebuild() +DataRequirement.model_rebuild() +Distance.model_rebuild() +DomainResource.model_rebuild() +Dosage.model_rebuild() +Duration.model_rebuild() +Element.model_rebuild() +Expression.model_rebuild() +Extension.model_rebuild() +HumanName.model_rebuild() +Identifier.model_rebuild() +Meta.model_rebuild() +Money.model_rebuild() +Narrative.model_rebuild() +Observation.model_rebuild() +ObservationComponent.model_rebuild() +ObservationReferenceRange.model_rebuild() +OperationOutcome.model_rebuild() +OperationOutcomeIssue.model_rebuild() +ParameterDefinition.model_rebuild() +Patient.model_rebuild() +PatientCommunication.model_rebuild() +PatientContact.model_rebuild() +PatientLink.model_rebuild() +Period.model_rebuild() +Quantity.model_rebuild() +Range.model_rebuild() +Ratio.model_rebuild() +Reference.model_rebuild() +RelatedArtifact.model_rebuild() +Resource.model_rebuild() +SampledData.model_rebuild() +Signature.model_rebuild() +Timing.model_rebuild() +TriggerDefinition.model_rebuild() +UsageContext.model_rebuild() diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py new file mode 100644 index 000000000..50763e0ed --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py @@ -0,0 +1,80 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from fhir_types.hl7_fhir_r4_core.base import (\ + Address, Age, Annotation, Attachment, BackboneElement, CodeableConcept, Coding, ContactDetail, ContactPoint, \ + Contributor, Count, DataRequirement, Distance, Dosage, Duration, Element, Expression, Extension, HumanName, \ + Identifier, Meta, Money, Narrative, ParameterDefinition, Period, Quantity, Range, Ratio, Reference, RelatedArtifact, \ + SampledData, Signature, Timing, TriggerDefinition, UsageContext +) + +from fhir_types.hl7_fhir_r4_core.bundle import (\ + Bundle, BundleEntry, BundleEntryRequest, BundleEntryResponse, BundleEntrySearch, BundleLink +) +from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource +from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily +from fhir_types.hl7_fhir_r4_core.observation import (\ + Observation, ObservationComponent, ObservationReferenceRange +) +from fhir_types.hl7_fhir_r4_core.operation_outcome import OperationOutcome, OperationOutcomeIssue +from fhir_types.hl7_fhir_r4_core.patient import (\ + Patient, PatientCommunication, PatientContact, PatientLink +) +from fhir_types.hl7_fhir_r4_core.resource import Resource +from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily + +__all__ = [ + 'Address', + 'Age', + 'Annotation', + 'Attachment', + 'BackboneElement', + 'Bundle', + 'BundleEntry', + 'BundleEntryRequest', + 'BundleEntryResponse', + 'BundleEntrySearch', + 'BundleLink', + 'CodeableConcept', + 'Coding', + 'ContactDetail', + 'ContactPoint', + 'Contributor', + 'Count', + 'DataRequirement', + 'Distance', + 'DomainResource', + 'Dosage', + 'Duration', + 'Element', + 'Expression', + 'Extension', + 'HumanName', + 'Identifier', + 'Meta', + 'Money', + 'Narrative', + 'Observation', + 'ObservationComponent', + 'ObservationReferenceRange', + 'OperationOutcome', + 'OperationOutcomeIssue', + 'ParameterDefinition', + 'Patient', + 'PatientCommunication', + 'PatientContact', + 'PatientLink', + 'Period', + 'Quantity', + 'Range', + 'Ratio', + 'Reference', + 'RelatedArtifact', + 'Resource', + 'SampledData', + 'Signature', + 'Timing', + 'TriggerDefinition', + 'UsageContext', +] diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py new file mode 100644 index 000000000..01aef76e1 --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py @@ -0,0 +1,411 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from __future__ import annotations +from pydantic import BaseModel, ConfigDict, Field, PositiveInt +from typing import Generic, List as PyList, Literal +from typing_extensions import TypeVar + +T = TypeVar('T', bound=str, default=str) + + +class Element(BaseModel): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + extension: PyList[Extension] | None = Field(None, alias="extension", serialization_alias="extension") + id: str | None = Field(None, alias="id", serialization_alias="id") + + +class Address(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + city: str | None = Field(None, alias="city", serialization_alias="city") + country: str | None = Field(None, alias="country", serialization_alias="country") + district: str | None = Field(None, alias="district", serialization_alias="district") + line: PyList[str] | None = Field(None, alias="line", serialization_alias="line") + period: Period | None = Field(None, alias="period", serialization_alias="period") + postal_code: str | None = Field(None, alias="postalCode", serialization_alias="postalCode") + state: str | None = Field(None, alias="state", serialization_alias="state") + text: str | None = Field(None, alias="text", serialization_alias="text") + type: Literal["postal", "physical", "both"] | None = Field(None, alias="type", serialization_alias="type") + use: Literal["home", "work", "temp", "old", "billing"] | None = Field(None, alias="use", serialization_alias="use") + + +class Quantity(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code: str | None = Field(None, alias="code", serialization_alias="code") + comparator: Literal["<", "<=", ">=", ">"] | None = Field(None, alias="comparator", serialization_alias="comparator") + system: str | None = Field(None, alias="system", serialization_alias="system") + unit: str | None = Field(None, alias="unit", serialization_alias="unit") + value: float | None = Field(None, alias="value", serialization_alias="value") + + +class Age(Quantity): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + pass + + +class Annotation(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + author_reference: Reference | None = Field(None, alias="authorReference", serialization_alias="authorReference") + author_string: str | None = Field(None, alias="authorString", serialization_alias="authorString") + text: str = Field(alias="text", serialization_alias="text") + time: str | None = Field(None, alias="time", serialization_alias="time") + + +class Attachment(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + content_type: str | None = Field(None, alias="contentType", serialization_alias="contentType") + creation: str | None = Field(None, alias="creation", serialization_alias="creation") + data: str | None = Field(None, alias="data", serialization_alias="data") + hash: str | None = Field(None, alias="hash", serialization_alias="hash") + language: str | None = Field(None, alias="language", serialization_alias="language") + size: int | None = Field(None, alias="size", serialization_alias="size") + title: str | None = Field(None, alias="title", serialization_alias="title") + url: str | None = Field(None, alias="url", serialization_alias="url") + + +class BackboneElement(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + modifier_extension: PyList[Extension] | None = Field(None, alias="modifierExtension", serialization_alias="modifierExtension") + + +class CodeableConcept(Element, Generic[T]): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + coding: PyList[Coding[T]] | None = Field(None, alias="coding", serialization_alias="coding") + text: str | None = Field(None, alias="text", serialization_alias="text") + + +class Coding(Element, Generic[T]): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code: T | None = Field(None, alias="code", serialization_alias="code") + display: str | None = Field(None, alias="display", serialization_alias="display") + system: str | None = Field(None, alias="system", serialization_alias="system") + user_selected: bool | None = Field(None, alias="userSelected", serialization_alias="userSelected") + version: str | None = Field(None, alias="version", serialization_alias="version") + + +class ContactDetail(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + name: str | None = Field(None, alias="name", serialization_alias="name") + telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") + + +class ContactPoint(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + period: Period | None = Field(None, alias="period", serialization_alias="period") + rank: PositiveInt | None = Field(None, alias="rank", serialization_alias="rank") + system: Literal["phone", "fax", "email", "pager", "url", "sms", "other"] | None = Field(None, alias="system", serialization_alias="system") + use: Literal["home", "work", "temp", "old", "mobile"] | None = Field(None, alias="use", serialization_alias="use") + value: str | None = Field(None, alias="value", serialization_alias="value") + + +class Contributor(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + contact: PyList[ContactDetail] | None = Field(None, alias="contact", serialization_alias="contact") + name: str = Field(alias="name", serialization_alias="name") + type: Literal["author", "editor", "reviewer", "endorser"] = Field(alias="type", serialization_alias="type") + + +class Count(Quantity): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + pass + + +class DataRequirementCodeFilter(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code: PyList[Coding] | None = Field(None, alias="code", serialization_alias="code") + path: str | None = Field(None, alias="path", serialization_alias="path") + search_param: str | None = Field(None, alias="searchParam", serialization_alias="searchParam") + value_set: str | None = Field(None, alias="valueSet", serialization_alias="valueSet") + +class DataRequirementDateFilter(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + path: str | None = Field(None, alias="path", serialization_alias="path") + search_param: str | None = Field(None, alias="searchParam", serialization_alias="searchParam") + value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_duration: Duration | None = Field(None, alias="valueDuration", serialization_alias="valueDuration") + value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") + +class DataRequirementSort(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + direction: Literal["ascending", "descending"] = Field(alias="direction", serialization_alias="direction") + path: str = Field(alias="path", serialization_alias="path") + + +class DataRequirement(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code_filter: PyList[DataRequirementCodeFilter] | None = Field(None, alias="codeFilter", serialization_alias="codeFilter") + date_filter: PyList[DataRequirementDateFilter] | None = Field(None, alias="dateFilter", serialization_alias="dateFilter") + limit: PositiveInt | None = Field(None, alias="limit", serialization_alias="limit") + must_support: PyList[str] | None = Field(None, alias="mustSupport", serialization_alias="mustSupport") + profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") + sort: PyList[DataRequirementSort] | None = Field(None, alias="sort", serialization_alias="sort") + subject_codeable_concept: CodeableConcept | None = Field(None, alias="subjectCodeableConcept", serialization_alias="subjectCodeableConcept") + subject_reference: Reference | None = Field(None, alias="subjectReference", serialization_alias="subjectReference") + type: str = Field(alias="type", serialization_alias="type") + + +class Distance(Quantity): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + pass + + +class DosageDoseAndRate(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + dose_quantity: Quantity | None = Field(None, alias="doseQuantity", serialization_alias="doseQuantity") + dose_range: Range | None = Field(None, alias="doseRange", serialization_alias="doseRange") + rate_quantity: Quantity | None = Field(None, alias="rateQuantity", serialization_alias="rateQuantity") + rate_range: Range | None = Field(None, alias="rateRange", serialization_alias="rateRange") + rate_ratio: Ratio | None = Field(None, alias="rateRatio", serialization_alias="rateRatio") + type: CodeableConcept | None = Field(None, alias="type", serialization_alias="type") + + +class Dosage(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + additional_instruction: PyList[CodeableConcept] | None = Field(None, alias="additionalInstruction", serialization_alias="additionalInstruction") + as_needed_boolean: bool | None = Field(None, alias="asNeededBoolean", serialization_alias="asNeededBoolean") + as_needed_codeable_concept: CodeableConcept | None = Field(None, alias="asNeededCodeableConcept", serialization_alias="asNeededCodeableConcept") + dose_and_rate: PyList[DosageDoseAndRate] | None = Field(None, alias="doseAndRate", serialization_alias="doseAndRate") + max_dose_per_administration: Quantity | None = Field(None, alias="maxDosePerAdministration", serialization_alias="maxDosePerAdministration") + max_dose_per_lifetime: Quantity | None = Field(None, alias="maxDosePerLifetime", serialization_alias="maxDosePerLifetime") + max_dose_per_period: Ratio | None = Field(None, alias="maxDosePerPeriod", serialization_alias="maxDosePerPeriod") + method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") + patient_instruction: str | None = Field(None, alias="patientInstruction", serialization_alias="patientInstruction") + route: CodeableConcept | None = Field(None, alias="route", serialization_alias="route") + sequence: int | None = Field(None, alias="sequence", serialization_alias="sequence") + site: CodeableConcept | None = Field(None, alias="site", serialization_alias="site") + text: str | None = Field(None, alias="text", serialization_alias="text") + timing: Timing | None = Field(None, alias="timing", serialization_alias="timing") + + +class Duration(Quantity): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + pass + + +class Expression(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + description: str | None = Field(None, alias="description", serialization_alias="description") + expression: str | None = Field(None, alias="expression", serialization_alias="expression") + language: str = Field(alias="language", serialization_alias="language") + name: str | None = Field(None, alias="name", serialization_alias="name") + reference: str | None = Field(None, alias="reference", serialization_alias="reference") + + +class Extension(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + url: str = Field(alias="url", serialization_alias="url") + value_address: Address | None = Field(None, alias="valueAddress", serialization_alias="valueAddress") + value_age: Age | None = Field(None, alias="valueAge", serialization_alias="valueAge") + value_annotation: Annotation | None = Field(None, alias="valueAnnotation", serialization_alias="valueAnnotation") + value_attachment: Attachment | None = Field(None, alias="valueAttachment", serialization_alias="valueAttachment") + value_base64binary: str | None = Field(None, alias="valueBase64Binary", serialization_alias="valueBase64Binary") + value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") + value_canonical: str | None = Field(None, alias="valueCanonical", serialization_alias="valueCanonical") + value_code: str | None = Field(None, alias="valueCode", serialization_alias="valueCode") + value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") + value_coding: Coding | None = Field(None, alias="valueCoding", serialization_alias="valueCoding") + value_contact_detail: ContactDetail | None = Field(None, alias="valueContactDetail", serialization_alias="valueContactDetail") + value_contact_point: ContactPoint | None = Field(None, alias="valueContactPoint", serialization_alias="valueContactPoint") + value_contributor: Contributor | None = Field(None, alias="valueContributor", serialization_alias="valueContributor") + value_count: Count | None = Field(None, alias="valueCount", serialization_alias="valueCount") + value_data_requirement: DataRequirement | None = Field(None, alias="valueDataRequirement", serialization_alias="valueDataRequirement") + value_date: str | None = Field(None, alias="valueDate", serialization_alias="valueDate") + value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_decimal: float | None = Field(None, alias="valueDecimal", serialization_alias="valueDecimal") + value_distance: Distance | None = Field(None, alias="valueDistance", serialization_alias="valueDistance") + value_dosage: Dosage | None = Field(None, alias="valueDosage", serialization_alias="valueDosage") + value_duration: Duration | None = Field(None, alias="valueDuration", serialization_alias="valueDuration") + value_expression: Expression | None = Field(None, alias="valueExpression", serialization_alias="valueExpression") + value_human_name: HumanName | None = Field(None, alias="valueHumanName", serialization_alias="valueHumanName") + value_id: str | None = Field(None, alias="valueId", serialization_alias="valueId") + value_identifier: Identifier | None = Field(None, alias="valueIdentifier", serialization_alias="valueIdentifier") + value_instant: str | None = Field(None, alias="valueInstant", serialization_alias="valueInstant") + value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") + value_markdown: str | None = Field(None, alias="valueMarkdown", serialization_alias="valueMarkdown") + value_meta: Meta | None = Field(None, alias="valueMeta", serialization_alias="valueMeta") + value_money: Money | None = Field(None, alias="valueMoney", serialization_alias="valueMoney") + value_oid: str | None = Field(None, alias="valueOid", serialization_alias="valueOid") + value_parameter_definition: ParameterDefinition | None = Field(None, alias="valueParameterDefinition", serialization_alias="valueParameterDefinition") + value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") + value_positive_int: PositiveInt | None = Field(None, alias="valuePositiveInt", serialization_alias="valuePositiveInt") + value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") + value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") + value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") + value_reference: Reference | None = Field(None, alias="valueReference", serialization_alias="valueReference") + value_related_artifact: RelatedArtifact | None = Field(None, alias="valueRelatedArtifact", serialization_alias="valueRelatedArtifact") + value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") + value_signature: Signature | None = Field(None, alias="valueSignature", serialization_alias="valueSignature") + value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") + value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") + value_timing: Timing | None = Field(None, alias="valueTiming", serialization_alias="valueTiming") + value_trigger_definition: TriggerDefinition | None = Field(None, alias="valueTriggerDefinition", serialization_alias="valueTriggerDefinition") + value_unsigned_int: int | None = Field(None, alias="valueUnsignedInt", serialization_alias="valueUnsignedInt") + value_uri: str | None = Field(None, alias="valueUri", serialization_alias="valueUri") + value_url: str | None = Field(None, alias="valueUrl", serialization_alias="valueUrl") + value_usage_context: UsageContext | None = Field(None, alias="valueUsageContext", serialization_alias="valueUsageContext") + value_uuid: str | None = Field(None, alias="valueUuid", serialization_alias="valueUuid") + + +class HumanName(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + family: str | None = Field(None, alias="family", serialization_alias="family") + given: PyList[str] | None = Field(None, alias="given", serialization_alias="given") + period: Period | None = Field(None, alias="period", serialization_alias="period") + prefix: PyList[str] | None = Field(None, alias="prefix", serialization_alias="prefix") + suffix: PyList[str] | None = Field(None, alias="suffix", serialization_alias="suffix") + text: str | None = Field(None, alias="text", serialization_alias="text") + use: Literal["usual", "official", "temp", "nickname", "anonymous", "old", "maiden"] | None = Field(None, alias="use", serialization_alias="use") + + +class Identifier(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + assigner: Reference | None = Field(None, alias="assigner", serialization_alias="assigner") + period: Period | None = Field(None, alias="period", serialization_alias="period") + system: str | None = Field(None, alias="system", serialization_alias="system") + type: CodeableConcept[Literal["DL", "PPN", "BRN", "MR", "MCN", "EN", "TAX", "NIIP", "PRN", "MD", "DR", "ACSN", "UDI", "SNO", "SB", "PLAC", "FILL", "JHN"] | str] | None = Field(None, alias="type", serialization_alias="type") + use: Literal["usual", "official", "temp", "secondary", "old"] | None = Field(None, alias="use", serialization_alias="use") + value: str | None = Field(None, alias="value", serialization_alias="value") + + +class Meta(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + last_updated: str | None = Field(None, alias="lastUpdated", serialization_alias="lastUpdated") + profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") + security: PyList[Coding] | None = Field(None, alias="security", serialization_alias="security") + source: str | None = Field(None, alias="source", serialization_alias="source") + tag: PyList[Coding] | None = Field(None, alias="tag", serialization_alias="tag") + version_id: str | None = Field(None, alias="versionId", serialization_alias="versionId") + + +class Money(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + currency: str | None = Field(None, alias="currency", serialization_alias="currency") + value: float | None = Field(None, alias="value", serialization_alias="value") + + +class Narrative(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + div: str = Field(alias="div", serialization_alias="div") + status: Literal["generated", "extensions", "additional", "empty"] = Field(alias="status", serialization_alias="status") + + +class ParameterDefinition(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + documentation: str | None = Field(None, alias="documentation", serialization_alias="documentation") + max: str | None = Field(None, alias="max", serialization_alias="max") + min: int | None = Field(None, alias="min", serialization_alias="min") + name: str | None = Field(None, alias="name", serialization_alias="name") + profile: str | None = Field(None, alias="profile", serialization_alias="profile") + type: str = Field(alias="type", serialization_alias="type") + use: Literal["in", "out"] = Field(alias="use", serialization_alias="use") + + +class Period(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + end: str | None = Field(None, alias="end", serialization_alias="end") + start: str | None = Field(None, alias="start", serialization_alias="start") + + +class Range(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + high: Quantity | None = Field(None, alias="high", serialization_alias="high") + low: Quantity | None = Field(None, alias="low", serialization_alias="low") + + +class Ratio(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + denominator: Quantity | None = Field(None, alias="denominator", serialization_alias="denominator") + numerator: Quantity | None = Field(None, alias="numerator", serialization_alias="numerator") + + +class Reference(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + display: str | None = Field(None, alias="display", serialization_alias="display") + identifier: Identifier | None = Field(None, alias="identifier", serialization_alias="identifier") + reference: str | None = Field(None, alias="reference", serialization_alias="reference") + type: str | None = Field(None, alias="type", serialization_alias="type") + + +class RelatedArtifact(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + citation: str | None = Field(None, alias="citation", serialization_alias="citation") + display: str | None = Field(None, alias="display", serialization_alias="display") + document: Attachment | None = Field(None, alias="document", serialization_alias="document") + label: str | None = Field(None, alias="label", serialization_alias="label") + resource: str | None = Field(None, alias="resource", serialization_alias="resource") + type: Literal["documentation", "justification", "citation", "predecessor", "successor", "derived-from", "depends-on", "composed-of"] = Field(alias="type", serialization_alias="type") + url: str | None = Field(None, alias="url", serialization_alias="url") + + +class SampledData(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + data: str | None = Field(None, alias="data", serialization_alias="data") + dimensions: PositiveInt = Field(alias="dimensions", serialization_alias="dimensions") + factor: float | None = Field(None, alias="factor", serialization_alias="factor") + lower_limit: float | None = Field(None, alias="lowerLimit", serialization_alias="lowerLimit") + origin: Quantity = Field(alias="origin", serialization_alias="origin") + period: float = Field(alias="period", serialization_alias="period") + upper_limit: float | None = Field(None, alias="upperLimit", serialization_alias="upperLimit") + + +class Signature(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + data: str | None = Field(None, alias="data", serialization_alias="data") + on_behalf_of: Reference | None = Field(None, alias="onBehalfOf", serialization_alias="onBehalfOf") + sig_format: str | None = Field(None, alias="sigFormat", serialization_alias="sigFormat") + target_format: str | None = Field(None, alias="targetFormat", serialization_alias="targetFormat") + type: PyList[Coding[Literal["1.2.840.10065.1.12.1.1", "1.2.840.10065.1.12.1.2", "1.2.840.10065.1.12.1.3", "1.2.840.10065.1.12.1.4", "1.2.840.10065.1.12.1.5", "1.2.840.10065.1.12.1.6", "1.2.840.10065.1.12.1.7", "1.2.840.10065.1.12.1.8", "1.2.840.10065.1.12.1.9", "1.2.840.10065.1.12.1.10", "1.2.840.10065.1.12.1.11", "1.2.840.10065.1.12.1.12", "1.2.840.10065.1.12.1.13", "1.2.840.10065.1.12.1.14", "1.2.840.10065.1.12.1.15", "1.2.840.10065.1.12.1.16", "1.2.840.10065.1.12.1.17", "1.2.840.10065.1.12.1.18"] | str]] = Field(alias="type", serialization_alias="type") + when: str = Field(alias="when", serialization_alias="when") + who: Reference = Field(alias="who", serialization_alias="who") + + +class TimingRepeat(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + bounds_duration: Duration | None = Field(None, alias="boundsDuration", serialization_alias="boundsDuration") + bounds_period: Period | None = Field(None, alias="boundsPeriod", serialization_alias="boundsPeriod") + bounds_range: Range | None = Field(None, alias="boundsRange", serialization_alias="boundsRange") + count: PositiveInt | None = Field(None, alias="count", serialization_alias="count") + count_max: PositiveInt | None = Field(None, alias="countMax", serialization_alias="countMax") + day_of_week: PyList[Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"]] | None = Field(None, alias="dayOfWeek", serialization_alias="dayOfWeek") + duration: float | None = Field(None, alias="duration", serialization_alias="duration") + duration_max: float | None = Field(None, alias="durationMax", serialization_alias="durationMax") + duration_unit: Literal["s", "min", "h", "d", "wk", "mo", "a"] | None = Field(None, alias="durationUnit", serialization_alias="durationUnit") + frequency: PositiveInt | None = Field(None, alias="frequency", serialization_alias="frequency") + frequency_max: PositiveInt | None = Field(None, alias="frequencyMax", serialization_alias="frequencyMax") + offset: int | None = Field(None, alias="offset", serialization_alias="offset") + period: float | None = Field(None, alias="period", serialization_alias="period") + period_max: float | None = Field(None, alias="periodMax", serialization_alias="periodMax") + period_unit: Literal["s", "min", "h", "d", "wk", "mo", "a"] | None = Field(None, alias="periodUnit", serialization_alias="periodUnit") + time_of_day: PyList[str] | None = Field(None, alias="timeOfDay", serialization_alias="timeOfDay") + when: PyList[Literal["MORN", "MORN.early", "MORN.late", "NOON", "AFT", "AFT.early", "AFT.late", "EVE", "EVE.early", "EVE.late", "NIGHT", "PHS", "HS", "WAKE", "C", "CM", "CD", "CV", "AC", "ACM", "ACD", "ACV", "PC", "PCM", "PCD", "PCV"]] | None = Field(None, alias="when", serialization_alias="when") + + +class Timing(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code: CodeableConcept[Literal["BID", "TID", "QID", "AM", "PM", "QD", "QOD", "Q1H", "Q2H", "Q3H", "Q4H", "Q6H", "Q8H", "BED", "WK", "MO"] | str] | None = Field(None, alias="code", serialization_alias="code") + event: PyList[str] | None = Field(None, alias="event", serialization_alias="event") + repeat: TimingRepeat | None = Field(None, alias="repeat", serialization_alias="repeat") + + +class TriggerDefinition(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + condition: Expression | None = Field(None, alias="condition", serialization_alias="condition") + data: PyList[DataRequirement] | None = Field(None, alias="data", serialization_alias="data") + name: str | None = Field(None, alias="name", serialization_alias="name") + timing_date: str | None = Field(None, alias="timingDate", serialization_alias="timingDate") + timing_date_time: str | None = Field(None, alias="timingDateTime", serialization_alias="timingDateTime") + timing_reference: Reference | None = Field(None, alias="timingReference", serialization_alias="timingReference") + timing_timing: Timing | None = Field(None, alias="timingTiming", serialization_alias="timingTiming") + type: Literal["named-event", "periodic", "data-changed", "data-added", "data-modified", "data-removed", "data-accessed", "data-access-ended"] = Field(alias="type", serialization_alias="type") + + +class UsageContext(Element): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code: Coding[Literal["gender", "age", "focus", "user", "workflow", "task", "venue", "species", "program"] | str] = Field(alias="code", serialization_alias="code") + value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") + value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") + value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") + value_reference: Reference | None = Field(None, alias="valueReference", serialization_alias="valueReference") + + diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py new file mode 100644 index 000000000..376e9ee12 --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py @@ -0,0 +1,74 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from __future__ import annotations +from pydantic import BaseModel, ConfigDict, Field, PositiveInt +from typing import List as PyList, Literal + +from fhir_types.hl7_fhir_r4_core.base import BackboneElement, Identifier, Signature +from fhir_types.hl7_fhir_r4_core.resource import Resource +from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily + + +class BundleEntry(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + full_url: str | None = Field(None, alias="fullUrl", serialization_alias="fullUrl") + link: PyList[BundleLink] | None = Field(None, alias="link", serialization_alias="link") + request: BundleEntryRequest | None = Field(None, alias="request", serialization_alias="request") + resource: ResourceFamily | None = Field(None, alias="resource", serialization_alias="resource") + response: BundleEntryResponse | None = Field(None, alias="response", serialization_alias="response") + search: BundleEntrySearch | None = Field(None, alias="search", serialization_alias="search") + +class BundleEntryRequest(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + if_match: str | None = Field(None, alias="ifMatch", serialization_alias="ifMatch") + if_modified_since: str | None = Field(None, alias="ifModifiedSince", serialization_alias="ifModifiedSince") + if_none_exist: str | None = Field(None, alias="ifNoneExist", serialization_alias="ifNoneExist") + if_none_match: str | None = Field(None, alias="ifNoneMatch", serialization_alias="ifNoneMatch") + method: Literal["GET", "HEAD", "POST", "PUT", "DELETE", "PATCH"] = Field(alias="method", serialization_alias="method") + url: str = Field(alias="url", serialization_alias="url") + +class BundleEntryResponse(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + etag: str | None = Field(None, alias="etag", serialization_alias="etag") + last_modified: str | None = Field(None, alias="lastModified", serialization_alias="lastModified") + location: str | None = Field(None, alias="location", serialization_alias="location") + outcome: ResourceFamily | None = Field(None, alias="outcome", serialization_alias="outcome") + status: str = Field(alias="status", serialization_alias="status") + +class BundleEntrySearch(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + mode: Literal["match", "include", "outcome"] | None = Field(None, alias="mode", serialization_alias="mode") + score: float | None = Field(None, alias="score", serialization_alias="score") + +class BundleLink(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + relation: str = Field(alias="relation", serialization_alias="relation") + url: str = Field(alias="url", serialization_alias="url") + + +class Bundle(Resource): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + resource_type: Literal['Bundle'] = Field( + default='Bundle', + alias='resourceType', + serialization_alias='resourceType', + frozen=True, + pattern='Bundle' + ) + entry: PyList[BundleEntry] | None = Field(None, alias="entry", serialization_alias="entry") + identifier: Identifier | None = Field(None, alias="identifier", serialization_alias="identifier") + link: PyList[BundleLink] | None = Field(None, alias="link", serialization_alias="link") + signature: Signature | None = Field(None, alias="signature", serialization_alias="signature") + timestamp: str | None = Field(None, alias="timestamp", serialization_alias="timestamp") + total: int | None = Field(None, alias="total", serialization_alias="total") + type: Literal["document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"] = Field(alias="type", serialization_alias="type") + + def to_json(self, indent: int | None = None) -> str: + return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) + + @classmethod + def from_json(cls, json: str) -> Bundle: + return cls.model_validate_json(json) + diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py new file mode 100644 index 000000000..eacff424e --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py @@ -0,0 +1,34 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from __future__ import annotations +from pydantic import BaseModel, ConfigDict, Field, PositiveInt +from typing import List as PyList, Literal + +from fhir_types.hl7_fhir_r4_core.base import Extension, Narrative +from fhir_types.hl7_fhir_r4_core.resource import Resource +from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily + + +class DomainResource(Resource): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + resource_type: str = Field( + default='DomainResource', + alias='resourceType', + serialization_alias='resourceType', + frozen=True, + pattern='DomainResource' + ) + contained: PyList[ResourceFamily] | None = Field(None, alias="contained", serialization_alias="contained") + extension: PyList[Extension] | None = Field(None, alias="extension", serialization_alias="extension") + modifier_extension: PyList[Extension] | None = Field(None, alias="modifierExtension", serialization_alias="modifierExtension") + text: Narrative | None = Field(None, alias="text", serialization_alias="text") + + def to_json(self, indent: int | None = None) -> str: + return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) + + @classmethod + def from_json(cls, json: str) -> DomainResource: + return cls.model_validate_json(json) + diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py new file mode 100644 index 000000000..89eecc907 --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py @@ -0,0 +1,98 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from __future__ import annotations +from pydantic import BaseModel, ConfigDict, Field, PositiveInt +from typing import List as PyList, Literal + +from fhir_types.hl7_fhir_r4_core.base import (\ + Annotation, BackboneElement, CodeableConcept, Identifier, Period, Quantity, Range, Ratio, Reference, SampledData, \ + Timing +) +from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource +from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily + + +class ObservationComponent(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code: CodeableConcept = Field(alias="code", serialization_alias="code") + data_absent_reason: CodeableConcept[Literal["unknown", "asked-unknown", "temp-unknown", "not-asked", "asked-declined", "masked", "not-applicable", "unsupported", "as-text", "error", "not-a-number", "negative-infinity", "positive-infinity", "not-performed", "not-permitted"] | str] | None = Field(None, alias="dataAbsentReason", serialization_alias="dataAbsentReason") + interpretation: PyList[CodeableConcept[Literal["_GeneticObservationInterpretation", "CAR", "Carrier", "_ObservationInterpretationChange", "B", "D", "U", "W", "_ObservationInterpretationExceptions", "<", ">", "AC", "IE", "QCF", "TOX", "_ObservationInterpretationNormality", "A", "AA", "HH", "LL", "H", "H>", "HU", "L", "L<", "LU", "N", "_ObservationInterpretationSusceptibility", "I", "MS", "NCL", "NS", "R", "SYN-R", "S", "SDD", "SYN-S", "VS", "EX", "HX", "LX", "HM", "ObservationInterpretationDetection", "IND", "E", "NEG", "ND", "POS", "DET", "ObservationInterpretationExpectation", "EXP", "UNE", "OBX", "ReactivityObservationInterpretation", "NR", "RR", "WR"] | str]] | None = Field(None, alias="interpretation", serialization_alias="interpretation") + reference_range: PyList[ObservationReferenceRange] | None = Field(None, alias="referenceRange", serialization_alias="referenceRange") + value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") + value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") + value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") + value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") + value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") + value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") + value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") + value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") + value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") + value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") + +class ObservationReferenceRange(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + age: Range | None = Field(None, alias="age", serialization_alias="age") + applies_to: PyList[CodeableConcept] | None = Field(None, alias="appliesTo", serialization_alias="appliesTo") + high: Quantity | None = Field(None, alias="high", serialization_alias="high") + low: Quantity | None = Field(None, alias="low", serialization_alias="low") + text: str | None = Field(None, alias="text", serialization_alias="text") + type: CodeableConcept[Literal["type", "normal", "recommended", "treatment", "therapeutic", "pre", "post", "endocrine", "pre-puberty", "follicular", "midcycle", "luteal", "postmenopausal"] | str] | None = Field(None, alias="type", serialization_alias="type") + + +class Observation(DomainResource): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + resource_type: Literal['Observation'] = Field( + default='Observation', + alias='resourceType', + serialization_alias='resourceType', + frozen=True, + pattern='Observation' + ) + based_on: PyList[Reference] | None = Field(None, alias="basedOn", serialization_alias="basedOn") + body_site: CodeableConcept | None = Field(None, alias="bodySite", serialization_alias="bodySite") + category: PyList[CodeableConcept[Literal["social-history", "vital-signs", "imaging", "laboratory", "procedure", "survey", "exam", "therapy", "activity"] | str]] | None = Field(None, alias="category", serialization_alias="category") + code: CodeableConcept = Field(alias="code", serialization_alias="code") + component: PyList[ObservationComponent] | None = Field(None, alias="component", serialization_alias="component") + data_absent_reason: CodeableConcept[Literal["unknown", "asked-unknown", "temp-unknown", "not-asked", "asked-declined", "masked", "not-applicable", "unsupported", "as-text", "error", "not-a-number", "negative-infinity", "positive-infinity", "not-performed", "not-permitted"] | str] | None = Field(None, alias="dataAbsentReason", serialization_alias="dataAbsentReason") + derived_from: PyList[Reference] | None = Field(None, alias="derivedFrom", serialization_alias="derivedFrom") + device: Reference | None = Field(None, alias="device", serialization_alias="device") + effective_date_time: str | None = Field(None, alias="effectiveDateTime", serialization_alias="effectiveDateTime") + effective_instant: str | None = Field(None, alias="effectiveInstant", serialization_alias="effectiveInstant") + effective_period: Period | None = Field(None, alias="effectivePeriod", serialization_alias="effectivePeriod") + effective_timing: Timing | None = Field(None, alias="effectiveTiming", serialization_alias="effectiveTiming") + encounter: Reference | None = Field(None, alias="encounter", serialization_alias="encounter") + focus: PyList[Reference] | None = Field(None, alias="focus", serialization_alias="focus") + has_member: PyList[Reference] | None = Field(None, alias="hasMember", serialization_alias="hasMember") + identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") + interpretation: PyList[CodeableConcept[Literal["_GeneticObservationInterpretation", "CAR", "Carrier", "_ObservationInterpretationChange", "B", "D", "U", "W", "_ObservationInterpretationExceptions", "<", ">", "AC", "IE", "QCF", "TOX", "_ObservationInterpretationNormality", "A", "AA", "HH", "LL", "H", "H>", "HU", "L", "L<", "LU", "N", "_ObservationInterpretationSusceptibility", "I", "MS", "NCL", "NS", "R", "SYN-R", "S", "SDD", "SYN-S", "VS", "EX", "HX", "LX", "HM", "ObservationInterpretationDetection", "IND", "E", "NEG", "ND", "POS", "DET", "ObservationInterpretationExpectation", "EXP", "UNE", "OBX", "ReactivityObservationInterpretation", "NR", "RR", "WR"] | str]] | None = Field(None, alias="interpretation", serialization_alias="interpretation") + issued: str | None = Field(None, alias="issued", serialization_alias="issued") + method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") + note: PyList[Annotation] | None = Field(None, alias="note", serialization_alias="note") + part_of: PyList[Reference] | None = Field(None, alias="partOf", serialization_alias="partOf") + performer: PyList[Reference] | None = Field(None, alias="performer", serialization_alias="performer") + reference_range: PyList[ObservationReferenceRange] | None = Field(None, alias="referenceRange", serialization_alias="referenceRange") + specimen: Reference | None = Field(None, alias="specimen", serialization_alias="specimen") + status: Literal["registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown"] = Field(alias="status", serialization_alias="status") + subject: Reference | None = Field(None, alias="subject", serialization_alias="subject") + value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") + value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") + value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") + value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") + value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") + value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") + value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") + value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") + value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") + value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") + + def to_json(self, indent: int | None = None) -> str: + return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) + + @classmethod + def from_json(cls, json: str) -> Observation: + return cls.model_validate_json(json) + diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py new file mode 100644 index 000000000..c396e36af --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py @@ -0,0 +1,41 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from __future__ import annotations +from pydantic import BaseModel, ConfigDict, Field, PositiveInt +from typing import List as PyList, Literal + +from fhir_types.hl7_fhir_r4_core.base import BackboneElement, CodeableConcept +from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource +from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily + + +class OperationOutcomeIssue(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + code: Literal["invalid", "structure", "required", "value", "invariant", "security", "login", "unknown", "expired", "forbidden", "suppressed", "processing", "not-supported", "duplicate", "multiple-matches", "not-found", "deleted", "too-long", "code-invalid", "extension", "too-costly", "business-rule", "conflict", "transient", "lock-error", "no-store", "exception", "timeout", "incomplete", "throttled", "informational"] = Field(alias="code", serialization_alias="code") + details: CodeableConcept | None = Field(None, alias="details", serialization_alias="details") + diagnostics: str | None = Field(None, alias="diagnostics", serialization_alias="diagnostics") + expression: PyList[str] | None = Field(None, alias="expression", serialization_alias="expression") + location: PyList[str] | None = Field(None, alias="location", serialization_alias="location") + severity: Literal["fatal", "error", "warning", "information"] = Field(alias="severity", serialization_alias="severity") + + +class OperationOutcome(DomainResource): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + resource_type: Literal['OperationOutcome'] = Field( + default='OperationOutcome', + alias='resourceType', + serialization_alias='resourceType', + frozen=True, + pattern='OperationOutcome' + ) + issue: PyList[OperationOutcomeIssue] = Field(alias="issue", serialization_alias="issue") + + def to_json(self, indent: int | None = None) -> str: + return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) + + @classmethod + def from_json(cls, json: str) -> OperationOutcome: + return cls.model_validate_json(json) + diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py new file mode 100644 index 000000000..e9c7f7c2c --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py @@ -0,0 +1,71 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from __future__ import annotations +from pydantic import BaseModel, ConfigDict, Field, PositiveInt +from typing import List as PyList, Literal + +from fhir_types.hl7_fhir_r4_core.base import (\ + Address, Attachment, BackboneElement, CodeableConcept, ContactPoint, HumanName, Identifier, Period, Reference +) +from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource +from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily + + +class PatientCommunication(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + language: CodeableConcept[Literal["ar", "bn", "cs", "da", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IN", "en-NZ", "en-SG", "en-US", "es", "es-AR", "es-ES", "es-UY", "fi", "fr", "fr-BE", "fr-CH", "fr-FR", "fy", "fy-NL", "hi", "hr", "it", "it-CH", "it-IT", "ja", "ko", "nl", "nl-BE", "nl-NL", "no", "no-NO", "pa", "pl", "pt", "pt-BR", "ru", "ru-RU", "sr", "sr-RS", "sv", "sv-SE", "te", "zh", "zh-CN", "zh-HK", "zh-SG", "zh-TW"] | str] = Field(alias="language", serialization_alias="language") + preferred: bool | None = Field(None, alias="preferred", serialization_alias="preferred") + +class PatientContact(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + address: Address | None = Field(None, alias="address", serialization_alias="address") + gender: Literal["male", "female", "other", "unknown"] | None = Field(None, alias="gender", serialization_alias="gender") + name: HumanName | None = Field(None, alias="name", serialization_alias="name") + organization: Reference | None = Field(None, alias="organization", serialization_alias="organization") + period: Period | None = Field(None, alias="period", serialization_alias="period") + relationship: PyList[CodeableConcept] | None = Field(None, alias="relationship", serialization_alias="relationship") + telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") + +class PatientLink(BackboneElement): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + other: Reference = Field(alias="other", serialization_alias="other") + type: Literal["replaced-by", "replaces", "refer", "seealso"] = Field(alias="type", serialization_alias="type") + + +class Patient(DomainResource): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + resource_type: Literal['Patient'] = Field( + default='Patient', + alias='resourceType', + serialization_alias='resourceType', + frozen=True, + pattern='Patient' + ) + active: bool | None = Field(None, alias="active", serialization_alias="active") + address: PyList[Address] | None = Field(None, alias="address", serialization_alias="address") + birth_date: str | None = Field(None, alias="birthDate", serialization_alias="birthDate") + communication: PyList[PatientCommunication] | None = Field(None, alias="communication", serialization_alias="communication") + contact: PyList[PatientContact] | None = Field(None, alias="contact", serialization_alias="contact") + deceased_boolean: bool | None = Field(None, alias="deceasedBoolean", serialization_alias="deceasedBoolean") + deceased_date_time: str | None = Field(None, alias="deceasedDateTime", serialization_alias="deceasedDateTime") + gender: Literal["male", "female", "other", "unknown"] | None = Field(None, alias="gender", serialization_alias="gender") + general_practitioner: PyList[Reference] | None = Field(None, alias="generalPractitioner", serialization_alias="generalPractitioner") + identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") + link: PyList[PatientLink] | None = Field(None, alias="link", serialization_alias="link") + managing_organization: Reference | None = Field(None, alias="managingOrganization", serialization_alias="managingOrganization") + marital_status: CodeableConcept[Literal["A", "D", "I", "L", "M", "P", "S", "T", "U", "W", "UNK"] | str] | None = Field(None, alias="maritalStatus", serialization_alias="maritalStatus") + multiple_birth_boolean: bool | None = Field(None, alias="multipleBirthBoolean", serialization_alias="multipleBirthBoolean") + multiple_birth_integer: int | None = Field(None, alias="multipleBirthInteger", serialization_alias="multipleBirthInteger") + name: PyList[HumanName] | None = Field(None, alias="name", serialization_alias="name") + photo: PyList[Attachment] | None = Field(None, alias="photo", serialization_alias="photo") + telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") + + def to_json(self, indent: int | None = None) -> str: + return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) + + @classmethod + def from_json(cls, json: str) -> Patient: + return cls.model_validate_json(json) + diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py new file mode 100644 index 000000000..28229031f --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py @@ -0,0 +1,32 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +from __future__ import annotations +from pydantic import BaseModel, ConfigDict, Field, PositiveInt +from typing import List as PyList, Literal + +from fhir_types.hl7_fhir_r4_core.base import Meta + + +class Resource(BaseModel): + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + resource_type: str = Field( + default='Resource', + alias='resourceType', + serialization_alias='resourceType', + frozen=True, + pattern='Resource' + ) + id: str | None = Field(None, alias="id", serialization_alias="id") + implicit_rules: str | None = Field(None, alias="implicitRules", serialization_alias="implicitRules") + language: str | None = Field(None, alias="language", serialization_alias="language") + meta: Meta | None = Field(None, alias="meta", serialization_alias="meta") + + def to_json(self, indent: int | None = None) -> str: + return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) + + @classmethod + def from_json(cls, json: str) -> Resource: + return cls.model_validate_json(json) + diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py new file mode 100644 index 000000000..e4ebe30f3 --- /dev/null +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py @@ -0,0 +1,115 @@ +# WARNING: This file is autogenerated by @atomic-ehr/codegen. +# GitHub: https://github.com/atomic-ehr/codegen +# Any manual changes made to this file may be overwritten. + +import re +import importlib +import importlib.util +from typing import Any, Annotated, List + +from pydantic import BeforeValidator, BaseModel, ValidationError +from pydantic_core import ValidationError as PydanticCoreValidationError + + +def to_snake_case(name: str) -> str: + s = re.sub(r"(? bool: + """Checks if a module exists without importing it""" + return importlib.util.find_spec(name) is not None + + +def import_and_create_module(module_name: str, class_name: str) -> Any: + """ + Dynamically import a module and create an instance of a specified class. + + Args: + module_name: String name of the module (e.g., 'aidbox.hl7_fhir_r4_core.patient') + class_name: String name of the class (e.g., 'Patient') + + Returns: + Instance of the specified class + """ + try: + module = importlib.import_module(module_name) + class_obj = getattr(module, class_name) + return class_obj + + except (ImportError, AttributeError) as e: + raise ImportError(f"Could not import {class_name} from {module_name}: {e}") + + +def import_and_create_module_if_exists(package: str, class_name: str) -> Any: + """ + Dynamically import a module and create an instance of a specified class if the module exists. + + Args: + package: String name of the package (e.g., 'aidbox.hl7_fhir_r4_core') + class_name: String name of the class (e.g., 'Patient') + + Returns: + Instance of the specified class or None if the module does not exist + """ + module_name = package + "." + to_snake_case(class_name) + if module_exists(module_name): + return import_and_create_module(module_name, class_name) + else: + return None + + +def validate_and_downcast( + resource_data: dict[str, Any], package_list: List[str], family: List[str] +) -> Any: + """ + Validates and downcasts ResourceFamily to the appropriate FHIR resource class + + Args: + resource_data: Input value (dict) + package_list: List of package names to search for resource classes (e.g., ['aidbox.hl7_fhir_r4_core', 'aidbox.hl7_fhir_r4_extras']) + family: List of valid resource types (e.g., 'Group' or 'Patient') + + Returns: + Instance of the appropriate FHIR resource class + """ + + # Extract and validate resource type + resource_type = resource_data.get("resourceType") + if not resource_type: + raise ValueError("Missing 'resourceType' field in resource") + + if resource_type not in family: + raise ValueError(f"Invalid resourceType '{resource_type}'. ") + + # Dynamically import and instantiate the appropriate class + target_class = None + for package in package_list: + target_class = import_and_create_module_if_exists(package, resource_type) + if target_class is not None: + break + if target_class is None: + raise ImportError( + f"Could not find class for resourceType '{resource_type}' in packages {package_list}" + ) + + return target_class.model_validate(resource_data) + + +packages = ['fhir_types.hl7_fhir_r4_core'] + +DomainResourceFamily_resources = ['Observation', 'OperationOutcome', 'Patient'] + +def validate_and_downcast_DomainResourceFamily(v: Any) -> Any: + return validate_and_downcast(v, packages, DomainResourceFamily_resources) + +type DomainResourceFamily = Annotated[Any, BeforeValidator(validate_and_downcast_DomainResourceFamily)] + +ResourceFamily_resources = ['Bundle', 'DomainResource', 'Observation', 'OperationOutcome', 'Patient'] + +def validate_and_downcast_ResourceFamily(v: Any) -> Any: + return validate_and_downcast(v, packages, ResourceFamily_resources) + +type ResourceFamily = Annotated[Any, BeforeValidator(validate_and_downcast_ResourceFamily)] + +__all__ = ['DomainResourceFamily', 'ResourceFamily'] diff --git a/examples/python-extension-example/fhir_types/requirements.txt b/examples/python-extension-example/fhir_types/requirements.txt new file mode 100644 index 000000000..1e53db934 --- /dev/null +++ b/examples/python-extension-example/fhir_types/requirements.txt @@ -0,0 +1,7 @@ +fhirpy>=2.0.0,<3.0.0 +mypy>=1.9.0,<2.0.0 +pydantic>=2.11.0,<3.0.0 +pytest>=8.3.0,<9.0.0 +pytest-asyncio>=0.24.0,<1.0.0 +requests>=2.32.0,<3.0.0 +types-requests>=2.32.0,<3.0.0 diff --git a/examples/python-extension-example/generate.ts b/examples/python-extension-example/generate.ts new file mode 100644 index 000000000..f090b728a --- /dev/null +++ b/examples/python-extension-example/generate.ts @@ -0,0 +1,41 @@ +import { APIBuilder, mkCodegenLogger, prettyReport } from "../../src"; + +console.log("📦 Generating FHIR R4 Core Types..."); + +const logger = mkCodegenLogger({ + prefix: "API", + suppressTags: ["#fieldTypeNotFound", "#largeValueSet"], +}); + +const builder = new APIBuilder({ logger }) + .throwException() + .fromPackage("hl7.fhir.r4.core", "4.0.1") + .python({ + allowExtraFields: true, + fhirpyClient: false, + fieldFormat: "snake_case", + }) + .typeSchema({ + treeShake: { + "hl7.fhir.r4.core": { + "http://hl7.org/fhir/StructureDefinition/Bundle": {}, + "http://hl7.org/fhir/StructureDefinition/OperationOutcome": {}, + "http://hl7.org/fhir/StructureDefinition/DomainResource": {}, + "http://hl7.org/fhir/StructureDefinition/BackboneElement": {}, + "http://hl7.org/fhir/StructureDefinition/Element": {}, + "http://hl7.org/fhir/StructureDefinition/Patient": {}, + "http://hl7.org/fhir/StructureDefinition/Observation": {}, + "http://hl7.org/fhir/StructureDefinition/bodyweight": {}, + }, + }, + }) + .outputTo("./examples/python-extension-example/fhir_types") + .cleanOutput(true); + +const report = await builder.generate(); + +console.log(prettyReport(report)); + +if (!report.success) { + process.exit(1); +} diff --git a/examples/python-extension-example/mypy.ini b/examples/python-extension-example/mypy.ini new file mode 100644 index 000000000..4a3426103 --- /dev/null +++ b/examples/python-extension-example/mypy.ini @@ -0,0 +1,13 @@ +[mypy] +python_version = 3.13 +disallow_untyped_defs = False +disallow_incomplete_defs = False +check_untyped_defs = True +disallow_untyped_decorators = False +no_implicit_optional = True +strict_optional = False +warn_redundant_casts = False +warn_unused_ignores = True +warn_return_any = False +warn_unreachable = True +plugins = pydantic.mypy diff --git a/examples/python-extension-example/test_raw_extension.py b/examples/python-extension-example/test_raw_extension.py new file mode 100644 index 000000000..04832676d --- /dev/null +++ b/examples/python-extension-example/test_raw_extension.py @@ -0,0 +1,180 @@ +""" +FHIR R4 Extension Demo Test + +Mirrors examples/typescript-r4/raw-extension.test.ts for the Python generator. +""" + +import json + +from fhir_types.hl7_fhir_r4_core import ( + Address, + ContactPoint, + Element, + Extension, + HumanName, +) +from fhir_types.hl7_fhir_r4_core.patient import Patient, PatientContact + + +def create_patient_with_extensions() -> Patient: + name = HumanName( + extension=[ + Extension( + url="http://example.org/fhir/StructureDefinition/name-verified", + value_boolean=True, + ) + ], + family="van Beethoven", + _family=Element( + extension=[ + Extension( + url="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix", + value_string="van", + ), + ], + ), + given=["Ludwig", "Maria", "Johann"], + _given=[ + Element( + extension=[ + Extension( + url="http://example.org/fhir/StructureDefinition/name-source", + value_code="birth-certificate", + ), + ], + ), + None, + Element( + extension=[ + Extension( + url="http://example.org/fhir/StructureDefinition/name-source", + value_code="baptism-record", + ), + ], + ), + ], + ) + + contact = PatientContact( + extension=[ + Extension( + url="http://example.org/fhir/StructureDefinition/contact-priority", + value_integer=1, + ) + ], + name=HumanName(family="Watson", given=["John"]), + telecom=[ContactPoint(system="phone", value="+44-20-7946-1234")], + ) + + return Patient( + id="ext-demo", + extension=[ + Extension( + url="http://hl7.org/fhir/StructureDefinition/patient-birthPlace", + value_address=Address(city="Springfield", country="US"), + ), + ], + modifier_extension=[ + Extension( + url="http://example.org/fhir/StructureDefinition/do-not-contact", + value_boolean=False, + ), + ], + birth_date="1990-03-15", + _birth_date=Element( + extension=[ + Extension( + url="http://hl7.org/fhir/StructureDefinition/patient-birthTime", + value_date_time="1990-03-15T08:22:00-05:00", + ), + ], + ), + name=[name], + contact=[contact], + ) + + +def test_patient_with_extensions() -> None: + patient = create_patient_with_extensions() + dumped = json.loads(patient.to_json(indent=2)) + + # NOTE: With allowExtraFields (extra="allow"), primitive extension fields + # on resources serialize using their Python kwarg name (_birth_date), + # not the FHIR alias (_birthDate). Complex-type extras (_family, _given) + # keep FHIR names since they don't go through alias resolution. + # Use primitiveTypeExtension for correct FHIR aliases everywhere. + assert dumped == { + "id": "ext-demo", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace", + "valueAddress": {"city": "Springfield", "country": "US"}, + } + ], + "modifierExtension": [ + { + "url": "http://example.org/fhir/StructureDefinition/do-not-contact", + "valueBoolean": False, + } + ], + "birthDate": "1990-03-15", + "_birth_date": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime", + "valueDateTime": "1990-03-15T08:22:00-05:00", + } + ] + }, + "name": [ + { + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/name-verified", + "valueBoolean": True, + } + ], + "family": "van Beethoven", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix", + "valueString": "van", + } + ] + }, + "given": ["Ludwig", "Maria", "Johann"], + "_given": [ + { + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/name-source", + "valueCode": "birth-certificate", + } + ] + }, + None, + { + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/name-source", + "valueCode": "baptism-record", + } + ] + }, + ], + } + ], + "contact": [ + { + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/contact-priority", + "valueInteger": 1, + } + ], + "name": {"family": "Watson", "given": ["John"]}, + "telecom": [{"system": "phone", "value": "+44-20-7946-1234"}], + } + ], + } diff --git a/examples/python-extension-example/tsconfig.json b/examples/python-extension-example/tsconfig.json new file mode 100644 index 000000000..27663aaca --- /dev/null +++ b/examples/python-extension-example/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "../../tsconfig.json", + "include": [ + "./" + ] +} From 35e5d47ca1aef03b75246a28435c5dc998830fef Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Mon, 16 Mar 2026 21:21:34 +0000 Subject: [PATCH 02/11] py: ci test --- .github/workflows/sdk-tests.yml | 39 +++++++++++++++++++++++++++++++++ Makefile | 19 ++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/.github/workflows/sdk-tests.yml b/.github/workflows/sdk-tests.yml index f4922ee97..21cc4f150 100644 --- a/.github/workflows/sdk-tests.yml +++ b/.github/workflows/sdk-tests.yml @@ -227,6 +227,45 @@ jobs: exit 1 fi + test-python-extension-example: + runs-on: ubuntu-latest + + strategy: + matrix: + bun-version: [ latest ] + python-version: [ "3.13" ] + + steps: + - uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: ${{ matrix.bun-version }} + + - uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Test Python Extension Example + run: make test-python-extension-example + + - name: Repository contains actual python-extension-example version + run: | + diff_result=$(git diff --exit-code --name-only examples/python-extension-example/fhir_types || true) + + if [ -z "$diff_result" ]; then + echo "✅ Generated SDK is identical to the one stored in repository." + else + echo "❌ Generated SDK differs from the one stored in repository." + echo "Differences:" + git diff examples/python-extension-example/fhir_types + exit 1 + fi + test-mustache-java-r4-example: runs-on: ubuntu-latest diff --git a/Makefile b/Makefile index 52744744b..10d8afd33 100644 --- a/Makefile +++ b/Makefile @@ -103,6 +103,7 @@ test-csharp-sdk: typecheck format prepare-aidbox-runme lint PYTHON=python3.13 PYTHON_EXAMPLE=./examples/python PYTHON_FHIRPY_EXAMPLE=./examples/python-fhirpy +PYTHON_EXTENSION_EXAMPLE=./examples/python-extension-example generate-python-sdk: $(TYPECHECK) --project examples/python/tsconfig.json @@ -112,6 +113,10 @@ generate-python-sdk-fhirpy: $(TYPECHECK) --project examples/python-fhirpy/tsconfig.json bun run examples/python-fhirpy/generate.ts +generate-python-extension-example: + $(TYPECHECK) --project examples/python-extension-example/tsconfig.json + bun run examples/python-extension-example/generate.ts + python-test-setup: @if [ ! -d "$(PYTHON_EXAMPLE)/venv" ]; then \ cd $(PYTHON_EXAMPLE) && \ @@ -129,6 +134,15 @@ python-fhirpy-test-setup: pip install fhirpy; \ fi +python-extension-test-setup: + @if [ ! -d "$(PYTHON_EXTENSION_EXAMPLE)/venv" ]; then \ + cd $(PYTHON_EXTENSION_EXAMPLE) && \ + $(PYTHON) -m venv venv && \ + . venv/bin/activate && \ + pip install -r fhir_types/requirements.txt && \ + pip install syrupy; \ + fi + test-python-sdk: typecheck format prepare-aidbox-runme lint generate-python-sdk python-test-setup # Run mypy in strict mode cd $(PYTHON_EXAMPLE) && \ @@ -144,3 +158,8 @@ test-python-fhirpy-sdk: typecheck format prepare-aidbox-runme lint generate-pyth cd $(PYTHON_FHIRPY_EXAMPLE) && \ . venv/bin/activate && \ mypy --strict . + +test-python-extension-example: typecheck format lint generate-python-extension-example python-extension-test-setup + cd $(PYTHON_EXTENSION_EXAMPLE) && \ + . venv/bin/activate && \ + python -m pytest test_raw_extension.py -v From 658f498daa455b4a4e582c6fab3c007e1e632a39 Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Mon, 16 Mar 2026 21:27:43 +0000 Subject: [PATCH 03/11] py: added a snapshot for the new test --- Makefile | 3 +- .../__snapshots__/test_raw_extension.ambr | 95 +++++++++++++++++++ .../python-extension-example/requirements.txt | 3 + .../test_raw_extension.py | 86 +---------------- 4 files changed, 103 insertions(+), 84 deletions(-) create mode 100644 examples/python-extension-example/__snapshots__/test_raw_extension.ambr create mode 100644 examples/python-extension-example/requirements.txt diff --git a/Makefile b/Makefile index 10d8afd33..1743d4dc6 100644 --- a/Makefile +++ b/Makefile @@ -139,8 +139,7 @@ python-extension-test-setup: cd $(PYTHON_EXTENSION_EXAMPLE) && \ $(PYTHON) -m venv venv && \ . venv/bin/activate && \ - pip install -r fhir_types/requirements.txt && \ - pip install syrupy; \ + pip install -r requirements.txt; \ fi test-python-sdk: typecheck format prepare-aidbox-runme lint generate-python-sdk python-test-setup diff --git a/examples/python-extension-example/__snapshots__/test_raw_extension.ambr b/examples/python-extension-example/__snapshots__/test_raw_extension.ambr new file mode 100644 index 000000000..59d349727 --- /dev/null +++ b/examples/python-extension-example/__snapshots__/test_raw_extension.ambr @@ -0,0 +1,95 @@ +# serializer version: 1 +# name: test_patient_with_extensions + dict({ + '_birth_date': dict({ + 'extension': list([ + dict({ + 'url': 'http://hl7.org/fhir/StructureDefinition/patient-birthTime', + 'valueDateTime': '1990-03-15T08:22:00-05:00', + }), + ]), + }), + 'birthDate': '1990-03-15', + 'contact': list([ + dict({ + 'extension': list([ + dict({ + 'url': 'http://example.org/fhir/StructureDefinition/contact-priority', + 'valueInteger': 1, + }), + ]), + 'name': dict({ + 'family': 'Watson', + 'given': list([ + 'John', + ]), + }), + 'telecom': list([ + dict({ + 'system': 'phone', + 'value': '+44-20-7946-1234', + }), + ]), + }), + ]), + 'extension': list([ + dict({ + 'url': 'http://hl7.org/fhir/StructureDefinition/patient-birthPlace', + 'valueAddress': dict({ + 'city': 'Springfield', + 'country': 'US', + }), + }), + ]), + 'id': 'ext-demo', + 'modifierExtension': list([ + dict({ + 'url': 'http://example.org/fhir/StructureDefinition/do-not-contact', + 'valueBoolean': False, + }), + ]), + 'name': list([ + dict({ + '_family': dict({ + 'extension': list([ + dict({ + 'url': 'http://hl7.org/fhir/StructureDefinition/humanname-own-prefix', + 'valueString': 'van', + }), + ]), + }), + '_given': list([ + dict({ + 'extension': list([ + dict({ + 'url': 'http://example.org/fhir/StructureDefinition/name-source', + 'valueCode': 'birth-certificate', + }), + ]), + }), + None, + dict({ + 'extension': list([ + dict({ + 'url': 'http://example.org/fhir/StructureDefinition/name-source', + 'valueCode': 'baptism-record', + }), + ]), + }), + ]), + 'extension': list([ + dict({ + 'url': 'http://example.org/fhir/StructureDefinition/name-verified', + 'valueBoolean': True, + }), + ]), + 'family': 'van Beethoven', + 'given': list([ + 'Ludwig', + 'Maria', + 'Johann', + ]), + }), + ]), + }) +# --- diff --git a/examples/python-extension-example/requirements.txt b/examples/python-extension-example/requirements.txt new file mode 100644 index 000000000..b0c5fe583 --- /dev/null +++ b/examples/python-extension-example/requirements.txt @@ -0,0 +1,3 @@ +pydantic>=2.11.0,<3.0.0 +pytest>=8.3.0,<9.0.0 +syrupy>=4.0.0,<6.0.0 diff --git a/examples/python-extension-example/test_raw_extension.py b/examples/python-extension-example/test_raw_extension.py index 04832676d..6118eec3f 100644 --- a/examples/python-extension-example/test_raw_extension.py +++ b/examples/python-extension-example/test_raw_extension.py @@ -6,6 +6,8 @@ import json +from syrupy.assertion import SnapshotAssertion + from fhir_types.hl7_fhir_r4_core import ( Address, ContactPoint, @@ -94,87 +96,7 @@ def create_patient_with_extensions() -> Patient: ) -def test_patient_with_extensions() -> None: +def test_patient_with_extensions(snapshot: SnapshotAssertion) -> None: patient = create_patient_with_extensions() dumped = json.loads(patient.to_json(indent=2)) - - # NOTE: With allowExtraFields (extra="allow"), primitive extension fields - # on resources serialize using their Python kwarg name (_birth_date), - # not the FHIR alias (_birthDate). Complex-type extras (_family, _given) - # keep FHIR names since they don't go through alias resolution. - # Use primitiveTypeExtension for correct FHIR aliases everywhere. - assert dumped == { - "id": "ext-demo", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace", - "valueAddress": {"city": "Springfield", "country": "US"}, - } - ], - "modifierExtension": [ - { - "url": "http://example.org/fhir/StructureDefinition/do-not-contact", - "valueBoolean": False, - } - ], - "birthDate": "1990-03-15", - "_birth_date": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime", - "valueDateTime": "1990-03-15T08:22:00-05:00", - } - ] - }, - "name": [ - { - "extension": [ - { - "url": "http://example.org/fhir/StructureDefinition/name-verified", - "valueBoolean": True, - } - ], - "family": "van Beethoven", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix", - "valueString": "van", - } - ] - }, - "given": ["Ludwig", "Maria", "Johann"], - "_given": [ - { - "extension": [ - { - "url": "http://example.org/fhir/StructureDefinition/name-source", - "valueCode": "birth-certificate", - } - ] - }, - None, - { - "extension": [ - { - "url": "http://example.org/fhir/StructureDefinition/name-source", - "valueCode": "baptism-record", - } - ] - }, - ], - } - ], - "contact": [ - { - "extension": [ - { - "url": "http://example.org/fhir/StructureDefinition/contact-priority", - "valueInteger": 1, - } - ], - "name": {"family": "Watson", "given": ["John"]}, - "telecom": [{"system": "phone", "value": "+44-20-7946-1234"}], - } - ], - } + assert dumped == snapshot From 822da759971331a465e784140565b01f67100bdd Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Wed, 18 Mar 2026 11:10:27 +0000 Subject: [PATCH 04/11] py: replaced syrupy with pytest-snapshot --- .../patient_with_extensions.json | 92 ++++++++++++++++++ .../__snapshots__/test_raw_extension.ambr | 95 ------------------- .../python-extension-example/requirements.txt | 2 +- .../test_raw_extension.py | 13 ++- 4 files changed, 102 insertions(+), 100 deletions(-) create mode 100644 examples/python-extension-example/__snapshots__/patient_with_extensions.json delete mode 100644 examples/python-extension-example/__snapshots__/test_raw_extension.ambr diff --git a/examples/python-extension-example/__snapshots__/patient_with_extensions.json b/examples/python-extension-example/__snapshots__/patient_with_extensions.json new file mode 100644 index 000000000..0fff5c095 --- /dev/null +++ b/examples/python-extension-example/__snapshots__/patient_with_extensions.json @@ -0,0 +1,92 @@ +{ + "_birth_date": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime", + "valueDateTime": "1990-03-15T08:22:00-05:00" + } + ] + }, + "birthDate": "1990-03-15", + "contact": [ + { + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/contact-priority", + "valueInteger": 1 + } + ], + "name": { + "family": "Watson", + "given": [ + "John" + ] + }, + "telecom": [ + { + "system": "phone", + "value": "+44-20-7946-1234" + } + ] + } + ], + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace", + "valueAddress": { + "city": "Springfield", + "country": "US" + } + } + ], + "id": "ext-demo", + "modifierExtension": [ + { + "url": "http://example.org/fhir/StructureDefinition/do-not-contact", + "valueBoolean": false + } + ], + "name": [ + { + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-prefix", + "valueString": "van" + } + ] + }, + "_given": [ + { + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/name-source", + "valueCode": "birth-certificate" + } + ] + }, + null, + { + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/name-source", + "valueCode": "baptism-record" + } + ] + } + ], + "extension": [ + { + "url": "http://example.org/fhir/StructureDefinition/name-verified", + "valueBoolean": true + } + ], + "family": "van Beethoven", + "given": [ + "Ludwig", + "Maria", + "Johann" + ] + } + ] +} \ No newline at end of file diff --git a/examples/python-extension-example/__snapshots__/test_raw_extension.ambr b/examples/python-extension-example/__snapshots__/test_raw_extension.ambr deleted file mode 100644 index 59d349727..000000000 --- a/examples/python-extension-example/__snapshots__/test_raw_extension.ambr +++ /dev/null @@ -1,95 +0,0 @@ -# serializer version: 1 -# name: test_patient_with_extensions - dict({ - '_birth_date': dict({ - 'extension': list([ - dict({ - 'url': 'http://hl7.org/fhir/StructureDefinition/patient-birthTime', - 'valueDateTime': '1990-03-15T08:22:00-05:00', - }), - ]), - }), - 'birthDate': '1990-03-15', - 'contact': list([ - dict({ - 'extension': list([ - dict({ - 'url': 'http://example.org/fhir/StructureDefinition/contact-priority', - 'valueInteger': 1, - }), - ]), - 'name': dict({ - 'family': 'Watson', - 'given': list([ - 'John', - ]), - }), - 'telecom': list([ - dict({ - 'system': 'phone', - 'value': '+44-20-7946-1234', - }), - ]), - }), - ]), - 'extension': list([ - dict({ - 'url': 'http://hl7.org/fhir/StructureDefinition/patient-birthPlace', - 'valueAddress': dict({ - 'city': 'Springfield', - 'country': 'US', - }), - }), - ]), - 'id': 'ext-demo', - 'modifierExtension': list([ - dict({ - 'url': 'http://example.org/fhir/StructureDefinition/do-not-contact', - 'valueBoolean': False, - }), - ]), - 'name': list([ - dict({ - '_family': dict({ - 'extension': list([ - dict({ - 'url': 'http://hl7.org/fhir/StructureDefinition/humanname-own-prefix', - 'valueString': 'van', - }), - ]), - }), - '_given': list([ - dict({ - 'extension': list([ - dict({ - 'url': 'http://example.org/fhir/StructureDefinition/name-source', - 'valueCode': 'birth-certificate', - }), - ]), - }), - None, - dict({ - 'extension': list([ - dict({ - 'url': 'http://example.org/fhir/StructureDefinition/name-source', - 'valueCode': 'baptism-record', - }), - ]), - }), - ]), - 'extension': list([ - dict({ - 'url': 'http://example.org/fhir/StructureDefinition/name-verified', - 'valueBoolean': True, - }), - ]), - 'family': 'van Beethoven', - 'given': list([ - 'Ludwig', - 'Maria', - 'Johann', - ]), - }), - ]), - }) -# --- diff --git a/examples/python-extension-example/requirements.txt b/examples/python-extension-example/requirements.txt index b0c5fe583..265bb5e18 100644 --- a/examples/python-extension-example/requirements.txt +++ b/examples/python-extension-example/requirements.txt @@ -1,3 +1,3 @@ pydantic>=2.11.0,<3.0.0 pytest>=8.3.0,<9.0.0 -syrupy>=4.0.0,<6.0.0 +pytest-snapshot>=0.9.0,<1.0.0 diff --git a/examples/python-extension-example/test_raw_extension.py b/examples/python-extension-example/test_raw_extension.py index 6118eec3f..7f0db4ad5 100644 --- a/examples/python-extension-example/test_raw_extension.py +++ b/examples/python-extension-example/test_raw_extension.py @@ -5,8 +5,9 @@ """ import json +from pathlib import Path -from syrupy.assertion import SnapshotAssertion +from pytest_snapshot.plugin import Snapshot from fhir_types.hl7_fhir_r4_core import ( Address, @@ -96,7 +97,11 @@ def create_patient_with_extensions() -> Patient: ) -def test_patient_with_extensions(snapshot: SnapshotAssertion) -> None: +SNAPSHOT_DIR = Path(__file__).parent / "__snapshots__" + + +def test_patient_with_extensions(snapshot: Snapshot) -> None: + snapshot.snapshot_dir = SNAPSHOT_DIR patient = create_patient_with_extensions() - dumped = json.loads(patient.to_json(indent=2)) - assert dumped == snapshot + dumped = json.dumps(json.loads(patient.to_json(indent=2)), indent=2, sort_keys=True) + snapshot.assert_match(dumped, "patient_with_extensions.json") From a9a12f0d01c3edc5e370173223b2c9cee0f491e8 Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Wed, 18 Mar 2026 11:22:44 +0000 Subject: [PATCH 05/11] py: test: getting extension data from resources --- .../test_raw_extension.py | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/examples/python-extension-example/test_raw_extension.py b/examples/python-extension-example/test_raw_extension.py index 7f0db4ad5..1213e0c22 100644 --- a/examples/python-extension-example/test_raw_extension.py +++ b/examples/python-extension-example/test_raw_extension.py @@ -105,3 +105,64 @@ def test_patient_with_extensions(snapshot: Snapshot) -> None: patient = create_patient_with_extensions() dumped = json.dumps(json.loads(patient.to_json(indent=2)), indent=2, sort_keys=True) snapshot.assert_match(dumped, "patient_with_extensions.json") + + +def test_read_resource_level_extension() -> None: + patient = create_patient_with_extensions() + + assert patient.extension is not None + assert patient.extension[0].url == "http://hl7.org/fhir/StructureDefinition/patient-birthPlace" + assert patient.extension[0].value_address is not None + assert patient.extension[0].value_address.city == "Springfield" + + assert patient.modifier_extension is not None + assert patient.modifier_extension[0].value_boolean is False + + +def test_read_element_level_extension() -> None: + patient = create_patient_with_extensions() + + assert patient.name is not None + name = patient.name[0] + assert name.extension is not None + assert name.extension[0].url == "http://example.org/fhir/StructureDefinition/name-verified" + assert name.extension[0].value_boolean is True + + assert patient.contact is not None + contact = patient.contact[0] + assert contact.extension is not None + assert contact.extension[0].value_integer == 1 + + +def test_read_primitive_extension_via_extra() -> None: + patient = create_patient_with_extensions() + + name = patient.name[0] + assert isinstance(name._family, Element) + assert name._family.extension[0].value_string == "van" + + assert isinstance(name._given, list) + assert name._given[0].extension[0].value_code == "birth-certificate" + assert name._given[1] is None + assert name._given[2].extension[0].value_code == "baptism-record" + + assert patient._birth_date is not None + assert isinstance(patient._birth_date, Element) + assert patient._birth_date.extension[0].value_date_time == "1990-03-15T08:22:00-05:00" + + +def test_primitive_extension_lost_after_round_trip() -> None: + """After serialize → deserialize, extra fields come back as raw dicts + instead of Element instances because extra="allow" has no type info.""" + patient = create_patient_with_extensions() + restored = Patient.from_json(patient.to_json()) + + assert restored.birth_date == "1990-03-15" + assert restored.extension is not None + assert restored.extension[0].value_address is not None + assert restored.extension[0].value_address.city == "Springfield" + + assert restored._birth_date is not None + assert not isinstance(restored._birth_date, Element) + assert isinstance(restored._birth_date, dict) + assert restored._birth_date["extension"][0]["valueDateTime"] == "1990-03-15T08:22:00-05:00" # type: ignore[attr-defined] From 5a75d5a2df9cc3c173164efcccf3a9aa7a975a0e Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Wed, 18 Mar 2026 20:01:41 +0000 Subject: [PATCH 06/11] rebased --- .../patient_with_extensions.json | 2 +- .../fhir_types/hl7_fhir_r4_core/base.py | 202 ++++++++++++++---- .../fhir_types/hl7_fhir_r4_core/bundle.py | 16 +- .../hl7_fhir_r4_core/domain_resource.py | 2 +- .../hl7_fhir_r4_core/observation.py | 16 +- .../hl7_fhir_r4_core/operation_outcome.py | 4 +- .../fhir_types/hl7_fhir_r4_core/patient.py | 16 +- .../fhir_types/hl7_fhir_r4_core/resource.py | 6 +- examples/python-extension-example/generate.ts | 3 +- .../test_raw_extension.py | 38 ++-- src/api/builder.ts | 1 + src/api/writer-generator/python.ts | 39 ++++ 12 files changed, 266 insertions(+), 79 deletions(-) diff --git a/examples/python-extension-example/__snapshots__/patient_with_extensions.json b/examples/python-extension-example/__snapshots__/patient_with_extensions.json index 0fff5c095..21ad5d912 100644 --- a/examples/python-extension-example/__snapshots__/patient_with_extensions.json +++ b/examples/python-extension-example/__snapshots__/patient_with_extensions.json @@ -1,5 +1,5 @@ { - "_birth_date": { + "_birthDate": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime", diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py index 01aef76e1..50cb6ce07 100644 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py @@ -11,115 +11,154 @@ class Element(BaseModel): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") extension: PyList[Extension] | None = Field(None, alias="extension", serialization_alias="extension") id: str | None = Field(None, alias="id", serialization_alias="id") + id_extension: Element | None = Field(None, alias="_id", serialization_alias="_id") class Address(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") city: str | None = Field(None, alias="city", serialization_alias="city") + city_extension: Element | None = Field(None, alias="_city", serialization_alias="_city") country: str | None = Field(None, alias="country", serialization_alias="country") + country_extension: Element | None = Field(None, alias="_country", serialization_alias="_country") district: str | None = Field(None, alias="district", serialization_alias="district") + district_extension: Element | None = Field(None, alias="_district", serialization_alias="_district") line: PyList[str] | None = Field(None, alias="line", serialization_alias="line") + line_extension: PyList[Element | None] | None = Field(None, alias="_line", serialization_alias="_line") period: Period | None = Field(None, alias="period", serialization_alias="period") postal_code: str | None = Field(None, alias="postalCode", serialization_alias="postalCode") + postal_code_extension: Element | None = Field(None, alias="_postalCode", serialization_alias="_postalCode") state: str | None = Field(None, alias="state", serialization_alias="state") + state_extension: Element | None = Field(None, alias="_state", serialization_alias="_state") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") type: Literal["postal", "physical", "both"] | None = Field(None, alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") use: Literal["home", "work", "temp", "old", "billing"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") class Quantity(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: str | None = Field(None, alias="code", serialization_alias="code") + code_extension: Element | None = Field(None, alias="_code", serialization_alias="_code") comparator: Literal["<", "<=", ">=", ">"] | None = Field(None, alias="comparator", serialization_alias="comparator") + comparator_extension: Element | None = Field(None, alias="_comparator", serialization_alias="_comparator") system: str | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") unit: str | None = Field(None, alias="unit", serialization_alias="unit") + unit_extension: Element | None = Field(None, alias="_unit", serialization_alias="_unit") value: float | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Age(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") pass class Annotation(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") author_reference: Reference | None = Field(None, alias="authorReference", serialization_alias="authorReference") author_string: str | None = Field(None, alias="authorString", serialization_alias="authorString") + author_string_extension: Element | None = Field(None, alias="_authorString", serialization_alias="_authorString") text: str = Field(alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") time: str | None = Field(None, alias="time", serialization_alias="time") + time_extension: Element | None = Field(None, alias="_time", serialization_alias="_time") class Attachment(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") content_type: str | None = Field(None, alias="contentType", serialization_alias="contentType") + content_type_extension: Element | None = Field(None, alias="_contentType", serialization_alias="_contentType") creation: str | None = Field(None, alias="creation", serialization_alias="creation") + creation_extension: Element | None = Field(None, alias="_creation", serialization_alias="_creation") data: str | None = Field(None, alias="data", serialization_alias="data") + data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") hash: str | None = Field(None, alias="hash", serialization_alias="hash") + hash_extension: Element | None = Field(None, alias="_hash", serialization_alias="_hash") language: str | None = Field(None, alias="language", serialization_alias="language") + language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") size: int | None = Field(None, alias="size", serialization_alias="size") + size_extension: Element | None = Field(None, alias="_size", serialization_alias="_size") title: str | None = Field(None, alias="title", serialization_alias="title") + title_extension: Element | None = Field(None, alias="_title", serialization_alias="_title") url: str | None = Field(None, alias="url", serialization_alias="url") + url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") class BackboneElement(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") modifier_extension: PyList[Extension] | None = Field(None, alias="modifierExtension", serialization_alias="modifierExtension") class CodeableConcept(Element, Generic[T]): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") coding: PyList[Coding[T]] | None = Field(None, alias="coding", serialization_alias="coding") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") class Coding(Element, Generic[T]): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: T | None = Field(None, alias="code", serialization_alias="code") + code_extension: Element | None = Field(None, alias="_code", serialization_alias="_code") display: str | None = Field(None, alias="display", serialization_alias="display") + display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") system: str | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") user_selected: bool | None = Field(None, alias="userSelected", serialization_alias="userSelected") + user_selected_extension: Element | None = Field(None, alias="_userSelected", serialization_alias="_userSelected") version: str | None = Field(None, alias="version", serialization_alias="version") + version_extension: Element | None = Field(None, alias="_version", serialization_alias="_version") class ContactDetail(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") class ContactPoint(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") period: Period | None = Field(None, alias="period", serialization_alias="period") rank: PositiveInt | None = Field(None, alias="rank", serialization_alias="rank") + rank_extension: Element | None = Field(None, alias="_rank", serialization_alias="_rank") system: Literal["phone", "fax", "email", "pager", "url", "sms", "other"] | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") use: Literal["home", "work", "temp", "old", "mobile"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") value: str | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Contributor(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") contact: PyList[ContactDetail] | None = Field(None, alias="contact", serialization_alias="contact") name: str = Field(alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") type: Literal["author", "editor", "reviewer", "endorser"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class Count(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") pass class DataRequirementCodeFilter(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: PyList[Coding] | None = Field(None, alias="code", serialization_alias="code") path: str | None = Field(None, alias="path", serialization_alias="path") search_param: str | None = Field(None, alias="searchParam", serialization_alias="searchParam") value_set: str | None = Field(None, alias="valueSet", serialization_alias="valueSet") class DataRequirementDateFilter(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") path: str | None = Field(None, alias="path", serialization_alias="path") search_param: str | None = Field(None, alias="searchParam", serialization_alias="searchParam") value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") @@ -127,31 +166,35 @@ class DataRequirementDateFilter(Element): value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") class DataRequirementSort(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") direction: Literal["ascending", "descending"] = Field(alias="direction", serialization_alias="direction") path: str = Field(alias="path", serialization_alias="path") class DataRequirement(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code_filter: PyList[DataRequirementCodeFilter] | None = Field(None, alias="codeFilter", serialization_alias="codeFilter") date_filter: PyList[DataRequirementDateFilter] | None = Field(None, alias="dateFilter", serialization_alias="dateFilter") limit: PositiveInt | None = Field(None, alias="limit", serialization_alias="limit") + limit_extension: Element | None = Field(None, alias="_limit", serialization_alias="_limit") must_support: PyList[str] | None = Field(None, alias="mustSupport", serialization_alias="mustSupport") + must_support_extension: PyList[Element | None] | None = Field(None, alias="_mustSupport", serialization_alias="_mustSupport") profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") + profile_extension: PyList[Element | None] | None = Field(None, alias="_profile", serialization_alias="_profile") sort: PyList[DataRequirementSort] | None = Field(None, alias="sort", serialization_alias="sort") subject_codeable_concept: CodeableConcept | None = Field(None, alias="subjectCodeableConcept", serialization_alias="subjectCodeableConcept") subject_reference: Reference | None = Field(None, alias="subjectReference", serialization_alias="subjectReference") type: str = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class Distance(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") pass class DosageDoseAndRate(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") dose_quantity: Quantity | None = Field(None, alias="doseQuantity", serialization_alias="doseQuantity") dose_range: Range | None = Field(None, alias="doseRange", serialization_alias="doseRange") rate_quantity: Quantity | None = Field(None, alias="rateQuantity", serialization_alias="rateQuantity") @@ -161,9 +204,10 @@ class DosageDoseAndRate(Element): class Dosage(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") additional_instruction: PyList[CodeableConcept] | None = Field(None, alias="additionalInstruction", serialization_alias="additionalInstruction") as_needed_boolean: bool | None = Field(None, alias="asNeededBoolean", serialization_alias="asNeededBoolean") + as_needed_boolean_extension: Element | None = Field(None, alias="_asNeededBoolean", serialization_alias="_asNeededBoolean") as_needed_codeable_concept: CodeableConcept | None = Field(None, alias="asNeededCodeableConcept", serialization_alias="asNeededCodeableConcept") dose_and_rate: PyList[DosageDoseAndRate] | None = Field(None, alias="doseAndRate", serialization_alias="doseAndRate") max_dose_per_administration: Quantity | None = Field(None, alias="maxDosePerAdministration", serialization_alias="maxDosePerAdministration") @@ -171,38 +215,51 @@ class Dosage(BackboneElement): max_dose_per_period: Ratio | None = Field(None, alias="maxDosePerPeriod", serialization_alias="maxDosePerPeriod") method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") patient_instruction: str | None = Field(None, alias="patientInstruction", serialization_alias="patientInstruction") + patient_instruction_extension: Element | None = Field(None, alias="_patientInstruction", serialization_alias="_patientInstruction") route: CodeableConcept | None = Field(None, alias="route", serialization_alias="route") sequence: int | None = Field(None, alias="sequence", serialization_alias="sequence") + sequence_extension: Element | None = Field(None, alias="_sequence", serialization_alias="_sequence") site: CodeableConcept | None = Field(None, alias="site", serialization_alias="site") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") timing: Timing | None = Field(None, alias="timing", serialization_alias="timing") class Duration(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") pass class Expression(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") description: str | None = Field(None, alias="description", serialization_alias="description") + description_extension: Element | None = Field(None, alias="_description", serialization_alias="_description") expression: str | None = Field(None, alias="expression", serialization_alias="expression") + expression_extension: Element | None = Field(None, alias="_expression", serialization_alias="_expression") language: str = Field(alias="language", serialization_alias="language") + language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") reference: str | None = Field(None, alias="reference", serialization_alias="reference") + reference_extension: Element | None = Field(None, alias="_reference", serialization_alias="_reference") class Extension(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") url: str = Field(alias="url", serialization_alias="url") + url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") value_address: Address | None = Field(None, alias="valueAddress", serialization_alias="valueAddress") value_age: Age | None = Field(None, alias="valueAge", serialization_alias="valueAge") value_annotation: Annotation | None = Field(None, alias="valueAnnotation", serialization_alias="valueAnnotation") value_attachment: Attachment | None = Field(None, alias="valueAttachment", serialization_alias="valueAttachment") value_base64binary: str | None = Field(None, alias="valueBase64Binary", serialization_alias="valueBase64Binary") + value_base64binary_extension: Element | None = Field(None, alias="_valueBase64Binary", serialization_alias="_valueBase64Binary") value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") + value_boolean_extension: Element | None = Field(None, alias="_valueBoolean", serialization_alias="_valueBoolean") value_canonical: str | None = Field(None, alias="valueCanonical", serialization_alias="valueCanonical") + value_canonical_extension: Element | None = Field(None, alias="_valueCanonical", serialization_alias="_valueCanonical") value_code: str | None = Field(None, alias="valueCode", serialization_alias="valueCode") + value_code_extension: Element | None = Field(None, alias="_valueCode", serialization_alias="_valueCode") value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") value_coding: Coding | None = Field(None, alias="valueCoding", serialization_alias="valueCoding") value_contact_detail: ContactDetail | None = Field(None, alias="valueContactDetail", serialization_alias="valueContactDetail") @@ -211,24 +268,33 @@ class Extension(Element): value_count: Count | None = Field(None, alias="valueCount", serialization_alias="valueCount") value_data_requirement: DataRequirement | None = Field(None, alias="valueDataRequirement", serialization_alias="valueDataRequirement") value_date: str | None = Field(None, alias="valueDate", serialization_alias="valueDate") + value_date_extension: Element | None = Field(None, alias="_valueDate", serialization_alias="_valueDate") value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_date_time_extension: Element | None = Field(None, alias="_valueDateTime", serialization_alias="_valueDateTime") value_decimal: float | None = Field(None, alias="valueDecimal", serialization_alias="valueDecimal") + value_decimal_extension: Element | None = Field(None, alias="_valueDecimal", serialization_alias="_valueDecimal") value_distance: Distance | None = Field(None, alias="valueDistance", serialization_alias="valueDistance") value_dosage: Dosage | None = Field(None, alias="valueDosage", serialization_alias="valueDosage") value_duration: Duration | None = Field(None, alias="valueDuration", serialization_alias="valueDuration") value_expression: Expression | None = Field(None, alias="valueExpression", serialization_alias="valueExpression") value_human_name: HumanName | None = Field(None, alias="valueHumanName", serialization_alias="valueHumanName") value_id: str | None = Field(None, alias="valueId", serialization_alias="valueId") + value_id_extension: Element | None = Field(None, alias="_valueId", serialization_alias="_valueId") value_identifier: Identifier | None = Field(None, alias="valueIdentifier", serialization_alias="valueIdentifier") value_instant: str | None = Field(None, alias="valueInstant", serialization_alias="valueInstant") + value_instant_extension: Element | None = Field(None, alias="_valueInstant", serialization_alias="_valueInstant") value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") + value_integer_extension: Element | None = Field(None, alias="_valueInteger", serialization_alias="_valueInteger") value_markdown: str | None = Field(None, alias="valueMarkdown", serialization_alias="valueMarkdown") + value_markdown_extension: Element | None = Field(None, alias="_valueMarkdown", serialization_alias="_valueMarkdown") value_meta: Meta | None = Field(None, alias="valueMeta", serialization_alias="valueMeta") value_money: Money | None = Field(None, alias="valueMoney", serialization_alias="valueMoney") value_oid: str | None = Field(None, alias="valueOid", serialization_alias="valueOid") + value_oid_extension: Element | None = Field(None, alias="_valueOid", serialization_alias="_valueOid") value_parameter_definition: ParameterDefinition | None = Field(None, alias="valueParameterDefinition", serialization_alias="valueParameterDefinition") value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") value_positive_int: PositiveInt | None = Field(None, alias="valuePositiveInt", serialization_alias="valuePositiveInt") + value_positive_int_extension: Element | None = Field(None, alias="_valuePositiveInt", serialization_alias="_valuePositiveInt") value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") @@ -237,131 +303,182 @@ class Extension(Element): value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") value_signature: Signature | None = Field(None, alias="valueSignature", serialization_alias="valueSignature") value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") + value_string_extension: Element | None = Field(None, alias="_valueString", serialization_alias="_valueString") value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") + value_time_extension: Element | None = Field(None, alias="_valueTime", serialization_alias="_valueTime") value_timing: Timing | None = Field(None, alias="valueTiming", serialization_alias="valueTiming") value_trigger_definition: TriggerDefinition | None = Field(None, alias="valueTriggerDefinition", serialization_alias="valueTriggerDefinition") value_unsigned_int: int | None = Field(None, alias="valueUnsignedInt", serialization_alias="valueUnsignedInt") + value_unsigned_int_extension: Element | None = Field(None, alias="_valueUnsignedInt", serialization_alias="_valueUnsignedInt") value_uri: str | None = Field(None, alias="valueUri", serialization_alias="valueUri") + value_uri_extension: Element | None = Field(None, alias="_valueUri", serialization_alias="_valueUri") value_url: str | None = Field(None, alias="valueUrl", serialization_alias="valueUrl") + value_url_extension: Element | None = Field(None, alias="_valueUrl", serialization_alias="_valueUrl") value_usage_context: UsageContext | None = Field(None, alias="valueUsageContext", serialization_alias="valueUsageContext") value_uuid: str | None = Field(None, alias="valueUuid", serialization_alias="valueUuid") + value_uuid_extension: Element | None = Field(None, alias="_valueUuid", serialization_alias="_valueUuid") class HumanName(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") family: str | None = Field(None, alias="family", serialization_alias="family") + family_extension: Element | None = Field(None, alias="_family", serialization_alias="_family") given: PyList[str] | None = Field(None, alias="given", serialization_alias="given") + given_extension: PyList[Element | None] | None = Field(None, alias="_given", serialization_alias="_given") period: Period | None = Field(None, alias="period", serialization_alias="period") prefix: PyList[str] | None = Field(None, alias="prefix", serialization_alias="prefix") + prefix_extension: PyList[Element | None] | None = Field(None, alias="_prefix", serialization_alias="_prefix") suffix: PyList[str] | None = Field(None, alias="suffix", serialization_alias="suffix") + suffix_extension: PyList[Element | None] | None = Field(None, alias="_suffix", serialization_alias="_suffix") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") use: Literal["usual", "official", "temp", "nickname", "anonymous", "old", "maiden"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") class Identifier(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") assigner: Reference | None = Field(None, alias="assigner", serialization_alias="assigner") period: Period | None = Field(None, alias="period", serialization_alias="period") system: str | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") type: CodeableConcept[Literal["DL", "PPN", "BRN", "MR", "MCN", "EN", "TAX", "NIIP", "PRN", "MD", "DR", "ACSN", "UDI", "SNO", "SB", "PLAC", "FILL", "JHN"] | str] | None = Field(None, alias="type", serialization_alias="type") use: Literal["usual", "official", "temp", "secondary", "old"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") value: str | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Meta(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") last_updated: str | None = Field(None, alias="lastUpdated", serialization_alias="lastUpdated") + last_updated_extension: Element | None = Field(None, alias="_lastUpdated", serialization_alias="_lastUpdated") profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") + profile_extension: PyList[Element | None] | None = Field(None, alias="_profile", serialization_alias="_profile") security: PyList[Coding] | None = Field(None, alias="security", serialization_alias="security") source: str | None = Field(None, alias="source", serialization_alias="source") + source_extension: Element | None = Field(None, alias="_source", serialization_alias="_source") tag: PyList[Coding] | None = Field(None, alias="tag", serialization_alias="tag") version_id: str | None = Field(None, alias="versionId", serialization_alias="versionId") + version_id_extension: Element | None = Field(None, alias="_versionId", serialization_alias="_versionId") class Money(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") currency: str | None = Field(None, alias="currency", serialization_alias="currency") + currency_extension: Element | None = Field(None, alias="_currency", serialization_alias="_currency") value: float | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Narrative(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") div: str = Field(alias="div", serialization_alias="div") + div_extension: Element | None = Field(None, alias="_div", serialization_alias="_div") status: Literal["generated", "extensions", "additional", "empty"] = Field(alias="status", serialization_alias="status") + status_extension: Element | None = Field(None, alias="_status", serialization_alias="_status") class ParameterDefinition(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") documentation: str | None = Field(None, alias="documentation", serialization_alias="documentation") + documentation_extension: Element | None = Field(None, alias="_documentation", serialization_alias="_documentation") max: str | None = Field(None, alias="max", serialization_alias="max") + max_extension: Element | None = Field(None, alias="_max", serialization_alias="_max") min: int | None = Field(None, alias="min", serialization_alias="min") + min_extension: Element | None = Field(None, alias="_min", serialization_alias="_min") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") profile: str | None = Field(None, alias="profile", serialization_alias="profile") + profile_extension: Element | None = Field(None, alias="_profile", serialization_alias="_profile") type: str = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") use: Literal["in", "out"] = Field(alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") class Period(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") end: str | None = Field(None, alias="end", serialization_alias="end") + end_extension: Element | None = Field(None, alias="_end", serialization_alias="_end") start: str | None = Field(None, alias="start", serialization_alias="start") + start_extension: Element | None = Field(None, alias="_start", serialization_alias="_start") class Range(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") high: Quantity | None = Field(None, alias="high", serialization_alias="high") low: Quantity | None = Field(None, alias="low", serialization_alias="low") class Ratio(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") denominator: Quantity | None = Field(None, alias="denominator", serialization_alias="denominator") numerator: Quantity | None = Field(None, alias="numerator", serialization_alias="numerator") class Reference(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") display: str | None = Field(None, alias="display", serialization_alias="display") + display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") identifier: Identifier | None = Field(None, alias="identifier", serialization_alias="identifier") reference: str | None = Field(None, alias="reference", serialization_alias="reference") + reference_extension: Element | None = Field(None, alias="_reference", serialization_alias="_reference") type: str | None = Field(None, alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class RelatedArtifact(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") citation: str | None = Field(None, alias="citation", serialization_alias="citation") + citation_extension: Element | None = Field(None, alias="_citation", serialization_alias="_citation") display: str | None = Field(None, alias="display", serialization_alias="display") + display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") document: Attachment | None = Field(None, alias="document", serialization_alias="document") label: str | None = Field(None, alias="label", serialization_alias="label") + label_extension: Element | None = Field(None, alias="_label", serialization_alias="_label") resource: str | None = Field(None, alias="resource", serialization_alias="resource") + resource_extension: Element | None = Field(None, alias="_resource", serialization_alias="_resource") type: Literal["documentation", "justification", "citation", "predecessor", "successor", "derived-from", "depends-on", "composed-of"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") url: str | None = Field(None, alias="url", serialization_alias="url") + url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") class SampledData(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") data: str | None = Field(None, alias="data", serialization_alias="data") + data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") dimensions: PositiveInt = Field(alias="dimensions", serialization_alias="dimensions") + dimensions_extension: Element | None = Field(None, alias="_dimensions", serialization_alias="_dimensions") factor: float | None = Field(None, alias="factor", serialization_alias="factor") + factor_extension: Element | None = Field(None, alias="_factor", serialization_alias="_factor") lower_limit: float | None = Field(None, alias="lowerLimit", serialization_alias="lowerLimit") + lower_limit_extension: Element | None = Field(None, alias="_lowerLimit", serialization_alias="_lowerLimit") origin: Quantity = Field(alias="origin", serialization_alias="origin") period: float = Field(alias="period", serialization_alias="period") + period_extension: Element | None = Field(None, alias="_period", serialization_alias="_period") upper_limit: float | None = Field(None, alias="upperLimit", serialization_alias="upperLimit") + upper_limit_extension: Element | None = Field(None, alias="_upperLimit", serialization_alias="_upperLimit") class Signature(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") data: str | None = Field(None, alias="data", serialization_alias="data") + data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") on_behalf_of: Reference | None = Field(None, alias="onBehalfOf", serialization_alias="onBehalfOf") sig_format: str | None = Field(None, alias="sigFormat", serialization_alias="sigFormat") + sig_format_extension: Element | None = Field(None, alias="_sigFormat", serialization_alias="_sigFormat") target_format: str | None = Field(None, alias="targetFormat", serialization_alias="targetFormat") + target_format_extension: Element | None = Field(None, alias="_targetFormat", serialization_alias="_targetFormat") type: PyList[Coding[Literal["1.2.840.10065.1.12.1.1", "1.2.840.10065.1.12.1.2", "1.2.840.10065.1.12.1.3", "1.2.840.10065.1.12.1.4", "1.2.840.10065.1.12.1.5", "1.2.840.10065.1.12.1.6", "1.2.840.10065.1.12.1.7", "1.2.840.10065.1.12.1.8", "1.2.840.10065.1.12.1.9", "1.2.840.10065.1.12.1.10", "1.2.840.10065.1.12.1.11", "1.2.840.10065.1.12.1.12", "1.2.840.10065.1.12.1.13", "1.2.840.10065.1.12.1.14", "1.2.840.10065.1.12.1.15", "1.2.840.10065.1.12.1.16", "1.2.840.10065.1.12.1.17", "1.2.840.10065.1.12.1.18"] | str]] = Field(alias="type", serialization_alias="type") when: str = Field(alias="when", serialization_alias="when") + when_extension: Element | None = Field(None, alias="_when", serialization_alias="_when") who: Reference = Field(alias="who", serialization_alias="who") class TimingRepeat(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") bounds_duration: Duration | None = Field(None, alias="boundsDuration", serialization_alias="boundsDuration") bounds_period: Period | None = Field(None, alias="boundsPeriod", serialization_alias="boundsPeriod") bounds_range: Range | None = Field(None, alias="boundsRange", serialization_alias="boundsRange") @@ -382,26 +499,31 @@ class TimingRepeat(Element): class Timing(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: CodeableConcept[Literal["BID", "TID", "QID", "AM", "PM", "QD", "QOD", "Q1H", "Q2H", "Q3H", "Q4H", "Q6H", "Q8H", "BED", "WK", "MO"] | str] | None = Field(None, alias="code", serialization_alias="code") event: PyList[str] | None = Field(None, alias="event", serialization_alias="event") + event_extension: PyList[Element | None] | None = Field(None, alias="_event", serialization_alias="_event") repeat: TimingRepeat | None = Field(None, alias="repeat", serialization_alias="repeat") class TriggerDefinition(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") condition: Expression | None = Field(None, alias="condition", serialization_alias="condition") data: PyList[DataRequirement] | None = Field(None, alias="data", serialization_alias="data") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") timing_date: str | None = Field(None, alias="timingDate", serialization_alias="timingDate") + timing_date_extension: Element | None = Field(None, alias="_timingDate", serialization_alias="_timingDate") timing_date_time: str | None = Field(None, alias="timingDateTime", serialization_alias="timingDateTime") + timing_date_time_extension: Element | None = Field(None, alias="_timingDateTime", serialization_alias="_timingDateTime") timing_reference: Reference | None = Field(None, alias="timingReference", serialization_alias="timingReference") timing_timing: Timing | None = Field(None, alias="timingTiming", serialization_alias="timingTiming") type: Literal["named-event", "periodic", "data-changed", "data-added", "data-modified", "data-removed", "data-accessed", "data-access-ended"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class UsageContext(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: Coding[Literal["gender", "age", "focus", "user", "workflow", "task", "venue", "species", "program"] | str] = Field(alias="code", serialization_alias="code") value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py index 376e9ee12..ed7c3303f 100644 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py @@ -9,10 +9,11 @@ from fhir_types.hl7_fhir_r4_core.base import BackboneElement, Identifier, Signature from fhir_types.hl7_fhir_r4_core.resource import Resource from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily +from fhir_types.hl7_fhir_r4_core.base import Element class BundleEntry(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") full_url: str | None = Field(None, alias="fullUrl", serialization_alias="fullUrl") link: PyList[BundleLink] | None = Field(None, alias="link", serialization_alias="link") request: BundleEntryRequest | None = Field(None, alias="request", serialization_alias="request") @@ -21,7 +22,7 @@ class BundleEntry(BackboneElement): search: BundleEntrySearch | None = Field(None, alias="search", serialization_alias="search") class BundleEntryRequest(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") if_match: str | None = Field(None, alias="ifMatch", serialization_alias="ifMatch") if_modified_since: str | None = Field(None, alias="ifModifiedSince", serialization_alias="ifModifiedSince") if_none_exist: str | None = Field(None, alias="ifNoneExist", serialization_alias="ifNoneExist") @@ -30,7 +31,7 @@ class BundleEntryRequest(BackboneElement): url: str = Field(alias="url", serialization_alias="url") class BundleEntryResponse(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") etag: str | None = Field(None, alias="etag", serialization_alias="etag") last_modified: str | None = Field(None, alias="lastModified", serialization_alias="lastModified") location: str | None = Field(None, alias="location", serialization_alias="location") @@ -38,18 +39,18 @@ class BundleEntryResponse(BackboneElement): status: str = Field(alias="status", serialization_alias="status") class BundleEntrySearch(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") mode: Literal["match", "include", "outcome"] | None = Field(None, alias="mode", serialization_alias="mode") score: float | None = Field(None, alias="score", serialization_alias="score") class BundleLink(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") relation: str = Field(alias="relation", serialization_alias="relation") url: str = Field(alias="url", serialization_alias="url") class Bundle(Resource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") resource_type: Literal['Bundle'] = Field( default='Bundle', alias='resourceType', @@ -62,8 +63,11 @@ class Bundle(Resource): link: PyList[BundleLink] | None = Field(None, alias="link", serialization_alias="link") signature: Signature | None = Field(None, alias="signature", serialization_alias="signature") timestamp: str | None = Field(None, alias="timestamp", serialization_alias="timestamp") + timestamp_extension: Element | None = Field(None, alias="_timestamp", serialization_alias="_timestamp") total: int | None = Field(None, alias="total", serialization_alias="total") + total_extension: Element | None = Field(None, alias="_total", serialization_alias="_total") type: Literal["document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") def to_json(self, indent: int | None = None) -> str: return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py index eacff424e..9b9616e28 100644 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py @@ -12,7 +12,7 @@ class DomainResource(Resource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") resource_type: str = Field( default='DomainResource', alias='resourceType', diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py index 89eecc907..2c39f5bb7 100644 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py @@ -12,10 +12,11 @@ ) from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily +from fhir_types.hl7_fhir_r4_core.base import Element class ObservationComponent(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: CodeableConcept = Field(alias="code", serialization_alias="code") data_absent_reason: CodeableConcept[Literal["unknown", "asked-unknown", "temp-unknown", "not-asked", "asked-declined", "masked", "not-applicable", "unsupported", "as-text", "error", "not-a-number", "negative-infinity", "positive-infinity", "not-performed", "not-permitted"] | str] | None = Field(None, alias="dataAbsentReason", serialization_alias="dataAbsentReason") interpretation: PyList[CodeableConcept[Literal["_GeneticObservationInterpretation", "CAR", "Carrier", "_ObservationInterpretationChange", "B", "D", "U", "W", "_ObservationInterpretationExceptions", "<", ">", "AC", "IE", "QCF", "TOX", "_ObservationInterpretationNormality", "A", "AA", "HH", "LL", "H", "H>", "HU", "L", "L<", "LU", "N", "_ObservationInterpretationSusceptibility", "I", "MS", "NCL", "NS", "R", "SYN-R", "S", "SDD", "SYN-S", "VS", "EX", "HX", "LX", "HM", "ObservationInterpretationDetection", "IND", "E", "NEG", "ND", "POS", "DET", "ObservationInterpretationExpectation", "EXP", "UNE", "OBX", "ReactivityObservationInterpretation", "NR", "RR", "WR"] | str]] | None = Field(None, alias="interpretation", serialization_alias="interpretation") @@ -33,7 +34,7 @@ class ObservationComponent(BackboneElement): value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") class ObservationReferenceRange(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") age: Range | None = Field(None, alias="age", serialization_alias="age") applies_to: PyList[CodeableConcept] | None = Field(None, alias="appliesTo", serialization_alias="appliesTo") high: Quantity | None = Field(None, alias="high", serialization_alias="high") @@ -43,7 +44,7 @@ class ObservationReferenceRange(BackboneElement): class Observation(DomainResource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") resource_type: Literal['Observation'] = Field( default='Observation', alias='resourceType', @@ -60,7 +61,9 @@ class Observation(DomainResource): derived_from: PyList[Reference] | None = Field(None, alias="derivedFrom", serialization_alias="derivedFrom") device: Reference | None = Field(None, alias="device", serialization_alias="device") effective_date_time: str | None = Field(None, alias="effectiveDateTime", serialization_alias="effectiveDateTime") + effective_date_time_extension: Element | None = Field(None, alias="_effectiveDateTime", serialization_alias="_effectiveDateTime") effective_instant: str | None = Field(None, alias="effectiveInstant", serialization_alias="effectiveInstant") + effective_instant_extension: Element | None = Field(None, alias="_effectiveInstant", serialization_alias="_effectiveInstant") effective_period: Period | None = Field(None, alias="effectivePeriod", serialization_alias="effectivePeriod") effective_timing: Timing | None = Field(None, alias="effectiveTiming", serialization_alias="effectiveTiming") encounter: Reference | None = Field(None, alias="encounter", serialization_alias="encounter") @@ -69,6 +72,7 @@ class Observation(DomainResource): identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") interpretation: PyList[CodeableConcept[Literal["_GeneticObservationInterpretation", "CAR", "Carrier", "_ObservationInterpretationChange", "B", "D", "U", "W", "_ObservationInterpretationExceptions", "<", ">", "AC", "IE", "QCF", "TOX", "_ObservationInterpretationNormality", "A", "AA", "HH", "LL", "H", "H>", "HU", "L", "L<", "LU", "N", "_ObservationInterpretationSusceptibility", "I", "MS", "NCL", "NS", "R", "SYN-R", "S", "SDD", "SYN-S", "VS", "EX", "HX", "LX", "HM", "ObservationInterpretationDetection", "IND", "E", "NEG", "ND", "POS", "DET", "ObservationInterpretationExpectation", "EXP", "UNE", "OBX", "ReactivityObservationInterpretation", "NR", "RR", "WR"] | str]] | None = Field(None, alias="interpretation", serialization_alias="interpretation") issued: str | None = Field(None, alias="issued", serialization_alias="issued") + issued_extension: Element | None = Field(None, alias="_issued", serialization_alias="_issued") method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") note: PyList[Annotation] | None = Field(None, alias="note", serialization_alias="note") part_of: PyList[Reference] | None = Field(None, alias="partOf", serialization_alias="partOf") @@ -76,18 +80,24 @@ class Observation(DomainResource): reference_range: PyList[ObservationReferenceRange] | None = Field(None, alias="referenceRange", serialization_alias="referenceRange") specimen: Reference | None = Field(None, alias="specimen", serialization_alias="specimen") status: Literal["registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown"] = Field(alias="status", serialization_alias="status") + status_extension: Element | None = Field(None, alias="_status", serialization_alias="_status") subject: Reference | None = Field(None, alias="subject", serialization_alias="subject") value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") + value_boolean_extension: Element | None = Field(None, alias="_valueBoolean", serialization_alias="_valueBoolean") value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_date_time_extension: Element | None = Field(None, alias="_valueDateTime", serialization_alias="_valueDateTime") value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") + value_integer_extension: Element | None = Field(None, alias="_valueInteger", serialization_alias="_valueInteger") value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") + value_string_extension: Element | None = Field(None, alias="_valueString", serialization_alias="_valueString") value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") + value_time_extension: Element | None = Field(None, alias="_valueTime", serialization_alias="_valueTime") def to_json(self, indent: int | None = None) -> str: return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py index c396e36af..bbecb0bf3 100644 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py @@ -12,7 +12,7 @@ class OperationOutcomeIssue(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: Literal["invalid", "structure", "required", "value", "invariant", "security", "login", "unknown", "expired", "forbidden", "suppressed", "processing", "not-supported", "duplicate", "multiple-matches", "not-found", "deleted", "too-long", "code-invalid", "extension", "too-costly", "business-rule", "conflict", "transient", "lock-error", "no-store", "exception", "timeout", "incomplete", "throttled", "informational"] = Field(alias="code", serialization_alias="code") details: CodeableConcept | None = Field(None, alias="details", serialization_alias="details") diagnostics: str | None = Field(None, alias="diagnostics", serialization_alias="diagnostics") @@ -22,7 +22,7 @@ class OperationOutcomeIssue(BackboneElement): class OperationOutcome(DomainResource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") resource_type: Literal['OperationOutcome'] = Field( default='OperationOutcome', alias='resourceType', diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py index e9c7f7c2c..fb719082c 100644 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py @@ -11,15 +11,16 @@ ) from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily +from fhir_types.hl7_fhir_r4_core.base import Element class PatientCommunication(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") language: CodeableConcept[Literal["ar", "bn", "cs", "da", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IN", "en-NZ", "en-SG", "en-US", "es", "es-AR", "es-ES", "es-UY", "fi", "fr", "fr-BE", "fr-CH", "fr-FR", "fy", "fy-NL", "hi", "hr", "it", "it-CH", "it-IT", "ja", "ko", "nl", "nl-BE", "nl-NL", "no", "no-NO", "pa", "pl", "pt", "pt-BR", "ru", "ru-RU", "sr", "sr-RS", "sv", "sv-SE", "te", "zh", "zh-CN", "zh-HK", "zh-SG", "zh-TW"] | str] = Field(alias="language", serialization_alias="language") preferred: bool | None = Field(None, alias="preferred", serialization_alias="preferred") class PatientContact(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") address: Address | None = Field(None, alias="address", serialization_alias="address") gender: Literal["male", "female", "other", "unknown"] | None = Field(None, alias="gender", serialization_alias="gender") name: HumanName | None = Field(None, alias="name", serialization_alias="name") @@ -29,13 +30,13 @@ class PatientContact(BackboneElement): telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") class PatientLink(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") other: Reference = Field(alias="other", serialization_alias="other") type: Literal["replaced-by", "replaces", "refer", "seealso"] = Field(alias="type", serialization_alias="type") class Patient(DomainResource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") resource_type: Literal['Patient'] = Field( default='Patient', alias='resourceType', @@ -44,20 +45,27 @@ class Patient(DomainResource): pattern='Patient' ) active: bool | None = Field(None, alias="active", serialization_alias="active") + active_extension: Element | None = Field(None, alias="_active", serialization_alias="_active") address: PyList[Address] | None = Field(None, alias="address", serialization_alias="address") birth_date: str | None = Field(None, alias="birthDate", serialization_alias="birthDate") + birth_date_extension: Element | None = Field(None, alias="_birthDate", serialization_alias="_birthDate") communication: PyList[PatientCommunication] | None = Field(None, alias="communication", serialization_alias="communication") contact: PyList[PatientContact] | None = Field(None, alias="contact", serialization_alias="contact") deceased_boolean: bool | None = Field(None, alias="deceasedBoolean", serialization_alias="deceasedBoolean") + deceased_boolean_extension: Element | None = Field(None, alias="_deceasedBoolean", serialization_alias="_deceasedBoolean") deceased_date_time: str | None = Field(None, alias="deceasedDateTime", serialization_alias="deceasedDateTime") + deceased_date_time_extension: Element | None = Field(None, alias="_deceasedDateTime", serialization_alias="_deceasedDateTime") gender: Literal["male", "female", "other", "unknown"] | None = Field(None, alias="gender", serialization_alias="gender") + gender_extension: Element | None = Field(None, alias="_gender", serialization_alias="_gender") general_practitioner: PyList[Reference] | None = Field(None, alias="generalPractitioner", serialization_alias="generalPractitioner") identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") link: PyList[PatientLink] | None = Field(None, alias="link", serialization_alias="link") managing_organization: Reference | None = Field(None, alias="managingOrganization", serialization_alias="managingOrganization") marital_status: CodeableConcept[Literal["A", "D", "I", "L", "M", "P", "S", "T", "U", "W", "UNK"] | str] | None = Field(None, alias="maritalStatus", serialization_alias="maritalStatus") multiple_birth_boolean: bool | None = Field(None, alias="multipleBirthBoolean", serialization_alias="multipleBirthBoolean") + multiple_birth_boolean_extension: Element | None = Field(None, alias="_multipleBirthBoolean", serialization_alias="_multipleBirthBoolean") multiple_birth_integer: int | None = Field(None, alias="multipleBirthInteger", serialization_alias="multipleBirthInteger") + multiple_birth_integer_extension: Element | None = Field(None, alias="_multipleBirthInteger", serialization_alias="_multipleBirthInteger") name: PyList[HumanName] | None = Field(None, alias="name", serialization_alias="name") photo: PyList[Attachment] | None = Field(None, alias="photo", serialization_alias="photo") telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py index 28229031f..94e3e4c11 100644 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py +++ b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py @@ -7,10 +7,11 @@ from typing import List as PyList, Literal from fhir_types.hl7_fhir_r4_core.base import Meta +from fhir_types.hl7_fhir_r4_core.base import Element class Resource(BaseModel): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="allow") + model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") resource_type: str = Field( default='Resource', alias='resourceType', @@ -19,8 +20,11 @@ class Resource(BaseModel): pattern='Resource' ) id: str | None = Field(None, alias="id", serialization_alias="id") + id_extension: Element | None = Field(None, alias="_id", serialization_alias="_id") implicit_rules: str | None = Field(None, alias="implicitRules", serialization_alias="implicitRules") + implicit_rules_extension: Element | None = Field(None, alias="_implicitRules", serialization_alias="_implicitRules") language: str | None = Field(None, alias="language", serialization_alias="language") + language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") meta: Meta | None = Field(None, alias="meta", serialization_alias="meta") def to_json(self, indent: int | None = None) -> str: diff --git a/examples/python-extension-example/generate.ts b/examples/python-extension-example/generate.ts index f090b728a..7488d2168 100644 --- a/examples/python-extension-example/generate.ts +++ b/examples/python-extension-example/generate.ts @@ -11,7 +11,8 @@ const builder = new APIBuilder({ logger }) .throwException() .fromPackage("hl7.fhir.r4.core", "4.0.1") .python({ - allowExtraFields: true, + allowExtraFields: false, + primitiveTypeExtension: true, fhirpyClient: false, fieldFormat: "snake_case", }) diff --git a/examples/python-extension-example/test_raw_extension.py b/examples/python-extension-example/test_raw_extension.py index 1213e0c22..0fde7c9ff 100644 --- a/examples/python-extension-example/test_raw_extension.py +++ b/examples/python-extension-example/test_raw_extension.py @@ -28,7 +28,7 @@ def create_patient_with_extensions() -> Patient: ) ], family="van Beethoven", - _family=Element( + family_extension=Element( extension=[ Extension( url="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix", @@ -37,7 +37,7 @@ def create_patient_with_extensions() -> Patient: ], ), given=["Ludwig", "Maria", "Johann"], - _given=[ + given_extension=[ Element( extension=[ Extension( @@ -84,7 +84,7 @@ def create_patient_with_extensions() -> Patient: ), ], birth_date="1990-03-15", - _birth_date=Element( + birth_date_extension=Element( extension=[ Extension( url="http://hl7.org/fhir/StructureDefinition/patient-birthTime", @@ -134,26 +134,25 @@ def test_read_element_level_extension() -> None: assert contact.extension[0].value_integer == 1 -def test_read_primitive_extension_via_extra() -> None: +def test_read_primitive_extension() -> None: patient = create_patient_with_extensions() name = patient.name[0] - assert isinstance(name._family, Element) - assert name._family.extension[0].value_string == "van" + assert isinstance(name.family_extension, Element) + assert name.family_extension.extension[0].value_string == "van" - assert isinstance(name._given, list) - assert name._given[0].extension[0].value_code == "birth-certificate" - assert name._given[1] is None - assert name._given[2].extension[0].value_code == "baptism-record" + assert isinstance(name.given_extension, list) + assert name.given_extension[0].extension[0].value_code == "birth-certificate" + assert name.given_extension[1] is None + assert name.given_extension[2].extension[0].value_code == "baptism-record" - assert patient._birth_date is not None - assert isinstance(patient._birth_date, Element) - assert patient._birth_date.extension[0].value_date_time == "1990-03-15T08:22:00-05:00" + assert patient.birth_date_extension is not None + assert isinstance(patient.birth_date_extension, Element) + assert patient.birth_date_extension.extension[0].value_date_time == "1990-03-15T08:22:00-05:00" -def test_primitive_extension_lost_after_round_trip() -> None: - """After serialize → deserialize, extra fields come back as raw dicts - instead of Element instances because extra="allow" has no type info.""" +def test_primitive_extension_survives_round_trip() -> None: + """After serialize → deserialize, typed _extension fields come back as Element instances.""" patient = create_patient_with_extensions() restored = Patient.from_json(patient.to_json()) @@ -162,7 +161,6 @@ def test_primitive_extension_lost_after_round_trip() -> None: assert restored.extension[0].value_address is not None assert restored.extension[0].value_address.city == "Springfield" - assert restored._birth_date is not None - assert not isinstance(restored._birth_date, Element) - assert isinstance(restored._birth_date, dict) - assert restored._birth_date["extension"][0]["valueDateTime"] == "1990-03-15T08:22:00-05:00" # type: ignore[attr-defined] + assert restored.birth_date_extension is not None + assert isinstance(restored.birth_date_extension, Element) + assert restored.birth_date_extension.extension[0].value_date_time == "1990-03-15T08:22:00-05:00" diff --git a/src/api/builder.ts b/src/api/builder.ts index 3bbac89a9..0ecf033fd 100644 --- a/src/api/builder.ts +++ b/src/api/builder.ts @@ -254,6 +254,7 @@ export class APIBuilder { ...defaultWriterOpts, rootPackageName: "fhir_types", fieldFormat: "snake_case", + primitiveTypeExtension: false, }; const opts: PythonGeneratorOptions = { diff --git a/src/api/writer-generator/python.ts b/src/api/writer-generator/python.ts index 40f69e54e..67e10e812 100644 --- a/src/api/writer-generator/python.ts +++ b/src/api/writer-generator/python.ts @@ -99,6 +99,7 @@ const pyEnumType = (enumDef: EnumDefinition): string => { export interface PythonGeneratorOptions extends WriterOptions { allowExtraFields?: boolean; + primitiveTypeExtension?: boolean; rootPackageName: string; /// e.g. .hl7_fhir_r4_core.Patient. fieldFormat: StringFormatKey; fhirpyClient?: boolean; @@ -476,15 +477,38 @@ export class Python extends Writer { private generateFields(schema: SpecializationTypeSchema | NestedTypeSchema, schemaName: string): void { const sortedFields = Object.entries(schema.fields ?? []).sort(([a], [b]) => a.localeCompare(b)); + const withExtensions = this.shouldAddPrimitiveExtensions(schema); for (const [fieldName, field] of sortedFields) { if ("choices" in field && field.choices) continue; const fieldInfo = this.buildFieldInfo(fieldName, field, schemaName); this.line(`${fieldInfo.name}: ${fieldInfo.type}${fieldInfo.defaultValue}`); + + if (withExtensions && "type" in field && isPrimitiveIdentifier(field.type)) { + this.addPrimitiveExtensionField(fieldName, field.array ?? false); + } } } + private shouldAddPrimitiveExtensions(schema: RegularTypeSchema): boolean { + if (!this.opts.primitiveTypeExtension) return false; + if (!isSpecializationTypeSchema(schema)) return false; + for (const field of Object.values(schema.fields ?? {})) { + if ("choices" in field && field.choices) continue; + if ("type" in field && isPrimitiveIdentifier(field.type)) return true; + } + return false; + } + + private addPrimitiveExtensionField(fieldName: string, isArray: boolean): void { + const pyFieldName = this.nameFormatFunction(`${fieldName}Extension`); + const alias = `_${fieldName}`; + const typeExpr = isArray ? "PyList[Element | None] | None" : "Element | None"; + const aliasSpec = `alias="${alias}", serialization_alias="${alias}"`; + this.line(`${pyFieldName}: ${typeExpr} = Field(None, ${aliasSpec})`); + } + private buildFieldInfo(fieldName: string, field: Field, schemaName: string): FieldInfo { const pyFieldName = fixReservedWords(this.nameFormatFunction(fieldName)); const fieldType = this.determineFieldType(field, fieldName, schemaName); @@ -590,6 +614,21 @@ export class Python extends Writer { this.importComplexTypeDependencies(schema.dependencies); this.importResourceDependencies(schema.dependencies); + this.importElementIfNeeded(schema); + } + + private importElementIfNeeded(schema: RegularTypeSchema): void { + if (!this.shouldAddPrimitiveExtensions(schema)) return; + if (schema.identifier.name === "Element") return; + if (schema.dependencies?.find((d) => d.name === "Element")) return; + + assert(this.tsIndex !== undefined); + const elementUrl = "http://hl7.org/fhir/StructureDefinition/Element" as CanonicalUrl; + const element = this.tsIndex.resolveByUrl(schema.identifier.package, elementUrl); + if (!element) return; + + const pyPackage = this.pyPackage(element.identifier); + this.pyImportFrom(pyPackage, "Element"); } private importComplexTypeDependencies(dependencies: TypeIdentifier[]): void { From 3eaff5488ad9612a06e6c9edac603f37d482a2cc Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Wed, 18 Mar 2026 20:30:20 +0000 Subject: [PATCH 07/11] minor fix --- .../fhir_types/README.md | 47 ++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/examples/python-extension-example/fhir_types/README.md b/examples/python-extension-example/fhir_types/README.md index 3fd43079a..c0fa5c311 100644 --- a/examples/python-extension-example/fhir_types/README.md +++ b/examples/python-extension-example/fhir_types/README.md @@ -2533,20 +2533,55 @@ and check `/collisions//1.json, 2.json, ...` files. ### `shared` - `urn:fhir:binding:CommunicationReason` (2 versions) - - Version 1: Communication (hl7.fhir.r4.core#4.0.1) + - Version 1 (auto): Communication (hl7.fhir.r4.core#4.0.1) - Version 2: CommunicationRequest (hl7.fhir.r4.core#4.0.1) - `urn:fhir:binding:ObservationCategory` (2 versions) - - Version 1: Observation (hl7.fhir.r4.core#4.0.1), vitalsigns (hl7.fhir.r4.core#4.0.1) + - Version 1 (auto): Observation (hl7.fhir.r4.core#4.0.1), vitalsigns (hl7.fhir.r4.core#4.0.1) - Version 2: ObservationDefinition (hl7.fhir.r4.core#4.0.1) - `urn:fhir:binding:ObservationRangeMeaning` (2 versions) - - Version 1: cholesterol (hl7.fhir.r4.core#4.0.1), hdlcholesterol (hl7.fhir.r4.core#4.0.1), ldlcholesterol (hl7.fhir.r4.core#4.0.1), Observation (hl7.fhir.r4.core#4.0.1), triglyceride (hl7.fhir.r4.core#4.0.1) + - Version 1 (auto): cholesterol (hl7.fhir.r4.core#4.0.1), hdlcholesterol (hl7.fhir.r4.core#4.0.1), ldlcholesterol (hl7.fhir.r4.core#4.0.1), Observation (hl7.fhir.r4.core#4.0.1), triglyceride (hl7.fhir.r4.core#4.0.1) - Version 2: ObservationDefinition (hl7.fhir.r4.core#4.0.1) - `urn:fhir:binding:PaymentType` (2 versions) - - Version 1: ClaimResponse (hl7.fhir.r4.core#4.0.1), ExplanationOfBenefit (hl7.fhir.r4.core#4.0.1) + - Version 1 (auto): ClaimResponse (hl7.fhir.r4.core#4.0.1), ExplanationOfBenefit (hl7.fhir.r4.core#4.0.1) - Version 2: PaymentReconciliation (hl7.fhir.r4.core#4.0.1) - `urn:fhir:binding:ProcessPriority` (2 versions) - - Version 1: Claim (hl7.fhir.r4.core#4.0.1), CoverageEligibilityRequest (hl7.fhir.r4.core#4.0.1) + - Version 1 (auto): Claim (hl7.fhir.r4.core#4.0.1), CoverageEligibilityRequest (hl7.fhir.r4.core#4.0.1) - Version 2: ExplanationOfBenefit (hl7.fhir.r4.core#4.0.1) - `urn:fhir:binding:TargetDisease` (2 versions) - - Version 1: Immunization (hl7.fhir.r4.core#4.0.1) + - Version 1 (auto): Immunization (hl7.fhir.r4.core#4.0.1) - Version 2: ImmunizationRecommendation (hl7.fhir.r4.core#4.0.1) + +### Suggested `resolveCollisions` config + +Add to `.typeSchema({ resolveCollisions: { ... } })` to resolve remaining collisions: + +```typescript +.typeSchema({ + resolveCollisions: { + "urn:fhir:binding:CommunicationReason": { + package: "hl7.fhir.r4.core#4.0.1", + canonical: "http://hl7.org/fhir/StructureDefinition/Communication", + }, + "urn:fhir:binding:ObservationCategory": { + package: "hl7.fhir.r4.core#4.0.1", + canonical: "http://hl7.org/fhir/StructureDefinition/Observation", + }, + "urn:fhir:binding:ObservationRangeMeaning": { + package: "hl7.fhir.r4.core#4.0.1", + canonical: "http://hl7.org/fhir/StructureDefinition/cholesterol", + }, + "urn:fhir:binding:PaymentType": { + package: "hl7.fhir.r4.core#4.0.1", + canonical: "http://hl7.org/fhir/StructureDefinition/ClaimResponse", + }, + "urn:fhir:binding:ProcessPriority": { + package: "hl7.fhir.r4.core#4.0.1", + canonical: "http://hl7.org/fhir/StructureDefinition/Claim", + }, + "urn:fhir:binding:TargetDisease": { + package: "hl7.fhir.r4.core#4.0.1", + canonical: "http://hl7.org/fhir/StructureDefinition/Immunization", + }, + }, +}) +``` From 091fa36d30618a6035ed927ac7f94ee0cbfe780b Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Thu, 26 Mar 2026 14:59:03 +0000 Subject: [PATCH 08/11] py fix --- src/api/writer-generator/python.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/api/writer-generator/python.ts b/src/api/writer-generator/python.ts index 67e10e812..3f0e43914 100644 --- a/src/api/writer-generator/python.ts +++ b/src/api/writer-generator/python.ts @@ -6,9 +6,12 @@ import { camelCase, pascalCase, snakeCase, uppercaseFirstLetterOfEach } from "@r import { Writer, type WriterOptions } from "@root/api/writer-generator/writer.ts"; import { groupByPackages, sortAsDeclarationSequence, type TypeSchemaIndex } from "@root/typeschema/utils"; import { + type CanonicalUrl, type EnumDefinition, type Field, + isPrimitiveIdentifier, isResourceTypeSchema, + isSpecializationTypeSchema, type NestedTypeSchema, type SpecializationTypeSchema, type TypeIdentifier, @@ -491,7 +494,7 @@ export class Python extends Writer { } } - private shouldAddPrimitiveExtensions(schema: RegularTypeSchema): boolean { + private shouldAddPrimitiveExtensions(schema: SpecializationTypeSchema | NestedTypeSchema): boolean { if (!this.opts.primitiveTypeExtension) return false; if (!isSpecializationTypeSchema(schema)) return false; for (const field of Object.values(schema.fields ?? {})) { @@ -617,7 +620,7 @@ export class Python extends Writer { this.importElementIfNeeded(schema); } - private importElementIfNeeded(schema: RegularTypeSchema): void { + private importElementIfNeeded(schema: SpecializationTypeSchema): void { if (!this.shouldAddPrimitiveExtensions(schema)) return; if (schema.identifier.name === "Element") return; if (schema.dependencies?.find((d) => d.name === "Element")) return; From 0a63255d0e9672835b35e8cd442079994a9ebb0e Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Fri, 27 Mar 2026 15:26:57 +0000 Subject: [PATCH 09/11] py: combined python standard example with extension example --- Makefile | 23 +- .../writer-generator/python/requirements.txt | 1 + examples/python-extension-example/.gitignore | 4 - examples/python-extension-example/README.md | 159 - .../fhir_types/README.md | 2587 ----------------- .../fhir_types/__init__.py | 78 - .../fhir_types/hl7_fhir_r4_core/__init__.py | 80 - .../fhir_types/hl7_fhir_r4_core/base.py | 533 ---- .../fhir_types/hl7_fhir_r4_core/bundle.py | 78 - .../hl7_fhir_r4_core/domain_resource.py | 34 - .../hl7_fhir_r4_core/observation.py | 108 - .../hl7_fhir_r4_core/operation_outcome.py | 41 - .../fhir_types/hl7_fhir_r4_core/patient.py | 79 - .../fhir_types/hl7_fhir_r4_core/resource.py | 36 - .../hl7_fhir_r4_core/resource_families.py | 115 - .../fhir_types/requirements.txt | 7 - examples/python-extension-example/generate.ts | 42 - examples/python-extension-example/mypy.ini | 13 - .../python-extension-example/requirements.txt | 3 - .../python-extension-example/tsconfig.json | 6 - .../patient_with_extensions.json | 0 examples/python/fhir_types/README.md | 15 - .../fhir_types/hl7_fhir_r4_core/base.py | 123 + .../fhir_types/hl7_fhir_r4_core/bundle.py | 4 + .../hl7_fhir_r4_core/domain_resource.py | 4 +- .../hl7_fhir_r4_core/observation.py | 10 + .../fhir_types/hl7_fhir_r4_core/patient.py | 8 + .../fhir_types/hl7_fhir_r4_core/resource.py | 4 + examples/python/fhir_types/requirements.txt | 1 + examples/python/generate.ts | 9 +- .../test_raw_extension.py | 0 .../__snapshots__/python.test.ts.snap | 1 + 32 files changed, 163 insertions(+), 4043 deletions(-) delete mode 100644 examples/python-extension-example/.gitignore delete mode 100644 examples/python-extension-example/README.md delete mode 100644 examples/python-extension-example/fhir_types/README.md delete mode 100644 examples/python-extension-example/fhir_types/__init__.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py delete mode 100644 examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py delete mode 100644 examples/python-extension-example/fhir_types/requirements.txt delete mode 100644 examples/python-extension-example/generate.ts delete mode 100644 examples/python-extension-example/mypy.ini delete mode 100644 examples/python-extension-example/requirements.txt delete mode 100644 examples/python-extension-example/tsconfig.json rename examples/{python-extension-example => python}/__snapshots__/patient_with_extensions.json (100%) rename examples/{python-extension-example => python}/test_raw_extension.py (100%) diff --git a/Makefile b/Makefile index 1743d4dc6..9ad103661 100644 --- a/Makefile +++ b/Makefile @@ -103,7 +103,6 @@ test-csharp-sdk: typecheck format prepare-aidbox-runme lint PYTHON=python3.13 PYTHON_EXAMPLE=./examples/python PYTHON_FHIRPY_EXAMPLE=./examples/python-fhirpy -PYTHON_EXTENSION_EXAMPLE=./examples/python-extension-example generate-python-sdk: $(TYPECHECK) --project examples/python/tsconfig.json @@ -113,10 +112,6 @@ generate-python-sdk-fhirpy: $(TYPECHECK) --project examples/python-fhirpy/tsconfig.json bun run examples/python-fhirpy/generate.ts -generate-python-extension-example: - $(TYPECHECK) --project examples/python-extension-example/tsconfig.json - bun run examples/python-extension-example/generate.ts - python-test-setup: @if [ ! -d "$(PYTHON_EXAMPLE)/venv" ]; then \ cd $(PYTHON_EXAMPLE) && \ @@ -134,14 +129,6 @@ python-fhirpy-test-setup: pip install fhirpy; \ fi -python-extension-test-setup: - @if [ ! -d "$(PYTHON_EXTENSION_EXAMPLE)/venv" ]; then \ - cd $(PYTHON_EXTENSION_EXAMPLE) && \ - $(PYTHON) -m venv venv && \ - . venv/bin/activate && \ - pip install -r requirements.txt; \ - fi - test-python-sdk: typecheck format prepare-aidbox-runme lint generate-python-sdk python-test-setup # Run mypy in strict mode cd $(PYTHON_EXAMPLE) && \ @@ -152,13 +139,13 @@ test-python-sdk: typecheck format prepare-aidbox-runme lint generate-python-sdk . venv/bin/activate && \ python -m pytest test_sdk.py -v +test-python-extension-example: typecheck format lint generate-python-sdk python-test-setup + cd $(PYTHON_EXAMPLE) && \ + . venv/bin/activate && \ + python -m pytest test_raw_extension.py -v + test-python-fhirpy-sdk: typecheck format prepare-aidbox-runme lint generate-python-sdk-fhirpy python-fhirpy-test-setup # Run mypy in strict mode cd $(PYTHON_FHIRPY_EXAMPLE) && \ . venv/bin/activate && \ mypy --strict . - -test-python-extension-example: typecheck format lint generate-python-extension-example python-extension-test-setup - cd $(PYTHON_EXTENSION_EXAMPLE) && \ - . venv/bin/activate && \ - python -m pytest test_raw_extension.py -v diff --git a/assets/api/writer-generator/python/requirements.txt b/assets/api/writer-generator/python/requirements.txt index 1e53db934..c6e8be8cc 100644 --- a/assets/api/writer-generator/python/requirements.txt +++ b/assets/api/writer-generator/python/requirements.txt @@ -3,5 +3,6 @@ mypy>=1.9.0,<2.0.0 pydantic>=2.11.0,<3.0.0 pytest>=8.3.0,<9.0.0 pytest-asyncio>=0.24.0,<1.0.0 +pytest-snapshot>=0.9.0,<1.0.0 requests>=2.32.0,<3.0.0 types-requests>=2.32.0,<3.0.0 diff --git a/examples/python-extension-example/.gitignore b/examples/python-extension-example/.gitignore deleted file mode 100644 index d9bd8be76..000000000 --- a/examples/python-extension-example/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.pytest_cache -__pycache__ -.mypy_cache -venv diff --git a/examples/python-extension-example/README.md b/examples/python-extension-example/README.md deleted file mode 100644 index 4bc3e991d..000000000 --- a/examples/python-extension-example/README.md +++ /dev/null @@ -1,159 +0,0 @@ -# Python Example - -FHIR R4 type generation with Pydantic models, configurable field formats, and validation. - -## Overview - -This example demonstrates how to generate Python/Pydantic models from the FHIR R4 specification using the Atomic EHR Codegen toolkit. It includes: - -- Full FHIR R4 resource type definitions as Pydantic models -- Automatic validation and serialization -- Configurable field naming conventions (snake_case or camelCase) -- Integration with Python type checking and IDE support -- Virtual environment setup -- Simple FHIR server client example using `requests` - -For an example using the `fhirpy` async client library, see [python-fhirpy/](../python-fhirpy/). - -## Setup - -### Python Environment - -1. Create virtual environment: - -```bash -cd examples/python -python3 -m venv venv - -# On macOS/Linux: -source venv/bin/activate -# On Windows: -venv\Scripts\activate -``` - -2. Install Python dependencies: - -```bash -pip install -r fhir_types/requirements.txt -``` - -3. Check Python version: - -```bash -python --version # Should be 3.10 or higher -``` - -## Generating Types - -To generate Python/Pydantic types for FHIR R4: - -```bash -bun run examples/python/generate.ts -``` - -This will output to `./examples/python/fhir_types/` - -## Configuration - -Edit `generate.ts` to customize: - -```typescript -.python({ - allowExtraFields: false, // Reject unknown fields in models - fieldFormat: "snake_case" // or "camelCase" -}) -``` - -**Field Format Options:** - -- `snake_case`: Python convention, converts `firstName` → `first_name` -- `camelCase`: Preserves FHIR naming (less Pythonic) - -**Extra Fields:** - -- `true`: Allow undefined fields (more lenient) -- `false`: Reject unknown fields (strict validation) - -## Using Generated Types - -### Create and Validate - -```python -from fhir_types import Patient, Observation -from datetime import date - -patient = Patient( - resource_type="Patient", - id="patient-1", - name=[{ - "use": "official", - "family": "Smith", - "given": ["John"] - }], - birth_date=date(1980, 1, 15), - gender="male" -) - -print(f"Patient: {patient.family_name}") # Snake case access -``` - -### Validation - -```python -from pydantic import ValidationError - -try: - patient = Patient( - resource_type="Patient", - gender="invalid" # Must be in value set - ) -except ValidationError as e: - print(f"Validation error: {e}") -``` - -### Serialization and Deserialization - -```python -# To JSON -json_str = patient.model_dump_json(indent=2) - -# From JSON -patient = Patient.model_validate_json(json_str) - -# To dictionary (excludes None values) -dict_data = patient.model_dump(exclude_none=True) - -# From dictionary -patient = Patient.model_validate(dict_data) -``` - -## Type Checking - -### MyPy Integration - -Verify type safety with MyPy: - -```bash -pip install mypy -mypy fhir_types/ -``` - -### IDE Support - -Generated Pydantic models provide: -- Autocomplete for all fields -- Type hints for parameters and returns -- Inline documentation from FHIR specs -- Real-time validation errors - -## Running Tests - -```bash -pytest test_sdk.py -v -``` - -## Next Steps - -- See [python-fhirpy/](../python-fhirpy/) for fhirpy async client example -- See [examples/](../) overview for other language examples -- Check [../../CLAUDE.md](../../CLAUDE.md) for architecture details diff --git a/examples/python-extension-example/fhir_types/README.md b/examples/python-extension-example/fhir_types/README.md deleted file mode 100644 index c0fa5c311..000000000 --- a/examples/python-extension-example/fhir_types/README.md +++ /dev/null @@ -1,2587 +0,0 @@ -# IR Report - -## Package: `hl7.fhir.r4.core` - -### Skipped Canonicals - -- `http://fhir-registry.smarthealthit.org/StructureDefinition/capabilities` -- `http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris` -- `http://hl7.org/fhir/StructureDefinition/11179-objectClass` -- `http://hl7.org/fhir/StructureDefinition/11179-objectClassProperty` -- `http://hl7.org/fhir/StructureDefinition/11179-permitted-value-conceptmap` -- `http://hl7.org/fhir/StructureDefinition/11179-permitted-value-valueset` -- `http://hl7.org/fhir/StructureDefinition/Account` -- `http://hl7.org/fhir/StructureDefinition/ActivityDefinition` -- `http://hl7.org/fhir/StructureDefinition/AdverseEvent` -- `http://hl7.org/fhir/StructureDefinition/AllergyIntolerance` -- `http://hl7.org/fhir/StructureDefinition/Appointment` -- `http://hl7.org/fhir/StructureDefinition/AppointmentResponse` -- `http://hl7.org/fhir/StructureDefinition/AuditEvent` -- `http://hl7.org/fhir/StructureDefinition/BackboneElement` -- `http://hl7.org/fhir/StructureDefinition/Basic` -- `http://hl7.org/fhir/StructureDefinition/Binary` -- `http://hl7.org/fhir/StructureDefinition/BiologicallyDerivedProduct` -- `http://hl7.org/fhir/StructureDefinition/BodyStructure` -- `http://hl7.org/fhir/StructureDefinition/Bundle` -- `http://hl7.org/fhir/StructureDefinition/CapabilityStatement` -- `http://hl7.org/fhir/StructureDefinition/CarePlan` -- `http://hl7.org/fhir/StructureDefinition/CareTeam` -- `http://hl7.org/fhir/StructureDefinition/CatalogEntry` -- `http://hl7.org/fhir/StructureDefinition/ChargeItem` -- `http://hl7.org/fhir/StructureDefinition/ChargeItemDefinition` -- `http://hl7.org/fhir/StructureDefinition/Claim` -- `http://hl7.org/fhir/StructureDefinition/ClaimResponse` -- `http://hl7.org/fhir/StructureDefinition/ClinicalImpression` -- `http://hl7.org/fhir/StructureDefinition/CodeSystem` -- `http://hl7.org/fhir/StructureDefinition/Communication` -- `http://hl7.org/fhir/StructureDefinition/CommunicationRequest` -- `http://hl7.org/fhir/StructureDefinition/CompartmentDefinition` -- `http://hl7.org/fhir/StructureDefinition/Composition` -- `http://hl7.org/fhir/StructureDefinition/ConceptMap` -- `http://hl7.org/fhir/StructureDefinition/Condition` -- `http://hl7.org/fhir/StructureDefinition/Consent` -- `http://hl7.org/fhir/StructureDefinition/Contract` -- `http://hl7.org/fhir/StructureDefinition/Coverage` -- `http://hl7.org/fhir/StructureDefinition/CoverageEligibilityRequest` -- `http://hl7.org/fhir/StructureDefinition/CoverageEligibilityResponse` -- `http://hl7.org/fhir/StructureDefinition/Definition` -- `http://hl7.org/fhir/StructureDefinition/DetectedIssue` -- `http://hl7.org/fhir/StructureDefinition/Device` -- `http://hl7.org/fhir/StructureDefinition/DeviceDefinition` -- `http://hl7.org/fhir/StructureDefinition/DeviceMetric` -- `http://hl7.org/fhir/StructureDefinition/DeviceRequest` -- `http://hl7.org/fhir/StructureDefinition/DeviceUseStatement` -- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport` -- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAnalysis` -- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAssessedCondition` -- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsFamilyMemberHistory` -- `http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsReferences` -- `http://hl7.org/fhir/StructureDefinition/DocumentManifest` -- `http://hl7.org/fhir/StructureDefinition/DocumentReference` -- `http://hl7.org/fhir/StructureDefinition/DomainResource` -- `http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis` -- `http://hl7.org/fhir/StructureDefinition/Element` -- `http://hl7.org/fhir/StructureDefinition/ElementDefinition` -- `http://hl7.org/fhir/StructureDefinition/Encounter` -- `http://hl7.org/fhir/StructureDefinition/Endpoint` -- `http://hl7.org/fhir/StructureDefinition/EnrollmentRequest` -- `http://hl7.org/fhir/StructureDefinition/EnrollmentResponse` -- `http://hl7.org/fhir/StructureDefinition/EpisodeOfCare` -- `http://hl7.org/fhir/StructureDefinition/Event` -- `http://hl7.org/fhir/StructureDefinition/EventDefinition` -- `http://hl7.org/fhir/StructureDefinition/Evidence` -- `http://hl7.org/fhir/StructureDefinition/EvidenceVariable` -- `http://hl7.org/fhir/StructureDefinition/ExampleScenario` -- `http://hl7.org/fhir/StructureDefinition/ExplanationOfBenefit` -- `http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory` -- `http://hl7.org/fhir/StructureDefinition/FiveWs` -- `http://hl7.org/fhir/StructureDefinition/Flag` -- `http://hl7.org/fhir/StructureDefinition/Goal` -- `http://hl7.org/fhir/StructureDefinition/GraphDefinition` -- `http://hl7.org/fhir/StructureDefinition/Group` -- `http://hl7.org/fhir/StructureDefinition/GuidanceResponse` -- `http://hl7.org/fhir/StructureDefinition/HealthcareService` -- `http://hl7.org/fhir/StructureDefinition/ImagingStudy` -- `http://hl7.org/fhir/StructureDefinition/Immunization` -- `http://hl7.org/fhir/StructureDefinition/ImmunizationEvaluation` -- `http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation` -- `http://hl7.org/fhir/StructureDefinition/ImplementationGuide` -- `http://hl7.org/fhir/StructureDefinition/InsurancePlan` -- `http://hl7.org/fhir/StructureDefinition/Invoice` -- `http://hl7.org/fhir/StructureDefinition/Library` -- `http://hl7.org/fhir/StructureDefinition/Linkage` -- `http://hl7.org/fhir/StructureDefinition/List` -- `http://hl7.org/fhir/StructureDefinition/Location` -- `http://hl7.org/fhir/StructureDefinition/MarketingStatus` -- `http://hl7.org/fhir/StructureDefinition/Measure` -- `http://hl7.org/fhir/StructureDefinition/MeasureReport` -- `http://hl7.org/fhir/StructureDefinition/Media` -- `http://hl7.org/fhir/StructureDefinition/Medication` -- `http://hl7.org/fhir/StructureDefinition/MedicationAdministration` -- `http://hl7.org/fhir/StructureDefinition/MedicationDispense` -- `http://hl7.org/fhir/StructureDefinition/MedicationKnowledge` -- `http://hl7.org/fhir/StructureDefinition/MedicationRequest` -- `http://hl7.org/fhir/StructureDefinition/MedicationStatement` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProduct` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductAuthorization` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductContraindication` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductIndication` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductIngredient` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductInteraction` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductManufactured` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductPackaged` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductPharmaceutical` -- `http://hl7.org/fhir/StructureDefinition/MedicinalProductUndesirableEffect` -- `http://hl7.org/fhir/StructureDefinition/MessageDefinition` -- `http://hl7.org/fhir/StructureDefinition/MessageHeader` -- `http://hl7.org/fhir/StructureDefinition/MetadataResource` -- `http://hl7.org/fhir/StructureDefinition/MolecularSequence` -- `http://hl7.org/fhir/StructureDefinition/MoneyQuantity` -- `http://hl7.org/fhir/StructureDefinition/NamingSystem` -- `http://hl7.org/fhir/StructureDefinition/NutritionOrder` -- `http://hl7.org/fhir/StructureDefinition/Observation` -- `http://hl7.org/fhir/StructureDefinition/ObservationDefinition` -- `http://hl7.org/fhir/StructureDefinition/OperationDefinition` -- `http://hl7.org/fhir/StructureDefinition/OperationOutcome` -- `http://hl7.org/fhir/StructureDefinition/Organization` -- `http://hl7.org/fhir/StructureDefinition/OrganizationAffiliation` -- `http://hl7.org/fhir/StructureDefinition/Parameters` -- `http://hl7.org/fhir/StructureDefinition/Patient` -- `http://hl7.org/fhir/StructureDefinition/PaymentNotice` -- `http://hl7.org/fhir/StructureDefinition/PaymentReconciliation` -- `http://hl7.org/fhir/StructureDefinition/Person` -- `http://hl7.org/fhir/StructureDefinition/PlanDefinition` -- `http://hl7.org/fhir/StructureDefinition/Population` -- `http://hl7.org/fhir/StructureDefinition/Practitioner` -- `http://hl7.org/fhir/StructureDefinition/PractitionerRole` -- `http://hl7.org/fhir/StructureDefinition/Procedure` -- `http://hl7.org/fhir/StructureDefinition/ProdCharacteristic` -- `http://hl7.org/fhir/StructureDefinition/ProductShelfLife` -- `http://hl7.org/fhir/StructureDefinition/Provenance` -- `http://hl7.org/fhir/StructureDefinition/Questionnaire` -- `http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse` -- `http://hl7.org/fhir/StructureDefinition/RelatedPerson` -- `http://hl7.org/fhir/StructureDefinition/Request` -- `http://hl7.org/fhir/StructureDefinition/RequestGroup` -- `http://hl7.org/fhir/StructureDefinition/ResearchDefinition` -- `http://hl7.org/fhir/StructureDefinition/ResearchElementDefinition` -- `http://hl7.org/fhir/StructureDefinition/ResearchStudy` -- `http://hl7.org/fhir/StructureDefinition/ResearchSubject` -- `http://hl7.org/fhir/StructureDefinition/RiskAssessment` -- `http://hl7.org/fhir/StructureDefinition/RiskEvidenceSynthesis` -- `http://hl7.org/fhir/StructureDefinition/Schedule` -- `http://hl7.org/fhir/StructureDefinition/SearchParameter` -- `http://hl7.org/fhir/StructureDefinition/ServiceRequest` -- `http://hl7.org/fhir/StructureDefinition/SimpleQuantity` -- `http://hl7.org/fhir/StructureDefinition/Slot` -- `http://hl7.org/fhir/StructureDefinition/Specimen` -- `http://hl7.org/fhir/StructureDefinition/SpecimenDefinition` -- `http://hl7.org/fhir/StructureDefinition/StructureDefinition` -- `http://hl7.org/fhir/StructureDefinition/StructureMap` -- `http://hl7.org/fhir/StructureDefinition/Subscription` -- `http://hl7.org/fhir/StructureDefinition/Substance` -- `http://hl7.org/fhir/StructureDefinition/SubstanceAmount` -- `http://hl7.org/fhir/StructureDefinition/SubstanceNucleicAcid` -- `http://hl7.org/fhir/StructureDefinition/SubstancePolymer` -- `http://hl7.org/fhir/StructureDefinition/SubstanceProtein` -- `http://hl7.org/fhir/StructureDefinition/SubstanceReferenceInformation` -- `http://hl7.org/fhir/StructureDefinition/SubstanceSourceMaterial` -- `http://hl7.org/fhir/StructureDefinition/SubstanceSpecification` -- `http://hl7.org/fhir/StructureDefinition/SupplyDelivery` -- `http://hl7.org/fhir/StructureDefinition/SupplyRequest` -- `http://hl7.org/fhir/StructureDefinition/Task` -- `http://hl7.org/fhir/StructureDefinition/TerminologyCapabilities` -- `http://hl7.org/fhir/StructureDefinition/TestReport` -- `http://hl7.org/fhir/StructureDefinition/TestScript` -- `http://hl7.org/fhir/StructureDefinition/ValueSet` -- `http://hl7.org/fhir/StructureDefinition/VerificationResult` -- `http://hl7.org/fhir/StructureDefinition/VisionPrescription` -- `http://hl7.org/fhir/StructureDefinition/actualgroup` -- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-assertedDate` -- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-certainty` -- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-duration` -- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-reasonRefuted` -- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-resolutionAge` -- `http://hl7.org/fhir/StructureDefinition/allergyintolerance-substanceExposureRisk` -- `http://hl7.org/fhir/StructureDefinition/auditevent-Accession` -- `http://hl7.org/fhir/StructureDefinition/auditevent-Anonymized` -- `http://hl7.org/fhir/StructureDefinition/auditevent-Encrypted` -- `http://hl7.org/fhir/StructureDefinition/auditevent-Instance` -- `http://hl7.org/fhir/StructureDefinition/auditevent-MPPS` -- `http://hl7.org/fhir/StructureDefinition/auditevent-NumberOfInstances` -- `http://hl7.org/fhir/StructureDefinition/auditevent-ParticipantObjectContainsStudy` -- `http://hl7.org/fhir/StructureDefinition/auditevent-SOPClass` -- `http://hl7.org/fhir/StructureDefinition/bmi` -- `http://hl7.org/fhir/StructureDefinition/bodySite` -- `http://hl7.org/fhir/StructureDefinition/bodyheight` -- `http://hl7.org/fhir/StructureDefinition/bodytemp` -- `http://hl7.org/fhir/StructureDefinition/bodyweight` -- `http://hl7.org/fhir/StructureDefinition/bp` -- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation` -- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-prohibited` -- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination` -- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-supported-system` -- `http://hl7.org/fhir/StructureDefinition/capabilitystatement-websocket` -- `http://hl7.org/fhir/StructureDefinition/careplan-activity-title` -- `http://hl7.org/fhir/StructureDefinition/catalog` -- `http://hl7.org/fhir/StructureDefinition/cdshooksguidanceresponse` -- `http://hl7.org/fhir/StructureDefinition/cdshooksrequestgroup` -- `http://hl7.org/fhir/StructureDefinition/cdshooksserviceplandefinition` -- `http://hl7.org/fhir/StructureDefinition/cholesterol` -- `http://hl7.org/fhir/StructureDefinition/clinicaldocument` -- `http://hl7.org/fhir/StructureDefinition/codesystem-alternate` -- `http://hl7.org/fhir/StructureDefinition/codesystem-author` -- `http://hl7.org/fhir/StructureDefinition/codesystem-concept-comments` -- `http://hl7.org/fhir/StructureDefinition/codesystem-conceptOrder` -- `http://hl7.org/fhir/StructureDefinition/codesystem-effectiveDate` -- `http://hl7.org/fhir/StructureDefinition/codesystem-expirationDate` -- `http://hl7.org/fhir/StructureDefinition/codesystem-history` -- `http://hl7.org/fhir/StructureDefinition/codesystem-keyWord` -- `http://hl7.org/fhir/StructureDefinition/codesystem-label` -- `http://hl7.org/fhir/StructureDefinition/codesystem-map` -- `http://hl7.org/fhir/StructureDefinition/codesystem-otherName` -- `http://hl7.org/fhir/StructureDefinition/codesystem-replacedby` -- `http://hl7.org/fhir/StructureDefinition/codesystem-sourceReference` -- `http://hl7.org/fhir/StructureDefinition/codesystem-trusted-expansion` -- `http://hl7.org/fhir/StructureDefinition/codesystem-usage` -- `http://hl7.org/fhir/StructureDefinition/codesystem-warning` -- `http://hl7.org/fhir/StructureDefinition/codesystem-workflowStatus` -- `http://hl7.org/fhir/StructureDefinition/coding-sctdescid` -- `http://hl7.org/fhir/StructureDefinition/communication-media` -- `http://hl7.org/fhir/StructureDefinition/communicationrequest-initiatingLocation` -- `http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-otherConfidentiality` -- `http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-versionNumber` -- `http://hl7.org/fhir/StructureDefinition/composition-section-subject` -- `http://hl7.org/fhir/StructureDefinition/computableplandefinition` -- `http://hl7.org/fhir/StructureDefinition/concept-bidirectional` -- `http://hl7.org/fhir/StructureDefinition/condition-assertedDate` -- `http://hl7.org/fhir/StructureDefinition/condition-dueTo` -- `http://hl7.org/fhir/StructureDefinition/condition-occurredFollowing` -- `http://hl7.org/fhir/StructureDefinition/condition-outcome` -- `http://hl7.org/fhir/StructureDefinition/condition-related` -- `http://hl7.org/fhir/StructureDefinition/condition-ruledOut` -- `http://hl7.org/fhir/StructureDefinition/consent-NotificationEndpoint` -- `http://hl7.org/fhir/StructureDefinition/consent-Transcriber` -- `http://hl7.org/fhir/StructureDefinition/consent-Witness` -- `http://hl7.org/fhir/StructureDefinition/consent-location` -- `http://hl7.org/fhir/StructureDefinition/contactpoint-area` -- `http://hl7.org/fhir/StructureDefinition/contactpoint-country` -- `http://hl7.org/fhir/StructureDefinition/contactpoint-extension` -- `http://hl7.org/fhir/StructureDefinition/contactpoint-local` -- `http://hl7.org/fhir/StructureDefinition/cqf-calculatedValue` -- `http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint` -- `http://hl7.org/fhir/StructureDefinition/cqf-citation` -- `http://hl7.org/fhir/StructureDefinition/cqf-encounterClass` -- `http://hl7.org/fhir/StructureDefinition/cqf-encounterType` -- `http://hl7.org/fhir/StructureDefinition/cqf-expression` -- `http://hl7.org/fhir/StructureDefinition/cqf-initialValue` -- `http://hl7.org/fhir/StructureDefinition/cqf-initiatingOrganization` -- `http://hl7.org/fhir/StructureDefinition/cqf-initiatingPerson` -- `http://hl7.org/fhir/StructureDefinition/cqf-library` -- `http://hl7.org/fhir/StructureDefinition/cqf-measureInfo` -- `http://hl7.org/fhir/StructureDefinition/cqf-qualityOfEvidence` -- `http://hl7.org/fhir/StructureDefinition/cqf-questionnaire` -- `http://hl7.org/fhir/StructureDefinition/cqf-receivingOrganization` -- `http://hl7.org/fhir/StructureDefinition/cqf-receivingPerson` -- `http://hl7.org/fhir/StructureDefinition/cqf-recipientLanguage` -- `http://hl7.org/fhir/StructureDefinition/cqf-recipientType` -- `http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime` -- `http://hl7.org/fhir/StructureDefinition/cqf-strengthOfRecommendation` -- `http://hl7.org/fhir/StructureDefinition/cqf-systemUserLanguage` -- `http://hl7.org/fhir/StructureDefinition/cqf-systemUserTaskContext` -- `http://hl7.org/fhir/StructureDefinition/cqf-systemUserType` -- `http://hl7.org/fhir/StructureDefinition/cqllibrary` -- `http://hl7.org/fhir/StructureDefinition/cqm-ValidityPeriod` -- `http://hl7.org/fhir/StructureDefinition/data-absent-reason` -- `http://hl7.org/fhir/StructureDefinition/designNote` -- `http://hl7.org/fhir/StructureDefinition/device-implantStatus` -- `http://hl7.org/fhir/StructureDefinition/devicemetricobservation` -- `http://hl7.org/fhir/StructureDefinition/devicerequest-patientInstruction` -- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-addendumOf` -- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-extends` -- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed` -- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-replaces` -- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-risk` -- `http://hl7.org/fhir/StructureDefinition/diagnosticReport-summaryOf` -- `http://hl7.org/fhir/StructureDefinition/diagnosticreport-genetics` -- `http://hl7.org/fhir/StructureDefinition/display` -- `http://hl7.org/fhir/StructureDefinition/ehrsrle-auditevent` -- `http://hl7.org/fhir/StructureDefinition/ehrsrle-provenance` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-de` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-equivalence` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-identifier` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-inheritedExtensibleValueSet` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-minValueSet` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-profile-element` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-question` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-selector` -- `http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable` -- `http://hl7.org/fhir/StructureDefinition/encounter-associatedEncounter` -- `http://hl7.org/fhir/StructureDefinition/encounter-modeOfArrival` -- `http://hl7.org/fhir/StructureDefinition/encounter-reasonCancelled` -- `http://hl7.org/fhir/StructureDefinition/entryFormat` -- `http://hl7.org/fhir/StructureDefinition/event-basedOn` -- `http://hl7.org/fhir/StructureDefinition/event-eventHistory` -- `http://hl7.org/fhir/StructureDefinition/event-location` -- `http://hl7.org/fhir/StructureDefinition/event-partOf` -- `http://hl7.org/fhir/StructureDefinition/event-performerFunction` -- `http://hl7.org/fhir/StructureDefinition/event-statusReason` -- `http://hl7.org/fhir/StructureDefinition/example-composition` -- `http://hl7.org/fhir/StructureDefinition/example-section-library` -- `http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-observation` -- `http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-parent` -- `http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-sibling` -- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-abatement` -- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-genetic` -- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-patient-record` -- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-severity` -- `http://hl7.org/fhir/StructureDefinition/familymemberhistory-type` -- `http://hl7.org/fhir/StructureDefinition/flag-detail` -- `http://hl7.org/fhir/StructureDefinition/flag-priority` -- `http://hl7.org/fhir/StructureDefinition/geolocation` -- `http://hl7.org/fhir/StructureDefinition/goal-acceptance` -- `http://hl7.org/fhir/StructureDefinition/goal-reasonRejected` -- `http://hl7.org/fhir/StructureDefinition/goal-relationship` -- `http://hl7.org/fhir/StructureDefinition/groupdefinition` -- `http://hl7.org/fhir/StructureDefinition/hdlcholesterol` -- `http://hl7.org/fhir/StructureDefinition/headcircum` -- `http://hl7.org/fhir/StructureDefinition/heartrate` -- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-allele-database` -- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-glstring` -- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-haploid` -- `http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-method` -- `http://hl7.org/fhir/StructureDefinition/hlaresult` -- `http://hl7.org/fhir/StructureDefinition/http-response-header` -- `http://hl7.org/fhir/StructureDefinition/humanname-assembly-order` -- `http://hl7.org/fhir/StructureDefinition/humanname-fathers-family` -- `http://hl7.org/fhir/StructureDefinition/humanname-mothers-family` -- `http://hl7.org/fhir/StructureDefinition/humanname-own-name` -- `http://hl7.org/fhir/StructureDefinition/humanname-own-prefix` -- `http://hl7.org/fhir/StructureDefinition/humanname-partner-name` -- `http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix` -- `http://hl7.org/fhir/StructureDefinition/identifier-validDate` -- `http://hl7.org/fhir/StructureDefinition/iso21090-AD-use` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-careOf` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-censusTract` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-delimiter` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryAddressLine` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryInstallationArea` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryInstallationQualifier` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryInstallationType` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryMode` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-deliveryModeIdentifier` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-direction` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumberNumeric` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetAddressLine` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetNameBase` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetNameType` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitID` -- `http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitType` -- `http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier` -- `http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation` -- `http://hl7.org/fhir/StructureDefinition/iso21090-EN-use` -- `http://hl7.org/fhir/StructureDefinition/iso21090-PQ-translation` -- `http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding` -- `http://hl7.org/fhir/StructureDefinition/iso21090-TEL-address` -- `http://hl7.org/fhir/StructureDefinition/iso21090-nullFlavor` -- `http://hl7.org/fhir/StructureDefinition/iso21090-preferred` -- `http://hl7.org/fhir/StructureDefinition/iso21090-uncertainty` -- `http://hl7.org/fhir/StructureDefinition/iso21090-uncertaintyType` -- `http://hl7.org/fhir/StructureDefinition/language` -- `http://hl7.org/fhir/StructureDefinition/ldlcholesterol` -- `http://hl7.org/fhir/StructureDefinition/lipidprofile` -- `http://hl7.org/fhir/StructureDefinition/list-changeBase` -- `http://hl7.org/fhir/StructureDefinition/location-boundary-geojson` -- `http://hl7.org/fhir/StructureDefinition/location-distance` -- `http://hl7.org/fhir/StructureDefinition/match-grade` -- `http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces` -- `http://hl7.org/fhir/StructureDefinition/maxSize` -- `http://hl7.org/fhir/StructureDefinition/maxValue` -- `http://hl7.org/fhir/StructureDefinition/messageheader-response-request` -- `http://hl7.org/fhir/StructureDefinition/mimeType` -- `http://hl7.org/fhir/StructureDefinition/minLength` -- `http://hl7.org/fhir/StructureDefinition/minValue` -- `http://hl7.org/fhir/StructureDefinition/narrativeLink` -- `http://hl7.org/fhir/StructureDefinition/nutritionorder-adaptiveFeedingDevice` -- `http://hl7.org/fhir/StructureDefinition/observation-bodyPosition` -- `http://hl7.org/fhir/StructureDefinition/observation-delta` -- `http://hl7.org/fhir/StructureDefinition/observation-deviceCode` -- `http://hl7.org/fhir/StructureDefinition/observation-focusCode` -- `http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice` -- `http://hl7.org/fhir/StructureDefinition/observation-genetics` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsAllele` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsAminoAcidChange` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsAncestry` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsCopyNumberEvent` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsDNARegionName` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsGene` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsGenomicSourceClass` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsInterpretation` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsPhaseSet` -- `http://hl7.org/fhir/StructureDefinition/observation-geneticsVariant` -- `http://hl7.org/fhir/StructureDefinition/observation-precondition` -- `http://hl7.org/fhir/StructureDefinition/observation-reagent` -- `http://hl7.org/fhir/StructureDefinition/observation-replaces` -- `http://hl7.org/fhir/StructureDefinition/observation-secondaryFinding` -- `http://hl7.org/fhir/StructureDefinition/observation-sequelTo` -- `http://hl7.org/fhir/StructureDefinition/observation-specimenCode` -- `http://hl7.org/fhir/StructureDefinition/observation-timeOffset` -- `http://hl7.org/fhir/StructureDefinition/openEHR-administration` -- `http://hl7.org/fhir/StructureDefinition/openEHR-careplan` -- `http://hl7.org/fhir/StructureDefinition/openEHR-exposureDate` -- `http://hl7.org/fhir/StructureDefinition/openEHR-exposureDescription` -- `http://hl7.org/fhir/StructureDefinition/openEHR-exposureDuration` -- `http://hl7.org/fhir/StructureDefinition/openEHR-location` -- `http://hl7.org/fhir/StructureDefinition/openEHR-management` -- `http://hl7.org/fhir/StructureDefinition/openEHR-test` -- `http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type` -- `http://hl7.org/fhir/StructureDefinition/operationdefinition-profile` -- `http://hl7.org/fhir/StructureDefinition/operationoutcome-authority` -- `http://hl7.org/fhir/StructureDefinition/operationoutcome-detectedIssue` -- `http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-source` -- `http://hl7.org/fhir/StructureDefinition/ordinalValue` -- `http://hl7.org/fhir/StructureDefinition/organization-period` -- `http://hl7.org/fhir/StructureDefinition/organization-preferredContact` -- `http://hl7.org/fhir/StructureDefinition/organizationaffiliation-primaryInd` -- `http://hl7.org/fhir/StructureDefinition/originalText` -- `http://hl7.org/fhir/StructureDefinition/oxygensat` -- `http://hl7.org/fhir/StructureDefinition/parameters-fullUrl` -- `http://hl7.org/fhir/StructureDefinition/patient-adoptionInfo` -- `http://hl7.org/fhir/StructureDefinition/patient-animal` -- `http://hl7.org/fhir/StructureDefinition/patient-birthPlace` -- `http://hl7.org/fhir/StructureDefinition/patient-birthTime` -- `http://hl7.org/fhir/StructureDefinition/patient-cadavericDonor` -- `http://hl7.org/fhir/StructureDefinition/patient-citizenship` -- `http://hl7.org/fhir/StructureDefinition/patient-congregation` -- `http://hl7.org/fhir/StructureDefinition/patient-disability` -- `http://hl7.org/fhir/StructureDefinition/patient-genderIdentity` -- `http://hl7.org/fhir/StructureDefinition/patient-importance` -- `http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired` -- `http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName` -- `http://hl7.org/fhir/StructureDefinition/patient-nationality` -- `http://hl7.org/fhir/StructureDefinition/patient-preferenceType` -- `http://hl7.org/fhir/StructureDefinition/patient-proficiency` -- `http://hl7.org/fhir/StructureDefinition/patient-relatedPerson` -- `http://hl7.org/fhir/StructureDefinition/patient-religion` -- `http://hl7.org/fhir/StructureDefinition/picoelement` -- `http://hl7.org/fhir/StructureDefinition/practitioner-animalSpecies` -- `http://hl7.org/fhir/StructureDefinition/practitionerrole-primaryInd` -- `http://hl7.org/fhir/StructureDefinition/procedure-approachBodyStructure` -- `http://hl7.org/fhir/StructureDefinition/procedure-causedBy` -- `http://hl7.org/fhir/StructureDefinition/procedure-directedBy` -- `http://hl7.org/fhir/StructureDefinition/procedure-incisionDateTime` -- `http://hl7.org/fhir/StructureDefinition/procedure-method` -- `http://hl7.org/fhir/StructureDefinition/procedure-progressStatus` -- `http://hl7.org/fhir/StructureDefinition/procedure-schedule` -- `http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure` -- `http://hl7.org/fhir/StructureDefinition/provenance-relevant-history` -- `http://hl7.org/fhir/StructureDefinition/quantity-precision` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-baseType` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-constraint` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-fhirType` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-hidden` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-optionExclusive` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-optionPrefix` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-referenceFilter` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-referenceProfile` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-referenceResource` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-signatureRequired` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-sliderStepValue` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-supportLink` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-unit` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-unitOption` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet` -- `http://hl7.org/fhir/StructureDefinition/questionnaire-usageMode` -- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-author` -- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-completionMode` -- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-reason` -- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-reviewer` -- `http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature` -- `http://hl7.org/fhir/StructureDefinition/regex` -- `http://hl7.org/fhir/StructureDefinition/relative-date` -- `http://hl7.org/fhir/StructureDefinition/rendered-value` -- `http://hl7.org/fhir/StructureDefinition/rendering-markdown` -- `http://hl7.org/fhir/StructureDefinition/rendering-style` -- `http://hl7.org/fhir/StructureDefinition/rendering-styleSensitive` -- `http://hl7.org/fhir/StructureDefinition/rendering-xhtml` -- `http://hl7.org/fhir/StructureDefinition/replaces` -- `http://hl7.org/fhir/StructureDefinition/request-doNotPerform` -- `http://hl7.org/fhir/StructureDefinition/request-insurance` -- `http://hl7.org/fhir/StructureDefinition/request-performerOrder` -- `http://hl7.org/fhir/StructureDefinition/request-relevantHistory` -- `http://hl7.org/fhir/StructureDefinition/request-replaces` -- `http://hl7.org/fhir/StructureDefinition/request-statusReason` -- `http://hl7.org/fhir/StructureDefinition/resource-approvalDate` -- `http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod` -- `http://hl7.org/fhir/StructureDefinition/resource-lastReviewDate` -- `http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal` -- `http://hl7.org/fhir/StructureDefinition/resprate` -- `http://hl7.org/fhir/StructureDefinition/servicerequest-genetics` -- `http://hl7.org/fhir/StructureDefinition/servicerequest-geneticsItem` -- `http://hl7.org/fhir/StructureDefinition/servicerequest-precondition` -- `http://hl7.org/fhir/StructureDefinition/servicerequest-questionnaireRequest` -- `http://hl7.org/fhir/StructureDefinition/shareableactivitydefinition` -- `http://hl7.org/fhir/StructureDefinition/shareablecodesystem` -- `http://hl7.org/fhir/StructureDefinition/shareablelibrary` -- `http://hl7.org/fhir/StructureDefinition/shareablemeasure` -- `http://hl7.org/fhir/StructureDefinition/shareableplandefinition` -- `http://hl7.org/fhir/StructureDefinition/shareablevalueset` -- `http://hl7.org/fhir/StructureDefinition/specimen-collectionPriority` -- `http://hl7.org/fhir/StructureDefinition/specimen-isDryWeight` -- `http://hl7.org/fhir/StructureDefinition/specimen-processingTime` -- `http://hl7.org/fhir/StructureDefinition/specimen-sequenceNumber` -- `http://hl7.org/fhir/StructureDefinition/specimen-specialHandling` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-ancestor` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-applicable-version` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-category` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-dependencies` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm-no-warnings` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-summary` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-table-name` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-template-status` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-wg` -- `http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-no-order` -- `http://hl7.org/fhir/StructureDefinition/synthesis` -- `http://hl7.org/fhir/StructureDefinition/task-candidateList` -- `http://hl7.org/fhir/StructureDefinition/task-replaces` -- `http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth` -- `http://hl7.org/fhir/StructureDefinition/timing-daysOfCycle` -- `http://hl7.org/fhir/StructureDefinition/timing-exact` -- `http://hl7.org/fhir/StructureDefinition/translation` -- `http://hl7.org/fhir/StructureDefinition/triglyceride` -- `http://hl7.org/fhir/StructureDefinition/tz-code` -- `http://hl7.org/fhir/StructureDefinition/tz-offset` -- `http://hl7.org/fhir/StructureDefinition/usagecontext-group` -- `http://hl7.org/fhir/StructureDefinition/valueset-activityStatusDate` -- `http://hl7.org/fhir/StructureDefinition/valueset-author` -- `http://hl7.org/fhir/StructureDefinition/valueset-authoritativeSource` -- `http://hl7.org/fhir/StructureDefinition/valueset-caseSensitive` -- `http://hl7.org/fhir/StructureDefinition/valueset-concept-comments` -- `http://hl7.org/fhir/StructureDefinition/valueset-concept-definition` -- `http://hl7.org/fhir/StructureDefinition/valueset-conceptOrder` -- `http://hl7.org/fhir/StructureDefinition/valueset-deprecated` -- `http://hl7.org/fhir/StructureDefinition/valueset-effectiveDate` -- `http://hl7.org/fhir/StructureDefinition/valueset-expand-group` -- `http://hl7.org/fhir/StructureDefinition/valueset-expand-rules` -- `http://hl7.org/fhir/StructureDefinition/valueset-expansionSource` -- `http://hl7.org/fhir/StructureDefinition/valueset-expirationDate` -- `http://hl7.org/fhir/StructureDefinition/valueset-expression` -- `http://hl7.org/fhir/StructureDefinition/valueset-extensible` -- `http://hl7.org/fhir/StructureDefinition/valueset-keyWord` -- `http://hl7.org/fhir/StructureDefinition/valueset-label` -- `http://hl7.org/fhir/StructureDefinition/valueset-map` -- `http://hl7.org/fhir/StructureDefinition/valueset-otherName` -- `http://hl7.org/fhir/StructureDefinition/valueset-parameterSource` -- `http://hl7.org/fhir/StructureDefinition/valueset-reference` -- `http://hl7.org/fhir/StructureDefinition/valueset-rules-text` -- `http://hl7.org/fhir/StructureDefinition/valueset-sourceReference` -- `http://hl7.org/fhir/StructureDefinition/valueset-special-status` -- `http://hl7.org/fhir/StructureDefinition/valueset-steward` -- `http://hl7.org/fhir/StructureDefinition/valueset-supplement` -- `http://hl7.org/fhir/StructureDefinition/valueset-system` -- `http://hl7.org/fhir/StructureDefinition/valueset-systemName` -- `http://hl7.org/fhir/StructureDefinition/valueset-systemRef` -- `http://hl7.org/fhir/StructureDefinition/valueset-toocostly` -- `http://hl7.org/fhir/StructureDefinition/valueset-trusted-expansion` -- `http://hl7.org/fhir/StructureDefinition/valueset-unclosed` -- `http://hl7.org/fhir/StructureDefinition/valueset-usage` -- `http://hl7.org/fhir/StructureDefinition/valueset-warning` -- `http://hl7.org/fhir/StructureDefinition/valueset-workflowStatus` -- `http://hl7.org/fhir/StructureDefinition/variable` -- `http://hl7.org/fhir/StructureDefinition/vitalspanel` -- `http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare` -- `http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical` -- `http://hl7.org/fhir/StructureDefinition/workflow-instantiatesUri` -- `http://hl7.org/fhir/StructureDefinition/workflow-reasonCode` -- `http://hl7.org/fhir/StructureDefinition/workflow-reasonReference` -- `http://hl7.org/fhir/StructureDefinition/workflow-relatedArtifact` -- `http://hl7.org/fhir/StructureDefinition/workflow-researchStudy` -- `http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo` -- `http://hl7.org/fhir/ValueSet/FHIR-version` -- `http://hl7.org/fhir/ValueSet/abstract-types` -- `http://hl7.org/fhir/ValueSet/account-status` -- `http://hl7.org/fhir/ValueSet/account-type` -- `http://hl7.org/fhir/ValueSet/action-cardinality-behavior` -- `http://hl7.org/fhir/ValueSet/action-condition-kind` -- `http://hl7.org/fhir/ValueSet/action-grouping-behavior` -- `http://hl7.org/fhir/ValueSet/action-participant-role` -- `http://hl7.org/fhir/ValueSet/action-participant-type` -- `http://hl7.org/fhir/ValueSet/action-precheck-behavior` -- `http://hl7.org/fhir/ValueSet/action-relationship-type` -- `http://hl7.org/fhir/ValueSet/action-required-behavior` -- `http://hl7.org/fhir/ValueSet/action-selection-behavior` -- `http://hl7.org/fhir/ValueSet/action-type` -- `http://hl7.org/fhir/ValueSet/activity-definition-category` -- `http://hl7.org/fhir/ValueSet/additional-instruction-codes` -- `http://hl7.org/fhir/ValueSet/additionalmaterials` -- `http://hl7.org/fhir/ValueSet/address-type` -- `http://hl7.org/fhir/ValueSet/address-use` -- `http://hl7.org/fhir/ValueSet/adjudication` -- `http://hl7.org/fhir/ValueSet/adjudication-error` -- `http://hl7.org/fhir/ValueSet/adjudication-reason` -- `http://hl7.org/fhir/ValueSet/administration-method-codes` -- `http://hl7.org/fhir/ValueSet/administrative-gender` -- `http://hl7.org/fhir/ValueSet/adverse-event-actuality` -- `http://hl7.org/fhir/ValueSet/adverse-event-category` -- `http://hl7.org/fhir/ValueSet/adverse-event-causality-assess` -- `http://hl7.org/fhir/ValueSet/adverse-event-causality-method` -- `http://hl7.org/fhir/ValueSet/adverse-event-outcome` -- `http://hl7.org/fhir/ValueSet/adverse-event-seriousness` -- `http://hl7.org/fhir/ValueSet/adverse-event-severity` -- `http://hl7.org/fhir/ValueSet/adverse-event-type` -- `http://hl7.org/fhir/ValueSet/age-units` -- `http://hl7.org/fhir/ValueSet/all-distance-units` -- `http://hl7.org/fhir/ValueSet/all-languages` -- `http://hl7.org/fhir/ValueSet/all-time-units` -- `http://hl7.org/fhir/ValueSet/all-types` -- `http://hl7.org/fhir/ValueSet/allelename` -- `http://hl7.org/fhir/ValueSet/allerg-intol-substance-exp-risk` -- `http://hl7.org/fhir/ValueSet/allergy-intolerance-category` -- `http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality` -- `http://hl7.org/fhir/ValueSet/allergy-intolerance-type` -- `http://hl7.org/fhir/ValueSet/allergyintolerance-clinical` -- `http://hl7.org/fhir/ValueSet/allergyintolerance-code` -- `http://hl7.org/fhir/ValueSet/allergyintolerance-verification` -- `http://hl7.org/fhir/ValueSet/animal-breeds` -- `http://hl7.org/fhir/ValueSet/animal-genderstatus` -- `http://hl7.org/fhir/ValueSet/animal-species` -- `http://hl7.org/fhir/ValueSet/appointment-cancellation-reason` -- `http://hl7.org/fhir/ValueSet/appointmentstatus` -- `http://hl7.org/fhir/ValueSet/approach-site-codes` -- `http://hl7.org/fhir/ValueSet/assert-direction-codes` -- `http://hl7.org/fhir/ValueSet/assert-operator-codes` -- `http://hl7.org/fhir/ValueSet/assert-response-code-types` -- `http://hl7.org/fhir/ValueSet/asset-availability` -- `http://hl7.org/fhir/ValueSet/audit-entity-type` -- `http://hl7.org/fhir/ValueSet/audit-event-action` -- `http://hl7.org/fhir/ValueSet/audit-event-outcome` -- `http://hl7.org/fhir/ValueSet/audit-event-sub-type` -- `http://hl7.org/fhir/ValueSet/audit-event-type` -- `http://hl7.org/fhir/ValueSet/audit-source-type` -- `http://hl7.org/fhir/ValueSet/basic-resource-type` -- `http://hl7.org/fhir/ValueSet/benefit-network` -- `http://hl7.org/fhir/ValueSet/benefit-term` -- `http://hl7.org/fhir/ValueSet/benefit-type` -- `http://hl7.org/fhir/ValueSet/benefit-unit` -- `http://hl7.org/fhir/ValueSet/binding-strength` -- `http://hl7.org/fhir/ValueSet/body-site` -- `http://hl7.org/fhir/ValueSet/bodysite-laterality` -- `http://hl7.org/fhir/ValueSet/bodystructure-code` -- `http://hl7.org/fhir/ValueSet/bodystructure-relative-location` -- `http://hl7.org/fhir/ValueSet/bundle-type` -- `http://hl7.org/fhir/ValueSet/c80-doc-typecodes` -- `http://hl7.org/fhir/ValueSet/c80-facilitycodes` -- `http://hl7.org/fhir/ValueSet/c80-practice-codes` -- `http://hl7.org/fhir/ValueSet/capability-statement-kind` -- `http://hl7.org/fhir/ValueSet/care-plan-activity-kind` -- `http://hl7.org/fhir/ValueSet/care-plan-activity-outcome` -- `http://hl7.org/fhir/ValueSet/care-plan-activity-status` -- `http://hl7.org/fhir/ValueSet/care-plan-category` -- `http://hl7.org/fhir/ValueSet/care-plan-intent` -- `http://hl7.org/fhir/ValueSet/care-team-category` -- `http://hl7.org/fhir/ValueSet/care-team-status` -- `http://hl7.org/fhir/ValueSet/catalogType` -- `http://hl7.org/fhir/ValueSet/cdshooks-indicator` -- `http://hl7.org/fhir/ValueSet/certainty-subcomponent-rating` -- `http://hl7.org/fhir/ValueSet/certainty-subcomponent-type` -- `http://hl7.org/fhir/ValueSet/chargeitem-billingcodes` -- `http://hl7.org/fhir/ValueSet/chargeitem-status` -- `http://hl7.org/fhir/ValueSet/choice-list-orientation` -- `http://hl7.org/fhir/ValueSet/chromosome-human` -- `http://hl7.org/fhir/ValueSet/claim-careteamrole` -- `http://hl7.org/fhir/ValueSet/claim-exception` -- `http://hl7.org/fhir/ValueSet/claim-informationcategory` -- `http://hl7.org/fhir/ValueSet/claim-modifiers` -- `http://hl7.org/fhir/ValueSet/claim-subtype` -- `http://hl7.org/fhir/ValueSet/claim-type` -- `http://hl7.org/fhir/ValueSet/claim-use` -- `http://hl7.org/fhir/ValueSet/clinical-findings` -- `http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis` -- `http://hl7.org/fhir/ValueSet/clinicalimpression-status` -- `http://hl7.org/fhir/ValueSet/clinvar` -- `http://hl7.org/fhir/ValueSet/code-search-support` -- `http://hl7.org/fhir/ValueSet/codesystem-altcode-kind` -- `http://hl7.org/fhir/ValueSet/codesystem-content-mode` -- `http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning` -- `http://hl7.org/fhir/ValueSet/common-tags` -- `http://hl7.org/fhir/ValueSet/communication-category` -- `http://hl7.org/fhir/ValueSet/communication-not-done-reason` -- `http://hl7.org/fhir/ValueSet/communication-topic` -- `http://hl7.org/fhir/ValueSet/compartment-type` -- `http://hl7.org/fhir/ValueSet/composite-measure-scoring` -- `http://hl7.org/fhir/ValueSet/composition-altcode-kind` -- `http://hl7.org/fhir/ValueSet/composition-attestation-mode` -- `http://hl7.org/fhir/ValueSet/composition-status` -- `http://hl7.org/fhir/ValueSet/concept-map-equivalence` -- `http://hl7.org/fhir/ValueSet/concept-property-type` -- `http://hl7.org/fhir/ValueSet/concept-subsumption-outcome` -- `http://hl7.org/fhir/ValueSet/conceptmap-unmapped-mode` -- `http://hl7.org/fhir/ValueSet/condition-category` -- `http://hl7.org/fhir/ValueSet/condition-cause` -- `http://hl7.org/fhir/ValueSet/condition-clinical` -- `http://hl7.org/fhir/ValueSet/condition-code` -- `http://hl7.org/fhir/ValueSet/condition-outcome` -- `http://hl7.org/fhir/ValueSet/condition-predecessor` -- `http://hl7.org/fhir/ValueSet/condition-severity` -- `http://hl7.org/fhir/ValueSet/condition-stage` -- `http://hl7.org/fhir/ValueSet/condition-stage-type` -- `http://hl7.org/fhir/ValueSet/condition-state` -- `http://hl7.org/fhir/ValueSet/condition-ver-status` -- `http://hl7.org/fhir/ValueSet/conditional-delete-status` -- `http://hl7.org/fhir/ValueSet/conditional-read-status` -- `http://hl7.org/fhir/ValueSet/conformance-expectation` -- `http://hl7.org/fhir/ValueSet/consent-action` -- `http://hl7.org/fhir/ValueSet/consent-category` -- `http://hl7.org/fhir/ValueSet/consent-content-class` -- `http://hl7.org/fhir/ValueSet/consent-content-code` -- `http://hl7.org/fhir/ValueSet/consent-data-meaning` -- `http://hl7.org/fhir/ValueSet/consent-performer` -- `http://hl7.org/fhir/ValueSet/consent-policy` -- `http://hl7.org/fhir/ValueSet/consent-provision-type` -- `http://hl7.org/fhir/ValueSet/consent-scope` -- `http://hl7.org/fhir/ValueSet/consent-state-codes` -- `http://hl7.org/fhir/ValueSet/consistency-type` -- `http://hl7.org/fhir/ValueSet/constraint-severity` -- `http://hl7.org/fhir/ValueSet/contact-point-system` -- `http://hl7.org/fhir/ValueSet/contact-point-use` -- `http://hl7.org/fhir/ValueSet/contactentity-type` -- `http://hl7.org/fhir/ValueSet/container-cap` -- `http://hl7.org/fhir/ValueSet/container-material` -- `http://hl7.org/fhir/ValueSet/contract-action` -- `http://hl7.org/fhir/ValueSet/contract-actionstatus` -- `http://hl7.org/fhir/ValueSet/contract-actorrole` -- `http://hl7.org/fhir/ValueSet/contract-assetcontext` -- `http://hl7.org/fhir/ValueSet/contract-assetscope` -- `http://hl7.org/fhir/ValueSet/contract-assetsubtype` -- `http://hl7.org/fhir/ValueSet/contract-assettype` -- `http://hl7.org/fhir/ValueSet/contract-content-derivative` -- `http://hl7.org/fhir/ValueSet/contract-data-meaning` -- `http://hl7.org/fhir/ValueSet/contract-decision-mode` -- `http://hl7.org/fhir/ValueSet/contract-definition-subtype` -- `http://hl7.org/fhir/ValueSet/contract-definition-type` -- `http://hl7.org/fhir/ValueSet/contract-expiration-type` -- `http://hl7.org/fhir/ValueSet/contract-legalstate` -- `http://hl7.org/fhir/ValueSet/contract-party-role` -- `http://hl7.org/fhir/ValueSet/contract-publicationstatus` -- `http://hl7.org/fhir/ValueSet/contract-scope` -- `http://hl7.org/fhir/ValueSet/contract-security-category` -- `http://hl7.org/fhir/ValueSet/contract-security-classification` -- `http://hl7.org/fhir/ValueSet/contract-security-control` -- `http://hl7.org/fhir/ValueSet/contract-signer-type` -- `http://hl7.org/fhir/ValueSet/contract-status` -- `http://hl7.org/fhir/ValueSet/contract-subtype` -- `http://hl7.org/fhir/ValueSet/contract-term-subtype` -- `http://hl7.org/fhir/ValueSet/contract-term-type` -- `http://hl7.org/fhir/ValueSet/contract-type` -- `http://hl7.org/fhir/ValueSet/contributor-type` -- `http://hl7.org/fhir/ValueSet/copy-number-event` -- `http://hl7.org/fhir/ValueSet/cosmic` -- `http://hl7.org/fhir/ValueSet/coverage-class` -- `http://hl7.org/fhir/ValueSet/coverage-copay-type` -- `http://hl7.org/fhir/ValueSet/coverage-financial-exception` -- `http://hl7.org/fhir/ValueSet/coverage-selfpay` -- `http://hl7.org/fhir/ValueSet/coverage-type` -- `http://hl7.org/fhir/ValueSet/coverageeligibilityresponse-ex-auth-support` -- `http://hl7.org/fhir/ValueSet/cpt-all` -- `http://hl7.org/fhir/ValueSet/currencies` -- `http://hl7.org/fhir/ValueSet/data-absent-reason` -- `http://hl7.org/fhir/ValueSet/data-types` -- `http://hl7.org/fhir/ValueSet/dataelement-sdcobjectclass` -- `http://hl7.org/fhir/ValueSet/dataelement-sdcobjectclassproperty` -- `http://hl7.org/fhir/ValueSet/days-of-week` -- `http://hl7.org/fhir/ValueSet/dbsnp` -- `http://hl7.org/fhir/ValueSet/defined-types` -- `http://hl7.org/fhir/ValueSet/definition-resource-types` -- `http://hl7.org/fhir/ValueSet/definition-status` -- `http://hl7.org/fhir/ValueSet/definition-topic` -- `http://hl7.org/fhir/ValueSet/definition-use` -- `http://hl7.org/fhir/ValueSet/designation-use` -- `http://hl7.org/fhir/ValueSet/detectedissue-category` -- `http://hl7.org/fhir/ValueSet/detectedissue-mitigation-action` -- `http://hl7.org/fhir/ValueSet/detectedissue-severity` -- `http://hl7.org/fhir/ValueSet/device-action` -- `http://hl7.org/fhir/ValueSet/device-component-property` -- `http://hl7.org/fhir/ValueSet/device-definition-status` -- `http://hl7.org/fhir/ValueSet/device-kind` -- `http://hl7.org/fhir/ValueSet/device-nametype` -- `http://hl7.org/fhir/ValueSet/device-safety` -- `http://hl7.org/fhir/ValueSet/device-statement-status` -- `http://hl7.org/fhir/ValueSet/device-status` -- `http://hl7.org/fhir/ValueSet/device-status-reason` -- `http://hl7.org/fhir/ValueSet/device-type` -- `http://hl7.org/fhir/ValueSet/devicemetric-type` -- `http://hl7.org/fhir/ValueSet/diagnosis-role` -- `http://hl7.org/fhir/ValueSet/diagnostic-based-on-snomed` -- `http://hl7.org/fhir/ValueSet/diagnostic-report-status` -- `http://hl7.org/fhir/ValueSet/diagnostic-service-sections` -- `http://hl7.org/fhir/ValueSet/dicm-405-mediatype` -- `http://hl7.org/fhir/ValueSet/diet-type` -- `http://hl7.org/fhir/ValueSet/discriminator-type` -- `http://hl7.org/fhir/ValueSet/distance-units` -- `http://hl7.org/fhir/ValueSet/doc-section-codes` -- `http://hl7.org/fhir/ValueSet/doc-typecodes` -- `http://hl7.org/fhir/ValueSet/document-classcodes` -- `http://hl7.org/fhir/ValueSet/document-mode` -- `http://hl7.org/fhir/ValueSet/document-reference-status` -- `http://hl7.org/fhir/ValueSet/document-relationship-type` -- `http://hl7.org/fhir/ValueSet/dose-rate-type` -- `http://hl7.org/fhir/ValueSet/duration-units` -- `http://hl7.org/fhir/ValueSet/effect-estimate-type` -- `http://hl7.org/fhir/ValueSet/eligibilityrequest-purpose` -- `http://hl7.org/fhir/ValueSet/eligibilityresponse-purpose` -- `http://hl7.org/fhir/ValueSet/encounter-admit-source` -- `http://hl7.org/fhir/ValueSet/encounter-diet` -- `http://hl7.org/fhir/ValueSet/encounter-discharge-disposition` -- `http://hl7.org/fhir/ValueSet/encounter-location-status` -- `http://hl7.org/fhir/ValueSet/encounter-participant-type` -- `http://hl7.org/fhir/ValueSet/encounter-reason` -- `http://hl7.org/fhir/ValueSet/encounter-special-arrangements` -- `http://hl7.org/fhir/ValueSet/encounter-special-courtesy` -- `http://hl7.org/fhir/ValueSet/encounter-status` -- `http://hl7.org/fhir/ValueSet/encounter-type` -- `http://hl7.org/fhir/ValueSet/endpoint-connection-type` -- `http://hl7.org/fhir/ValueSet/endpoint-payload-type` -- `http://hl7.org/fhir/ValueSet/endpoint-status` -- `http://hl7.org/fhir/ValueSet/ensembl` -- `http://hl7.org/fhir/ValueSet/enteral-route` -- `http://hl7.org/fhir/ValueSet/entformula-additive` -- `http://hl7.org/fhir/ValueSet/entformula-type` -- `http://hl7.org/fhir/ValueSet/episode-of-care-status` -- `http://hl7.org/fhir/ValueSet/episodeofcare-type` -- `http://hl7.org/fhir/ValueSet/event-capability-mode` -- `http://hl7.org/fhir/ValueSet/event-or-request-resource-types` -- `http://hl7.org/fhir/ValueSet/event-resource-types` -- `http://hl7.org/fhir/ValueSet/event-status` -- `http://hl7.org/fhir/ValueSet/event-timing` -- `http://hl7.org/fhir/ValueSet/evidence-quality` -- `http://hl7.org/fhir/ValueSet/evidence-variant-state` -- `http://hl7.org/fhir/ValueSet/ex-benefitcategory` -- `http://hl7.org/fhir/ValueSet/ex-diagnosis-on-admission` -- `http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup` -- `http://hl7.org/fhir/ValueSet/ex-diagnosistype` -- `http://hl7.org/fhir/ValueSet/ex-onsettype` -- `http://hl7.org/fhir/ValueSet/ex-payee-resource-type` -- `http://hl7.org/fhir/ValueSet/ex-paymenttype` -- `http://hl7.org/fhir/ValueSet/ex-procedure-type` -- `http://hl7.org/fhir/ValueSet/ex-program-code` -- `http://hl7.org/fhir/ValueSet/ex-revenue-center` -- `http://hl7.org/fhir/ValueSet/example-expansion` -- `http://hl7.org/fhir/ValueSet/example-extensional` -- `http://hl7.org/fhir/ValueSet/example-filter` -- `http://hl7.org/fhir/ValueSet/example-hierarchical` -- `http://hl7.org/fhir/ValueSet/example-intensional` -- `http://hl7.org/fhir/ValueSet/examplescenario-actor-type` -- `http://hl7.org/fhir/ValueSet/expansion-parameter-source` -- `http://hl7.org/fhir/ValueSet/expansion-processing-rule` -- `http://hl7.org/fhir/ValueSet/explanationofbenefit-status` -- `http://hl7.org/fhir/ValueSet/exposure-state` -- `http://hl7.org/fhir/ValueSet/expression-language` -- `http://hl7.org/fhir/ValueSet/extension-context-type` -- `http://hl7.org/fhir/ValueSet/feeding-device` -- `http://hl7.org/fhir/ValueSet/filter-operator` -- `http://hl7.org/fhir/ValueSet/financial-taskcode` -- `http://hl7.org/fhir/ValueSet/financial-taskinputtype` -- `http://hl7.org/fhir/ValueSet/flag-category` -- `http://hl7.org/fhir/ValueSet/flag-code` -- `http://hl7.org/fhir/ValueSet/flag-priority` -- `http://hl7.org/fhir/ValueSet/flag-status` -- `http://hl7.org/fhir/ValueSet/fm-conditions` -- `http://hl7.org/fhir/ValueSet/fm-itemtype` -- `http://hl7.org/fhir/ValueSet/fm-status` -- `http://hl7.org/fhir/ValueSet/focal-subject` -- `http://hl7.org/fhir/ValueSet/food-type` -- `http://hl7.org/fhir/ValueSet/formatcodes` -- `http://hl7.org/fhir/ValueSet/forms` -- `http://hl7.org/fhir/ValueSet/fundsreserve` -- `http://hl7.org/fhir/ValueSet/gender-identity` -- `http://hl7.org/fhir/ValueSet/genenames` -- `http://hl7.org/fhir/ValueSet/goal-acceptance-status` -- `http://hl7.org/fhir/ValueSet/goal-achievement` -- `http://hl7.org/fhir/ValueSet/goal-category` -- `http://hl7.org/fhir/ValueSet/goal-priority` -- `http://hl7.org/fhir/ValueSet/goal-relationship-type` -- `http://hl7.org/fhir/ValueSet/goal-start-event` -- `http://hl7.org/fhir/ValueSet/goal-status` -- `http://hl7.org/fhir/ValueSet/goal-status-reason` -- `http://hl7.org/fhir/ValueSet/graph-compartment-rule` -- `http://hl7.org/fhir/ValueSet/graph-compartment-use` -- `http://hl7.org/fhir/ValueSet/group-measure` -- `http://hl7.org/fhir/ValueSet/group-type` -- `http://hl7.org/fhir/ValueSet/guidance-response-status` -- `http://hl7.org/fhir/ValueSet/guide-page-generation` -- `http://hl7.org/fhir/ValueSet/guide-parameter-code` -- `http://hl7.org/fhir/ValueSet/handling-condition` -- `http://hl7.org/fhir/ValueSet/history-absent-reason` -- `http://hl7.org/fhir/ValueSet/history-status` -- `http://hl7.org/fhir/ValueSet/hl7-work-group` -- `http://hl7.org/fhir/ValueSet/http-operations` -- `http://hl7.org/fhir/ValueSet/http-verb` -- `http://hl7.org/fhir/ValueSet/icd-10` -- `http://hl7.org/fhir/ValueSet/icd-10-procedures` -- `http://hl7.org/fhir/ValueSet/identifier-type` -- `http://hl7.org/fhir/ValueSet/identifier-use` -- `http://hl7.org/fhir/ValueSet/identity-assuranceLevel` -- `http://hl7.org/fhir/ValueSet/imagingstudy-status` -- `http://hl7.org/fhir/ValueSet/immunization-evaluation-dose-status` -- `http://hl7.org/fhir/ValueSet/immunization-evaluation-dose-status-reason` -- `http://hl7.org/fhir/ValueSet/immunization-evaluation-status` -- `http://hl7.org/fhir/ValueSet/immunization-evaluation-target-disease` -- `http://hl7.org/fhir/ValueSet/immunization-function` -- `http://hl7.org/fhir/ValueSet/immunization-funding-source` -- `http://hl7.org/fhir/ValueSet/immunization-origin` -- `http://hl7.org/fhir/ValueSet/immunization-program-eligibility` -- `http://hl7.org/fhir/ValueSet/immunization-reason` -- `http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion` -- `http://hl7.org/fhir/ValueSet/immunization-recommendation-reason` -- `http://hl7.org/fhir/ValueSet/immunization-recommendation-status` -- `http://hl7.org/fhir/ValueSet/immunization-recommendation-target-disease` -- `http://hl7.org/fhir/ValueSet/immunization-route` -- `http://hl7.org/fhir/ValueSet/immunization-site` -- `http://hl7.org/fhir/ValueSet/immunization-status` -- `http://hl7.org/fhir/ValueSet/immunization-status-reason` -- `http://hl7.org/fhir/ValueSet/immunization-subpotent-reason` -- `http://hl7.org/fhir/ValueSet/immunization-target-disease` -- `http://hl7.org/fhir/ValueSet/implantStatus` -- `http://hl7.org/fhir/ValueSet/inactive` -- `http://hl7.org/fhir/ValueSet/instance-availability` -- `http://hl7.org/fhir/ValueSet/insuranceplan-applicability` -- `http://hl7.org/fhir/ValueSet/insuranceplan-type` -- `http://hl7.org/fhir/ValueSet/intervention` -- `http://hl7.org/fhir/ValueSet/investigation-sets` -- `http://hl7.org/fhir/ValueSet/invoice-priceComponentType` -- `http://hl7.org/fhir/ValueSet/invoice-status` -- `http://hl7.org/fhir/ValueSet/iso3166-1-2` -- `http://hl7.org/fhir/ValueSet/iso3166-1-3` -- `http://hl7.org/fhir/ValueSet/iso3166-1-N` -- `http://hl7.org/fhir/ValueSet/issue-severity` -- `http://hl7.org/fhir/ValueSet/issue-type` -- `http://hl7.org/fhir/ValueSet/item-type` -- `http://hl7.org/fhir/ValueSet/jurisdiction` -- `http://hl7.org/fhir/ValueSet/knowledge-resource-types` -- `http://hl7.org/fhir/ValueSet/language-preference-type` -- `http://hl7.org/fhir/ValueSet/languages` -- `http://hl7.org/fhir/ValueSet/ldlcholesterol-codes` -- `http://hl7.org/fhir/ValueSet/library-type` -- `http://hl7.org/fhir/ValueSet/link-type` -- `http://hl7.org/fhir/ValueSet/linkage-type` -- `http://hl7.org/fhir/ValueSet/list-empty-reason` -- `http://hl7.org/fhir/ValueSet/list-example-codes` -- `http://hl7.org/fhir/ValueSet/list-item-flag` -- `http://hl7.org/fhir/ValueSet/list-mode` -- `http://hl7.org/fhir/ValueSet/list-order` -- `http://hl7.org/fhir/ValueSet/list-status` -- `http://hl7.org/fhir/ValueSet/location-mode` -- `http://hl7.org/fhir/ValueSet/location-physical-type` -- `http://hl7.org/fhir/ValueSet/location-status` -- `http://hl7.org/fhir/ValueSet/manifestation-or-symptom` -- `http://hl7.org/fhir/ValueSet/map-context-type` -- `http://hl7.org/fhir/ValueSet/map-group-type-mode` -- `http://hl7.org/fhir/ValueSet/map-input-mode` -- `http://hl7.org/fhir/ValueSet/map-model-mode` -- `http://hl7.org/fhir/ValueSet/map-source-list-mode` -- `http://hl7.org/fhir/ValueSet/map-target-list-mode` -- `http://hl7.org/fhir/ValueSet/map-transform` -- `http://hl7.org/fhir/ValueSet/marital-status` -- `http://hl7.org/fhir/ValueSet/match-grade` -- `http://hl7.org/fhir/ValueSet/measure-data-usage` -- `http://hl7.org/fhir/ValueSet/measure-improvement-notation` -- `http://hl7.org/fhir/ValueSet/measure-population` -- `http://hl7.org/fhir/ValueSet/measure-report-status` -- `http://hl7.org/fhir/ValueSet/measure-report-type` -- `http://hl7.org/fhir/ValueSet/measure-scoring` -- `http://hl7.org/fhir/ValueSet/measure-type` -- `http://hl7.org/fhir/ValueSet/med-admin-perform-function` -- `http://hl7.org/fhir/ValueSet/media-modality` -- `http://hl7.org/fhir/ValueSet/media-type` -- `http://hl7.org/fhir/ValueSet/media-view` -- `http://hl7.org/fhir/ValueSet/medication-admin-category` -- `http://hl7.org/fhir/ValueSet/medication-admin-status` -- `http://hl7.org/fhir/ValueSet/medication-as-needed-reason` -- `http://hl7.org/fhir/ValueSet/medication-codes` -- `http://hl7.org/fhir/ValueSet/medication-form-codes` -- `http://hl7.org/fhir/ValueSet/medication-statement-category` -- `http://hl7.org/fhir/ValueSet/medication-statement-status` -- `http://hl7.org/fhir/ValueSet/medication-status` -- `http://hl7.org/fhir/ValueSet/medicationdispense-category` -- `http://hl7.org/fhir/ValueSet/medicationdispense-performer-function` -- `http://hl7.org/fhir/ValueSet/medicationdispense-status` -- `http://hl7.org/fhir/ValueSet/medicationdispense-status-reason` -- `http://hl7.org/fhir/ValueSet/medicationknowledge-characteristic` -- `http://hl7.org/fhir/ValueSet/medicationknowledge-package-type` -- `http://hl7.org/fhir/ValueSet/medicationknowledge-status` -- `http://hl7.org/fhir/ValueSet/medicationrequest-category` -- `http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy` -- `http://hl7.org/fhir/ValueSet/medicationrequest-intent` -- `http://hl7.org/fhir/ValueSet/medicationrequest-status` -- `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` -- `http://hl7.org/fhir/ValueSet/message-events` -- `http://hl7.org/fhir/ValueSet/message-reason-encounter` -- `http://hl7.org/fhir/ValueSet/message-significance-category` -- `http://hl7.org/fhir/ValueSet/message-transport` -- `http://hl7.org/fhir/ValueSet/messageheader-response-request` -- `http://hl7.org/fhir/ValueSet/metric-calibration-state` -- `http://hl7.org/fhir/ValueSet/metric-calibration-type` -- `http://hl7.org/fhir/ValueSet/metric-category` -- `http://hl7.org/fhir/ValueSet/metric-color` -- `http://hl7.org/fhir/ValueSet/metric-operational-status` -- `http://hl7.org/fhir/ValueSet/mimetypes` -- `http://hl7.org/fhir/ValueSet/missing-tooth-reason` -- `http://hl7.org/fhir/ValueSet/modified-foodtype` -- `http://hl7.org/fhir/ValueSet/name-assembly-order` -- `http://hl7.org/fhir/ValueSet/name-part-qualifier` -- `http://hl7.org/fhir/ValueSet/name-use` -- `http://hl7.org/fhir/ValueSet/name-v3-representation` -- `http://hl7.org/fhir/ValueSet/namingsystem-identifier-type` -- `http://hl7.org/fhir/ValueSet/namingsystem-type` -- `http://hl7.org/fhir/ValueSet/narrative-status` -- `http://hl7.org/fhir/ValueSet/network-type` -- `http://hl7.org/fhir/ValueSet/nhin-purposeofuse` -- `http://hl7.org/fhir/ValueSet/note-type` -- `http://hl7.org/fhir/ValueSet/nutrient-code` -- `http://hl7.org/fhir/ValueSet/object-lifecycle-events` -- `http://hl7.org/fhir/ValueSet/object-role` -- `http://hl7.org/fhir/ValueSet/observation-category` -- `http://hl7.org/fhir/ValueSet/observation-codes` -- `http://hl7.org/fhir/ValueSet/observation-interpretation` -- `http://hl7.org/fhir/ValueSet/observation-methods` -- `http://hl7.org/fhir/ValueSet/observation-range-category` -- `http://hl7.org/fhir/ValueSet/observation-statistics` -- `http://hl7.org/fhir/ValueSet/observation-status` -- `http://hl7.org/fhir/ValueSet/observation-vitalsignresult` -- `http://hl7.org/fhir/ValueSet/operation-kind` -- `http://hl7.org/fhir/ValueSet/operation-outcome` -- `http://hl7.org/fhir/ValueSet/operation-parameter-use` -- `http://hl7.org/fhir/ValueSet/oral-prosthodontic-material` -- `http://hl7.org/fhir/ValueSet/organization-role` -- `http://hl7.org/fhir/ValueSet/organization-type` -- `http://hl7.org/fhir/ValueSet/orientation-type` -- `http://hl7.org/fhir/ValueSet/parameter-group` -- `http://hl7.org/fhir/ValueSet/parent-relationship-codes` -- `http://hl7.org/fhir/ValueSet/participant-role` -- `http://hl7.org/fhir/ValueSet/participantrequired` -- `http://hl7.org/fhir/ValueSet/participation-role-type` -- `http://hl7.org/fhir/ValueSet/participationstatus` -- `http://hl7.org/fhir/ValueSet/patient-contactrelationship` -- `http://hl7.org/fhir/ValueSet/payeetype` -- `http://hl7.org/fhir/ValueSet/payment-adjustment-reason` -- `http://hl7.org/fhir/ValueSet/payment-status` -- `http://hl7.org/fhir/ValueSet/payment-type` -- `http://hl7.org/fhir/ValueSet/performer-function` -- `http://hl7.org/fhir/ValueSet/performer-role` -- `http://hl7.org/fhir/ValueSet/permitted-data-type` -- `http://hl7.org/fhir/ValueSet/plan-definition-type` -- `http://hl7.org/fhir/ValueSet/postal-address-use` -- `http://hl7.org/fhir/ValueSet/practitioner-role` -- `http://hl7.org/fhir/ValueSet/practitioner-specialty` -- `http://hl7.org/fhir/ValueSet/precision-estimate-type` -- `http://hl7.org/fhir/ValueSet/prepare-patient-prior-specimen-collection` -- `http://hl7.org/fhir/ValueSet/probability-distribution-type` -- `http://hl7.org/fhir/ValueSet/procedure-category` -- `http://hl7.org/fhir/ValueSet/procedure-code` -- `http://hl7.org/fhir/ValueSet/procedure-followup` -- `http://hl7.org/fhir/ValueSet/procedure-not-performed-reason` -- `http://hl7.org/fhir/ValueSet/procedure-outcome` -- `http://hl7.org/fhir/ValueSet/procedure-progress-status-codes` -- `http://hl7.org/fhir/ValueSet/procedure-reason` -- `http://hl7.org/fhir/ValueSet/process-priority` -- `http://hl7.org/fhir/ValueSet/product-category` -- `http://hl7.org/fhir/ValueSet/product-status` -- `http://hl7.org/fhir/ValueSet/product-storage-scale` -- `http://hl7.org/fhir/ValueSet/program` -- `http://hl7.org/fhir/ValueSet/property-representation` -- `http://hl7.org/fhir/ValueSet/provenance-activity-type` -- `http://hl7.org/fhir/ValueSet/provenance-agent-role` -- `http://hl7.org/fhir/ValueSet/provenance-agent-type` -- `http://hl7.org/fhir/ValueSet/provenance-entity-role` -- `http://hl7.org/fhir/ValueSet/provenance-history-agent-type` -- `http://hl7.org/fhir/ValueSet/provenance-history-record-activity` -- `http://hl7.org/fhir/ValueSet/provider-qualification` -- `http://hl7.org/fhir/ValueSet/provider-taxonomy` -- `http://hl7.org/fhir/ValueSet/publication-status` -- `http://hl7.org/fhir/ValueSet/quality-type` -- `http://hl7.org/fhir/ValueSet/quantity-comparator` -- `http://hl7.org/fhir/ValueSet/question-max-occurs` -- `http://hl7.org/fhir/ValueSet/questionnaire-answers` -- `http://hl7.org/fhir/ValueSet/questionnaire-answers-status` -- `http://hl7.org/fhir/ValueSet/questionnaire-category` -- `http://hl7.org/fhir/ValueSet/questionnaire-display-category` -- `http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior` -- `http://hl7.org/fhir/ValueSet/questionnaire-enable-operator` -- `http://hl7.org/fhir/ValueSet/questionnaire-item-control` -- `http://hl7.org/fhir/ValueSet/questionnaire-questions` -- `http://hl7.org/fhir/ValueSet/questionnaire-usage-mode` -- `http://hl7.org/fhir/ValueSet/questionnaireresponse-mode` -- `http://hl7.org/fhir/ValueSet/reaction-event-certainty` -- `http://hl7.org/fhir/ValueSet/reaction-event-severity` -- `http://hl7.org/fhir/ValueSet/reason-medication-given-codes` -- `http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes` -- `http://hl7.org/fhir/ValueSet/reason-medication-status-codes` -- `http://hl7.org/fhir/ValueSet/recommendation-strength` -- `http://hl7.org/fhir/ValueSet/ref-sequences` -- `http://hl7.org/fhir/ValueSet/reference-handling-policy` -- `http://hl7.org/fhir/ValueSet/reference-version-rules` -- `http://hl7.org/fhir/ValueSet/referencerange-appliesto` -- `http://hl7.org/fhir/ValueSet/referencerange-meaning` -- `http://hl7.org/fhir/ValueSet/rejection-criteria` -- `http://hl7.org/fhir/ValueSet/related-artifact-type` -- `http://hl7.org/fhir/ValueSet/related-claim-relationship` -- `http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype` -- `http://hl7.org/fhir/ValueSet/relation-type` -- `http://hl7.org/fhir/ValueSet/relationship` -- `http://hl7.org/fhir/ValueSet/remittance-outcome` -- `http://hl7.org/fhir/ValueSet/report-action-result-codes` -- `http://hl7.org/fhir/ValueSet/report-codes` -- `http://hl7.org/fhir/ValueSet/report-participant-type` -- `http://hl7.org/fhir/ValueSet/report-result-codes` -- `http://hl7.org/fhir/ValueSet/report-status-codes` -- `http://hl7.org/fhir/ValueSet/repository-type` -- `http://hl7.org/fhir/ValueSet/request-intent` -- `http://hl7.org/fhir/ValueSet/request-priority` -- `http://hl7.org/fhir/ValueSet/request-resource-types` -- `http://hl7.org/fhir/ValueSet/request-status` -- `http://hl7.org/fhir/ValueSet/research-element-type` -- `http://hl7.org/fhir/ValueSet/research-study-objective-type` -- `http://hl7.org/fhir/ValueSet/research-study-phase` -- `http://hl7.org/fhir/ValueSet/research-study-prim-purp-type` -- `http://hl7.org/fhir/ValueSet/research-study-reason-stopped` -- `http://hl7.org/fhir/ValueSet/research-study-status` -- `http://hl7.org/fhir/ValueSet/research-subject-status` -- `http://hl7.org/fhir/ValueSet/resource-aggregation-mode` -- `http://hl7.org/fhir/ValueSet/resource-security-category` -- `http://hl7.org/fhir/ValueSet/resource-slicing-rules` -- `http://hl7.org/fhir/ValueSet/resource-status` -- `http://hl7.org/fhir/ValueSet/resource-type-link` -- `http://hl7.org/fhir/ValueSet/resource-types` -- `http://hl7.org/fhir/ValueSet/resource-validation-mode` -- `http://hl7.org/fhir/ValueSet/response-code` -- `http://hl7.org/fhir/ValueSet/restful-capability-mode` -- `http://hl7.org/fhir/ValueSet/restful-security-service` -- `http://hl7.org/fhir/ValueSet/risk-estimate-type` -- `http://hl7.org/fhir/ValueSet/risk-probability` -- `http://hl7.org/fhir/ValueSet/route-codes` -- `http://hl7.org/fhir/ValueSet/search-comparator` -- `http://hl7.org/fhir/ValueSet/search-entry-mode` -- `http://hl7.org/fhir/ValueSet/search-modifier-code` -- `http://hl7.org/fhir/ValueSet/search-param-type` -- `http://hl7.org/fhir/ValueSet/search-xpath-usage` -- `http://hl7.org/fhir/ValueSet/secondary-finding` -- `http://hl7.org/fhir/ValueSet/security-labels` -- `http://hl7.org/fhir/ValueSet/security-role-type` -- `http://hl7.org/fhir/ValueSet/sequence-quality-method` -- `http://hl7.org/fhir/ValueSet/sequence-quality-standardSequence` -- `http://hl7.org/fhir/ValueSet/sequence-referenceSeq` -- `http://hl7.org/fhir/ValueSet/sequence-species` -- `http://hl7.org/fhir/ValueSet/sequence-type` -- `http://hl7.org/fhir/ValueSet/sequenceontology` -- `http://hl7.org/fhir/ValueSet/series-performer-function` -- `http://hl7.org/fhir/ValueSet/service-category` -- `http://hl7.org/fhir/ValueSet/service-modifiers` -- `http://hl7.org/fhir/ValueSet/service-pharmacy` -- `http://hl7.org/fhir/ValueSet/service-place` -- `http://hl7.org/fhir/ValueSet/service-product` -- `http://hl7.org/fhir/ValueSet/service-provision-conditions` -- `http://hl7.org/fhir/ValueSet/service-referral-method` -- `http://hl7.org/fhir/ValueSet/service-type` -- `http://hl7.org/fhir/ValueSet/service-uscls` -- `http://hl7.org/fhir/ValueSet/servicerequest-category` -- `http://hl7.org/fhir/ValueSet/servicerequest-orderdetail` -- `http://hl7.org/fhir/ValueSet/sibling-relationship-codes` -- `http://hl7.org/fhir/ValueSet/signature-type` -- `http://hl7.org/fhir/ValueSet/slotstatus` -- `http://hl7.org/fhir/ValueSet/smart-capabilities` -- `http://hl7.org/fhir/ValueSet/sort-direction` -- `http://hl7.org/fhir/ValueSet/spdx-license` -- `http://hl7.org/fhir/ValueSet/special-values` -- `http://hl7.org/fhir/ValueSet/specimen-collection` -- `http://hl7.org/fhir/ValueSet/specimen-collection-method` -- `http://hl7.org/fhir/ValueSet/specimen-collection-priority` -- `http://hl7.org/fhir/ValueSet/specimen-contained-preference` -- `http://hl7.org/fhir/ValueSet/specimen-container-type` -- `http://hl7.org/fhir/ValueSet/specimen-processing-procedure` -- `http://hl7.org/fhir/ValueSet/specimen-status` -- `http://hl7.org/fhir/ValueSet/standards-status` -- `http://hl7.org/fhir/ValueSet/strand-type` -- `http://hl7.org/fhir/ValueSet/structure-definition-kind` -- `http://hl7.org/fhir/ValueSet/study-type` -- `http://hl7.org/fhir/ValueSet/subject-type` -- `http://hl7.org/fhir/ValueSet/subscriber-relationship` -- `http://hl7.org/fhir/ValueSet/subscription-channel-type` -- `http://hl7.org/fhir/ValueSet/subscription-status` -- `http://hl7.org/fhir/ValueSet/subscription-tag` -- `http://hl7.org/fhir/ValueSet/substance-category` -- `http://hl7.org/fhir/ValueSet/substance-code` -- `http://hl7.org/fhir/ValueSet/substance-status` -- `http://hl7.org/fhir/ValueSet/supplement-type` -- `http://hl7.org/fhir/ValueSet/supply-item` -- `http://hl7.org/fhir/ValueSet/supplydelivery-status` -- `http://hl7.org/fhir/ValueSet/supplydelivery-type` -- `http://hl7.org/fhir/ValueSet/supplyrequest-kind` -- `http://hl7.org/fhir/ValueSet/supplyrequest-reason` -- `http://hl7.org/fhir/ValueSet/supplyrequest-status` -- `http://hl7.org/fhir/ValueSet/surface` -- `http://hl7.org/fhir/ValueSet/synthesis-type` -- `http://hl7.org/fhir/ValueSet/system-restful-interaction` -- `http://hl7.org/fhir/ValueSet/task-code` -- `http://hl7.org/fhir/ValueSet/task-intent` -- `http://hl7.org/fhir/ValueSet/task-status` -- `http://hl7.org/fhir/ValueSet/teeth` -- `http://hl7.org/fhir/ValueSet/template-status-code` -- `http://hl7.org/fhir/ValueSet/testscript-operation-codes` -- `http://hl7.org/fhir/ValueSet/testscript-profile-destination-types` -- `http://hl7.org/fhir/ValueSet/testscript-profile-origin-types` -- `http://hl7.org/fhir/ValueSet/texture-code` -- `http://hl7.org/fhir/ValueSet/timezones` -- `http://hl7.org/fhir/ValueSet/timing-abbreviation` -- `http://hl7.org/fhir/ValueSet/tooth` -- `http://hl7.org/fhir/ValueSet/transaction-mode` -- `http://hl7.org/fhir/ValueSet/trigger-type` -- `http://hl7.org/fhir/ValueSet/type-derivation-rule` -- `http://hl7.org/fhir/ValueSet/type-restful-interaction` -- `http://hl7.org/fhir/ValueSet/ucum-bodylength` -- `http://hl7.org/fhir/ValueSet/ucum-bodytemp` -- `http://hl7.org/fhir/ValueSet/ucum-bodyweight` -- `http://hl7.org/fhir/ValueSet/ucum-common` -- `http://hl7.org/fhir/ValueSet/ucum-units` -- `http://hl7.org/fhir/ValueSet/ucum-vitals-common` -- `http://hl7.org/fhir/ValueSet/udi` -- `http://hl7.org/fhir/ValueSet/udi-entry-type` -- `http://hl7.org/fhir/ValueSet/units-of-time` -- `http://hl7.org/fhir/ValueSet/unknown-content-code` -- `http://hl7.org/fhir/ValueSet/usage-context-type` -- `http://hl7.org/fhir/ValueSet/use-context` -- `http://hl7.org/fhir/ValueSet/vaccine-code` -- `http://hl7.org/fhir/ValueSet/variable-type` -- `http://hl7.org/fhir/ValueSet/variant-state` -- `http://hl7.org/fhir/ValueSet/variants` -- `http://hl7.org/fhir/ValueSet/verificationresult-can-push-updates` -- `http://hl7.org/fhir/ValueSet/verificationresult-communication-method` -- `http://hl7.org/fhir/ValueSet/verificationresult-failure-action` -- `http://hl7.org/fhir/ValueSet/verificationresult-need` -- `http://hl7.org/fhir/ValueSet/verificationresult-primary-source-type` -- `http://hl7.org/fhir/ValueSet/verificationresult-push-type-available` -- `http://hl7.org/fhir/ValueSet/verificationresult-status` -- `http://hl7.org/fhir/ValueSet/verificationresult-validation-process` -- `http://hl7.org/fhir/ValueSet/verificationresult-validation-status` -- `http://hl7.org/fhir/ValueSet/verificationresult-validation-type` -- `http://hl7.org/fhir/ValueSet/versioning-policy` -- `http://hl7.org/fhir/ValueSet/vision-base-codes` -- `http://hl7.org/fhir/ValueSet/vision-eye-codes` -- `http://hl7.org/fhir/ValueSet/vision-product` -- `http://hl7.org/fhir/ValueSet/written-language` -- `http://hl7.org/fhir/ValueSet/yesnodontknow` -- `http://terminology.hl7.org/ValueSet/v2-0001` -- `http://terminology.hl7.org/ValueSet/v2-0002` -- `http://terminology.hl7.org/ValueSet/v2-0003` -- `http://terminology.hl7.org/ValueSet/v2-0004` -- `http://terminology.hl7.org/ValueSet/v2-0005` -- `http://terminology.hl7.org/ValueSet/v2-0007` -- `http://terminology.hl7.org/ValueSet/v2-0008` -- `http://terminology.hl7.org/ValueSet/v2-0009` -- `http://terminology.hl7.org/ValueSet/v2-0012` -- `http://terminology.hl7.org/ValueSet/v2-0017` -- `http://terminology.hl7.org/ValueSet/v2-0023` -- `http://terminology.hl7.org/ValueSet/v2-0027` -- `http://terminology.hl7.org/ValueSet/v2-0033` -- `http://terminology.hl7.org/ValueSet/v2-0034` -- `http://terminology.hl7.org/ValueSet/v2-0038` -- `http://terminology.hl7.org/ValueSet/v2-0043` -- `http://terminology.hl7.org/ValueSet/v2-0048` -- `http://terminology.hl7.org/ValueSet/v2-0052` -- `http://terminology.hl7.org/ValueSet/v2-0061` -- `http://terminology.hl7.org/ValueSet/v2-0062` -- `http://terminology.hl7.org/ValueSet/v2-0063` -- `http://terminology.hl7.org/ValueSet/v2-0065` -- `http://terminology.hl7.org/ValueSet/v2-0066` -- `http://terminology.hl7.org/ValueSet/v2-0069` -- `http://terminology.hl7.org/ValueSet/v2-0070` -- `http://terminology.hl7.org/ValueSet/v2-0074` -- `http://terminology.hl7.org/ValueSet/v2-0076` -- `http://terminology.hl7.org/ValueSet/v2-0078` -- `http://terminology.hl7.org/ValueSet/v2-0080` -- `http://terminology.hl7.org/ValueSet/v2-0083` -- `http://terminology.hl7.org/ValueSet/v2-0085` -- `http://terminology.hl7.org/ValueSet/v2-0091` -- `http://terminology.hl7.org/ValueSet/v2-0092` -- `http://terminology.hl7.org/ValueSet/v2-0098` -- `http://terminology.hl7.org/ValueSet/v2-0100` -- `http://terminology.hl7.org/ValueSet/v2-0102` -- `http://terminology.hl7.org/ValueSet/v2-0103` -- `http://terminology.hl7.org/ValueSet/v2-0104` -- `http://terminology.hl7.org/ValueSet/v2-0105` -- `http://terminology.hl7.org/ValueSet/v2-0106` -- `http://terminology.hl7.org/ValueSet/v2-0107` -- `http://terminology.hl7.org/ValueSet/v2-0108` -- `http://terminology.hl7.org/ValueSet/v2-0109` -- `http://terminology.hl7.org/ValueSet/v2-0116` -- `http://terminology.hl7.org/ValueSet/v2-0119` -- `http://terminology.hl7.org/ValueSet/v2-0121` -- `http://terminology.hl7.org/ValueSet/v2-0122` -- `http://terminology.hl7.org/ValueSet/v2-0123` -- `http://terminology.hl7.org/ValueSet/v2-0124` -- `http://terminology.hl7.org/ValueSet/v2-0125` -- `http://terminology.hl7.org/ValueSet/v2-0126` -- `http://terminology.hl7.org/ValueSet/v2-0127` -- `http://terminology.hl7.org/ValueSet/v2-0128` -- `http://terminology.hl7.org/ValueSet/v2-0130` -- `http://terminology.hl7.org/ValueSet/v2-0131` -- `http://terminology.hl7.org/ValueSet/v2-0133` -- `http://terminology.hl7.org/ValueSet/v2-0135` -- `http://terminology.hl7.org/ValueSet/v2-0136` -- `http://terminology.hl7.org/ValueSet/v2-0137` -- `http://terminology.hl7.org/ValueSet/v2-0140` -- `http://terminology.hl7.org/ValueSet/v2-0141` -- `http://terminology.hl7.org/ValueSet/v2-0142` -- `http://terminology.hl7.org/ValueSet/v2-0144` -- `http://terminology.hl7.org/ValueSet/v2-0145` -- `http://terminology.hl7.org/ValueSet/v2-0146` -- `http://terminology.hl7.org/ValueSet/v2-0147` -- `http://terminology.hl7.org/ValueSet/v2-0148` -- `http://terminology.hl7.org/ValueSet/v2-0149` -- `http://terminology.hl7.org/ValueSet/v2-0150` -- `http://terminology.hl7.org/ValueSet/v2-0153` -- `http://terminology.hl7.org/ValueSet/v2-0155` -- `http://terminology.hl7.org/ValueSet/v2-0156` -- `http://terminology.hl7.org/ValueSet/v2-0157` -- `http://terminology.hl7.org/ValueSet/v2-0158` -- `http://terminology.hl7.org/ValueSet/v2-0159` -- `http://terminology.hl7.org/ValueSet/v2-0160` -- `http://terminology.hl7.org/ValueSet/v2-0161` -- `http://terminology.hl7.org/ValueSet/v2-0162` -- `http://terminology.hl7.org/ValueSet/v2-0163` -- `http://terminology.hl7.org/ValueSet/v2-0164` -- `http://terminology.hl7.org/ValueSet/v2-0165` -- `http://terminology.hl7.org/ValueSet/v2-0166` -- `http://terminology.hl7.org/ValueSet/v2-0167` -- `http://terminology.hl7.org/ValueSet/v2-0168` -- `http://terminology.hl7.org/ValueSet/v2-0169` -- `http://terminology.hl7.org/ValueSet/v2-0170` -- `http://terminology.hl7.org/ValueSet/v2-0173` -- `http://terminology.hl7.org/ValueSet/v2-0174` -- `http://terminology.hl7.org/ValueSet/v2-0175` -- `http://terminology.hl7.org/ValueSet/v2-0177` -- `http://terminology.hl7.org/ValueSet/v2-0178` -- `http://terminology.hl7.org/ValueSet/v2-0179` -- `http://terminology.hl7.org/ValueSet/v2-0180` -- `http://terminology.hl7.org/ValueSet/v2-0181` -- `http://terminology.hl7.org/ValueSet/v2-0183` -- `http://terminology.hl7.org/ValueSet/v2-0185` -- `http://terminology.hl7.org/ValueSet/v2-0187` -- `http://terminology.hl7.org/ValueSet/v2-0189` -- `http://terminology.hl7.org/ValueSet/v2-0190` -- `http://terminology.hl7.org/ValueSet/v2-0191` -- `http://terminology.hl7.org/ValueSet/v2-0193` -- `http://terminology.hl7.org/ValueSet/v2-0200` -- `http://terminology.hl7.org/ValueSet/v2-0201` -- `http://terminology.hl7.org/ValueSet/v2-0202` -- `http://terminology.hl7.org/ValueSet/v2-0203` -- `http://terminology.hl7.org/ValueSet/v2-0204` -- `http://terminology.hl7.org/ValueSet/v2-0205` -- `http://terminology.hl7.org/ValueSet/v2-0206` -- `http://terminology.hl7.org/ValueSet/v2-0207` -- `http://terminology.hl7.org/ValueSet/v2-0208` -- `http://terminology.hl7.org/ValueSet/v2-0209` -- `http://terminology.hl7.org/ValueSet/v2-0210` -- `http://terminology.hl7.org/ValueSet/v2-0211` -- `http://terminology.hl7.org/ValueSet/v2-0213` -- `http://terminology.hl7.org/ValueSet/v2-0214` -- `http://terminology.hl7.org/ValueSet/v2-0215` -- `http://terminology.hl7.org/ValueSet/v2-0216` -- `http://terminology.hl7.org/ValueSet/v2-0217` -- `http://terminology.hl7.org/ValueSet/v2-0220` -- `http://terminology.hl7.org/ValueSet/v2-0223` -- `http://terminology.hl7.org/ValueSet/v2-0224` -- `http://terminology.hl7.org/ValueSet/v2-0225` -- `http://terminology.hl7.org/ValueSet/v2-0227` -- `http://terminology.hl7.org/ValueSet/v2-0228` -- `http://terminology.hl7.org/ValueSet/v2-0229` -- `http://terminology.hl7.org/ValueSet/v2-0230` -- `http://terminology.hl7.org/ValueSet/v2-0231` -- `http://terminology.hl7.org/ValueSet/v2-0232` -- `http://terminology.hl7.org/ValueSet/v2-0234` -- `http://terminology.hl7.org/ValueSet/v2-0235` -- `http://terminology.hl7.org/ValueSet/v2-0236` -- `http://terminology.hl7.org/ValueSet/v2-0237` -- `http://terminology.hl7.org/ValueSet/v2-0238` -- `http://terminology.hl7.org/ValueSet/v2-0239` -- `http://terminology.hl7.org/ValueSet/v2-0240` -- `http://terminology.hl7.org/ValueSet/v2-0241` -- `http://terminology.hl7.org/ValueSet/v2-0242` -- `http://terminology.hl7.org/ValueSet/v2-0243` -- `http://terminology.hl7.org/ValueSet/v2-0247` -- `http://terminology.hl7.org/ValueSet/v2-0248` -- `http://terminology.hl7.org/ValueSet/v2-0250` -- `http://terminology.hl7.org/ValueSet/v2-0251` -- `http://terminology.hl7.org/ValueSet/v2-0252` -- `http://terminology.hl7.org/ValueSet/v2-0253` -- `http://terminology.hl7.org/ValueSet/v2-0254` -- `http://terminology.hl7.org/ValueSet/v2-0255` -- `http://terminology.hl7.org/ValueSet/v2-0256` -- `http://terminology.hl7.org/ValueSet/v2-0257` -- `http://terminology.hl7.org/ValueSet/v2-0258` -- `http://terminology.hl7.org/ValueSet/v2-0259` -- `http://terminology.hl7.org/ValueSet/v2-0260` -- `http://terminology.hl7.org/ValueSet/v2-0261` -- `http://terminology.hl7.org/ValueSet/v2-0262` -- `http://terminology.hl7.org/ValueSet/v2-0263` -- `http://terminology.hl7.org/ValueSet/v2-0265` -- `http://terminology.hl7.org/ValueSet/v2-0267` -- `http://terminology.hl7.org/ValueSet/v2-0268` -- `http://terminology.hl7.org/ValueSet/v2-0269` -- `http://terminology.hl7.org/ValueSet/v2-0270` -- `http://terminology.hl7.org/ValueSet/v2-0271` -- `http://terminology.hl7.org/ValueSet/v2-0272` -- `http://terminology.hl7.org/ValueSet/v2-0273` -- `http://terminology.hl7.org/ValueSet/v2-0275` -- `http://terminology.hl7.org/ValueSet/v2-0276` -- `http://terminology.hl7.org/ValueSet/v2-0277` -- `http://terminology.hl7.org/ValueSet/v2-0278` -- `http://terminology.hl7.org/ValueSet/v2-0279` -- `http://terminology.hl7.org/ValueSet/v2-0280` -- `http://terminology.hl7.org/ValueSet/v2-0281` -- `http://terminology.hl7.org/ValueSet/v2-0282` -- `http://terminology.hl7.org/ValueSet/v2-0283` -- `http://terminology.hl7.org/ValueSet/v2-0284` -- `http://terminology.hl7.org/ValueSet/v2-0286` -- `http://terminology.hl7.org/ValueSet/v2-0287` -- `http://terminology.hl7.org/ValueSet/v2-0290` -- `http://terminology.hl7.org/ValueSet/v2-0291` -- `http://terminology.hl7.org/ValueSet/v2-0292` -- `http://terminology.hl7.org/ValueSet/v2-0294` -- `http://terminology.hl7.org/ValueSet/v2-0298` -- `http://terminology.hl7.org/ValueSet/v2-0299` -- `http://terminology.hl7.org/ValueSet/v2-0301` -- `http://terminology.hl7.org/ValueSet/v2-0305` -- `http://terminology.hl7.org/ValueSet/v2-0309` -- `http://terminology.hl7.org/ValueSet/v2-0311` -- `http://terminology.hl7.org/ValueSet/v2-0315` -- `http://terminology.hl7.org/ValueSet/v2-0316` -- `http://terminology.hl7.org/ValueSet/v2-0317` -- `http://terminology.hl7.org/ValueSet/v2-0321` -- `http://terminology.hl7.org/ValueSet/v2-0322` -- `http://terminology.hl7.org/ValueSet/v2-0323` -- `http://terminology.hl7.org/ValueSet/v2-0324` -- `http://terminology.hl7.org/ValueSet/v2-0325` -- `http://terminology.hl7.org/ValueSet/v2-0326` -- `http://terminology.hl7.org/ValueSet/v2-0329` -- `http://terminology.hl7.org/ValueSet/v2-0330` -- `http://terminology.hl7.org/ValueSet/v2-0331` -- `http://terminology.hl7.org/ValueSet/v2-0332` -- `http://terminology.hl7.org/ValueSet/v2-0334` -- `http://terminology.hl7.org/ValueSet/v2-0335` -- `http://terminology.hl7.org/ValueSet/v2-0336` -- `http://terminology.hl7.org/ValueSet/v2-0337` -- `http://terminology.hl7.org/ValueSet/v2-0338` -- `http://terminology.hl7.org/ValueSet/v2-0339` -- `http://terminology.hl7.org/ValueSet/v2-0344` -- `http://terminology.hl7.org/ValueSet/v2-0350` -- `http://terminology.hl7.org/ValueSet/v2-0351` -- `http://terminology.hl7.org/ValueSet/v2-0353` -- `http://terminology.hl7.org/ValueSet/v2-0354` -- `http://terminology.hl7.org/ValueSet/v2-0355` -- `http://terminology.hl7.org/ValueSet/v2-0356` -- `http://terminology.hl7.org/ValueSet/v2-0357` -- `http://terminology.hl7.org/ValueSet/v2-0359` -- `http://terminology.hl7.org/ValueSet/v2-0363` -- `http://terminology.hl7.org/ValueSet/v2-0364` -- `http://terminology.hl7.org/ValueSet/v2-0365` -- `http://terminology.hl7.org/ValueSet/v2-0366` -- `http://terminology.hl7.org/ValueSet/v2-0367` -- `http://terminology.hl7.org/ValueSet/v2-0368` -- `http://terminology.hl7.org/ValueSet/v2-0369` -- `http://terminology.hl7.org/ValueSet/v2-0370` -- `http://terminology.hl7.org/ValueSet/v2-0371` -- `http://terminology.hl7.org/ValueSet/v2-0372` -- `http://terminology.hl7.org/ValueSet/v2-0373` -- `http://terminology.hl7.org/ValueSet/v2-0374` -- `http://terminology.hl7.org/ValueSet/v2-0375` -- `http://terminology.hl7.org/ValueSet/v2-0376` -- `http://terminology.hl7.org/ValueSet/v2-0377` -- `http://terminology.hl7.org/ValueSet/v2-0383` -- `http://terminology.hl7.org/ValueSet/v2-0384` -- `http://terminology.hl7.org/ValueSet/v2-0387` -- `http://terminology.hl7.org/ValueSet/v2-0388` -- `http://terminology.hl7.org/ValueSet/v2-0389` -- `http://terminology.hl7.org/ValueSet/v2-0392` -- `http://terminology.hl7.org/ValueSet/v2-0393` -- `http://terminology.hl7.org/ValueSet/v2-0394` -- `http://terminology.hl7.org/ValueSet/v2-0395` -- `http://terminology.hl7.org/ValueSet/v2-0396` -- `http://terminology.hl7.org/ValueSet/v2-0397` -- `http://terminology.hl7.org/ValueSet/v2-0398` -- `http://terminology.hl7.org/ValueSet/v2-0401` -- `http://terminology.hl7.org/ValueSet/v2-0402` -- `http://terminology.hl7.org/ValueSet/v2-0403` -- `http://terminology.hl7.org/ValueSet/v2-0404` -- `http://terminology.hl7.org/ValueSet/v2-0406` -- `http://terminology.hl7.org/ValueSet/v2-0409` -- `http://terminology.hl7.org/ValueSet/v2-0411` -- `http://terminology.hl7.org/ValueSet/v2-0415` -- `http://terminology.hl7.org/ValueSet/v2-0416` -- `http://terminology.hl7.org/ValueSet/v2-0417` -- `http://terminology.hl7.org/ValueSet/v2-0418` -- `http://terminology.hl7.org/ValueSet/v2-0421` -- `http://terminology.hl7.org/ValueSet/v2-0422` -- `http://terminology.hl7.org/ValueSet/v2-0423` -- `http://terminology.hl7.org/ValueSet/v2-0424` -- `http://terminology.hl7.org/ValueSet/v2-0425` -- `http://terminology.hl7.org/ValueSet/v2-0426` -- `http://terminology.hl7.org/ValueSet/v2-0427` -- `http://terminology.hl7.org/ValueSet/v2-0428` -- `http://terminology.hl7.org/ValueSet/v2-0429` -- `http://terminology.hl7.org/ValueSet/v2-0430` -- `http://terminology.hl7.org/ValueSet/v2-0431` -- `http://terminology.hl7.org/ValueSet/v2-0432` -- `http://terminology.hl7.org/ValueSet/v2-0433` -- `http://terminology.hl7.org/ValueSet/v2-0434` -- `http://terminology.hl7.org/ValueSet/v2-0435` -- `http://terminology.hl7.org/ValueSet/v2-0436` -- `http://terminology.hl7.org/ValueSet/v2-0437` -- `http://terminology.hl7.org/ValueSet/v2-0438` -- `http://terminology.hl7.org/ValueSet/v2-0440` -- `http://terminology.hl7.org/ValueSet/v2-0441` -- `http://terminology.hl7.org/ValueSet/v2-0442` -- `http://terminology.hl7.org/ValueSet/v2-0443` -- `http://terminology.hl7.org/ValueSet/v2-0444` -- `http://terminology.hl7.org/ValueSet/v2-0445` -- `http://terminology.hl7.org/ValueSet/v2-0450` -- `http://terminology.hl7.org/ValueSet/v2-0455` -- `http://terminology.hl7.org/ValueSet/v2-0456` -- `http://terminology.hl7.org/ValueSet/v2-0457` -- `http://terminology.hl7.org/ValueSet/v2-0459` -- `http://terminology.hl7.org/ValueSet/v2-0460` -- `http://terminology.hl7.org/ValueSet/v2-0465` -- `http://terminology.hl7.org/ValueSet/v2-0466` -- `http://terminology.hl7.org/ValueSet/v2-0468` -- `http://terminology.hl7.org/ValueSet/v2-0469` -- `http://terminology.hl7.org/ValueSet/v2-0470` -- `http://terminology.hl7.org/ValueSet/v2-0472` -- `http://terminology.hl7.org/ValueSet/v2-0473` -- `http://terminology.hl7.org/ValueSet/v2-0474` -- `http://terminology.hl7.org/ValueSet/v2-0475` -- `http://terminology.hl7.org/ValueSet/v2-0477` -- `http://terminology.hl7.org/ValueSet/v2-0478` -- `http://terminology.hl7.org/ValueSet/v2-0480` -- `http://terminology.hl7.org/ValueSet/v2-0482` -- `http://terminology.hl7.org/ValueSet/v2-0483` -- `http://terminology.hl7.org/ValueSet/v2-0484` -- `http://terminology.hl7.org/ValueSet/v2-0485` -- `http://terminology.hl7.org/ValueSet/v2-0487` -- `http://terminology.hl7.org/ValueSet/v2-0488` -- `http://terminology.hl7.org/ValueSet/v2-0489` -- `http://terminology.hl7.org/ValueSet/v2-0490` -- `http://terminology.hl7.org/ValueSet/v2-0491` -- `http://terminology.hl7.org/ValueSet/v2-0492` -- `http://terminology.hl7.org/ValueSet/v2-0493` -- `http://terminology.hl7.org/ValueSet/v2-0494` -- `http://terminology.hl7.org/ValueSet/v2-0495` -- `http://terminology.hl7.org/ValueSet/v2-0496` -- `http://terminology.hl7.org/ValueSet/v2-0497` -- `http://terminology.hl7.org/ValueSet/v2-0498` -- `http://terminology.hl7.org/ValueSet/v2-0499` -- `http://terminology.hl7.org/ValueSet/v2-0500` -- `http://terminology.hl7.org/ValueSet/v2-0501` -- `http://terminology.hl7.org/ValueSet/v2-0502` -- `http://terminology.hl7.org/ValueSet/v2-0503` -- `http://terminology.hl7.org/ValueSet/v2-0504` -- `http://terminology.hl7.org/ValueSet/v2-0505` -- `http://terminology.hl7.org/ValueSet/v2-0506` -- `http://terminology.hl7.org/ValueSet/v2-0507` -- `http://terminology.hl7.org/ValueSet/v2-0508` -- `http://terminology.hl7.org/ValueSet/v2-0510` -- `http://terminology.hl7.org/ValueSet/v2-0511` -- `http://terminology.hl7.org/ValueSet/v2-0513` -- `http://terminology.hl7.org/ValueSet/v2-0514` -- `http://terminology.hl7.org/ValueSet/v2-0516` -- `http://terminology.hl7.org/ValueSet/v2-0517` -- `http://terminology.hl7.org/ValueSet/v2-0518` -- `http://terminology.hl7.org/ValueSet/v2-0520` -- `http://terminology.hl7.org/ValueSet/v2-0523` -- `http://terminology.hl7.org/ValueSet/v2-0524` -- `http://terminology.hl7.org/ValueSet/v2-0527` -- `http://terminology.hl7.org/ValueSet/v2-0528` -- `http://terminology.hl7.org/ValueSet/v2-0529` -- `http://terminology.hl7.org/ValueSet/v2-0530` -- `http://terminology.hl7.org/ValueSet/v2-0532` -- `http://terminology.hl7.org/ValueSet/v2-0534` -- `http://terminology.hl7.org/ValueSet/v2-0535` -- `http://terminology.hl7.org/ValueSet/v2-0536` -- `http://terminology.hl7.org/ValueSet/v2-0538` -- `http://terminology.hl7.org/ValueSet/v2-0540` -- `http://terminology.hl7.org/ValueSet/v2-0544` -- `http://terminology.hl7.org/ValueSet/v2-0547` -- `http://terminology.hl7.org/ValueSet/v2-0548` -- `http://terminology.hl7.org/ValueSet/v2-0550` -- `http://terminology.hl7.org/ValueSet/v2-0553` -- `http://terminology.hl7.org/ValueSet/v2-0554` -- `http://terminology.hl7.org/ValueSet/v2-0555` -- `http://terminology.hl7.org/ValueSet/v2-0556` -- `http://terminology.hl7.org/ValueSet/v2-0557` -- `http://terminology.hl7.org/ValueSet/v2-0558` -- `http://terminology.hl7.org/ValueSet/v2-0559` -- `http://terminology.hl7.org/ValueSet/v2-0561` -- `http://terminology.hl7.org/ValueSet/v2-0562` -- `http://terminology.hl7.org/ValueSet/v2-0564` -- `http://terminology.hl7.org/ValueSet/v2-0565` -- `http://terminology.hl7.org/ValueSet/v2-0566` -- `http://terminology.hl7.org/ValueSet/v2-0569` -- `http://terminology.hl7.org/ValueSet/v2-0570` -- `http://terminology.hl7.org/ValueSet/v2-0571` -- `http://terminology.hl7.org/ValueSet/v2-0572` -- `http://terminology.hl7.org/ValueSet/v2-0615` -- `http://terminology.hl7.org/ValueSet/v2-0616` -- `http://terminology.hl7.org/ValueSet/v2-0617` -- `http://terminology.hl7.org/ValueSet/v2-0618` -- `http://terminology.hl7.org/ValueSet/v2-0625` -- `http://terminology.hl7.org/ValueSet/v2-0634` -- `http://terminology.hl7.org/ValueSet/v2-0642` -- `http://terminology.hl7.org/ValueSet/v2-0651` -- `http://terminology.hl7.org/ValueSet/v2-0653` -- `http://terminology.hl7.org/ValueSet/v2-0657` -- `http://terminology.hl7.org/ValueSet/v2-0659` -- `http://terminology.hl7.org/ValueSet/v2-0667` -- `http://terminology.hl7.org/ValueSet/v2-0669` -- `http://terminology.hl7.org/ValueSet/v2-0682` -- `http://terminology.hl7.org/ValueSet/v2-0702` -- `http://terminology.hl7.org/ValueSet/v2-0717` -- `http://terminology.hl7.org/ValueSet/v2-0719` -- `http://terminology.hl7.org/ValueSet/v2-0725` -- `http://terminology.hl7.org/ValueSet/v2-0728` -- `http://terminology.hl7.org/ValueSet/v2-0731` -- `http://terminology.hl7.org/ValueSet/v2-0734` -- `http://terminology.hl7.org/ValueSet/v2-0739` -- `http://terminology.hl7.org/ValueSet/v2-0742` -- `http://terminology.hl7.org/ValueSet/v2-0749` -- `http://terminology.hl7.org/ValueSet/v2-0755` -- `http://terminology.hl7.org/ValueSet/v2-0757` -- `http://terminology.hl7.org/ValueSet/v2-0759` -- `http://terminology.hl7.org/ValueSet/v2-0761` -- `http://terminology.hl7.org/ValueSet/v2-0763` -- `http://terminology.hl7.org/ValueSet/v2-0776` -- `http://terminology.hl7.org/ValueSet/v2-0778` -- `http://terminology.hl7.org/ValueSet/v2-0790` -- `http://terminology.hl7.org/ValueSet/v2-0793` -- `http://terminology.hl7.org/ValueSet/v2-0806` -- `http://terminology.hl7.org/ValueSet/v2-0818` -- `http://terminology.hl7.org/ValueSet/v2-0834` -- `http://terminology.hl7.org/ValueSet/v2-0868` -- `http://terminology.hl7.org/ValueSet/v2-0871` -- `http://terminology.hl7.org/ValueSet/v2-0881` -- `http://terminology.hl7.org/ValueSet/v2-0882` -- `http://terminology.hl7.org/ValueSet/v2-0894` -- `http://terminology.hl7.org/ValueSet/v2-0895` -- `http://terminology.hl7.org/ValueSet/v2-0904` -- `http://terminology.hl7.org/ValueSet/v2-0905` -- `http://terminology.hl7.org/ValueSet/v2-0906` -- `http://terminology.hl7.org/ValueSet/v2-0907` -- `http://terminology.hl7.org/ValueSet/v2-0909` -- `http://terminology.hl7.org/ValueSet/v2-0912` -- `http://terminology.hl7.org/ValueSet/v2-0914` -- `http://terminology.hl7.org/ValueSet/v2-0916` -- `http://terminology.hl7.org/ValueSet/v2-0917` -- `http://terminology.hl7.org/ValueSet/v2-0918` -- `http://terminology.hl7.org/ValueSet/v2-0919` -- `http://terminology.hl7.org/ValueSet/v2-0920` -- `http://terminology.hl7.org/ValueSet/v2-0921` -- `http://terminology.hl7.org/ValueSet/v2-0922` -- `http://terminology.hl7.org/ValueSet/v2-0923` -- `http://terminology.hl7.org/ValueSet/v2-0924` -- `http://terminology.hl7.org/ValueSet/v2-0925` -- `http://terminology.hl7.org/ValueSet/v2-0926` -- `http://terminology.hl7.org/ValueSet/v2-0927` -- `http://terminology.hl7.org/ValueSet/v2-0933` -- `http://terminology.hl7.org/ValueSet/v2-0935` -- `http://terminology.hl7.org/ValueSet/v2-2.1-0006` -- `http://terminology.hl7.org/ValueSet/v2-2.3.1-0360` -- `http://terminology.hl7.org/ValueSet/v2-2.4-0006` -- `http://terminology.hl7.org/ValueSet/v2-2.4-0391` -- `http://terminology.hl7.org/ValueSet/v2-2.6-0391` -- `http://terminology.hl7.org/ValueSet/v2-2.7-0360` -- `http://terminology.hl7.org/ValueSet/v2-4000` -- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementCondition` -- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementDetailCode` -- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementDetailType` -- `http://terminology.hl7.org/ValueSet/v3-AcknowledgementType` -- `http://terminology.hl7.org/ValueSet/v3-ActClass` -- `http://terminology.hl7.org/ValueSet/v3-ActClassClinicalDocument` -- `http://terminology.hl7.org/ValueSet/v3-ActClassDocument` -- `http://terminology.hl7.org/ValueSet/v3-ActClassInvestigation` -- `http://terminology.hl7.org/ValueSet/v3-ActClassObservation` -- `http://terminology.hl7.org/ValueSet/v3-ActClassProcedure` -- `http://terminology.hl7.org/ValueSet/v3-ActClassROI` -- `http://terminology.hl7.org/ValueSet/v3-ActClassSupply` -- `http://terminology.hl7.org/ValueSet/v3-ActCode` -- `http://terminology.hl7.org/ValueSet/v3-ActConsentDirective` -- `http://terminology.hl7.org/ValueSet/v3-ActConsentType` -- `http://terminology.hl7.org/ValueSet/v3-ActCoverageTypeCode` -- `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode` -- `http://terminology.hl7.org/ValueSet/v3-ActExposureLevelCode` -- `http://terminology.hl7.org/ValueSet/v3-ActIncidentCode` -- `http://terminology.hl7.org/ValueSet/v3-ActInvoiceElementModifier` -- `http://terminology.hl7.org/ValueSet/v3-ActInvoiceGroupCode` -- `http://terminology.hl7.org/ValueSet/v3-ActMood` -- `http://terminology.hl7.org/ValueSet/v3-ActMoodIntent` -- `http://terminology.hl7.org/ValueSet/v3-ActMoodPredicate` -- `http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType` -- `http://terminology.hl7.org/ValueSet/v3-ActPriority` -- `http://terminology.hl7.org/ValueSet/v3-ActReason` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipCheckpoint` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipConditional` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipFulfills` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipHasComponent` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipJoin` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipPertains` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipSplit` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipSubset` -- `http://terminology.hl7.org/ValueSet/v3-ActRelationshipType` -- `http://terminology.hl7.org/ValueSet/v3-ActSite` -- `http://terminology.hl7.org/ValueSet/v3-ActStatus` -- `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode` -- `http://terminology.hl7.org/ValueSet/v3-ActTaskCode` -- `http://terminology.hl7.org/ValueSet/v3-ActUSPrivacyLaw` -- `http://terminology.hl7.org/ValueSet/v3-ActUncertainty` -- `http://terminology.hl7.org/ValueSet/v3-AddressPartType` -- `http://terminology.hl7.org/ValueSet/v3-AddressUse` -- `http://terminology.hl7.org/ValueSet/v3-AdministrativeGender` -- `http://terminology.hl7.org/ValueSet/v3-AmericanIndianAlaskaNativeLanguages` -- `http://terminology.hl7.org/ValueSet/v3-Calendar` -- `http://terminology.hl7.org/ValueSet/v3-CalendarCycle` -- `http://terminology.hl7.org/ValueSet/v3-CalendarType` -- `http://terminology.hl7.org/ValueSet/v3-Charset` -- `http://terminology.hl7.org/ValueSet/v3-CodingRationale` -- `http://terminology.hl7.org/ValueSet/v3-CommunicationFunctionType` -- `http://terminology.hl7.org/ValueSet/v3-Compartment` -- `http://terminology.hl7.org/ValueSet/v3-CompressionAlgorithm` -- `http://terminology.hl7.org/ValueSet/v3-Confidentiality` -- `http://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification` -- `http://terminology.hl7.org/ValueSet/v3-ContainerCap` -- `http://terminology.hl7.org/ValueSet/v3-ContainerSeparator` -- `http://terminology.hl7.org/ValueSet/v3-ContentProcessingMode` -- `http://terminology.hl7.org/ValueSet/v3-ContextControl` -- `http://terminology.hl7.org/ValueSet/v3-DataOperation` -- `http://terminology.hl7.org/ValueSet/v3-Dentition` -- `http://terminology.hl7.org/ValueSet/v3-DeviceAlertLevel` -- `http://terminology.hl7.org/ValueSet/v3-DocumentCompletion` -- `http://terminology.hl7.org/ValueSet/v3-DocumentSectionType` -- `http://terminology.hl7.org/ValueSet/v3-DocumentStorage` -- `http://terminology.hl7.org/ValueSet/v3-EducationLevel` -- `http://terminology.hl7.org/ValueSet/v3-EmployeeJobClass` -- `http://terminology.hl7.org/ValueSet/v3-EncounterAdmissionSource` -- `http://terminology.hl7.org/ValueSet/v3-EncounterSpecialCourtesy` -- `http://terminology.hl7.org/ValueSet/v3-EntityClass` -- `http://terminology.hl7.org/ValueSet/v3-EntityClassDevice` -- `http://terminology.hl7.org/ValueSet/v3-EntityClassLivingSubject` -- `http://terminology.hl7.org/ValueSet/v3-EntityClassManufacturedMaterial` -- `http://terminology.hl7.org/ValueSet/v3-EntityClassOrganization` -- `http://terminology.hl7.org/ValueSet/v3-EntityClassPlace` -- `http://terminology.hl7.org/ValueSet/v3-EntityClassRoot` -- `http://terminology.hl7.org/ValueSet/v3-EntityCode` -- `http://terminology.hl7.org/ValueSet/v3-EntityDeterminer` -- `http://terminology.hl7.org/ValueSet/v3-EntityDeterminerDetermined` -- `http://terminology.hl7.org/ValueSet/v3-EntityHandling` -- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartQualifier` -- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartQualifierR2` -- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartType` -- `http://terminology.hl7.org/ValueSet/v3-EntityNamePartTypeR2` -- `http://terminology.hl7.org/ValueSet/v3-EntityNameUse` -- `http://terminology.hl7.org/ValueSet/v3-EntityNameUseR2` -- `http://terminology.hl7.org/ValueSet/v3-EntityRisk` -- `http://terminology.hl7.org/ValueSet/v3-EntityStatus` -- `http://terminology.hl7.org/ValueSet/v3-EquipmentAlertLevel` -- `http://terminology.hl7.org/ValueSet/v3-Ethnicity` -- `http://terminology.hl7.org/ValueSet/v3-ExposureMode` -- `http://terminology.hl7.org/ValueSet/v3-FamilyMember` -- `http://terminology.hl7.org/ValueSet/v3-GTSAbbreviation` -- `http://terminology.hl7.org/ValueSet/v3-GenderStatus` -- `http://terminology.hl7.org/ValueSet/v3-GeneralPurposeOfUse` -- `http://terminology.hl7.org/ValueSet/v3-HL7ContextConductionStyle` -- `http://terminology.hl7.org/ValueSet/v3-HL7StandardVersionCode` -- `http://terminology.hl7.org/ValueSet/v3-HL7UpdateMode` -- `http://terminology.hl7.org/ValueSet/v3-HtmlLinkType` -- `http://terminology.hl7.org/ValueSet/v3-HumanLanguage` -- `http://terminology.hl7.org/ValueSet/v3-IdentifierReliability` -- `http://terminology.hl7.org/ValueSet/v3-IdentifierScope` -- `http://terminology.hl7.org/ValueSet/v3-InformationSensitivityPolicy` -- `http://terminology.hl7.org/ValueSet/v3-IntegrityCheckAlgorithm` -- `http://terminology.hl7.org/ValueSet/v3-LanguageAbilityMode` -- `http://terminology.hl7.org/ValueSet/v3-LanguageAbilityProficiency` -- `http://terminology.hl7.org/ValueSet/v3-LivingArrangement` -- `http://terminology.hl7.org/ValueSet/v3-LocalMarkupIgnore` -- `http://terminology.hl7.org/ValueSet/v3-LocalRemoteControlState` -- `http://terminology.hl7.org/ValueSet/v3-ManagedParticipationStatus` -- `http://terminology.hl7.org/ValueSet/v3-MapRelationship` -- `http://terminology.hl7.org/ValueSet/v3-MaritalStatus` -- `http://terminology.hl7.org/ValueSet/v3-MessageWaitingPriority` -- `http://terminology.hl7.org/ValueSet/v3-MilitaryRoleType` -- `http://terminology.hl7.org/ValueSet/v3-ModifyIndicator` -- `http://terminology.hl7.org/ValueSet/v3-NullFlavor` -- `http://terminology.hl7.org/ValueSet/v3-ObligationPolicy` -- `http://terminology.hl7.org/ValueSet/v3-ObservationCategory` -- `http://terminology.hl7.org/ValueSet/v3-ObservationInterpretation` -- `http://terminology.hl7.org/ValueSet/v3-ObservationMethod` -- `http://terminology.hl7.org/ValueSet/v3-ObservationType` -- `http://terminology.hl7.org/ValueSet/v3-ObservationValue` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationFunction` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationIndirectTarget` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationInformationGenerator` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationInformationTranscriber` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationMode` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationPhysicalPerformer` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationSignature` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationTargetDirect` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationTargetLocation` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationTargetSubject` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationType` -- `http://terminology.hl7.org/ValueSet/v3-ParticipationVerifier` -- `http://terminology.hl7.org/ValueSet/v3-PatientImportance` -- `http://terminology.hl7.org/ValueSet/v3-PaymentTerms` -- `http://terminology.hl7.org/ValueSet/v3-PersonDisabilityType` -- `http://terminology.hl7.org/ValueSet/v3-PersonalRelationshipRoleType` -- `http://terminology.hl7.org/ValueSet/v3-ProbabilityDistributionType` -- `http://terminology.hl7.org/ValueSet/v3-ProcessingID` -- `http://terminology.hl7.org/ValueSet/v3-ProcessingMode` -- `http://terminology.hl7.org/ValueSet/v3-ProvenanceEventCurrentState` -- `http://terminology.hl7.org/ValueSet/v3-ProvenanceEventCurrentState-AS` -- `http://terminology.hl7.org/ValueSet/v3-ProvenanceEventCurrentState-DC` -- `http://terminology.hl7.org/ValueSet/v3-PurposeOfUse` -- `http://terminology.hl7.org/ValueSet/v3-QueryParameterValue` -- `http://terminology.hl7.org/ValueSet/v3-QueryPriority` -- `http://terminology.hl7.org/ValueSet/v3-QueryRequestLimit` -- `http://terminology.hl7.org/ValueSet/v3-QueryResponse` -- `http://terminology.hl7.org/ValueSet/v3-QueryStatusCode` -- `http://terminology.hl7.org/ValueSet/v3-Race` -- `http://terminology.hl7.org/ValueSet/v3-RefrainPolicy` -- `http://terminology.hl7.org/ValueSet/v3-RelationalOperator` -- `http://terminology.hl7.org/ValueSet/v3-RelationshipConjunction` -- `http://terminology.hl7.org/ValueSet/v3-ReligiousAffiliation` -- `http://terminology.hl7.org/ValueSet/v3-ResponseLevel` -- `http://terminology.hl7.org/ValueSet/v3-ResponseModality` -- `http://terminology.hl7.org/ValueSet/v3-ResponseMode` -- `http://terminology.hl7.org/ValueSet/v3-RoleClass` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassAgent` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassAssociative` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassManufacturedProduct` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassMutualRelationship` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassPartitive` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassPassive` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassRelationshipFormal` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassRoot` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassServiceDeliveryLocation` -- `http://terminology.hl7.org/ValueSet/v3-RoleClassSpecimen` -- `http://terminology.hl7.org/ValueSet/v3-RoleCode` -- `http://terminology.hl7.org/ValueSet/v3-RoleLinkStatus` -- `http://terminology.hl7.org/ValueSet/v3-RoleLinkType` -- `http://terminology.hl7.org/ValueSet/v3-RoleStatus` -- `http://terminology.hl7.org/ValueSet/v3-RouteOfAdministration` -- `http://terminology.hl7.org/ValueSet/v3-SecurityControlObservationValue` -- `http://terminology.hl7.org/ValueSet/v3-SecurityIntegrityObservationValue` -- `http://terminology.hl7.org/ValueSet/v3-SecurityPolicy` -- `http://terminology.hl7.org/ValueSet/v3-Sequencing` -- `http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType` -- `http://terminology.hl7.org/ValueSet/v3-SetOperator` -- `http://terminology.hl7.org/ValueSet/v3-SeverityObservation` -- `http://terminology.hl7.org/ValueSet/v3-SpecimenType` -- `http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason` -- `http://terminology.hl7.org/ValueSet/v3-SubstitutionCondition` -- `http://terminology.hl7.org/ValueSet/v3-TableCellHorizontalAlign` -- `http://terminology.hl7.org/ValueSet/v3-TableCellScope` -- `http://terminology.hl7.org/ValueSet/v3-TableCellVerticalAlign` -- `http://terminology.hl7.org/ValueSet/v3-TableFrame` -- `http://terminology.hl7.org/ValueSet/v3-TableRules` -- `http://terminology.hl7.org/ValueSet/v3-TargetAwareness` -- `http://terminology.hl7.org/ValueSet/v3-TelecommunicationCapabilities` -- `http://terminology.hl7.org/ValueSet/v3-TimingEvent` -- `http://terminology.hl7.org/ValueSet/v3-TransmissionRelationshipTypeCode` -- `http://terminology.hl7.org/ValueSet/v3-TribalEntityUS` -- `http://terminology.hl7.org/ValueSet/v3-VaccineManufacturer` -- `http://terminology.hl7.org/ValueSet/v3-VerificationMethod` -- `http://terminology.hl7.org/ValueSet/v3-WorkClassificationODH` -- `http://terminology.hl7.org/ValueSet/v3-WorkScheduleODH` -- `http://terminology.hl7.org/ValueSet/v3-employmentStatusODH` -- `http://terminology.hl7.org/ValueSet/v3-hl7ApprovalStatus` -- `http://terminology.hl7.org/ValueSet/v3-hl7CMETAttribution` -- `http://terminology.hl7.org/ValueSet/v3-hl7ITSType` -- `http://terminology.hl7.org/ValueSet/v3-hl7ITSVersionCode` -- `http://terminology.hl7.org/ValueSet/v3-hl7PublishingDomain` -- `http://terminology.hl7.org/ValueSet/v3-hl7PublishingSection` -- `http://terminology.hl7.org/ValueSet/v3-hl7PublishingSubSection` -- `http://terminology.hl7.org/ValueSet/v3-hl7Realm` -- `http://terminology.hl7.org/ValueSet/v3-hl7V3Conformance` -- `http://terminology.hl7.org/ValueSet/v3-hl7VoteResolution` -- `http://terminology.hl7.org/ValueSet/v3-orderableDrugForm` -- `http://terminology.hl7.org/ValueSet/v3-policyHolderRole` -- `http://terminology.hl7.org/ValueSet/v3-styleType` -- `http://terminology.hl7.org/ValueSet/v3-substanceAdminSubstitution` -- `http://terminology.hl7.org/ValueSet/v3-triggerEventID` -- `http://terminology.hl7.org/ValueSet/v3-xBasicConfidentialityKind` - -## Package: `shared` - -### Skipped Canonicals - -- `urn:fhir:binding:AccidentType` -- `urn:fhir:binding:AccountStatus` -- `urn:fhir:binding:AccountType` -- `urn:fhir:binding:ActionCardinalityBehavior` -- `urn:fhir:binding:ActionConditionKind` -- `urn:fhir:binding:ActionGroupingBehavior` -- `urn:fhir:binding:ActionParticipantRole` -- `urn:fhir:binding:ActionParticipantType` -- `urn:fhir:binding:ActionPrecheckBehavior` -- `urn:fhir:binding:ActionRelationshipType` -- `urn:fhir:binding:ActionRequiredBehavior` -- `urn:fhir:binding:ActionSelectionBehavior` -- `urn:fhir:binding:ActionType` -- `urn:fhir:binding:ActivityDefinitionKind` -- `urn:fhir:binding:ActivityDefinitionType` -- `urn:fhir:binding:ActivityParticipantRole` -- `urn:fhir:binding:ActivityParticipantType` -- `urn:fhir:binding:Adjudication` -- `urn:fhir:binding:AdjudicationError` -- `urn:fhir:binding:AdjudicationReason` -- `urn:fhir:binding:AdjunctDiagnosis` -- `urn:fhir:binding:AdmitSource` -- `urn:fhir:binding:AdverseEventActuality` -- `urn:fhir:binding:AdverseEventCategory` -- `urn:fhir:binding:AdverseEventCausalityAssessment` -- `urn:fhir:binding:AdverseEventCausalityMethod` -- `urn:fhir:binding:AdverseEventOutcome` -- `urn:fhir:binding:AdverseEventSeriousness` -- `urn:fhir:binding:AdverseEventSeverity` -- `urn:fhir:binding:AdverseEventType` -- `urn:fhir:binding:AggregationMode` -- `urn:fhir:binding:AllergyIntoleranceCategory` -- `urn:fhir:binding:AllergyIntoleranceClinicalStatus` -- `urn:fhir:binding:AllergyIntoleranceCode` -- `urn:fhir:binding:AllergyIntoleranceCriticality` -- `urn:fhir:binding:AllergyIntoleranceSeverity` -- `urn:fhir:binding:AllergyIntoleranceType` -- `urn:fhir:binding:AllergyIntoleranceVerificationStatus` -- `urn:fhir:binding:AppointmentStatus` -- `urn:fhir:binding:ApptReason` -- `urn:fhir:binding:Arrangements` -- `urn:fhir:binding:AssertionDirectionType` -- `urn:fhir:binding:AssertionOperatorType` -- `urn:fhir:binding:AssertionResponseTypes` -- `urn:fhir:binding:AssetAvailabilityType` -- `urn:fhir:binding:AuditAgentRole` -- `urn:fhir:binding:AuditAgentType` -- `urn:fhir:binding:AuditEventAction` -- `urn:fhir:binding:AuditEventAgentNetworkType` -- `urn:fhir:binding:AuditEventEntityLifecycle` -- `urn:fhir:binding:AuditEventEntityRole` -- `urn:fhir:binding:AuditEventEntityType` -- `urn:fhir:binding:AuditEventOutcome` -- `urn:fhir:binding:AuditEventSourceType` -- `urn:fhir:binding:AuditEventSubType` -- `urn:fhir:binding:AuditEventType` -- `urn:fhir:binding:AuditPurposeOfUse` -- `urn:fhir:binding:AuthSupporting` -- `urn:fhir:binding:BasicResourceType` -- `urn:fhir:binding:BenefitCategory` -- `urn:fhir:binding:BenefitCostApplicability` -- `urn:fhir:binding:BenefitNetwork` -- `urn:fhir:binding:BenefitTerm` -- `urn:fhir:binding:BenefitType` -- `urn:fhir:binding:BenefitUnit` -- `urn:fhir:binding:BindingStrength` -- `urn:fhir:binding:BiologicallyDerivedProductCategory` -- `urn:fhir:binding:BiologicallyDerivedProductProcedure` -- `urn:fhir:binding:BiologicallyDerivedProductStatus` -- `urn:fhir:binding:BiologicallyDerivedProductStorageScale` -- `urn:fhir:binding:BodyLengthUnits` -- `urn:fhir:binding:BodyStructureCode` -- `urn:fhir:binding:BodyStructureQualifier` -- `urn:fhir:binding:BodyTempUnits` -- `urn:fhir:binding:BodyWeightUnits` -- `urn:fhir:binding:CapabilityStatementKind` -- `urn:fhir:binding:CarePlanActivityKind` -- `urn:fhir:binding:CarePlanActivityOutcome` -- `urn:fhir:binding:CarePlanActivityReason` -- `urn:fhir:binding:CarePlanActivityStatus` -- `urn:fhir:binding:CarePlanActivityType` -- `urn:fhir:binding:CarePlanCategory` -- `urn:fhir:binding:CarePlanIntent` -- `urn:fhir:binding:CarePlanStatus` -- `urn:fhir:binding:CareTeamCategory` -- `urn:fhir:binding:CareTeamParticipantRole` -- `urn:fhir:binding:CareTeamReason` -- `urn:fhir:binding:CareTeamRole` -- `urn:fhir:binding:CareTeamStatus` -- `urn:fhir:binding:CatalogEntryRelationType` -- `urn:fhir:binding:CatalogType` -- `urn:fhir:binding:CertaintySubcomponentRating` -- `urn:fhir:binding:CertaintySubcomponentType` -- `urn:fhir:binding:ChargeItemCode` -- `urn:fhir:binding:ChargeItemDefinitionCode` -- `urn:fhir:binding:ChargeItemDefinitionPriceComponentType` -- `urn:fhir:binding:ChargeItemPerformerFunction` -- `urn:fhir:binding:ChargeItemReason` -- `urn:fhir:binding:ChargeItemStatus` -- `urn:fhir:binding:ClaimResponseStatus` -- `urn:fhir:binding:ClaimStatus` -- `urn:fhir:binding:ClaimSubType` -- `urn:fhir:binding:ClaimType` -- `urn:fhir:binding:ClinicalImpressionPrognosis` -- `urn:fhir:binding:ClinicalImpressionStatus` -- `urn:fhir:binding:CodeSearchSupport` -- `urn:fhir:binding:CodeSystemContentMode` -- `urn:fhir:binding:CodeSystemHierarchyMeaning` -- `urn:fhir:binding:CollectedSpecimenType` -- `urn:fhir:binding:CommunicationCategory` -- `urn:fhir:binding:CommunicationMedium` -- `urn:fhir:binding:CommunicationNotDoneReason` -- `urn:fhir:binding:CommunicationPriority` -- `urn:fhir:binding:CommunicationReason` -- `urn:fhir:binding:CommunicationRequestStatus` -- `urn:fhir:binding:CommunicationStatus` -- `urn:fhir:binding:CommunicationTopic` -- `urn:fhir:binding:CompartmentCode` -- `urn:fhir:binding:CompartmentType` -- `urn:fhir:binding:CompositeMeasureScoring` -- `urn:fhir:binding:CompositionAttestationMode` -- `urn:fhir:binding:CompositionSectionType` -- `urn:fhir:binding:CompositionStatus` -- `urn:fhir:binding:ConceptDesignationUse` -- `urn:fhir:binding:ConceptMapEquivalence` -- `urn:fhir:binding:ConceptMapGroupUnmappedMode` -- `urn:fhir:binding:ConditionCategory` -- `urn:fhir:binding:ConditionClinicalStatus` -- `urn:fhir:binding:ConditionCode` -- `urn:fhir:binding:ConditionKind` -- `urn:fhir:binding:ConditionOutcome` -- `urn:fhir:binding:ConditionSeverity` -- `urn:fhir:binding:ConditionStage` -- `urn:fhir:binding:ConditionStageType` -- `urn:fhir:binding:ConditionVerificationStatus` -- `urn:fhir:binding:ConditionalDeleteStatus` -- `urn:fhir:binding:ConditionalReadStatus` -- `urn:fhir:binding:ConsentAction` -- `urn:fhir:binding:ConsentActorRole` -- `urn:fhir:binding:ConsentCategory` -- `urn:fhir:binding:ConsentContentClass` -- `urn:fhir:binding:ConsentContentCode` -- `urn:fhir:binding:ConsentDataMeaning` -- `urn:fhir:binding:ConsentPolicyRule` -- `urn:fhir:binding:ConsentProvisionType` -- `urn:fhir:binding:ConsentScope` -- `urn:fhir:binding:ConsentState` -- `urn:fhir:binding:ConstraintSeverity` -- `urn:fhir:binding:ContactPartyType` -- `urn:fhir:binding:ContainerCap` -- `urn:fhir:binding:ContainerMaterial` -- `urn:fhir:binding:ContainerType` -- `urn:fhir:binding:ContractAction` -- `urn:fhir:binding:ContractActionPerformerRole` -- `urn:fhir:binding:ContractActionPerformerType` -- `urn:fhir:binding:ContractActionReason` -- `urn:fhir:binding:ContractActionStatus` -- `urn:fhir:binding:ContractActorRole` -- `urn:fhir:binding:ContractAssetContext` -- `urn:fhir:binding:ContractAssetScope` -- `urn:fhir:binding:ContractAssetSubtype` -- `urn:fhir:binding:ContractAssetType` -- `urn:fhir:binding:ContractContentDerivative` -- `urn:fhir:binding:ContractDecisionMode` -- `urn:fhir:binding:ContractDecisionType` -- `urn:fhir:binding:ContractDefinitionSubtype` -- `urn:fhir:binding:ContractDefinitionType` -- `urn:fhir:binding:ContractExpiration` -- `urn:fhir:binding:ContractLegalState` -- `urn:fhir:binding:ContractPartyRole` -- `urn:fhir:binding:ContractPublicationStatus` -- `urn:fhir:binding:ContractScope` -- `urn:fhir:binding:ContractSecurityCategory` -- `urn:fhir:binding:ContractSecurityClassification` -- `urn:fhir:binding:ContractSecurityControl` -- `urn:fhir:binding:ContractSignerType` -- `urn:fhir:binding:ContractStatus` -- `urn:fhir:binding:ContractSubtype` -- `urn:fhir:binding:ContractTermSubType` -- `urn:fhir:binding:ContractTermType` -- `urn:fhir:binding:ContractType` -- `urn:fhir:binding:CopayTypes` -- `urn:fhir:binding:Courtesies` -- `urn:fhir:binding:CoverageClass` -- `urn:fhir:binding:CoverageFinancialException` -- `urn:fhir:binding:CoverageStatus` -- `urn:fhir:binding:CoverageType` -- `urn:fhir:binding:DICOMMediaType` -- `urn:fhir:binding:DaysOfWeek` -- `urn:fhir:binding:DefinitionTopic` -- `urn:fhir:binding:DetectedIssueCategory` -- `urn:fhir:binding:DetectedIssueEvidenceCode` -- `urn:fhir:binding:DetectedIssueMitigationAction` -- `urn:fhir:binding:DetectedIssueSeverity` -- `urn:fhir:binding:DetectedIssueStatus` -- `urn:fhir:binding:DeviceActionKind` -- `urn:fhir:binding:DeviceKind` -- `urn:fhir:binding:DeviceMetricCalibrationState` -- `urn:fhir:binding:DeviceMetricCalibrationType` -- `urn:fhir:binding:DeviceMetricCategory` -- `urn:fhir:binding:DeviceMetricColor` -- `urn:fhir:binding:DeviceMetricOperationalStatus` -- `urn:fhir:binding:DeviceNameType` -- `urn:fhir:binding:DeviceRequestParticipantRole` -- `urn:fhir:binding:DeviceRequestReason` -- `urn:fhir:binding:DeviceRequestStatus` -- `urn:fhir:binding:DeviceType` -- `urn:fhir:binding:DeviceUseStatementStatus` -- `urn:fhir:binding:DiagnosisOnAdmission` -- `urn:fhir:binding:DiagnosisRelatedGroup` -- `urn:fhir:binding:DiagnosisRole` -- `urn:fhir:binding:DiagnosisType` -- `urn:fhir:binding:DiagnosticReportCodes` -- `urn:fhir:binding:DiagnosticReportStatus` -- `urn:fhir:binding:DiagnosticServiceSection` -- `urn:fhir:binding:DischargeDisp` -- `urn:fhir:binding:DiscriminatorType` -- `urn:fhir:binding:DocumentC80Class` -- `urn:fhir:binding:DocumentC80FacilityType` -- `urn:fhir:binding:DocumentC80PracticeSetting` -- `urn:fhir:binding:DocumentC80Type` -- `urn:fhir:binding:DocumentCategory` -- `urn:fhir:binding:DocumentConfidentiality` -- `urn:fhir:binding:DocumentEventType` -- `urn:fhir:binding:DocumentFormat` -- `urn:fhir:binding:DocumentMode` -- `urn:fhir:binding:DocumentReferenceStatus` -- `urn:fhir:binding:DocumentRelationshipType` -- `urn:fhir:binding:DocumentType` -- `urn:fhir:binding:EffectEstimateType` -- `urn:fhir:binding:ElementDefinitionCode` -- `urn:fhir:binding:EligibilityRequestPurpose` -- `urn:fhir:binding:EligibilityRequestStatus` -- `urn:fhir:binding:EligibilityResponsePurpose` -- `urn:fhir:binding:EligibilityResponseStatus` -- `urn:fhir:binding:EnableWhenBehavior` -- `urn:fhir:binding:EncounterClass` -- `urn:fhir:binding:EncounterLocationStatus` -- `urn:fhir:binding:EncounterReason` -- `urn:fhir:binding:EncounterServiceType` -- `urn:fhir:binding:EncounterStatus` -- `urn:fhir:binding:EncounterType` -- `urn:fhir:binding:EndpointStatus` -- `urn:fhir:binding:EnrollmentRequestStatus` -- `urn:fhir:binding:EnrollmentResponseStatus` -- `urn:fhir:binding:EnteralFormulaAdditiveType` -- `urn:fhir:binding:EnteralFormulaType` -- `urn:fhir:binding:EnteralRouteOfAdministration` -- `urn:fhir:binding:EpisodeOfCareStatus` -- `urn:fhir:binding:EpisodeOfCareType` -- `urn:fhir:binding:EvaluationDoseStatus` -- `urn:fhir:binding:EvaluationDoseStatusReason` -- `urn:fhir:binding:EvaluationTargetDisease` -- `urn:fhir:binding:EventCapabilityMode` -- `urn:fhir:binding:EventPerformerFunction` -- `urn:fhir:binding:EventReason` -- `urn:fhir:binding:EvidenceVariableType` -- `urn:fhir:binding:EvidenceVariantState` -- `urn:fhir:binding:ExampleScenarioActorType` -- `urn:fhir:binding:ExplanationOfBenefitStatus` -- `urn:fhir:binding:ExposureState` -- `urn:fhir:binding:ExtensionContextType` -- `urn:fhir:binding:FHIRDefinedType` -- `urn:fhir:binding:FHIRDefinedTypeExt` -- `urn:fhir:binding:FHIRDeviceStatus` -- `urn:fhir:binding:FHIRDeviceStatusReason` -- `urn:fhir:binding:FHIRResourceType` -- `urn:fhir:binding:FHIRSubstanceStatus` -- `urn:fhir:binding:FHIRVersion` -- `urn:fhir:binding:FamilialRelationship` -- `urn:fhir:binding:FamilyHistoryAbsentReason` -- `urn:fhir:binding:FamilyHistoryReason` -- `urn:fhir:binding:FamilyHistoryStatus` -- `urn:fhir:binding:FilterOperator` -- `urn:fhir:binding:FlagCategory` -- `urn:fhir:binding:FlagCode` -- `urn:fhir:binding:FlagStatus` -- `urn:fhir:binding:FluidConsistencyType` -- `urn:fhir:binding:FoodType` -- `urn:fhir:binding:Forms` -- `urn:fhir:binding:FundingSource` -- `urn:fhir:binding:FundsReserve` -- `urn:fhir:binding:GoalAchievementStatus` -- `urn:fhir:binding:GoalAddresses` -- `urn:fhir:binding:GoalCategory` -- `urn:fhir:binding:GoalDescription` -- `urn:fhir:binding:GoalLifecycleStatus` -- `urn:fhir:binding:GoalOutcome` -- `urn:fhir:binding:GoalPriority` -- `urn:fhir:binding:GoalStartEvent` -- `urn:fhir:binding:GoalTargetMeasure` -- `urn:fhir:binding:GraphCompartmentRule` -- `urn:fhir:binding:GraphCompartmentUse` -- `urn:fhir:binding:GroupMeasure` -- `urn:fhir:binding:GroupType` -- `urn:fhir:binding:GuidanceResponseStatus` -- `urn:fhir:binding:GuidePageGeneration` -- `urn:fhir:binding:GuideParameterCode` -- `urn:fhir:binding:HandlingConditionSet` -- `urn:fhir:binding:IdentityAssuranceLevel` -- `urn:fhir:binding:ImagingModality` -- `urn:fhir:binding:ImagingProcedureCode` -- `urn:fhir:binding:ImagingReason` -- `urn:fhir:binding:ImagingStudyStatus` -- `urn:fhir:binding:ImmunizationEvaluationStatus` -- `urn:fhir:binding:ImmunizationFunction` -- `urn:fhir:binding:ImmunizationReason` -- `urn:fhir:binding:ImmunizationRecommendationDateCriterion` -- `urn:fhir:binding:ImmunizationRecommendationReason` -- `urn:fhir:binding:ImmunizationRecommendationStatus` -- `urn:fhir:binding:ImmunizationReportOrigin` -- `urn:fhir:binding:ImmunizationRoute` -- `urn:fhir:binding:ImmunizationSite` -- `urn:fhir:binding:ImmunizationStatus` -- `urn:fhir:binding:ImmunizationStatusReason` -- `urn:fhir:binding:InformationCategory` -- `urn:fhir:binding:InformationCode` -- `urn:fhir:binding:InsurancePlanType` -- `urn:fhir:binding:IntendedSpecimenType` -- `urn:fhir:binding:InvestigationGroupType` -- `urn:fhir:binding:InvoicePriceComponentType` -- `urn:fhir:binding:InvoiceStatus` -- `urn:fhir:binding:Jurisdiction` -- `urn:fhir:binding:LDLCodes` -- `urn:fhir:binding:LOINC LL379-9 answerlist` -- `urn:fhir:binding:Laterality` -- `urn:fhir:binding:LibraryType` -- `urn:fhir:binding:LinkageType` -- `urn:fhir:binding:ListEmptyReason` -- `urn:fhir:binding:ListItemFlag` -- `urn:fhir:binding:ListMode` -- `urn:fhir:binding:ListOrder` -- `urn:fhir:binding:ListPurpose` -- `urn:fhir:binding:ListStatus` -- `urn:fhir:binding:LocationMode` -- `urn:fhir:binding:LocationStatus` -- `urn:fhir:binding:LocationType` -- `urn:fhir:binding:Manifestation` -- `urn:fhir:binding:ManifestationOrSymptom` -- `urn:fhir:binding:MeasureDataUsage` -- `urn:fhir:binding:MeasureImprovementNotation` -- `urn:fhir:binding:MeasurePopulation` -- `urn:fhir:binding:MeasurePopulationType` -- `urn:fhir:binding:MeasureReportStatus` -- `urn:fhir:binding:MeasureReportType` -- `urn:fhir:binding:MeasureScoring` -- `urn:fhir:binding:MeasureType` -- `urn:fhir:binding:MediaModality` -- `urn:fhir:binding:MediaReason` -- `urn:fhir:binding:MediaStatus` -- `urn:fhir:binding:MediaType` -- `urn:fhir:binding:MediaView` -- `urn:fhir:binding:MedicationAdministrationCategory` -- `urn:fhir:binding:MedicationAdministrationNegationReason` -- `urn:fhir:binding:MedicationAdministrationPerformerFunction` -- `urn:fhir:binding:MedicationAdministrationReason` -- `urn:fhir:binding:MedicationAdministrationStatus` -- `urn:fhir:binding:MedicationCharacteristic` -- `urn:fhir:binding:MedicationDispenseCategory` -- `urn:fhir:binding:MedicationDispensePerformerFunction` -- `urn:fhir:binding:MedicationDispenseStatus` -- `urn:fhir:binding:MedicationDispenseType` -- `urn:fhir:binding:MedicationForm` -- `urn:fhir:binding:MedicationFormalRepresentation` -- `urn:fhir:binding:MedicationIntendedSubstitutionReason` -- `urn:fhir:binding:MedicationIntendedSubstitutionType` -- `urn:fhir:binding:MedicationKnowledgeStatus` -- `urn:fhir:binding:MedicationPackageType` -- `urn:fhir:binding:MedicationReason` -- `urn:fhir:binding:MedicationRequestCategory` -- `urn:fhir:binding:MedicationRequestCourseOfTherapy` -- `urn:fhir:binding:MedicationRequestIntent` -- `urn:fhir:binding:MedicationRequestPerformerType` -- `urn:fhir:binding:MedicationRequestPriority` -- `urn:fhir:binding:MedicationRequestReason` -- `urn:fhir:binding:MedicationRequestStatus` -- `urn:fhir:binding:MedicationRequestStatusReason` -- `urn:fhir:binding:MedicationRoute` -- `urn:fhir:binding:MedicationStatementCategory` -- `urn:fhir:binding:MedicationStatementStatus` -- `urn:fhir:binding:MedicationStatementStatusReason` -- `urn:fhir:binding:MedicationStatus` -- `urn:fhir:binding:MessageSignificanceCategory` -- `urn:fhir:binding:MessageTransport` -- `urn:fhir:binding:MetricType` -- `urn:fhir:binding:MetricUnit` -- `urn:fhir:binding:MissingReason` -- `urn:fhir:binding:Modifiers` -- `urn:fhir:binding:NamingSystemIdentifierType` -- `urn:fhir:binding:NamingSystemType` -- `urn:fhir:binding:NoteType` -- `urn:fhir:binding:NutrientModifier` -- `urn:fhir:binding:NutritiionOrderIntent` -- `urn:fhir:binding:NutritionOrderStatus` -- `urn:fhir:binding:ObservationDataType` -- `urn:fhir:binding:ObservationRangeAppliesTo` -- `urn:fhir:binding:ObservationRangeCategory` -- `urn:fhir:binding:ObservationUnit` -- `urn:fhir:binding:OperationKind` -- `urn:fhir:binding:OperationParameterUse` -- `urn:fhir:binding:OperationalStatus` -- `urn:fhir:binding:OralDiet` -- `urn:fhir:binding:OralSites` -- `urn:fhir:binding:OrderDetail` -- `urn:fhir:binding:OrganizationAffiliation` -- `urn:fhir:binding:OrganizationSpecialty` -- `urn:fhir:binding:OrganizationType` -- `urn:fhir:binding:ParticipantRequired` -- `urn:fhir:binding:ParticipantStatus` -- `urn:fhir:binding:ParticipantType` -- `urn:fhir:binding:ParticipationStatus` -- `urn:fhir:binding:PatientDiet` -- `urn:fhir:binding:PatientRelationshipType` -- `urn:fhir:binding:PayeeType` -- `urn:fhir:binding:PayloadType` -- `urn:fhir:binding:PaymentAdjustmentReason` -- `urn:fhir:binding:PaymentNoticeStatus` -- `urn:fhir:binding:PaymentReconciliationStatus` -- `urn:fhir:binding:PaymentStatus` -- `urn:fhir:binding:PaymentType` -- `urn:fhir:binding:PhysicalType` -- `urn:fhir:binding:PlanDefinitionType` -- `urn:fhir:binding:PractitionerRole` -- `urn:fhir:binding:PractitionerSpecialty` -- `urn:fhir:binding:PrecisionEstimateType` -- `urn:fhir:binding:PreparePatient` -- `urn:fhir:binding:Priority` -- `urn:fhir:binding:ProcedureCategory` -- `urn:fhir:binding:ProcedureCode` -- `urn:fhir:binding:ProcedureComplication` -- `urn:fhir:binding:ProcedureFollowUp` -- `urn:fhir:binding:ProcedureNegationReason` -- `urn:fhir:binding:ProcedureOutcome` -- `urn:fhir:binding:ProcedurePerformerRole` -- `urn:fhir:binding:ProcedureReason` -- `urn:fhir:binding:ProcedureStatus` -- `urn:fhir:binding:ProcedureType` -- `urn:fhir:binding:ProcedureUsed` -- `urn:fhir:binding:ProcessPriority` -- `urn:fhir:binding:Program` -- `urn:fhir:binding:ProgramCode` -- `urn:fhir:binding:ProgramEligibility` -- `urn:fhir:binding:PropertyRepresentation` -- `urn:fhir:binding:PropertyType` -- `urn:fhir:binding:ProvenanceActivity` -- `urn:fhir:binding:ProvenanceAgentRole` -- `urn:fhir:binding:ProvenanceAgentType` -- `urn:fhir:binding:ProvenanceEntityRole` -- `urn:fhir:binding:ProvenanceHistoryAgentType` -- `urn:fhir:binding:ProvenanceHistoryRecordActivity` -- `urn:fhir:binding:ProvenanceReason` -- `urn:fhir:binding:ProviderQualification` -- `urn:fhir:binding:PublicationStatus` -- `urn:fhir:binding:PurposeOfUse` -- `urn:fhir:binding:Qualification` -- `urn:fhir:binding:QualityOfEvidenceRating` -- `urn:fhir:binding:QuestionnaireConcept` -- `urn:fhir:binding:QuestionnaireItemOperator` -- `urn:fhir:binding:QuestionnaireItemType` -- `urn:fhir:binding:QuestionnaireResponseStatus` -- `urn:fhir:binding:ReAdmissionType` -- `urn:fhir:binding:ReferenceHandlingPolicy` -- `urn:fhir:binding:ReferenceVersionRules` -- `urn:fhir:binding:ReferralMethod` -- `urn:fhir:binding:ReferredDocumentStatus` -- `urn:fhir:binding:RejectionCriterion` -- `urn:fhir:binding:RelatedClaimRelationship` -- `urn:fhir:binding:Relationship` -- `urn:fhir:binding:RemittanceOutcome` -- `urn:fhir:binding:RequestIntent` -- `urn:fhir:binding:RequestPriority` -- `urn:fhir:binding:RequestStatus` -- `urn:fhir:binding:ResearchElementType` -- `urn:fhir:binding:ResearchStudyObjectiveType` -- `urn:fhir:binding:ResearchStudyPhase` -- `urn:fhir:binding:ResearchStudyPrimaryPurposeType` -- `urn:fhir:binding:ResearchStudyReasonStopped` -- `urn:fhir:binding:ResearchStudyStatus` -- `urn:fhir:binding:ResearchSubjectStatus` -- `urn:fhir:binding:ResourceType` -- `urn:fhir:binding:ResourceVersionPolicy` -- `urn:fhir:binding:ResponseType` -- `urn:fhir:binding:RestfulCapabilityMode` -- `urn:fhir:binding:RestfulSecurityService` -- `urn:fhir:binding:RevenueCenter` -- `urn:fhir:binding:RiskAssessmentProbability` -- `urn:fhir:binding:RiskAssessmentStatus` -- `urn:fhir:binding:RiskEstimateType` -- `urn:fhir:binding:SPDXLicense` -- `urn:fhir:binding:Safety` -- `urn:fhir:binding:SearchComparator` -- `urn:fhir:binding:SearchModifierCode` -- `urn:fhir:binding:SearchParamType` -- `urn:fhir:binding:SectionEmptyReason` -- `urn:fhir:binding:SectionEntryOrder` -- `urn:fhir:binding:SectionMode` -- `urn:fhir:binding:ServiceProduct` -- `urn:fhir:binding:ServiceProvisionConditions` -- `urn:fhir:binding:ServiceRequestCategory` -- `urn:fhir:binding:ServiceRequestCode` -- `urn:fhir:binding:ServiceRequestIntent` -- `urn:fhir:binding:ServiceRequestLocation` -- `urn:fhir:binding:ServiceRequestParticipantRole` -- `urn:fhir:binding:ServiceRequestPriority` -- `urn:fhir:binding:ServiceRequestReason` -- `urn:fhir:binding:ServiceRequestStatus` -- `urn:fhir:binding:Sex` -- `urn:fhir:binding:SlicingRules` -- `urn:fhir:binding:SlotStatus` -- `urn:fhir:binding:SpecimenCollection` -- `urn:fhir:binding:SpecimenCollectionMethod` -- `urn:fhir:binding:SpecimenCondition` -- `urn:fhir:binding:SpecimenContainedPreference` -- `urn:fhir:binding:SpecimenContainerType` -- `urn:fhir:binding:SpecimenProcessingProcedure` -- `urn:fhir:binding:SpecimenStatus` -- `urn:fhir:binding:SpecimenType` -- `urn:fhir:binding:StructureDefinitionKeyword` -- `urn:fhir:binding:StructureDefinitionKind` -- `urn:fhir:binding:StructureMapContextType` -- `urn:fhir:binding:StructureMapGroupTypeMode` -- `urn:fhir:binding:StructureMapInputMode` -- `urn:fhir:binding:StructureMapModelMode` -- `urn:fhir:binding:StructureMapSourceListMode` -- `urn:fhir:binding:StructureMapTargetListMode` -- `urn:fhir:binding:StructureMapTransform` -- `urn:fhir:binding:StudyType` -- `urn:fhir:binding:SubpotentReason` -- `urn:fhir:binding:SubscriptionChannelType` -- `urn:fhir:binding:SubscriptionStatus` -- `urn:fhir:binding:SubstanceCategory` -- `urn:fhir:binding:SubstanceCode` -- `urn:fhir:binding:SupplementType` -- `urn:fhir:binding:SupplyDeliveryStatus` -- `urn:fhir:binding:SupplyDeliveryType` -- `urn:fhir:binding:SupplyRequestKind` -- `urn:fhir:binding:SupplyRequestReason` -- `urn:fhir:binding:SupplyRequestStatus` -- `urn:fhir:binding:Surface` -- `urn:fhir:binding:SynthesisType` -- `urn:fhir:binding:SystemRestfulInteraction` -- `urn:fhir:binding:TargetDisease` -- `urn:fhir:binding:TaskCode` -- `urn:fhir:binding:TaskIntent` -- `urn:fhir:binding:TaskPerformerType` -- `urn:fhir:binding:TaskPriority` -- `urn:fhir:binding:TaskStatus` -- `urn:fhir:binding:TestReportActionResult` -- `urn:fhir:binding:TestReportParticipantType` -- `urn:fhir:binding:TestReportResult` -- `urn:fhir:binding:TestReportStatus` -- `urn:fhir:binding:TestScriptOperationCode` -- `urn:fhir:binding:TestScriptProfileDestinationType` -- `urn:fhir:binding:TestScriptProfileOriginType` -- `urn:fhir:binding:TestScriptRequestMethodCode` -- `urn:fhir:binding:TextureModifiedFoodType` -- `urn:fhir:binding:TextureModifier` -- `urn:fhir:binding:TypeDerivationRule` -- `urn:fhir:binding:TypeRestfulInteraction` -- `urn:fhir:binding:UCUMUnits` -- `urn:fhir:binding:UDIEntryType` -- `urn:fhir:binding:Use` -- `urn:fhir:binding:VaccineCode` -- `urn:fhir:binding:VariableType` -- `urn:fhir:binding:VisionBase` -- `urn:fhir:binding:VisionEyes` -- `urn:fhir:binding:VisionProduct` -- `urn:fhir:binding:VisionStatus` -- `urn:fhir:binding:XPathUsageType` -- `urn:fhir:binding:appointment-type` -- `urn:fhir:binding:can-push-updates` -- `urn:fhir:binding:cancelation-reason` -- `urn:fhir:binding:chromosome-human` -- `urn:fhir:binding:communication-method` -- `urn:fhir:binding:endpoint-contype` -- `urn:fhir:binding:failure-action` -- `urn:fhir:binding:messageheader-response-request` -- `urn:fhir:binding:need` -- `urn:fhir:binding:orientationType` -- `urn:fhir:binding:primary-source-type` -- `urn:fhir:binding:push-type-available` -- `urn:fhir:binding:qualityMethod` -- `urn:fhir:binding:qualityStandardSequence` -- `urn:fhir:binding:qualityType` -- `urn:fhir:binding:repositoryType` -- `urn:fhir:binding:sequenceReference` -- `urn:fhir:binding:sequenceType` -- `urn:fhir:binding:service-category` -- `urn:fhir:binding:service-specialty` -- `urn:fhir:binding:service-type` -- `urn:fhir:binding:sopClass` -- `urn:fhir:binding:specialty` -- `urn:fhir:binding:status` -- `urn:fhir:binding:strandType` -- `urn:fhir:binding:v3Act` -- `urn:fhir:binding:validation-process` -- `urn:fhir:binding:validation-status` -- `urn:fhir:binding:validation-type` - -## Schema Collisions - -The following canonicals have multiple schema versions with different content. -To inspect collision versions, export TypeSchemas using `.introspection({ typeSchemas: 'path' })` -and check `/collisions//1.json, 2.json, ...` files. - -### `shared` - -- `urn:fhir:binding:CommunicationReason` (2 versions) - - Version 1 (auto): Communication (hl7.fhir.r4.core#4.0.1) - - Version 2: CommunicationRequest (hl7.fhir.r4.core#4.0.1) -- `urn:fhir:binding:ObservationCategory` (2 versions) - - Version 1 (auto): Observation (hl7.fhir.r4.core#4.0.1), vitalsigns (hl7.fhir.r4.core#4.0.1) - - Version 2: ObservationDefinition (hl7.fhir.r4.core#4.0.1) -- `urn:fhir:binding:ObservationRangeMeaning` (2 versions) - - Version 1 (auto): cholesterol (hl7.fhir.r4.core#4.0.1), hdlcholesterol (hl7.fhir.r4.core#4.0.1), ldlcholesterol (hl7.fhir.r4.core#4.0.1), Observation (hl7.fhir.r4.core#4.0.1), triglyceride (hl7.fhir.r4.core#4.0.1) - - Version 2: ObservationDefinition (hl7.fhir.r4.core#4.0.1) -- `urn:fhir:binding:PaymentType` (2 versions) - - Version 1 (auto): ClaimResponse (hl7.fhir.r4.core#4.0.1), ExplanationOfBenefit (hl7.fhir.r4.core#4.0.1) - - Version 2: PaymentReconciliation (hl7.fhir.r4.core#4.0.1) -- `urn:fhir:binding:ProcessPriority` (2 versions) - - Version 1 (auto): Claim (hl7.fhir.r4.core#4.0.1), CoverageEligibilityRequest (hl7.fhir.r4.core#4.0.1) - - Version 2: ExplanationOfBenefit (hl7.fhir.r4.core#4.0.1) -- `urn:fhir:binding:TargetDisease` (2 versions) - - Version 1 (auto): Immunization (hl7.fhir.r4.core#4.0.1) - - Version 2: ImmunizationRecommendation (hl7.fhir.r4.core#4.0.1) - -### Suggested `resolveCollisions` config - -Add to `.typeSchema({ resolveCollisions: { ... } })` to resolve remaining collisions: - -```typescript -.typeSchema({ - resolveCollisions: { - "urn:fhir:binding:CommunicationReason": { - package: "hl7.fhir.r4.core#4.0.1", - canonical: "http://hl7.org/fhir/StructureDefinition/Communication", - }, - "urn:fhir:binding:ObservationCategory": { - package: "hl7.fhir.r4.core#4.0.1", - canonical: "http://hl7.org/fhir/StructureDefinition/Observation", - }, - "urn:fhir:binding:ObservationRangeMeaning": { - package: "hl7.fhir.r4.core#4.0.1", - canonical: "http://hl7.org/fhir/StructureDefinition/cholesterol", - }, - "urn:fhir:binding:PaymentType": { - package: "hl7.fhir.r4.core#4.0.1", - canonical: "http://hl7.org/fhir/StructureDefinition/ClaimResponse", - }, - "urn:fhir:binding:ProcessPriority": { - package: "hl7.fhir.r4.core#4.0.1", - canonical: "http://hl7.org/fhir/StructureDefinition/Claim", - }, - "urn:fhir:binding:TargetDisease": { - package: "hl7.fhir.r4.core#4.0.1", - canonical: "http://hl7.org/fhir/StructureDefinition/Immunization", - }, - }, -}) -``` diff --git a/examples/python-extension-example/fhir_types/__init__.py b/examples/python-extension-example/fhir_types/__init__.py deleted file mode 100644 index 21844fe8c..000000000 --- a/examples/python-extension-example/fhir_types/__init__.py +++ /dev/null @@ -1,78 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from fhir_types.hl7_fhir_r4_core.base import (\ - Address, Age, Annotation, Attachment, BackboneElement, CodeableConcept, Coding, ContactDetail, ContactPoint, \ - Contributor, Count, DataRequirement, Distance, Dosage, Duration, Element, Expression, Extension, HumanName, \ - Identifier, Meta, Money, Narrative, ParameterDefinition, Period, Quantity, Range, Ratio, Reference, RelatedArtifact, \ - SampledData, Signature, Timing, TriggerDefinition, UsageContext -) - -from fhir_types.hl7_fhir_r4_core.bundle import (\ - Bundle, BundleEntry, BundleEntryRequest, BundleEntryResponse, BundleEntrySearch, BundleLink -) -from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource -from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily -from fhir_types.hl7_fhir_r4_core.observation import (\ - Observation, ObservationComponent, ObservationReferenceRange -) -from fhir_types.hl7_fhir_r4_core.operation_outcome import OperationOutcome, OperationOutcomeIssue -from fhir_types.hl7_fhir_r4_core.patient import (\ - Patient, PatientCommunication, PatientContact, PatientLink -) -from fhir_types.hl7_fhir_r4_core.resource import Resource -from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily - -Address.model_rebuild() -Age.model_rebuild() -Annotation.model_rebuild() -Attachment.model_rebuild() -BackboneElement.model_rebuild() -Bundle.model_rebuild() -BundleEntry.model_rebuild() -BundleEntryRequest.model_rebuild() -BundleEntryResponse.model_rebuild() -BundleEntrySearch.model_rebuild() -BundleLink.model_rebuild() -CodeableConcept.model_rebuild() -Coding.model_rebuild() -ContactDetail.model_rebuild() -ContactPoint.model_rebuild() -Contributor.model_rebuild() -Count.model_rebuild() -DataRequirement.model_rebuild() -Distance.model_rebuild() -DomainResource.model_rebuild() -Dosage.model_rebuild() -Duration.model_rebuild() -Element.model_rebuild() -Expression.model_rebuild() -Extension.model_rebuild() -HumanName.model_rebuild() -Identifier.model_rebuild() -Meta.model_rebuild() -Money.model_rebuild() -Narrative.model_rebuild() -Observation.model_rebuild() -ObservationComponent.model_rebuild() -ObservationReferenceRange.model_rebuild() -OperationOutcome.model_rebuild() -OperationOutcomeIssue.model_rebuild() -ParameterDefinition.model_rebuild() -Patient.model_rebuild() -PatientCommunication.model_rebuild() -PatientContact.model_rebuild() -PatientLink.model_rebuild() -Period.model_rebuild() -Quantity.model_rebuild() -Range.model_rebuild() -Ratio.model_rebuild() -Reference.model_rebuild() -RelatedArtifact.model_rebuild() -Resource.model_rebuild() -SampledData.model_rebuild() -Signature.model_rebuild() -Timing.model_rebuild() -TriggerDefinition.model_rebuild() -UsageContext.model_rebuild() diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py deleted file mode 100644 index 50763e0ed..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/__init__.py +++ /dev/null @@ -1,80 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from fhir_types.hl7_fhir_r4_core.base import (\ - Address, Age, Annotation, Attachment, BackboneElement, CodeableConcept, Coding, ContactDetail, ContactPoint, \ - Contributor, Count, DataRequirement, Distance, Dosage, Duration, Element, Expression, Extension, HumanName, \ - Identifier, Meta, Money, Narrative, ParameterDefinition, Period, Quantity, Range, Ratio, Reference, RelatedArtifact, \ - SampledData, Signature, Timing, TriggerDefinition, UsageContext -) - -from fhir_types.hl7_fhir_r4_core.bundle import (\ - Bundle, BundleEntry, BundleEntryRequest, BundleEntryResponse, BundleEntrySearch, BundleLink -) -from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource -from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily -from fhir_types.hl7_fhir_r4_core.observation import (\ - Observation, ObservationComponent, ObservationReferenceRange -) -from fhir_types.hl7_fhir_r4_core.operation_outcome import OperationOutcome, OperationOutcomeIssue -from fhir_types.hl7_fhir_r4_core.patient import (\ - Patient, PatientCommunication, PatientContact, PatientLink -) -from fhir_types.hl7_fhir_r4_core.resource import Resource -from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily - -__all__ = [ - 'Address', - 'Age', - 'Annotation', - 'Attachment', - 'BackboneElement', - 'Bundle', - 'BundleEntry', - 'BundleEntryRequest', - 'BundleEntryResponse', - 'BundleEntrySearch', - 'BundleLink', - 'CodeableConcept', - 'Coding', - 'ContactDetail', - 'ContactPoint', - 'Contributor', - 'Count', - 'DataRequirement', - 'Distance', - 'DomainResource', - 'Dosage', - 'Duration', - 'Element', - 'Expression', - 'Extension', - 'HumanName', - 'Identifier', - 'Meta', - 'Money', - 'Narrative', - 'Observation', - 'ObservationComponent', - 'ObservationReferenceRange', - 'OperationOutcome', - 'OperationOutcomeIssue', - 'ParameterDefinition', - 'Patient', - 'PatientCommunication', - 'PatientContact', - 'PatientLink', - 'Period', - 'Quantity', - 'Range', - 'Ratio', - 'Reference', - 'RelatedArtifact', - 'Resource', - 'SampledData', - 'Signature', - 'Timing', - 'TriggerDefinition', - 'UsageContext', -] diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py deleted file mode 100644 index 50cb6ce07..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/base.py +++ /dev/null @@ -1,533 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from __future__ import annotations -from pydantic import BaseModel, ConfigDict, Field, PositiveInt -from typing import Generic, List as PyList, Literal -from typing_extensions import TypeVar - -T = TypeVar('T', bound=str, default=str) - - -class Element(BaseModel): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - extension: PyList[Extension] | None = Field(None, alias="extension", serialization_alias="extension") - id: str | None = Field(None, alias="id", serialization_alias="id") - id_extension: Element | None = Field(None, alias="_id", serialization_alias="_id") - - -class Address(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - city: str | None = Field(None, alias="city", serialization_alias="city") - city_extension: Element | None = Field(None, alias="_city", serialization_alias="_city") - country: str | None = Field(None, alias="country", serialization_alias="country") - country_extension: Element | None = Field(None, alias="_country", serialization_alias="_country") - district: str | None = Field(None, alias="district", serialization_alias="district") - district_extension: Element | None = Field(None, alias="_district", serialization_alias="_district") - line: PyList[str] | None = Field(None, alias="line", serialization_alias="line") - line_extension: PyList[Element | None] | None = Field(None, alias="_line", serialization_alias="_line") - period: Period | None = Field(None, alias="period", serialization_alias="period") - postal_code: str | None = Field(None, alias="postalCode", serialization_alias="postalCode") - postal_code_extension: Element | None = Field(None, alias="_postalCode", serialization_alias="_postalCode") - state: str | None = Field(None, alias="state", serialization_alias="state") - state_extension: Element | None = Field(None, alias="_state", serialization_alias="_state") - text: str | None = Field(None, alias="text", serialization_alias="text") - text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") - type: Literal["postal", "physical", "both"] | None = Field(None, alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - use: Literal["home", "work", "temp", "old", "billing"] | None = Field(None, alias="use", serialization_alias="use") - use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") - - -class Quantity(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code: str | None = Field(None, alias="code", serialization_alias="code") - code_extension: Element | None = Field(None, alias="_code", serialization_alias="_code") - comparator: Literal["<", "<=", ">=", ">"] | None = Field(None, alias="comparator", serialization_alias="comparator") - comparator_extension: Element | None = Field(None, alias="_comparator", serialization_alias="_comparator") - system: str | None = Field(None, alias="system", serialization_alias="system") - system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") - unit: str | None = Field(None, alias="unit", serialization_alias="unit") - unit_extension: Element | None = Field(None, alias="_unit", serialization_alias="_unit") - value: float | None = Field(None, alias="value", serialization_alias="value") - value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") - - -class Age(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - pass - - -class Annotation(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - author_reference: Reference | None = Field(None, alias="authorReference", serialization_alias="authorReference") - author_string: str | None = Field(None, alias="authorString", serialization_alias="authorString") - author_string_extension: Element | None = Field(None, alias="_authorString", serialization_alias="_authorString") - text: str = Field(alias="text", serialization_alias="text") - text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") - time: str | None = Field(None, alias="time", serialization_alias="time") - time_extension: Element | None = Field(None, alias="_time", serialization_alias="_time") - - -class Attachment(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - content_type: str | None = Field(None, alias="contentType", serialization_alias="contentType") - content_type_extension: Element | None = Field(None, alias="_contentType", serialization_alias="_contentType") - creation: str | None = Field(None, alias="creation", serialization_alias="creation") - creation_extension: Element | None = Field(None, alias="_creation", serialization_alias="_creation") - data: str | None = Field(None, alias="data", serialization_alias="data") - data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") - hash: str | None = Field(None, alias="hash", serialization_alias="hash") - hash_extension: Element | None = Field(None, alias="_hash", serialization_alias="_hash") - language: str | None = Field(None, alias="language", serialization_alias="language") - language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") - size: int | None = Field(None, alias="size", serialization_alias="size") - size_extension: Element | None = Field(None, alias="_size", serialization_alias="_size") - title: str | None = Field(None, alias="title", serialization_alias="title") - title_extension: Element | None = Field(None, alias="_title", serialization_alias="_title") - url: str | None = Field(None, alias="url", serialization_alias="url") - url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") - - -class BackboneElement(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - modifier_extension: PyList[Extension] | None = Field(None, alias="modifierExtension", serialization_alias="modifierExtension") - - -class CodeableConcept(Element, Generic[T]): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - coding: PyList[Coding[T]] | None = Field(None, alias="coding", serialization_alias="coding") - text: str | None = Field(None, alias="text", serialization_alias="text") - text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") - - -class Coding(Element, Generic[T]): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code: T | None = Field(None, alias="code", serialization_alias="code") - code_extension: Element | None = Field(None, alias="_code", serialization_alias="_code") - display: str | None = Field(None, alias="display", serialization_alias="display") - display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") - system: str | None = Field(None, alias="system", serialization_alias="system") - system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") - user_selected: bool | None = Field(None, alias="userSelected", serialization_alias="userSelected") - user_selected_extension: Element | None = Field(None, alias="_userSelected", serialization_alias="_userSelected") - version: str | None = Field(None, alias="version", serialization_alias="version") - version_extension: Element | None = Field(None, alias="_version", serialization_alias="_version") - - -class ContactDetail(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - name: str | None = Field(None, alias="name", serialization_alias="name") - name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") - telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") - - -class ContactPoint(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - period: Period | None = Field(None, alias="period", serialization_alias="period") - rank: PositiveInt | None = Field(None, alias="rank", serialization_alias="rank") - rank_extension: Element | None = Field(None, alias="_rank", serialization_alias="_rank") - system: Literal["phone", "fax", "email", "pager", "url", "sms", "other"] | None = Field(None, alias="system", serialization_alias="system") - system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") - use: Literal["home", "work", "temp", "old", "mobile"] | None = Field(None, alias="use", serialization_alias="use") - use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") - value: str | None = Field(None, alias="value", serialization_alias="value") - value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") - - -class Contributor(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - contact: PyList[ContactDetail] | None = Field(None, alias="contact", serialization_alias="contact") - name: str = Field(alias="name", serialization_alias="name") - name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") - type: Literal["author", "editor", "reviewer", "endorser"] = Field(alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - - -class Count(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - pass - - -class DataRequirementCodeFilter(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code: PyList[Coding] | None = Field(None, alias="code", serialization_alias="code") - path: str | None = Field(None, alias="path", serialization_alias="path") - search_param: str | None = Field(None, alias="searchParam", serialization_alias="searchParam") - value_set: str | None = Field(None, alias="valueSet", serialization_alias="valueSet") - -class DataRequirementDateFilter(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - path: str | None = Field(None, alias="path", serialization_alias="path") - search_param: str | None = Field(None, alias="searchParam", serialization_alias="searchParam") - value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") - value_duration: Duration | None = Field(None, alias="valueDuration", serialization_alias="valueDuration") - value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") - -class DataRequirementSort(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - direction: Literal["ascending", "descending"] = Field(alias="direction", serialization_alias="direction") - path: str = Field(alias="path", serialization_alias="path") - - -class DataRequirement(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code_filter: PyList[DataRequirementCodeFilter] | None = Field(None, alias="codeFilter", serialization_alias="codeFilter") - date_filter: PyList[DataRequirementDateFilter] | None = Field(None, alias="dateFilter", serialization_alias="dateFilter") - limit: PositiveInt | None = Field(None, alias="limit", serialization_alias="limit") - limit_extension: Element | None = Field(None, alias="_limit", serialization_alias="_limit") - must_support: PyList[str] | None = Field(None, alias="mustSupport", serialization_alias="mustSupport") - must_support_extension: PyList[Element | None] | None = Field(None, alias="_mustSupport", serialization_alias="_mustSupport") - profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") - profile_extension: PyList[Element | None] | None = Field(None, alias="_profile", serialization_alias="_profile") - sort: PyList[DataRequirementSort] | None = Field(None, alias="sort", serialization_alias="sort") - subject_codeable_concept: CodeableConcept | None = Field(None, alias="subjectCodeableConcept", serialization_alias="subjectCodeableConcept") - subject_reference: Reference | None = Field(None, alias="subjectReference", serialization_alias="subjectReference") - type: str = Field(alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - - -class Distance(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - pass - - -class DosageDoseAndRate(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - dose_quantity: Quantity | None = Field(None, alias="doseQuantity", serialization_alias="doseQuantity") - dose_range: Range | None = Field(None, alias="doseRange", serialization_alias="doseRange") - rate_quantity: Quantity | None = Field(None, alias="rateQuantity", serialization_alias="rateQuantity") - rate_range: Range | None = Field(None, alias="rateRange", serialization_alias="rateRange") - rate_ratio: Ratio | None = Field(None, alias="rateRatio", serialization_alias="rateRatio") - type: CodeableConcept | None = Field(None, alias="type", serialization_alias="type") - - -class Dosage(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - additional_instruction: PyList[CodeableConcept] | None = Field(None, alias="additionalInstruction", serialization_alias="additionalInstruction") - as_needed_boolean: bool | None = Field(None, alias="asNeededBoolean", serialization_alias="asNeededBoolean") - as_needed_boolean_extension: Element | None = Field(None, alias="_asNeededBoolean", serialization_alias="_asNeededBoolean") - as_needed_codeable_concept: CodeableConcept | None = Field(None, alias="asNeededCodeableConcept", serialization_alias="asNeededCodeableConcept") - dose_and_rate: PyList[DosageDoseAndRate] | None = Field(None, alias="doseAndRate", serialization_alias="doseAndRate") - max_dose_per_administration: Quantity | None = Field(None, alias="maxDosePerAdministration", serialization_alias="maxDosePerAdministration") - max_dose_per_lifetime: Quantity | None = Field(None, alias="maxDosePerLifetime", serialization_alias="maxDosePerLifetime") - max_dose_per_period: Ratio | None = Field(None, alias="maxDosePerPeriod", serialization_alias="maxDosePerPeriod") - method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") - patient_instruction: str | None = Field(None, alias="patientInstruction", serialization_alias="patientInstruction") - patient_instruction_extension: Element | None = Field(None, alias="_patientInstruction", serialization_alias="_patientInstruction") - route: CodeableConcept | None = Field(None, alias="route", serialization_alias="route") - sequence: int | None = Field(None, alias="sequence", serialization_alias="sequence") - sequence_extension: Element | None = Field(None, alias="_sequence", serialization_alias="_sequence") - site: CodeableConcept | None = Field(None, alias="site", serialization_alias="site") - text: str | None = Field(None, alias="text", serialization_alias="text") - text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") - timing: Timing | None = Field(None, alias="timing", serialization_alias="timing") - - -class Duration(Quantity): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - pass - - -class Expression(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - description: str | None = Field(None, alias="description", serialization_alias="description") - description_extension: Element | None = Field(None, alias="_description", serialization_alias="_description") - expression: str | None = Field(None, alias="expression", serialization_alias="expression") - expression_extension: Element | None = Field(None, alias="_expression", serialization_alias="_expression") - language: str = Field(alias="language", serialization_alias="language") - language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") - name: str | None = Field(None, alias="name", serialization_alias="name") - name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") - reference: str | None = Field(None, alias="reference", serialization_alias="reference") - reference_extension: Element | None = Field(None, alias="_reference", serialization_alias="_reference") - - -class Extension(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - url: str = Field(alias="url", serialization_alias="url") - url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") - value_address: Address | None = Field(None, alias="valueAddress", serialization_alias="valueAddress") - value_age: Age | None = Field(None, alias="valueAge", serialization_alias="valueAge") - value_annotation: Annotation | None = Field(None, alias="valueAnnotation", serialization_alias="valueAnnotation") - value_attachment: Attachment | None = Field(None, alias="valueAttachment", serialization_alias="valueAttachment") - value_base64binary: str | None = Field(None, alias="valueBase64Binary", serialization_alias="valueBase64Binary") - value_base64binary_extension: Element | None = Field(None, alias="_valueBase64Binary", serialization_alias="_valueBase64Binary") - value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") - value_boolean_extension: Element | None = Field(None, alias="_valueBoolean", serialization_alias="_valueBoolean") - value_canonical: str | None = Field(None, alias="valueCanonical", serialization_alias="valueCanonical") - value_canonical_extension: Element | None = Field(None, alias="_valueCanonical", serialization_alias="_valueCanonical") - value_code: str | None = Field(None, alias="valueCode", serialization_alias="valueCode") - value_code_extension: Element | None = Field(None, alias="_valueCode", serialization_alias="_valueCode") - value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") - value_coding: Coding | None = Field(None, alias="valueCoding", serialization_alias="valueCoding") - value_contact_detail: ContactDetail | None = Field(None, alias="valueContactDetail", serialization_alias="valueContactDetail") - value_contact_point: ContactPoint | None = Field(None, alias="valueContactPoint", serialization_alias="valueContactPoint") - value_contributor: Contributor | None = Field(None, alias="valueContributor", serialization_alias="valueContributor") - value_count: Count | None = Field(None, alias="valueCount", serialization_alias="valueCount") - value_data_requirement: DataRequirement | None = Field(None, alias="valueDataRequirement", serialization_alias="valueDataRequirement") - value_date: str | None = Field(None, alias="valueDate", serialization_alias="valueDate") - value_date_extension: Element | None = Field(None, alias="_valueDate", serialization_alias="_valueDate") - value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") - value_date_time_extension: Element | None = Field(None, alias="_valueDateTime", serialization_alias="_valueDateTime") - value_decimal: float | None = Field(None, alias="valueDecimal", serialization_alias="valueDecimal") - value_decimal_extension: Element | None = Field(None, alias="_valueDecimal", serialization_alias="_valueDecimal") - value_distance: Distance | None = Field(None, alias="valueDistance", serialization_alias="valueDistance") - value_dosage: Dosage | None = Field(None, alias="valueDosage", serialization_alias="valueDosage") - value_duration: Duration | None = Field(None, alias="valueDuration", serialization_alias="valueDuration") - value_expression: Expression | None = Field(None, alias="valueExpression", serialization_alias="valueExpression") - value_human_name: HumanName | None = Field(None, alias="valueHumanName", serialization_alias="valueHumanName") - value_id: str | None = Field(None, alias="valueId", serialization_alias="valueId") - value_id_extension: Element | None = Field(None, alias="_valueId", serialization_alias="_valueId") - value_identifier: Identifier | None = Field(None, alias="valueIdentifier", serialization_alias="valueIdentifier") - value_instant: str | None = Field(None, alias="valueInstant", serialization_alias="valueInstant") - value_instant_extension: Element | None = Field(None, alias="_valueInstant", serialization_alias="_valueInstant") - value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") - value_integer_extension: Element | None = Field(None, alias="_valueInteger", serialization_alias="_valueInteger") - value_markdown: str | None = Field(None, alias="valueMarkdown", serialization_alias="valueMarkdown") - value_markdown_extension: Element | None = Field(None, alias="_valueMarkdown", serialization_alias="_valueMarkdown") - value_meta: Meta | None = Field(None, alias="valueMeta", serialization_alias="valueMeta") - value_money: Money | None = Field(None, alias="valueMoney", serialization_alias="valueMoney") - value_oid: str | None = Field(None, alias="valueOid", serialization_alias="valueOid") - value_oid_extension: Element | None = Field(None, alias="_valueOid", serialization_alias="_valueOid") - value_parameter_definition: ParameterDefinition | None = Field(None, alias="valueParameterDefinition", serialization_alias="valueParameterDefinition") - value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") - value_positive_int: PositiveInt | None = Field(None, alias="valuePositiveInt", serialization_alias="valuePositiveInt") - value_positive_int_extension: Element | None = Field(None, alias="_valuePositiveInt", serialization_alias="_valuePositiveInt") - value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") - value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") - value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") - value_reference: Reference | None = Field(None, alias="valueReference", serialization_alias="valueReference") - value_related_artifact: RelatedArtifact | None = Field(None, alias="valueRelatedArtifact", serialization_alias="valueRelatedArtifact") - value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") - value_signature: Signature | None = Field(None, alias="valueSignature", serialization_alias="valueSignature") - value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") - value_string_extension: Element | None = Field(None, alias="_valueString", serialization_alias="_valueString") - value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") - value_time_extension: Element | None = Field(None, alias="_valueTime", serialization_alias="_valueTime") - value_timing: Timing | None = Field(None, alias="valueTiming", serialization_alias="valueTiming") - value_trigger_definition: TriggerDefinition | None = Field(None, alias="valueTriggerDefinition", serialization_alias="valueTriggerDefinition") - value_unsigned_int: int | None = Field(None, alias="valueUnsignedInt", serialization_alias="valueUnsignedInt") - value_unsigned_int_extension: Element | None = Field(None, alias="_valueUnsignedInt", serialization_alias="_valueUnsignedInt") - value_uri: str | None = Field(None, alias="valueUri", serialization_alias="valueUri") - value_uri_extension: Element | None = Field(None, alias="_valueUri", serialization_alias="_valueUri") - value_url: str | None = Field(None, alias="valueUrl", serialization_alias="valueUrl") - value_url_extension: Element | None = Field(None, alias="_valueUrl", serialization_alias="_valueUrl") - value_usage_context: UsageContext | None = Field(None, alias="valueUsageContext", serialization_alias="valueUsageContext") - value_uuid: str | None = Field(None, alias="valueUuid", serialization_alias="valueUuid") - value_uuid_extension: Element | None = Field(None, alias="_valueUuid", serialization_alias="_valueUuid") - - -class HumanName(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - family: str | None = Field(None, alias="family", serialization_alias="family") - family_extension: Element | None = Field(None, alias="_family", serialization_alias="_family") - given: PyList[str] | None = Field(None, alias="given", serialization_alias="given") - given_extension: PyList[Element | None] | None = Field(None, alias="_given", serialization_alias="_given") - period: Period | None = Field(None, alias="period", serialization_alias="period") - prefix: PyList[str] | None = Field(None, alias="prefix", serialization_alias="prefix") - prefix_extension: PyList[Element | None] | None = Field(None, alias="_prefix", serialization_alias="_prefix") - suffix: PyList[str] | None = Field(None, alias="suffix", serialization_alias="suffix") - suffix_extension: PyList[Element | None] | None = Field(None, alias="_suffix", serialization_alias="_suffix") - text: str | None = Field(None, alias="text", serialization_alias="text") - text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") - use: Literal["usual", "official", "temp", "nickname", "anonymous", "old", "maiden"] | None = Field(None, alias="use", serialization_alias="use") - use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") - - -class Identifier(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - assigner: Reference | None = Field(None, alias="assigner", serialization_alias="assigner") - period: Period | None = Field(None, alias="period", serialization_alias="period") - system: str | None = Field(None, alias="system", serialization_alias="system") - system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") - type: CodeableConcept[Literal["DL", "PPN", "BRN", "MR", "MCN", "EN", "TAX", "NIIP", "PRN", "MD", "DR", "ACSN", "UDI", "SNO", "SB", "PLAC", "FILL", "JHN"] | str] | None = Field(None, alias="type", serialization_alias="type") - use: Literal["usual", "official", "temp", "secondary", "old"] | None = Field(None, alias="use", serialization_alias="use") - use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") - value: str | None = Field(None, alias="value", serialization_alias="value") - value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") - - -class Meta(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - last_updated: str | None = Field(None, alias="lastUpdated", serialization_alias="lastUpdated") - last_updated_extension: Element | None = Field(None, alias="_lastUpdated", serialization_alias="_lastUpdated") - profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") - profile_extension: PyList[Element | None] | None = Field(None, alias="_profile", serialization_alias="_profile") - security: PyList[Coding] | None = Field(None, alias="security", serialization_alias="security") - source: str | None = Field(None, alias="source", serialization_alias="source") - source_extension: Element | None = Field(None, alias="_source", serialization_alias="_source") - tag: PyList[Coding] | None = Field(None, alias="tag", serialization_alias="tag") - version_id: str | None = Field(None, alias="versionId", serialization_alias="versionId") - version_id_extension: Element | None = Field(None, alias="_versionId", serialization_alias="_versionId") - - -class Money(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - currency: str | None = Field(None, alias="currency", serialization_alias="currency") - currency_extension: Element | None = Field(None, alias="_currency", serialization_alias="_currency") - value: float | None = Field(None, alias="value", serialization_alias="value") - value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") - - -class Narrative(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - div: str = Field(alias="div", serialization_alias="div") - div_extension: Element | None = Field(None, alias="_div", serialization_alias="_div") - status: Literal["generated", "extensions", "additional", "empty"] = Field(alias="status", serialization_alias="status") - status_extension: Element | None = Field(None, alias="_status", serialization_alias="_status") - - -class ParameterDefinition(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - documentation: str | None = Field(None, alias="documentation", serialization_alias="documentation") - documentation_extension: Element | None = Field(None, alias="_documentation", serialization_alias="_documentation") - max: str | None = Field(None, alias="max", serialization_alias="max") - max_extension: Element | None = Field(None, alias="_max", serialization_alias="_max") - min: int | None = Field(None, alias="min", serialization_alias="min") - min_extension: Element | None = Field(None, alias="_min", serialization_alias="_min") - name: str | None = Field(None, alias="name", serialization_alias="name") - name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") - profile: str | None = Field(None, alias="profile", serialization_alias="profile") - profile_extension: Element | None = Field(None, alias="_profile", serialization_alias="_profile") - type: str = Field(alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - use: Literal["in", "out"] = Field(alias="use", serialization_alias="use") - use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") - - -class Period(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - end: str | None = Field(None, alias="end", serialization_alias="end") - end_extension: Element | None = Field(None, alias="_end", serialization_alias="_end") - start: str | None = Field(None, alias="start", serialization_alias="start") - start_extension: Element | None = Field(None, alias="_start", serialization_alias="_start") - - -class Range(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - high: Quantity | None = Field(None, alias="high", serialization_alias="high") - low: Quantity | None = Field(None, alias="low", serialization_alias="low") - - -class Ratio(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - denominator: Quantity | None = Field(None, alias="denominator", serialization_alias="denominator") - numerator: Quantity | None = Field(None, alias="numerator", serialization_alias="numerator") - - -class Reference(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - display: str | None = Field(None, alias="display", serialization_alias="display") - display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") - identifier: Identifier | None = Field(None, alias="identifier", serialization_alias="identifier") - reference: str | None = Field(None, alias="reference", serialization_alias="reference") - reference_extension: Element | None = Field(None, alias="_reference", serialization_alias="_reference") - type: str | None = Field(None, alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - - -class RelatedArtifact(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - citation: str | None = Field(None, alias="citation", serialization_alias="citation") - citation_extension: Element | None = Field(None, alias="_citation", serialization_alias="_citation") - display: str | None = Field(None, alias="display", serialization_alias="display") - display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") - document: Attachment | None = Field(None, alias="document", serialization_alias="document") - label: str | None = Field(None, alias="label", serialization_alias="label") - label_extension: Element | None = Field(None, alias="_label", serialization_alias="_label") - resource: str | None = Field(None, alias="resource", serialization_alias="resource") - resource_extension: Element | None = Field(None, alias="_resource", serialization_alias="_resource") - type: Literal["documentation", "justification", "citation", "predecessor", "successor", "derived-from", "depends-on", "composed-of"] = Field(alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - url: str | None = Field(None, alias="url", serialization_alias="url") - url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") - - -class SampledData(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - data: str | None = Field(None, alias="data", serialization_alias="data") - data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") - dimensions: PositiveInt = Field(alias="dimensions", serialization_alias="dimensions") - dimensions_extension: Element | None = Field(None, alias="_dimensions", serialization_alias="_dimensions") - factor: float | None = Field(None, alias="factor", serialization_alias="factor") - factor_extension: Element | None = Field(None, alias="_factor", serialization_alias="_factor") - lower_limit: float | None = Field(None, alias="lowerLimit", serialization_alias="lowerLimit") - lower_limit_extension: Element | None = Field(None, alias="_lowerLimit", serialization_alias="_lowerLimit") - origin: Quantity = Field(alias="origin", serialization_alias="origin") - period: float = Field(alias="period", serialization_alias="period") - period_extension: Element | None = Field(None, alias="_period", serialization_alias="_period") - upper_limit: float | None = Field(None, alias="upperLimit", serialization_alias="upperLimit") - upper_limit_extension: Element | None = Field(None, alias="_upperLimit", serialization_alias="_upperLimit") - - -class Signature(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - data: str | None = Field(None, alias="data", serialization_alias="data") - data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") - on_behalf_of: Reference | None = Field(None, alias="onBehalfOf", serialization_alias="onBehalfOf") - sig_format: str | None = Field(None, alias="sigFormat", serialization_alias="sigFormat") - sig_format_extension: Element | None = Field(None, alias="_sigFormat", serialization_alias="_sigFormat") - target_format: str | None = Field(None, alias="targetFormat", serialization_alias="targetFormat") - target_format_extension: Element | None = Field(None, alias="_targetFormat", serialization_alias="_targetFormat") - type: PyList[Coding[Literal["1.2.840.10065.1.12.1.1", "1.2.840.10065.1.12.1.2", "1.2.840.10065.1.12.1.3", "1.2.840.10065.1.12.1.4", "1.2.840.10065.1.12.1.5", "1.2.840.10065.1.12.1.6", "1.2.840.10065.1.12.1.7", "1.2.840.10065.1.12.1.8", "1.2.840.10065.1.12.1.9", "1.2.840.10065.1.12.1.10", "1.2.840.10065.1.12.1.11", "1.2.840.10065.1.12.1.12", "1.2.840.10065.1.12.1.13", "1.2.840.10065.1.12.1.14", "1.2.840.10065.1.12.1.15", "1.2.840.10065.1.12.1.16", "1.2.840.10065.1.12.1.17", "1.2.840.10065.1.12.1.18"] | str]] = Field(alias="type", serialization_alias="type") - when: str = Field(alias="when", serialization_alias="when") - when_extension: Element | None = Field(None, alias="_when", serialization_alias="_when") - who: Reference = Field(alias="who", serialization_alias="who") - - -class TimingRepeat(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - bounds_duration: Duration | None = Field(None, alias="boundsDuration", serialization_alias="boundsDuration") - bounds_period: Period | None = Field(None, alias="boundsPeriod", serialization_alias="boundsPeriod") - bounds_range: Range | None = Field(None, alias="boundsRange", serialization_alias="boundsRange") - count: PositiveInt | None = Field(None, alias="count", serialization_alias="count") - count_max: PositiveInt | None = Field(None, alias="countMax", serialization_alias="countMax") - day_of_week: PyList[Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"]] | None = Field(None, alias="dayOfWeek", serialization_alias="dayOfWeek") - duration: float | None = Field(None, alias="duration", serialization_alias="duration") - duration_max: float | None = Field(None, alias="durationMax", serialization_alias="durationMax") - duration_unit: Literal["s", "min", "h", "d", "wk", "mo", "a"] | None = Field(None, alias="durationUnit", serialization_alias="durationUnit") - frequency: PositiveInt | None = Field(None, alias="frequency", serialization_alias="frequency") - frequency_max: PositiveInt | None = Field(None, alias="frequencyMax", serialization_alias="frequencyMax") - offset: int | None = Field(None, alias="offset", serialization_alias="offset") - period: float | None = Field(None, alias="period", serialization_alias="period") - period_max: float | None = Field(None, alias="periodMax", serialization_alias="periodMax") - period_unit: Literal["s", "min", "h", "d", "wk", "mo", "a"] | None = Field(None, alias="periodUnit", serialization_alias="periodUnit") - time_of_day: PyList[str] | None = Field(None, alias="timeOfDay", serialization_alias="timeOfDay") - when: PyList[Literal["MORN", "MORN.early", "MORN.late", "NOON", "AFT", "AFT.early", "AFT.late", "EVE", "EVE.early", "EVE.late", "NIGHT", "PHS", "HS", "WAKE", "C", "CM", "CD", "CV", "AC", "ACM", "ACD", "ACV", "PC", "PCM", "PCD", "PCV"]] | None = Field(None, alias="when", serialization_alias="when") - - -class Timing(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code: CodeableConcept[Literal["BID", "TID", "QID", "AM", "PM", "QD", "QOD", "Q1H", "Q2H", "Q3H", "Q4H", "Q6H", "Q8H", "BED", "WK", "MO"] | str] | None = Field(None, alias="code", serialization_alias="code") - event: PyList[str] | None = Field(None, alias="event", serialization_alias="event") - event_extension: PyList[Element | None] | None = Field(None, alias="_event", serialization_alias="_event") - repeat: TimingRepeat | None = Field(None, alias="repeat", serialization_alias="repeat") - - -class TriggerDefinition(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - condition: Expression | None = Field(None, alias="condition", serialization_alias="condition") - data: PyList[DataRequirement] | None = Field(None, alias="data", serialization_alias="data") - name: str | None = Field(None, alias="name", serialization_alias="name") - name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") - timing_date: str | None = Field(None, alias="timingDate", serialization_alias="timingDate") - timing_date_extension: Element | None = Field(None, alias="_timingDate", serialization_alias="_timingDate") - timing_date_time: str | None = Field(None, alias="timingDateTime", serialization_alias="timingDateTime") - timing_date_time_extension: Element | None = Field(None, alias="_timingDateTime", serialization_alias="_timingDateTime") - timing_reference: Reference | None = Field(None, alias="timingReference", serialization_alias="timingReference") - timing_timing: Timing | None = Field(None, alias="timingTiming", serialization_alias="timingTiming") - type: Literal["named-event", "periodic", "data-changed", "data-added", "data-modified", "data-removed", "data-accessed", "data-access-ended"] = Field(alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - - -class UsageContext(Element): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code: Coding[Literal["gender", "age", "focus", "user", "workflow", "task", "venue", "species", "program"] | str] = Field(alias="code", serialization_alias="code") - value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") - value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") - value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") - value_reference: Reference | None = Field(None, alias="valueReference", serialization_alias="valueReference") - - diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py deleted file mode 100644 index ed7c3303f..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/bundle.py +++ /dev/null @@ -1,78 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from __future__ import annotations -from pydantic import BaseModel, ConfigDict, Field, PositiveInt -from typing import List as PyList, Literal - -from fhir_types.hl7_fhir_r4_core.base import BackboneElement, Identifier, Signature -from fhir_types.hl7_fhir_r4_core.resource import Resource -from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily -from fhir_types.hl7_fhir_r4_core.base import Element - - -class BundleEntry(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - full_url: str | None = Field(None, alias="fullUrl", serialization_alias="fullUrl") - link: PyList[BundleLink] | None = Field(None, alias="link", serialization_alias="link") - request: BundleEntryRequest | None = Field(None, alias="request", serialization_alias="request") - resource: ResourceFamily | None = Field(None, alias="resource", serialization_alias="resource") - response: BundleEntryResponse | None = Field(None, alias="response", serialization_alias="response") - search: BundleEntrySearch | None = Field(None, alias="search", serialization_alias="search") - -class BundleEntryRequest(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - if_match: str | None = Field(None, alias="ifMatch", serialization_alias="ifMatch") - if_modified_since: str | None = Field(None, alias="ifModifiedSince", serialization_alias="ifModifiedSince") - if_none_exist: str | None = Field(None, alias="ifNoneExist", serialization_alias="ifNoneExist") - if_none_match: str | None = Field(None, alias="ifNoneMatch", serialization_alias="ifNoneMatch") - method: Literal["GET", "HEAD", "POST", "PUT", "DELETE", "PATCH"] = Field(alias="method", serialization_alias="method") - url: str = Field(alias="url", serialization_alias="url") - -class BundleEntryResponse(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - etag: str | None = Field(None, alias="etag", serialization_alias="etag") - last_modified: str | None = Field(None, alias="lastModified", serialization_alias="lastModified") - location: str | None = Field(None, alias="location", serialization_alias="location") - outcome: ResourceFamily | None = Field(None, alias="outcome", serialization_alias="outcome") - status: str = Field(alias="status", serialization_alias="status") - -class BundleEntrySearch(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - mode: Literal["match", "include", "outcome"] | None = Field(None, alias="mode", serialization_alias="mode") - score: float | None = Field(None, alias="score", serialization_alias="score") - -class BundleLink(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - relation: str = Field(alias="relation", serialization_alias="relation") - url: str = Field(alias="url", serialization_alias="url") - - -class Bundle(Resource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - resource_type: Literal['Bundle'] = Field( - default='Bundle', - alias='resourceType', - serialization_alias='resourceType', - frozen=True, - pattern='Bundle' - ) - entry: PyList[BundleEntry] | None = Field(None, alias="entry", serialization_alias="entry") - identifier: Identifier | None = Field(None, alias="identifier", serialization_alias="identifier") - link: PyList[BundleLink] | None = Field(None, alias="link", serialization_alias="link") - signature: Signature | None = Field(None, alias="signature", serialization_alias="signature") - timestamp: str | None = Field(None, alias="timestamp", serialization_alias="timestamp") - timestamp_extension: Element | None = Field(None, alias="_timestamp", serialization_alias="_timestamp") - total: int | None = Field(None, alias="total", serialization_alias="total") - total_extension: Element | None = Field(None, alias="_total", serialization_alias="_total") - type: Literal["document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"] = Field(alias="type", serialization_alias="type") - type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") - - def to_json(self, indent: int | None = None) -> str: - return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) - - @classmethod - def from_json(cls, json: str) -> Bundle: - return cls.model_validate_json(json) - diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py deleted file mode 100644 index 9b9616e28..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/domain_resource.py +++ /dev/null @@ -1,34 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from __future__ import annotations -from pydantic import BaseModel, ConfigDict, Field, PositiveInt -from typing import List as PyList, Literal - -from fhir_types.hl7_fhir_r4_core.base import Extension, Narrative -from fhir_types.hl7_fhir_r4_core.resource import Resource -from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily - - -class DomainResource(Resource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - resource_type: str = Field( - default='DomainResource', - alias='resourceType', - serialization_alias='resourceType', - frozen=True, - pattern='DomainResource' - ) - contained: PyList[ResourceFamily] | None = Field(None, alias="contained", serialization_alias="contained") - extension: PyList[Extension] | None = Field(None, alias="extension", serialization_alias="extension") - modifier_extension: PyList[Extension] | None = Field(None, alias="modifierExtension", serialization_alias="modifierExtension") - text: Narrative | None = Field(None, alias="text", serialization_alias="text") - - def to_json(self, indent: int | None = None) -> str: - return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) - - @classmethod - def from_json(cls, json: str) -> DomainResource: - return cls.model_validate_json(json) - diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py deleted file mode 100644 index 2c39f5bb7..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/observation.py +++ /dev/null @@ -1,108 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from __future__ import annotations -from pydantic import BaseModel, ConfigDict, Field, PositiveInt -from typing import List as PyList, Literal - -from fhir_types.hl7_fhir_r4_core.base import (\ - Annotation, BackboneElement, CodeableConcept, Identifier, Period, Quantity, Range, Ratio, Reference, SampledData, \ - Timing -) -from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource -from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily -from fhir_types.hl7_fhir_r4_core.base import Element - - -class ObservationComponent(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code: CodeableConcept = Field(alias="code", serialization_alias="code") - data_absent_reason: CodeableConcept[Literal["unknown", "asked-unknown", "temp-unknown", "not-asked", "asked-declined", "masked", "not-applicable", "unsupported", "as-text", "error", "not-a-number", "negative-infinity", "positive-infinity", "not-performed", "not-permitted"] | str] | None = Field(None, alias="dataAbsentReason", serialization_alias="dataAbsentReason") - interpretation: PyList[CodeableConcept[Literal["_GeneticObservationInterpretation", "CAR", "Carrier", "_ObservationInterpretationChange", "B", "D", "U", "W", "_ObservationInterpretationExceptions", "<", ">", "AC", "IE", "QCF", "TOX", "_ObservationInterpretationNormality", "A", "AA", "HH", "LL", "H", "H>", "HU", "L", "L<", "LU", "N", "_ObservationInterpretationSusceptibility", "I", "MS", "NCL", "NS", "R", "SYN-R", "S", "SDD", "SYN-S", "VS", "EX", "HX", "LX", "HM", "ObservationInterpretationDetection", "IND", "E", "NEG", "ND", "POS", "DET", "ObservationInterpretationExpectation", "EXP", "UNE", "OBX", "ReactivityObservationInterpretation", "NR", "RR", "WR"] | str]] | None = Field(None, alias="interpretation", serialization_alias="interpretation") - reference_range: PyList[ObservationReferenceRange] | None = Field(None, alias="referenceRange", serialization_alias="referenceRange") - value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") - value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") - value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") - value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") - value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") - value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") - value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") - value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") - value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") - value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") - value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") - -class ObservationReferenceRange(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - age: Range | None = Field(None, alias="age", serialization_alias="age") - applies_to: PyList[CodeableConcept] | None = Field(None, alias="appliesTo", serialization_alias="appliesTo") - high: Quantity | None = Field(None, alias="high", serialization_alias="high") - low: Quantity | None = Field(None, alias="low", serialization_alias="low") - text: str | None = Field(None, alias="text", serialization_alias="text") - type: CodeableConcept[Literal["type", "normal", "recommended", "treatment", "therapeutic", "pre", "post", "endocrine", "pre-puberty", "follicular", "midcycle", "luteal", "postmenopausal"] | str] | None = Field(None, alias="type", serialization_alias="type") - - -class Observation(DomainResource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - resource_type: Literal['Observation'] = Field( - default='Observation', - alias='resourceType', - serialization_alias='resourceType', - frozen=True, - pattern='Observation' - ) - based_on: PyList[Reference] | None = Field(None, alias="basedOn", serialization_alias="basedOn") - body_site: CodeableConcept | None = Field(None, alias="bodySite", serialization_alias="bodySite") - category: PyList[CodeableConcept[Literal["social-history", "vital-signs", "imaging", "laboratory", "procedure", "survey", "exam", "therapy", "activity"] | str]] | None = Field(None, alias="category", serialization_alias="category") - code: CodeableConcept = Field(alias="code", serialization_alias="code") - component: PyList[ObservationComponent] | None = Field(None, alias="component", serialization_alias="component") - data_absent_reason: CodeableConcept[Literal["unknown", "asked-unknown", "temp-unknown", "not-asked", "asked-declined", "masked", "not-applicable", "unsupported", "as-text", "error", "not-a-number", "negative-infinity", "positive-infinity", "not-performed", "not-permitted"] | str] | None = Field(None, alias="dataAbsentReason", serialization_alias="dataAbsentReason") - derived_from: PyList[Reference] | None = Field(None, alias="derivedFrom", serialization_alias="derivedFrom") - device: Reference | None = Field(None, alias="device", serialization_alias="device") - effective_date_time: str | None = Field(None, alias="effectiveDateTime", serialization_alias="effectiveDateTime") - effective_date_time_extension: Element | None = Field(None, alias="_effectiveDateTime", serialization_alias="_effectiveDateTime") - effective_instant: str | None = Field(None, alias="effectiveInstant", serialization_alias="effectiveInstant") - effective_instant_extension: Element | None = Field(None, alias="_effectiveInstant", serialization_alias="_effectiveInstant") - effective_period: Period | None = Field(None, alias="effectivePeriod", serialization_alias="effectivePeriod") - effective_timing: Timing | None = Field(None, alias="effectiveTiming", serialization_alias="effectiveTiming") - encounter: Reference | None = Field(None, alias="encounter", serialization_alias="encounter") - focus: PyList[Reference] | None = Field(None, alias="focus", serialization_alias="focus") - has_member: PyList[Reference] | None = Field(None, alias="hasMember", serialization_alias="hasMember") - identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") - interpretation: PyList[CodeableConcept[Literal["_GeneticObservationInterpretation", "CAR", "Carrier", "_ObservationInterpretationChange", "B", "D", "U", "W", "_ObservationInterpretationExceptions", "<", ">", "AC", "IE", "QCF", "TOX", "_ObservationInterpretationNormality", "A", "AA", "HH", "LL", "H", "H>", "HU", "L", "L<", "LU", "N", "_ObservationInterpretationSusceptibility", "I", "MS", "NCL", "NS", "R", "SYN-R", "S", "SDD", "SYN-S", "VS", "EX", "HX", "LX", "HM", "ObservationInterpretationDetection", "IND", "E", "NEG", "ND", "POS", "DET", "ObservationInterpretationExpectation", "EXP", "UNE", "OBX", "ReactivityObservationInterpretation", "NR", "RR", "WR"] | str]] | None = Field(None, alias="interpretation", serialization_alias="interpretation") - issued: str | None = Field(None, alias="issued", serialization_alias="issued") - issued_extension: Element | None = Field(None, alias="_issued", serialization_alias="_issued") - method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") - note: PyList[Annotation] | None = Field(None, alias="note", serialization_alias="note") - part_of: PyList[Reference] | None = Field(None, alias="partOf", serialization_alias="partOf") - performer: PyList[Reference] | None = Field(None, alias="performer", serialization_alias="performer") - reference_range: PyList[ObservationReferenceRange] | None = Field(None, alias="referenceRange", serialization_alias="referenceRange") - specimen: Reference | None = Field(None, alias="specimen", serialization_alias="specimen") - status: Literal["registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown"] = Field(alias="status", serialization_alias="status") - status_extension: Element | None = Field(None, alias="_status", serialization_alias="_status") - subject: Reference | None = Field(None, alias="subject", serialization_alias="subject") - value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") - value_boolean_extension: Element | None = Field(None, alias="_valueBoolean", serialization_alias="_valueBoolean") - value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") - value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") - value_date_time_extension: Element | None = Field(None, alias="_valueDateTime", serialization_alias="_valueDateTime") - value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") - value_integer_extension: Element | None = Field(None, alias="_valueInteger", serialization_alias="_valueInteger") - value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") - value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") - value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") - value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") - value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") - value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") - value_string_extension: Element | None = Field(None, alias="_valueString", serialization_alias="_valueString") - value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") - value_time_extension: Element | None = Field(None, alias="_valueTime", serialization_alias="_valueTime") - - def to_json(self, indent: int | None = None) -> str: - return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) - - @classmethod - def from_json(cls, json: str) -> Observation: - return cls.model_validate_json(json) - diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py deleted file mode 100644 index bbecb0bf3..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/operation_outcome.py +++ /dev/null @@ -1,41 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from __future__ import annotations -from pydantic import BaseModel, ConfigDict, Field, PositiveInt -from typing import List as PyList, Literal - -from fhir_types.hl7_fhir_r4_core.base import BackboneElement, CodeableConcept -from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource -from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily - - -class OperationOutcomeIssue(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - code: Literal["invalid", "structure", "required", "value", "invariant", "security", "login", "unknown", "expired", "forbidden", "suppressed", "processing", "not-supported", "duplicate", "multiple-matches", "not-found", "deleted", "too-long", "code-invalid", "extension", "too-costly", "business-rule", "conflict", "transient", "lock-error", "no-store", "exception", "timeout", "incomplete", "throttled", "informational"] = Field(alias="code", serialization_alias="code") - details: CodeableConcept | None = Field(None, alias="details", serialization_alias="details") - diagnostics: str | None = Field(None, alias="diagnostics", serialization_alias="diagnostics") - expression: PyList[str] | None = Field(None, alias="expression", serialization_alias="expression") - location: PyList[str] | None = Field(None, alias="location", serialization_alias="location") - severity: Literal["fatal", "error", "warning", "information"] = Field(alias="severity", serialization_alias="severity") - - -class OperationOutcome(DomainResource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - resource_type: Literal['OperationOutcome'] = Field( - default='OperationOutcome', - alias='resourceType', - serialization_alias='resourceType', - frozen=True, - pattern='OperationOutcome' - ) - issue: PyList[OperationOutcomeIssue] = Field(alias="issue", serialization_alias="issue") - - def to_json(self, indent: int | None = None) -> str: - return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) - - @classmethod - def from_json(cls, json: str) -> OperationOutcome: - return cls.model_validate_json(json) - diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py deleted file mode 100644 index fb719082c..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/patient.py +++ /dev/null @@ -1,79 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from __future__ import annotations -from pydantic import BaseModel, ConfigDict, Field, PositiveInt -from typing import List as PyList, Literal - -from fhir_types.hl7_fhir_r4_core.base import (\ - Address, Attachment, BackboneElement, CodeableConcept, ContactPoint, HumanName, Identifier, Period, Reference -) -from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource -from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily -from fhir_types.hl7_fhir_r4_core.base import Element - - -class PatientCommunication(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - language: CodeableConcept[Literal["ar", "bn", "cs", "da", "de", "de-AT", "de-CH", "de-DE", "el", "en", "en-AU", "en-CA", "en-GB", "en-IN", "en-NZ", "en-SG", "en-US", "es", "es-AR", "es-ES", "es-UY", "fi", "fr", "fr-BE", "fr-CH", "fr-FR", "fy", "fy-NL", "hi", "hr", "it", "it-CH", "it-IT", "ja", "ko", "nl", "nl-BE", "nl-NL", "no", "no-NO", "pa", "pl", "pt", "pt-BR", "ru", "ru-RU", "sr", "sr-RS", "sv", "sv-SE", "te", "zh", "zh-CN", "zh-HK", "zh-SG", "zh-TW"] | str] = Field(alias="language", serialization_alias="language") - preferred: bool | None = Field(None, alias="preferred", serialization_alias="preferred") - -class PatientContact(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - address: Address | None = Field(None, alias="address", serialization_alias="address") - gender: Literal["male", "female", "other", "unknown"] | None = Field(None, alias="gender", serialization_alias="gender") - name: HumanName | None = Field(None, alias="name", serialization_alias="name") - organization: Reference | None = Field(None, alias="organization", serialization_alias="organization") - period: Period | None = Field(None, alias="period", serialization_alias="period") - relationship: PyList[CodeableConcept] | None = Field(None, alias="relationship", serialization_alias="relationship") - telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") - -class PatientLink(BackboneElement): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - other: Reference = Field(alias="other", serialization_alias="other") - type: Literal["replaced-by", "replaces", "refer", "seealso"] = Field(alias="type", serialization_alias="type") - - -class Patient(DomainResource): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - resource_type: Literal['Patient'] = Field( - default='Patient', - alias='resourceType', - serialization_alias='resourceType', - frozen=True, - pattern='Patient' - ) - active: bool | None = Field(None, alias="active", serialization_alias="active") - active_extension: Element | None = Field(None, alias="_active", serialization_alias="_active") - address: PyList[Address] | None = Field(None, alias="address", serialization_alias="address") - birth_date: str | None = Field(None, alias="birthDate", serialization_alias="birthDate") - birth_date_extension: Element | None = Field(None, alias="_birthDate", serialization_alias="_birthDate") - communication: PyList[PatientCommunication] | None = Field(None, alias="communication", serialization_alias="communication") - contact: PyList[PatientContact] | None = Field(None, alias="contact", serialization_alias="contact") - deceased_boolean: bool | None = Field(None, alias="deceasedBoolean", serialization_alias="deceasedBoolean") - deceased_boolean_extension: Element | None = Field(None, alias="_deceasedBoolean", serialization_alias="_deceasedBoolean") - deceased_date_time: str | None = Field(None, alias="deceasedDateTime", serialization_alias="deceasedDateTime") - deceased_date_time_extension: Element | None = Field(None, alias="_deceasedDateTime", serialization_alias="_deceasedDateTime") - gender: Literal["male", "female", "other", "unknown"] | None = Field(None, alias="gender", serialization_alias="gender") - gender_extension: Element | None = Field(None, alias="_gender", serialization_alias="_gender") - general_practitioner: PyList[Reference] | None = Field(None, alias="generalPractitioner", serialization_alias="generalPractitioner") - identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") - link: PyList[PatientLink] | None = Field(None, alias="link", serialization_alias="link") - managing_organization: Reference | None = Field(None, alias="managingOrganization", serialization_alias="managingOrganization") - marital_status: CodeableConcept[Literal["A", "D", "I", "L", "M", "P", "S", "T", "U", "W", "UNK"] | str] | None = Field(None, alias="maritalStatus", serialization_alias="maritalStatus") - multiple_birth_boolean: bool | None = Field(None, alias="multipleBirthBoolean", serialization_alias="multipleBirthBoolean") - multiple_birth_boolean_extension: Element | None = Field(None, alias="_multipleBirthBoolean", serialization_alias="_multipleBirthBoolean") - multiple_birth_integer: int | None = Field(None, alias="multipleBirthInteger", serialization_alias="multipleBirthInteger") - multiple_birth_integer_extension: Element | None = Field(None, alias="_multipleBirthInteger", serialization_alias="_multipleBirthInteger") - name: PyList[HumanName] | None = Field(None, alias="name", serialization_alias="name") - photo: PyList[Attachment] | None = Field(None, alias="photo", serialization_alias="photo") - telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") - - def to_json(self, indent: int | None = None) -> str: - return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) - - @classmethod - def from_json(cls, json: str) -> Patient: - return cls.model_validate_json(json) - diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py deleted file mode 100644 index 94e3e4c11..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource.py +++ /dev/null @@ -1,36 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -from __future__ import annotations -from pydantic import BaseModel, ConfigDict, Field, PositiveInt -from typing import List as PyList, Literal - -from fhir_types.hl7_fhir_r4_core.base import Meta -from fhir_types.hl7_fhir_r4_core.base import Element - - -class Resource(BaseModel): - model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") - resource_type: str = Field( - default='Resource', - alias='resourceType', - serialization_alias='resourceType', - frozen=True, - pattern='Resource' - ) - id: str | None = Field(None, alias="id", serialization_alias="id") - id_extension: Element | None = Field(None, alias="_id", serialization_alias="_id") - implicit_rules: str | None = Field(None, alias="implicitRules", serialization_alias="implicitRules") - implicit_rules_extension: Element | None = Field(None, alias="_implicitRules", serialization_alias="_implicitRules") - language: str | None = Field(None, alias="language", serialization_alias="language") - language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") - meta: Meta | None = Field(None, alias="meta", serialization_alias="meta") - - def to_json(self, indent: int | None = None) -> str: - return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) - - @classmethod - def from_json(cls, json: str) -> Resource: - return cls.model_validate_json(json) - diff --git a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py b/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py deleted file mode 100644 index e4ebe30f3..000000000 --- a/examples/python-extension-example/fhir_types/hl7_fhir_r4_core/resource_families.py +++ /dev/null @@ -1,115 +0,0 @@ -# WARNING: This file is autogenerated by @atomic-ehr/codegen. -# GitHub: https://github.com/atomic-ehr/codegen -# Any manual changes made to this file may be overwritten. - -import re -import importlib -import importlib.util -from typing import Any, Annotated, List - -from pydantic import BeforeValidator, BaseModel, ValidationError -from pydantic_core import ValidationError as PydanticCoreValidationError - - -def to_snake_case(name: str) -> str: - s = re.sub(r"(? bool: - """Checks if a module exists without importing it""" - return importlib.util.find_spec(name) is not None - - -def import_and_create_module(module_name: str, class_name: str) -> Any: - """ - Dynamically import a module and create an instance of a specified class. - - Args: - module_name: String name of the module (e.g., 'aidbox.hl7_fhir_r4_core.patient') - class_name: String name of the class (e.g., 'Patient') - - Returns: - Instance of the specified class - """ - try: - module = importlib.import_module(module_name) - class_obj = getattr(module, class_name) - return class_obj - - except (ImportError, AttributeError) as e: - raise ImportError(f"Could not import {class_name} from {module_name}: {e}") - - -def import_and_create_module_if_exists(package: str, class_name: str) -> Any: - """ - Dynamically import a module and create an instance of a specified class if the module exists. - - Args: - package: String name of the package (e.g., 'aidbox.hl7_fhir_r4_core') - class_name: String name of the class (e.g., 'Patient') - - Returns: - Instance of the specified class or None if the module does not exist - """ - module_name = package + "." + to_snake_case(class_name) - if module_exists(module_name): - return import_and_create_module(module_name, class_name) - else: - return None - - -def validate_and_downcast( - resource_data: dict[str, Any], package_list: List[str], family: List[str] -) -> Any: - """ - Validates and downcasts ResourceFamily to the appropriate FHIR resource class - - Args: - resource_data: Input value (dict) - package_list: List of package names to search for resource classes (e.g., ['aidbox.hl7_fhir_r4_core', 'aidbox.hl7_fhir_r4_extras']) - family: List of valid resource types (e.g., 'Group' or 'Patient') - - Returns: - Instance of the appropriate FHIR resource class - """ - - # Extract and validate resource type - resource_type = resource_data.get("resourceType") - if not resource_type: - raise ValueError("Missing 'resourceType' field in resource") - - if resource_type not in family: - raise ValueError(f"Invalid resourceType '{resource_type}'. ") - - # Dynamically import and instantiate the appropriate class - target_class = None - for package in package_list: - target_class = import_and_create_module_if_exists(package, resource_type) - if target_class is not None: - break - if target_class is None: - raise ImportError( - f"Could not find class for resourceType '{resource_type}' in packages {package_list}" - ) - - return target_class.model_validate(resource_data) - - -packages = ['fhir_types.hl7_fhir_r4_core'] - -DomainResourceFamily_resources = ['Observation', 'OperationOutcome', 'Patient'] - -def validate_and_downcast_DomainResourceFamily(v: Any) -> Any: - return validate_and_downcast(v, packages, DomainResourceFamily_resources) - -type DomainResourceFamily = Annotated[Any, BeforeValidator(validate_and_downcast_DomainResourceFamily)] - -ResourceFamily_resources = ['Bundle', 'DomainResource', 'Observation', 'OperationOutcome', 'Patient'] - -def validate_and_downcast_ResourceFamily(v: Any) -> Any: - return validate_and_downcast(v, packages, ResourceFamily_resources) - -type ResourceFamily = Annotated[Any, BeforeValidator(validate_and_downcast_ResourceFamily)] - -__all__ = ['DomainResourceFamily', 'ResourceFamily'] diff --git a/examples/python-extension-example/fhir_types/requirements.txt b/examples/python-extension-example/fhir_types/requirements.txt deleted file mode 100644 index 1e53db934..000000000 --- a/examples/python-extension-example/fhir_types/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -fhirpy>=2.0.0,<3.0.0 -mypy>=1.9.0,<2.0.0 -pydantic>=2.11.0,<3.0.0 -pytest>=8.3.0,<9.0.0 -pytest-asyncio>=0.24.0,<1.0.0 -requests>=2.32.0,<3.0.0 -types-requests>=2.32.0,<3.0.0 diff --git a/examples/python-extension-example/generate.ts b/examples/python-extension-example/generate.ts deleted file mode 100644 index 7488d2168..000000000 --- a/examples/python-extension-example/generate.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { APIBuilder, mkCodegenLogger, prettyReport } from "../../src"; - -console.log("📦 Generating FHIR R4 Core Types..."); - -const logger = mkCodegenLogger({ - prefix: "API", - suppressTags: ["#fieldTypeNotFound", "#largeValueSet"], -}); - -const builder = new APIBuilder({ logger }) - .throwException() - .fromPackage("hl7.fhir.r4.core", "4.0.1") - .python({ - allowExtraFields: false, - primitiveTypeExtension: true, - fhirpyClient: false, - fieldFormat: "snake_case", - }) - .typeSchema({ - treeShake: { - "hl7.fhir.r4.core": { - "http://hl7.org/fhir/StructureDefinition/Bundle": {}, - "http://hl7.org/fhir/StructureDefinition/OperationOutcome": {}, - "http://hl7.org/fhir/StructureDefinition/DomainResource": {}, - "http://hl7.org/fhir/StructureDefinition/BackboneElement": {}, - "http://hl7.org/fhir/StructureDefinition/Element": {}, - "http://hl7.org/fhir/StructureDefinition/Patient": {}, - "http://hl7.org/fhir/StructureDefinition/Observation": {}, - "http://hl7.org/fhir/StructureDefinition/bodyweight": {}, - }, - }, - }) - .outputTo("./examples/python-extension-example/fhir_types") - .cleanOutput(true); - -const report = await builder.generate(); - -console.log(prettyReport(report)); - -if (!report.success) { - process.exit(1); -} diff --git a/examples/python-extension-example/mypy.ini b/examples/python-extension-example/mypy.ini deleted file mode 100644 index 4a3426103..000000000 --- a/examples/python-extension-example/mypy.ini +++ /dev/null @@ -1,13 +0,0 @@ -[mypy] -python_version = 3.13 -disallow_untyped_defs = False -disallow_incomplete_defs = False -check_untyped_defs = True -disallow_untyped_decorators = False -no_implicit_optional = True -strict_optional = False -warn_redundant_casts = False -warn_unused_ignores = True -warn_return_any = False -warn_unreachable = True -plugins = pydantic.mypy diff --git a/examples/python-extension-example/requirements.txt b/examples/python-extension-example/requirements.txt deleted file mode 100644 index 265bb5e18..000000000 --- a/examples/python-extension-example/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -pydantic>=2.11.0,<3.0.0 -pytest>=8.3.0,<9.0.0 -pytest-snapshot>=0.9.0,<1.0.0 diff --git a/examples/python-extension-example/tsconfig.json b/examples/python-extension-example/tsconfig.json deleted file mode 100644 index 27663aaca..000000000 --- a/examples/python-extension-example/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./" - ] -} diff --git a/examples/python-extension-example/__snapshots__/patient_with_extensions.json b/examples/python/__snapshots__/patient_with_extensions.json similarity index 100% rename from examples/python-extension-example/__snapshots__/patient_with_extensions.json rename to examples/python/__snapshots__/patient_with_extensions.json diff --git a/examples/python/fhir_types/README.md b/examples/python/fhir_types/README.md index d0c799301..c0fa5c311 100644 --- a/examples/python/fhir_types/README.md +++ b/examples/python/fhir_types/README.md @@ -2,21 +2,6 @@ ## Package: `hl7.fhir.r4.core` -### Modified Canonicals - -#### `http://hl7.org/fhir/StructureDefinition/BackboneElement` - -Skipped fields: - -- `modifierExtension` - -#### `http://hl7.org/fhir/StructureDefinition/DomainResource` - -Skipped fields: - -- `extension` -- `modifierExtension` - ### Skipped Canonicals - `http://fhir-registry.smarthealthit.org/StructureDefinition/capabilities` diff --git a/examples/python/fhir_types/hl7_fhir_r4_core/base.py b/examples/python/fhir_types/hl7_fhir_r4_core/base.py index a68278f58..50cb6ce07 100644 --- a/examples/python/fhir_types/hl7_fhir_r4_core/base.py +++ b/examples/python/fhir_types/hl7_fhir_r4_core/base.py @@ -14,29 +14,44 @@ class Element(BaseModel): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") extension: PyList[Extension] | None = Field(None, alias="extension", serialization_alias="extension") id: str | None = Field(None, alias="id", serialization_alias="id") + id_extension: Element | None = Field(None, alias="_id", serialization_alias="_id") class Address(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") city: str | None = Field(None, alias="city", serialization_alias="city") + city_extension: Element | None = Field(None, alias="_city", serialization_alias="_city") country: str | None = Field(None, alias="country", serialization_alias="country") + country_extension: Element | None = Field(None, alias="_country", serialization_alias="_country") district: str | None = Field(None, alias="district", serialization_alias="district") + district_extension: Element | None = Field(None, alias="_district", serialization_alias="_district") line: PyList[str] | None = Field(None, alias="line", serialization_alias="line") + line_extension: PyList[Element | None] | None = Field(None, alias="_line", serialization_alias="_line") period: Period | None = Field(None, alias="period", serialization_alias="period") postal_code: str | None = Field(None, alias="postalCode", serialization_alias="postalCode") + postal_code_extension: Element | None = Field(None, alias="_postalCode", serialization_alias="_postalCode") state: str | None = Field(None, alias="state", serialization_alias="state") + state_extension: Element | None = Field(None, alias="_state", serialization_alias="_state") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") type: Literal["postal", "physical", "both"] | None = Field(None, alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") use: Literal["home", "work", "temp", "old", "billing"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") class Quantity(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: str | None = Field(None, alias="code", serialization_alias="code") + code_extension: Element | None = Field(None, alias="_code", serialization_alias="_code") comparator: Literal["<", "<=", ">=", ">"] | None = Field(None, alias="comparator", serialization_alias="comparator") + comparator_extension: Element | None = Field(None, alias="_comparator", serialization_alias="_comparator") system: str | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") unit: str | None = Field(None, alias="unit", serialization_alias="unit") + unit_extension: Element | None = Field(None, alias="_unit", serialization_alias="_unit") value: float | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Age(Quantity): @@ -48,44 +63,63 @@ class Annotation(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") author_reference: Reference | None = Field(None, alias="authorReference", serialization_alias="authorReference") author_string: str | None = Field(None, alias="authorString", serialization_alias="authorString") + author_string_extension: Element | None = Field(None, alias="_authorString", serialization_alias="_authorString") text: str = Field(alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") time: str | None = Field(None, alias="time", serialization_alias="time") + time_extension: Element | None = Field(None, alias="_time", serialization_alias="_time") class Attachment(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") content_type: str | None = Field(None, alias="contentType", serialization_alias="contentType") + content_type_extension: Element | None = Field(None, alias="_contentType", serialization_alias="_contentType") creation: str | None = Field(None, alias="creation", serialization_alias="creation") + creation_extension: Element | None = Field(None, alias="_creation", serialization_alias="_creation") data: str | None = Field(None, alias="data", serialization_alias="data") + data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") hash: str | None = Field(None, alias="hash", serialization_alias="hash") + hash_extension: Element | None = Field(None, alias="_hash", serialization_alias="_hash") language: str | None = Field(None, alias="language", serialization_alias="language") + language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") size: int | None = Field(None, alias="size", serialization_alias="size") + size_extension: Element | None = Field(None, alias="_size", serialization_alias="_size") title: str | None = Field(None, alias="title", serialization_alias="title") + title_extension: Element | None = Field(None, alias="_title", serialization_alias="_title") url: str | None = Field(None, alias="url", serialization_alias="url") + url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") class BackboneElement(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") + modifier_extension: PyList[Extension] | None = Field(None, alias="modifierExtension", serialization_alias="modifierExtension") class CodeableConcept(Element, Generic[T]): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") coding: PyList[Coding[T]] | None = Field(None, alias="coding", serialization_alias="coding") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") class Coding(Element, Generic[T]): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: T | None = Field(None, alias="code", serialization_alias="code") + code_extension: Element | None = Field(None, alias="_code", serialization_alias="_code") display: str | None = Field(None, alias="display", serialization_alias="display") + display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") system: str | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") user_selected: bool | None = Field(None, alias="userSelected", serialization_alias="userSelected") + user_selected_extension: Element | None = Field(None, alias="_userSelected", serialization_alias="_userSelected") version: str | None = Field(None, alias="version", serialization_alias="version") + version_extension: Element | None = Field(None, alias="_version", serialization_alias="_version") class ContactDetail(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") @@ -93,16 +127,22 @@ class ContactPoint(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") period: Period | None = Field(None, alias="period", serialization_alias="period") rank: PositiveInt | None = Field(None, alias="rank", serialization_alias="rank") + rank_extension: Element | None = Field(None, alias="_rank", serialization_alias="_rank") system: Literal["phone", "fax", "email", "pager", "url", "sms", "other"] | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") use: Literal["home", "work", "temp", "old", "mobile"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") value: str | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Contributor(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") contact: PyList[ContactDetail] | None = Field(None, alias="contact", serialization_alias="contact") name: str = Field(alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") type: Literal["author", "editor", "reviewer", "endorser"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class Count(Quantity): @@ -136,12 +176,16 @@ class DataRequirement(Element): code_filter: PyList[DataRequirementCodeFilter] | None = Field(None, alias="codeFilter", serialization_alias="codeFilter") date_filter: PyList[DataRequirementDateFilter] | None = Field(None, alias="dateFilter", serialization_alias="dateFilter") limit: PositiveInt | None = Field(None, alias="limit", serialization_alias="limit") + limit_extension: Element | None = Field(None, alias="_limit", serialization_alias="_limit") must_support: PyList[str] | None = Field(None, alias="mustSupport", serialization_alias="mustSupport") + must_support_extension: PyList[Element | None] | None = Field(None, alias="_mustSupport", serialization_alias="_mustSupport") profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") + profile_extension: PyList[Element | None] | None = Field(None, alias="_profile", serialization_alias="_profile") sort: PyList[DataRequirementSort] | None = Field(None, alias="sort", serialization_alias="sort") subject_codeable_concept: CodeableConcept | None = Field(None, alias="subjectCodeableConcept", serialization_alias="subjectCodeableConcept") subject_reference: Reference | None = Field(None, alias="subjectReference", serialization_alias="subjectReference") type: str = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class Distance(Quantity): @@ -163,6 +207,7 @@ class Dosage(BackboneElement): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") additional_instruction: PyList[CodeableConcept] | None = Field(None, alias="additionalInstruction", serialization_alias="additionalInstruction") as_needed_boolean: bool | None = Field(None, alias="asNeededBoolean", serialization_alias="asNeededBoolean") + as_needed_boolean_extension: Element | None = Field(None, alias="_asNeededBoolean", serialization_alias="_asNeededBoolean") as_needed_codeable_concept: CodeableConcept | None = Field(None, alias="asNeededCodeableConcept", serialization_alias="asNeededCodeableConcept") dose_and_rate: PyList[DosageDoseAndRate] | None = Field(None, alias="doseAndRate", serialization_alias="doseAndRate") max_dose_per_administration: Quantity | None = Field(None, alias="maxDosePerAdministration", serialization_alias="maxDosePerAdministration") @@ -170,10 +215,13 @@ class Dosage(BackboneElement): max_dose_per_period: Ratio | None = Field(None, alias="maxDosePerPeriod", serialization_alias="maxDosePerPeriod") method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") patient_instruction: str | None = Field(None, alias="patientInstruction", serialization_alias="patientInstruction") + patient_instruction_extension: Element | None = Field(None, alias="_patientInstruction", serialization_alias="_patientInstruction") route: CodeableConcept | None = Field(None, alias="route", serialization_alias="route") sequence: int | None = Field(None, alias="sequence", serialization_alias="sequence") + sequence_extension: Element | None = Field(None, alias="_sequence", serialization_alias="_sequence") site: CodeableConcept | None = Field(None, alias="site", serialization_alias="site") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") timing: Timing | None = Field(None, alias="timing", serialization_alias="timing") @@ -185,23 +233,33 @@ class Duration(Quantity): class Expression(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") description: str | None = Field(None, alias="description", serialization_alias="description") + description_extension: Element | None = Field(None, alias="_description", serialization_alias="_description") expression: str | None = Field(None, alias="expression", serialization_alias="expression") + expression_extension: Element | None = Field(None, alias="_expression", serialization_alias="_expression") language: str = Field(alias="language", serialization_alias="language") + language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") reference: str | None = Field(None, alias="reference", serialization_alias="reference") + reference_extension: Element | None = Field(None, alias="_reference", serialization_alias="_reference") class Extension(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") url: str = Field(alias="url", serialization_alias="url") + url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") value_address: Address | None = Field(None, alias="valueAddress", serialization_alias="valueAddress") value_age: Age | None = Field(None, alias="valueAge", serialization_alias="valueAge") value_annotation: Annotation | None = Field(None, alias="valueAnnotation", serialization_alias="valueAnnotation") value_attachment: Attachment | None = Field(None, alias="valueAttachment", serialization_alias="valueAttachment") value_base64binary: str | None = Field(None, alias="valueBase64Binary", serialization_alias="valueBase64Binary") + value_base64binary_extension: Element | None = Field(None, alias="_valueBase64Binary", serialization_alias="_valueBase64Binary") value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") + value_boolean_extension: Element | None = Field(None, alias="_valueBoolean", serialization_alias="_valueBoolean") value_canonical: str | None = Field(None, alias="valueCanonical", serialization_alias="valueCanonical") + value_canonical_extension: Element | None = Field(None, alias="_valueCanonical", serialization_alias="_valueCanonical") value_code: str | None = Field(None, alias="valueCode", serialization_alias="valueCode") + value_code_extension: Element | None = Field(None, alias="_valueCode", serialization_alias="_valueCode") value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") value_coding: Coding | None = Field(None, alias="valueCoding", serialization_alias="valueCoding") value_contact_detail: ContactDetail | None = Field(None, alias="valueContactDetail", serialization_alias="valueContactDetail") @@ -210,24 +268,33 @@ class Extension(Element): value_count: Count | None = Field(None, alias="valueCount", serialization_alias="valueCount") value_data_requirement: DataRequirement | None = Field(None, alias="valueDataRequirement", serialization_alias="valueDataRequirement") value_date: str | None = Field(None, alias="valueDate", serialization_alias="valueDate") + value_date_extension: Element | None = Field(None, alias="_valueDate", serialization_alias="_valueDate") value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_date_time_extension: Element | None = Field(None, alias="_valueDateTime", serialization_alias="_valueDateTime") value_decimal: float | None = Field(None, alias="valueDecimal", serialization_alias="valueDecimal") + value_decimal_extension: Element | None = Field(None, alias="_valueDecimal", serialization_alias="_valueDecimal") value_distance: Distance | None = Field(None, alias="valueDistance", serialization_alias="valueDistance") value_dosage: Dosage | None = Field(None, alias="valueDosage", serialization_alias="valueDosage") value_duration: Duration | None = Field(None, alias="valueDuration", serialization_alias="valueDuration") value_expression: Expression | None = Field(None, alias="valueExpression", serialization_alias="valueExpression") value_human_name: HumanName | None = Field(None, alias="valueHumanName", serialization_alias="valueHumanName") value_id: str | None = Field(None, alias="valueId", serialization_alias="valueId") + value_id_extension: Element | None = Field(None, alias="_valueId", serialization_alias="_valueId") value_identifier: Identifier | None = Field(None, alias="valueIdentifier", serialization_alias="valueIdentifier") value_instant: str | None = Field(None, alias="valueInstant", serialization_alias="valueInstant") + value_instant_extension: Element | None = Field(None, alias="_valueInstant", serialization_alias="_valueInstant") value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") + value_integer_extension: Element | None = Field(None, alias="_valueInteger", serialization_alias="_valueInteger") value_markdown: str | None = Field(None, alias="valueMarkdown", serialization_alias="valueMarkdown") + value_markdown_extension: Element | None = Field(None, alias="_valueMarkdown", serialization_alias="_valueMarkdown") value_meta: Meta | None = Field(None, alias="valueMeta", serialization_alias="valueMeta") value_money: Money | None = Field(None, alias="valueMoney", serialization_alias="valueMoney") value_oid: str | None = Field(None, alias="valueOid", serialization_alias="valueOid") + value_oid_extension: Element | None = Field(None, alias="_valueOid", serialization_alias="_valueOid") value_parameter_definition: ParameterDefinition | None = Field(None, alias="valueParameterDefinition", serialization_alias="valueParameterDefinition") value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") value_positive_int: PositiveInt | None = Field(None, alias="valuePositiveInt", serialization_alias="valuePositiveInt") + value_positive_int_extension: Element | None = Field(None, alias="_valuePositiveInt", serialization_alias="_valuePositiveInt") value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") @@ -236,25 +303,37 @@ class Extension(Element): value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") value_signature: Signature | None = Field(None, alias="valueSignature", serialization_alias="valueSignature") value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") + value_string_extension: Element | None = Field(None, alias="_valueString", serialization_alias="_valueString") value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") + value_time_extension: Element | None = Field(None, alias="_valueTime", serialization_alias="_valueTime") value_timing: Timing | None = Field(None, alias="valueTiming", serialization_alias="valueTiming") value_trigger_definition: TriggerDefinition | None = Field(None, alias="valueTriggerDefinition", serialization_alias="valueTriggerDefinition") value_unsigned_int: int | None = Field(None, alias="valueUnsignedInt", serialization_alias="valueUnsignedInt") + value_unsigned_int_extension: Element | None = Field(None, alias="_valueUnsignedInt", serialization_alias="_valueUnsignedInt") value_uri: str | None = Field(None, alias="valueUri", serialization_alias="valueUri") + value_uri_extension: Element | None = Field(None, alias="_valueUri", serialization_alias="_valueUri") value_url: str | None = Field(None, alias="valueUrl", serialization_alias="valueUrl") + value_url_extension: Element | None = Field(None, alias="_valueUrl", serialization_alias="_valueUrl") value_usage_context: UsageContext | None = Field(None, alias="valueUsageContext", serialization_alias="valueUsageContext") value_uuid: str | None = Field(None, alias="valueUuid", serialization_alias="valueUuid") + value_uuid_extension: Element | None = Field(None, alias="_valueUuid", serialization_alias="_valueUuid") class HumanName(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") family: str | None = Field(None, alias="family", serialization_alias="family") + family_extension: Element | None = Field(None, alias="_family", serialization_alias="_family") given: PyList[str] | None = Field(None, alias="given", serialization_alias="given") + given_extension: PyList[Element | None] | None = Field(None, alias="_given", serialization_alias="_given") period: Period | None = Field(None, alias="period", serialization_alias="period") prefix: PyList[str] | None = Field(None, alias="prefix", serialization_alias="prefix") + prefix_extension: PyList[Element | None] | None = Field(None, alias="_prefix", serialization_alias="_prefix") suffix: PyList[str] | None = Field(None, alias="suffix", serialization_alias="suffix") + suffix_extension: PyList[Element | None] | None = Field(None, alias="_suffix", serialization_alias="_suffix") text: str | None = Field(None, alias="text", serialization_alias="text") + text_extension: Element | None = Field(None, alias="_text", serialization_alias="_text") use: Literal["usual", "official", "temp", "nickname", "anonymous", "old", "maiden"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") class Identifier(Element): @@ -262,48 +341,68 @@ class Identifier(Element): assigner: Reference | None = Field(None, alias="assigner", serialization_alias="assigner") period: Period | None = Field(None, alias="period", serialization_alias="period") system: str | None = Field(None, alias="system", serialization_alias="system") + system_extension: Element | None = Field(None, alias="_system", serialization_alias="_system") type: CodeableConcept[Literal["DL", "PPN", "BRN", "MR", "MCN", "EN", "TAX", "NIIP", "PRN", "MD", "DR", "ACSN", "UDI", "SNO", "SB", "PLAC", "FILL", "JHN"] | str] | None = Field(None, alias="type", serialization_alias="type") use: Literal["usual", "official", "temp", "secondary", "old"] | None = Field(None, alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") value: str | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Meta(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") last_updated: str | None = Field(None, alias="lastUpdated", serialization_alias="lastUpdated") + last_updated_extension: Element | None = Field(None, alias="_lastUpdated", serialization_alias="_lastUpdated") profile: PyList[str] | None = Field(None, alias="profile", serialization_alias="profile") + profile_extension: PyList[Element | None] | None = Field(None, alias="_profile", serialization_alias="_profile") security: PyList[Coding] | None = Field(None, alias="security", serialization_alias="security") source: str | None = Field(None, alias="source", serialization_alias="source") + source_extension: Element | None = Field(None, alias="_source", serialization_alias="_source") tag: PyList[Coding] | None = Field(None, alias="tag", serialization_alias="tag") version_id: str | None = Field(None, alias="versionId", serialization_alias="versionId") + version_id_extension: Element | None = Field(None, alias="_versionId", serialization_alias="_versionId") class Money(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") currency: str | None = Field(None, alias="currency", serialization_alias="currency") + currency_extension: Element | None = Field(None, alias="_currency", serialization_alias="_currency") value: float | None = Field(None, alias="value", serialization_alias="value") + value_extension: Element | None = Field(None, alias="_value", serialization_alias="_value") class Narrative(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") div: str = Field(alias="div", serialization_alias="div") + div_extension: Element | None = Field(None, alias="_div", serialization_alias="_div") status: Literal["generated", "extensions", "additional", "empty"] = Field(alias="status", serialization_alias="status") + status_extension: Element | None = Field(None, alias="_status", serialization_alias="_status") class ParameterDefinition(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") documentation: str | None = Field(None, alias="documentation", serialization_alias="documentation") + documentation_extension: Element | None = Field(None, alias="_documentation", serialization_alias="_documentation") max: str | None = Field(None, alias="max", serialization_alias="max") + max_extension: Element | None = Field(None, alias="_max", serialization_alias="_max") min: int | None = Field(None, alias="min", serialization_alias="min") + min_extension: Element | None = Field(None, alias="_min", serialization_alias="_min") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") profile: str | None = Field(None, alias="profile", serialization_alias="profile") + profile_extension: Element | None = Field(None, alias="_profile", serialization_alias="_profile") type: str = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") use: Literal["in", "out"] = Field(alias="use", serialization_alias="use") + use_extension: Element | None = Field(None, alias="_use", serialization_alias="_use") class Period(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") end: str | None = Field(None, alias="end", serialization_alias="end") + end_extension: Element | None = Field(None, alias="_end", serialization_alias="_end") start: str | None = Field(None, alias="start", serialization_alias="start") + start_extension: Element | None = Field(None, alias="_start", serialization_alias="_start") class Range(Element): @@ -321,41 +420,60 @@ class Ratio(Element): class Reference(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") display: str | None = Field(None, alias="display", serialization_alias="display") + display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") identifier: Identifier | None = Field(None, alias="identifier", serialization_alias="identifier") reference: str | None = Field(None, alias="reference", serialization_alias="reference") + reference_extension: Element | None = Field(None, alias="_reference", serialization_alias="_reference") type: str | None = Field(None, alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class RelatedArtifact(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") citation: str | None = Field(None, alias="citation", serialization_alias="citation") + citation_extension: Element | None = Field(None, alias="_citation", serialization_alias="_citation") display: str | None = Field(None, alias="display", serialization_alias="display") + display_extension: Element | None = Field(None, alias="_display", serialization_alias="_display") document: Attachment | None = Field(None, alias="document", serialization_alias="document") label: str | None = Field(None, alias="label", serialization_alias="label") + label_extension: Element | None = Field(None, alias="_label", serialization_alias="_label") resource: str | None = Field(None, alias="resource", serialization_alias="resource") + resource_extension: Element | None = Field(None, alias="_resource", serialization_alias="_resource") type: Literal["documentation", "justification", "citation", "predecessor", "successor", "derived-from", "depends-on", "composed-of"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") url: str | None = Field(None, alias="url", serialization_alias="url") + url_extension: Element | None = Field(None, alias="_url", serialization_alias="_url") class SampledData(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") data: str | None = Field(None, alias="data", serialization_alias="data") + data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") dimensions: PositiveInt = Field(alias="dimensions", serialization_alias="dimensions") + dimensions_extension: Element | None = Field(None, alias="_dimensions", serialization_alias="_dimensions") factor: float | None = Field(None, alias="factor", serialization_alias="factor") + factor_extension: Element | None = Field(None, alias="_factor", serialization_alias="_factor") lower_limit: float | None = Field(None, alias="lowerLimit", serialization_alias="lowerLimit") + lower_limit_extension: Element | None = Field(None, alias="_lowerLimit", serialization_alias="_lowerLimit") origin: Quantity = Field(alias="origin", serialization_alias="origin") period: float = Field(alias="period", serialization_alias="period") + period_extension: Element | None = Field(None, alias="_period", serialization_alias="_period") upper_limit: float | None = Field(None, alias="upperLimit", serialization_alias="upperLimit") + upper_limit_extension: Element | None = Field(None, alias="_upperLimit", serialization_alias="_upperLimit") class Signature(Element): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") data: str | None = Field(None, alias="data", serialization_alias="data") + data_extension: Element | None = Field(None, alias="_data", serialization_alias="_data") on_behalf_of: Reference | None = Field(None, alias="onBehalfOf", serialization_alias="onBehalfOf") sig_format: str | None = Field(None, alias="sigFormat", serialization_alias="sigFormat") + sig_format_extension: Element | None = Field(None, alias="_sigFormat", serialization_alias="_sigFormat") target_format: str | None = Field(None, alias="targetFormat", serialization_alias="targetFormat") + target_format_extension: Element | None = Field(None, alias="_targetFormat", serialization_alias="_targetFormat") type: PyList[Coding[Literal["1.2.840.10065.1.12.1.1", "1.2.840.10065.1.12.1.2", "1.2.840.10065.1.12.1.3", "1.2.840.10065.1.12.1.4", "1.2.840.10065.1.12.1.5", "1.2.840.10065.1.12.1.6", "1.2.840.10065.1.12.1.7", "1.2.840.10065.1.12.1.8", "1.2.840.10065.1.12.1.9", "1.2.840.10065.1.12.1.10", "1.2.840.10065.1.12.1.11", "1.2.840.10065.1.12.1.12", "1.2.840.10065.1.12.1.13", "1.2.840.10065.1.12.1.14", "1.2.840.10065.1.12.1.15", "1.2.840.10065.1.12.1.16", "1.2.840.10065.1.12.1.17", "1.2.840.10065.1.12.1.18"] | str]] = Field(alias="type", serialization_alias="type") when: str = Field(alias="when", serialization_alias="when") + when_extension: Element | None = Field(None, alias="_when", serialization_alias="_when") who: Reference = Field(alias="who", serialization_alias="who") @@ -384,6 +502,7 @@ class Timing(BackboneElement): model_config = ConfigDict(validate_by_name=True, serialize_by_alias=True, extra="forbid") code: CodeableConcept[Literal["BID", "TID", "QID", "AM", "PM", "QD", "QOD", "Q1H", "Q2H", "Q3H", "Q4H", "Q6H", "Q8H", "BED", "WK", "MO"] | str] | None = Field(None, alias="code", serialization_alias="code") event: PyList[str] | None = Field(None, alias="event", serialization_alias="event") + event_extension: PyList[Element | None] | None = Field(None, alias="_event", serialization_alias="_event") repeat: TimingRepeat | None = Field(None, alias="repeat", serialization_alias="repeat") @@ -392,11 +511,15 @@ class TriggerDefinition(Element): condition: Expression | None = Field(None, alias="condition", serialization_alias="condition") data: PyList[DataRequirement] | None = Field(None, alias="data", serialization_alias="data") name: str | None = Field(None, alias="name", serialization_alias="name") + name_extension: Element | None = Field(None, alias="_name", serialization_alias="_name") timing_date: str | None = Field(None, alias="timingDate", serialization_alias="timingDate") + timing_date_extension: Element | None = Field(None, alias="_timingDate", serialization_alias="_timingDate") timing_date_time: str | None = Field(None, alias="timingDateTime", serialization_alias="timingDateTime") + timing_date_time_extension: Element | None = Field(None, alias="_timingDateTime", serialization_alias="_timingDateTime") timing_reference: Reference | None = Field(None, alias="timingReference", serialization_alias="timingReference") timing_timing: Timing | None = Field(None, alias="timingTiming", serialization_alias="timingTiming") type: Literal["named-event", "periodic", "data-changed", "data-added", "data-modified", "data-removed", "data-accessed", "data-access-ended"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") class UsageContext(Element): diff --git a/examples/python/fhir_types/hl7_fhir_r4_core/bundle.py b/examples/python/fhir_types/hl7_fhir_r4_core/bundle.py index 6a91311fc..ed7c3303f 100644 --- a/examples/python/fhir_types/hl7_fhir_r4_core/bundle.py +++ b/examples/python/fhir_types/hl7_fhir_r4_core/bundle.py @@ -9,6 +9,7 @@ from fhir_types.hl7_fhir_r4_core.base import BackboneElement, Identifier, Signature from fhir_types.hl7_fhir_r4_core.resource import Resource from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily +from fhir_types.hl7_fhir_r4_core.base import Element class BundleEntry(BackboneElement): @@ -62,8 +63,11 @@ class Bundle(Resource): link: PyList[BundleLink] | None = Field(None, alias="link", serialization_alias="link") signature: Signature | None = Field(None, alias="signature", serialization_alias="signature") timestamp: str | None = Field(None, alias="timestamp", serialization_alias="timestamp") + timestamp_extension: Element | None = Field(None, alias="_timestamp", serialization_alias="_timestamp") total: int | None = Field(None, alias="total", serialization_alias="total") + total_extension: Element | None = Field(None, alias="_total", serialization_alias="_total") type: Literal["document", "message", "transaction", "transaction-response", "batch", "batch-response", "history", "searchset", "collection"] = Field(alias="type", serialization_alias="type") + type_extension: Element | None = Field(None, alias="_type", serialization_alias="_type") def to_json(self, indent: int | None = None) -> str: return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) diff --git a/examples/python/fhir_types/hl7_fhir_r4_core/domain_resource.py b/examples/python/fhir_types/hl7_fhir_r4_core/domain_resource.py index 865a8d0a3..9b9616e28 100644 --- a/examples/python/fhir_types/hl7_fhir_r4_core/domain_resource.py +++ b/examples/python/fhir_types/hl7_fhir_r4_core/domain_resource.py @@ -6,7 +6,7 @@ from pydantic import BaseModel, ConfigDict, Field, PositiveInt from typing import List as PyList, Literal -from fhir_types.hl7_fhir_r4_core.base import Narrative +from fhir_types.hl7_fhir_r4_core.base import Extension, Narrative from fhir_types.hl7_fhir_r4_core.resource import Resource from fhir_types.hl7_fhir_r4_core.resource_families import ResourceFamily @@ -21,6 +21,8 @@ class DomainResource(Resource): pattern='DomainResource' ) contained: PyList[ResourceFamily] | None = Field(None, alias="contained", serialization_alias="contained") + extension: PyList[Extension] | None = Field(None, alias="extension", serialization_alias="extension") + modifier_extension: PyList[Extension] | None = Field(None, alias="modifierExtension", serialization_alias="modifierExtension") text: Narrative | None = Field(None, alias="text", serialization_alias="text") def to_json(self, indent: int | None = None) -> str: diff --git a/examples/python/fhir_types/hl7_fhir_r4_core/observation.py b/examples/python/fhir_types/hl7_fhir_r4_core/observation.py index 3ee3a4d4e..2c39f5bb7 100644 --- a/examples/python/fhir_types/hl7_fhir_r4_core/observation.py +++ b/examples/python/fhir_types/hl7_fhir_r4_core/observation.py @@ -12,6 +12,7 @@ ) from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily +from fhir_types.hl7_fhir_r4_core.base import Element class ObservationComponent(BackboneElement): @@ -60,7 +61,9 @@ class Observation(DomainResource): derived_from: PyList[Reference] | None = Field(None, alias="derivedFrom", serialization_alias="derivedFrom") device: Reference | None = Field(None, alias="device", serialization_alias="device") effective_date_time: str | None = Field(None, alias="effectiveDateTime", serialization_alias="effectiveDateTime") + effective_date_time_extension: Element | None = Field(None, alias="_effectiveDateTime", serialization_alias="_effectiveDateTime") effective_instant: str | None = Field(None, alias="effectiveInstant", serialization_alias="effectiveInstant") + effective_instant_extension: Element | None = Field(None, alias="_effectiveInstant", serialization_alias="_effectiveInstant") effective_period: Period | None = Field(None, alias="effectivePeriod", serialization_alias="effectivePeriod") effective_timing: Timing | None = Field(None, alias="effectiveTiming", serialization_alias="effectiveTiming") encounter: Reference | None = Field(None, alias="encounter", serialization_alias="encounter") @@ -69,6 +72,7 @@ class Observation(DomainResource): identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") interpretation: PyList[CodeableConcept[Literal["_GeneticObservationInterpretation", "CAR", "Carrier", "_ObservationInterpretationChange", "B", "D", "U", "W", "_ObservationInterpretationExceptions", "<", ">", "AC", "IE", "QCF", "TOX", "_ObservationInterpretationNormality", "A", "AA", "HH", "LL", "H", "H>", "HU", "L", "L<", "LU", "N", "_ObservationInterpretationSusceptibility", "I", "MS", "NCL", "NS", "R", "SYN-R", "S", "SDD", "SYN-S", "VS", "EX", "HX", "LX", "HM", "ObservationInterpretationDetection", "IND", "E", "NEG", "ND", "POS", "DET", "ObservationInterpretationExpectation", "EXP", "UNE", "OBX", "ReactivityObservationInterpretation", "NR", "RR", "WR"] | str]] | None = Field(None, alias="interpretation", serialization_alias="interpretation") issued: str | None = Field(None, alias="issued", serialization_alias="issued") + issued_extension: Element | None = Field(None, alias="_issued", serialization_alias="_issued") method: CodeableConcept | None = Field(None, alias="method", serialization_alias="method") note: PyList[Annotation] | None = Field(None, alias="note", serialization_alias="note") part_of: PyList[Reference] | None = Field(None, alias="partOf", serialization_alias="partOf") @@ -76,18 +80,24 @@ class Observation(DomainResource): reference_range: PyList[ObservationReferenceRange] | None = Field(None, alias="referenceRange", serialization_alias="referenceRange") specimen: Reference | None = Field(None, alias="specimen", serialization_alias="specimen") status: Literal["registered", "preliminary", "final", "amended", "corrected", "cancelled", "entered-in-error", "unknown"] = Field(alias="status", serialization_alias="status") + status_extension: Element | None = Field(None, alias="_status", serialization_alias="_status") subject: Reference | None = Field(None, alias="subject", serialization_alias="subject") value_boolean: bool | None = Field(None, alias="valueBoolean", serialization_alias="valueBoolean") + value_boolean_extension: Element | None = Field(None, alias="_valueBoolean", serialization_alias="_valueBoolean") value_codeable_concept: CodeableConcept | None = Field(None, alias="valueCodeableConcept", serialization_alias="valueCodeableConcept") value_date_time: str | None = Field(None, alias="valueDateTime", serialization_alias="valueDateTime") + value_date_time_extension: Element | None = Field(None, alias="_valueDateTime", serialization_alias="_valueDateTime") value_integer: int | None = Field(None, alias="valueInteger", serialization_alias="valueInteger") + value_integer_extension: Element | None = Field(None, alias="_valueInteger", serialization_alias="_valueInteger") value_period: Period | None = Field(None, alias="valuePeriod", serialization_alias="valuePeriod") value_quantity: Quantity | None = Field(None, alias="valueQuantity", serialization_alias="valueQuantity") value_range: Range | None = Field(None, alias="valueRange", serialization_alias="valueRange") value_ratio: Ratio | None = Field(None, alias="valueRatio", serialization_alias="valueRatio") value_sampled_data: SampledData | None = Field(None, alias="valueSampledData", serialization_alias="valueSampledData") value_string: str | None = Field(None, alias="valueString", serialization_alias="valueString") + value_string_extension: Element | None = Field(None, alias="_valueString", serialization_alias="_valueString") value_time: str | None = Field(None, alias="valueTime", serialization_alias="valueTime") + value_time_extension: Element | None = Field(None, alias="_valueTime", serialization_alias="_valueTime") def to_json(self, indent: int | None = None) -> str: return self.model_dump_json(exclude_unset=True, exclude_none=True, indent=indent) diff --git a/examples/python/fhir_types/hl7_fhir_r4_core/patient.py b/examples/python/fhir_types/hl7_fhir_r4_core/patient.py index 86758601b..fb719082c 100644 --- a/examples/python/fhir_types/hl7_fhir_r4_core/patient.py +++ b/examples/python/fhir_types/hl7_fhir_r4_core/patient.py @@ -11,6 +11,7 @@ ) from fhir_types.hl7_fhir_r4_core.domain_resource import DomainResource from fhir_types.hl7_fhir_r4_core.resource_families import DomainResourceFamily +from fhir_types.hl7_fhir_r4_core.base import Element class PatientCommunication(BackboneElement): @@ -44,20 +45,27 @@ class Patient(DomainResource): pattern='Patient' ) active: bool | None = Field(None, alias="active", serialization_alias="active") + active_extension: Element | None = Field(None, alias="_active", serialization_alias="_active") address: PyList[Address] | None = Field(None, alias="address", serialization_alias="address") birth_date: str | None = Field(None, alias="birthDate", serialization_alias="birthDate") + birth_date_extension: Element | None = Field(None, alias="_birthDate", serialization_alias="_birthDate") communication: PyList[PatientCommunication] | None = Field(None, alias="communication", serialization_alias="communication") contact: PyList[PatientContact] | None = Field(None, alias="contact", serialization_alias="contact") deceased_boolean: bool | None = Field(None, alias="deceasedBoolean", serialization_alias="deceasedBoolean") + deceased_boolean_extension: Element | None = Field(None, alias="_deceasedBoolean", serialization_alias="_deceasedBoolean") deceased_date_time: str | None = Field(None, alias="deceasedDateTime", serialization_alias="deceasedDateTime") + deceased_date_time_extension: Element | None = Field(None, alias="_deceasedDateTime", serialization_alias="_deceasedDateTime") gender: Literal["male", "female", "other", "unknown"] | None = Field(None, alias="gender", serialization_alias="gender") + gender_extension: Element | None = Field(None, alias="_gender", serialization_alias="_gender") general_practitioner: PyList[Reference] | None = Field(None, alias="generalPractitioner", serialization_alias="generalPractitioner") identifier: PyList[Identifier] | None = Field(None, alias="identifier", serialization_alias="identifier") link: PyList[PatientLink] | None = Field(None, alias="link", serialization_alias="link") managing_organization: Reference | None = Field(None, alias="managingOrganization", serialization_alias="managingOrganization") marital_status: CodeableConcept[Literal["A", "D", "I", "L", "M", "P", "S", "T", "U", "W", "UNK"] | str] | None = Field(None, alias="maritalStatus", serialization_alias="maritalStatus") multiple_birth_boolean: bool | None = Field(None, alias="multipleBirthBoolean", serialization_alias="multipleBirthBoolean") + multiple_birth_boolean_extension: Element | None = Field(None, alias="_multipleBirthBoolean", serialization_alias="_multipleBirthBoolean") multiple_birth_integer: int | None = Field(None, alias="multipleBirthInteger", serialization_alias="multipleBirthInteger") + multiple_birth_integer_extension: Element | None = Field(None, alias="_multipleBirthInteger", serialization_alias="_multipleBirthInteger") name: PyList[HumanName] | None = Field(None, alias="name", serialization_alias="name") photo: PyList[Attachment] | None = Field(None, alias="photo", serialization_alias="photo") telecom: PyList[ContactPoint] | None = Field(None, alias="telecom", serialization_alias="telecom") diff --git a/examples/python/fhir_types/hl7_fhir_r4_core/resource.py b/examples/python/fhir_types/hl7_fhir_r4_core/resource.py index 910f9ef1a..94e3e4c11 100644 --- a/examples/python/fhir_types/hl7_fhir_r4_core/resource.py +++ b/examples/python/fhir_types/hl7_fhir_r4_core/resource.py @@ -7,6 +7,7 @@ from typing import List as PyList, Literal from fhir_types.hl7_fhir_r4_core.base import Meta +from fhir_types.hl7_fhir_r4_core.base import Element class Resource(BaseModel): @@ -19,8 +20,11 @@ class Resource(BaseModel): pattern='Resource' ) id: str | None = Field(None, alias="id", serialization_alias="id") + id_extension: Element | None = Field(None, alias="_id", serialization_alias="_id") implicit_rules: str | None = Field(None, alias="implicitRules", serialization_alias="implicitRules") + implicit_rules_extension: Element | None = Field(None, alias="_implicitRules", serialization_alias="_implicitRules") language: str | None = Field(None, alias="language", serialization_alias="language") + language_extension: Element | None = Field(None, alias="_language", serialization_alias="_language") meta: Meta | None = Field(None, alias="meta", serialization_alias="meta") def to_json(self, indent: int | None = None) -> str: diff --git a/examples/python/fhir_types/requirements.txt b/examples/python/fhir_types/requirements.txt index 1e53db934..c6e8be8cc 100644 --- a/examples/python/fhir_types/requirements.txt +++ b/examples/python/fhir_types/requirements.txt @@ -3,5 +3,6 @@ mypy>=1.9.0,<2.0.0 pydantic>=2.11.0,<3.0.0 pytest>=8.3.0,<9.0.0 pytest-asyncio>=0.24.0,<1.0.0 +pytest-snapshot>=0.9.0,<1.0.0 requests>=2.32.0,<3.0.0 types-requests>=2.32.0,<3.0.0 diff --git a/examples/python/generate.ts b/examples/python/generate.ts index e12f7782f..dbecdb04f 100644 --- a/examples/python/generate.ts +++ b/examples/python/generate.ts @@ -12,6 +12,7 @@ const builder = new APIBuilder({ logger }) .fromPackage("hl7.fhir.r4.core", "4.0.1") .python({ allowExtraFields: false, + primitiveTypeExtension: true, fhirpyClient: false, fieldFormat: "snake_case", }) @@ -20,12 +21,8 @@ const builder = new APIBuilder({ logger }) "hl7.fhir.r4.core": { "http://hl7.org/fhir/StructureDefinition/Bundle": {}, "http://hl7.org/fhir/StructureDefinition/OperationOutcome": {}, - "http://hl7.org/fhir/StructureDefinition/DomainResource": { - ignoreFields: ["extension", "modifierExtension"], - }, - "http://hl7.org/fhir/StructureDefinition/BackboneElement": { - ignoreFields: ["modifierExtension"], - }, + "http://hl7.org/fhir/StructureDefinition/DomainResource": {}, + "http://hl7.org/fhir/StructureDefinition/BackboneElement": {}, "http://hl7.org/fhir/StructureDefinition/Element": {}, "http://hl7.org/fhir/StructureDefinition/Patient": {}, "http://hl7.org/fhir/StructureDefinition/Observation": {}, diff --git a/examples/python-extension-example/test_raw_extension.py b/examples/python/test_raw_extension.py similarity index 100% rename from examples/python-extension-example/test_raw_extension.py rename to examples/python/test_raw_extension.py diff --git a/test/api/write-generator/__snapshots__/python.test.ts.snap b/test/api/write-generator/__snapshots__/python.test.ts.snap index 87e8361cb..7e91e5eb6 100644 --- a/test/api/write-generator/__snapshots__/python.test.ts.snap +++ b/test/api/write-generator/__snapshots__/python.test.ts.snap @@ -81,6 +81,7 @@ mypy>=1.9.0,<2.0.0 pydantic>=2.11.0,<3.0.0 pytest>=8.3.0,<9.0.0 pytest-asyncio>=0.24.0,<1.0.0 +pytest-snapshot>=0.9.0,<1.0.0 requests>=2.32.0,<3.0.0 types-requests>=2.32.0,<3.0.0 " From b2b5497c55793479164106fa6b7668be5666bb47 Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Fri, 27 Mar 2026 15:55:03 +0000 Subject: [PATCH 10/11] merged --- assets/api/writer-generator/python/requirements.txt | 1 - examples/python/fhir_types/requirements.txt | 1 - examples/python/test_raw_extension.py | 10 ++++------ .../write-generator/__snapshots__/python.test.ts.snap | 1 - 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/assets/api/writer-generator/python/requirements.txt b/assets/api/writer-generator/python/requirements.txt index c6e8be8cc..1e53db934 100644 --- a/assets/api/writer-generator/python/requirements.txt +++ b/assets/api/writer-generator/python/requirements.txt @@ -3,6 +3,5 @@ mypy>=1.9.0,<2.0.0 pydantic>=2.11.0,<3.0.0 pytest>=8.3.0,<9.0.0 pytest-asyncio>=0.24.0,<1.0.0 -pytest-snapshot>=0.9.0,<1.0.0 requests>=2.32.0,<3.0.0 types-requests>=2.32.0,<3.0.0 diff --git a/examples/python/fhir_types/requirements.txt b/examples/python/fhir_types/requirements.txt index c6e8be8cc..1e53db934 100644 --- a/examples/python/fhir_types/requirements.txt +++ b/examples/python/fhir_types/requirements.txt @@ -3,6 +3,5 @@ mypy>=1.9.0,<2.0.0 pydantic>=2.11.0,<3.0.0 pytest>=8.3.0,<9.0.0 pytest-asyncio>=0.24.0,<1.0.0 -pytest-snapshot>=0.9.0,<1.0.0 requests>=2.32.0,<3.0.0 types-requests>=2.32.0,<3.0.0 diff --git a/examples/python/test_raw_extension.py b/examples/python/test_raw_extension.py index 0fde7c9ff..f530b7c82 100644 --- a/examples/python/test_raw_extension.py +++ b/examples/python/test_raw_extension.py @@ -7,8 +7,6 @@ import json from pathlib import Path -from pytest_snapshot.plugin import Snapshot - from fhir_types.hl7_fhir_r4_core import ( Address, ContactPoint, @@ -100,11 +98,11 @@ def create_patient_with_extensions() -> Patient: SNAPSHOT_DIR = Path(__file__).parent / "__snapshots__" -def test_patient_with_extensions(snapshot: Snapshot) -> None: - snapshot.snapshot_dir = SNAPSHOT_DIR +def test_patient_with_extensions() -> None: patient = create_patient_with_extensions() - dumped = json.dumps(json.loads(patient.to_json(indent=2)), indent=2, sort_keys=True) - snapshot.assert_match(dumped, "patient_with_extensions.json") + actual = json.loads(patient.to_json(indent=2)) + expected = json.loads((SNAPSHOT_DIR / "patient_with_extensions.json").read_text()) + assert actual == expected def test_read_resource_level_extension() -> None: diff --git a/test/api/write-generator/__snapshots__/python.test.ts.snap b/test/api/write-generator/__snapshots__/python.test.ts.snap index 7e91e5eb6..87e8361cb 100644 --- a/test/api/write-generator/__snapshots__/python.test.ts.snap +++ b/test/api/write-generator/__snapshots__/python.test.ts.snap @@ -81,7 +81,6 @@ mypy>=1.9.0,<2.0.0 pydantic>=2.11.0,<3.0.0 pytest>=8.3.0,<9.0.0 pytest-asyncio>=0.24.0,<1.0.0 -pytest-snapshot>=0.9.0,<1.0.0 requests>=2.32.0,<3.0.0 types-requests>=2.32.0,<3.0.0 " From cc102f2ce4c44645e51eee56b58cfb8c39ec14e2 Mon Sep 17 00:00:00 2001 From: MikhailArtemyev Date: Mon, 30 Mar 2026 17:16:40 +0100 Subject: [PATCH 11/11] ci: python extension tests are now a part of default python testing cycle --- .github/workflows/sdk-tests.yml | 39 --------------------------------- Makefile | 1 - 2 files changed, 40 deletions(-) diff --git a/.github/workflows/sdk-tests.yml b/.github/workflows/sdk-tests.yml index 21cc4f150..f4922ee97 100644 --- a/.github/workflows/sdk-tests.yml +++ b/.github/workflows/sdk-tests.yml @@ -227,45 +227,6 @@ jobs: exit 1 fi - test-python-extension-example: - runs-on: ubuntu-latest - - strategy: - matrix: - bun-version: [ latest ] - python-version: [ "3.13" ] - - steps: - - uses: actions/checkout@v4 - - - name: Setup Bun - uses: oven-sh/setup-bun@v2 - with: - bun-version: ${{ matrix.bun-version }} - - - uses: actions/setup-python@v6 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: bun install --frozen-lockfile - - - name: Test Python Extension Example - run: make test-python-extension-example - - - name: Repository contains actual python-extension-example version - run: | - diff_result=$(git diff --exit-code --name-only examples/python-extension-example/fhir_types || true) - - if [ -z "$diff_result" ]; then - echo "✅ Generated SDK is identical to the one stored in repository." - else - echo "❌ Generated SDK differs from the one stored in repository." - echo "Differences:" - git diff examples/python-extension-example/fhir_types - exit 1 - fi - test-mustache-java-r4-example: runs-on: ubuntu-latest diff --git a/Makefile b/Makefile index 9ad103661..b178aeb8d 100644 --- a/Makefile +++ b/Makefile @@ -139,7 +139,6 @@ test-python-sdk: typecheck format prepare-aidbox-runme lint generate-python-sdk . venv/bin/activate && \ python -m pytest test_sdk.py -v -test-python-extension-example: typecheck format lint generate-python-sdk python-test-setup cd $(PYTHON_EXAMPLE) && \ . venv/bin/activate && \ python -m pytest test_raw_extension.py -v