{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/certifyos/main/json-schema/certifyos-malpractice-insurance-update-request1-schema.json",
  "title": "MalpracticeInsuranceUpdateRequest1",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/certifyos-practitioner-api-openapi.yml#/components/schemas/MalpracticeInsuranceUpdateRequest1",
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Stable row identifier (UUID)"
    },
    "carrierName": {
      "type": "string",
      "description": "Malpractice Insurance Carrier Name"
    },
    "effectiveDate": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Malpractice Insurance Policy Effective Date"
    },
    "expiryDate": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Expiry date of the malpractice insurance"
    },
    "type": {
      "type": "string",
      "description": "The type of malpractice insurance"
    },
    "unlimitedCoverage": {
      "type": "boolean",
      "description": "Whether the policy has unlimited coverage"
    },
    "source": {
      "type": "string",
      "description": "Source of the malpractice insurance information"
    },
    "status": {
      "type": "string",
      "description": "Status of the insurance policy"
    },
    "policyNumber": {
      "type": "string",
      "description": "Policy number"
    },
    "aggregateCoverageAmount": {
      "type": "string",
      "description": "Aggregate coverage amount"
    },
    "occuranceCoverageAmount": {
      "type": "string",
      "description": "Occurrence coverage amount"
    },
    "verifiedBy": {
      "type": "string",
      "description": "User who verified the record (read-only on the practitioner page)"
    },
    "verifiedDate": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Date the record was verified (read-only on the practitioner page)"
    },
    "createdAt": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Creation timestamp carried through so updates preserve provenance"
    },
    "createdBy": {
      "type": "string",
      "description": "Creator carried through so updates preserve provenance"
    },
    "updatedAt": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Last-updated timestamp carried through from the existing record"
    },
    "updatedBy": {
      "type": "string",
      "description": "Last updater carried through from the existing record"
    },
    "credWorkflowRecordOrigin": {
      "type": "string",
      "description": "How the record was added/edited within a credentialing workflow; preserved on edit"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Attachment1"
      },
      "description": "Supporting documents carried through so edits do not drop them"
    },
    "action": {
      "type": "string",
      "pattern": "create|update|delete",
      "description": "Action to perform on this record (create, update, delete)"
    },
    "flaggedDate": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Monitoring-owned flagged date carried through so wholesale-replace edits do not drop it"
    },
    "dataAcquireDate": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Date the source data was acquired; carried through so edits preserve provenance"
    },
    "sourceUpdateDate": {
      "$ref": "#/$defs/Date",
      "type": "string",
      "description": "Date the source last updated the record; carried through so edits preserve provenance"
    }
  },
  "$defs": {
    "Attachment1": {
      "type": "object",
      "properties": {
        "createdAt": {
          "$ref": "#/$defs/Date"
        },
        "fileType": {},
        "fileUrl": {
          "type": "string"
        },
        "originalFileName": {
          "type": "string"
        },
        "state": {},
        "expirationDate": {},
        "source": {},
        "createdBy": {},
        "credWorkflowRecordOrigin": {
          "type": "string"
        },
        "credentialingDisplayGroupKey": {
          "type": "string"
        }
      }
    },
    "Date": {
      "type": "string",
      "format": "date"
    }
  }
}