SaMD Quality Notes

이 샘플은 SaMD 제품의 전체 QMS를 대체하지 않습니다. 대신 source repo가 품질 시스템과 연결될 때 필요한 최소 개발 흔적을 보여줍니다.

1. Traceability

source repo 변경은 아래 항목과 연결될 수 있어야 합니다.

Artifact Example
requirement patient risk assessment rule
risk control human review before clinical decision
test evidence unit/integration/package CI result
release evidence package version, image digest, SBOM/provenance
deployment evidence CD repo overlay commit

실제 제품 repo에서는 issue, requirement id, risk control id, test id를 PR description 또는 release note에 연결합니다.

2. Domain Boundary

domain은 clinical decision을 확정하지 않습니다. 이 샘플의 domain은 AI model observation과 de-identified clinical context를 바탕으로 임상의 검토가 필요한 patient risk level을 계산합니다.

model observation -> patient risk assessment -> clinician review

진단 확정, 치료 결정, patient notification 같은 safety-critical workflow는 별도 requirement, risk control, audit trail이 필요합니다.

3. PHI And Logging

샘플 데이터는 de-identified reference만 사용합니다.

  • allowed: study_id, patient-demo-*, modality, model name, score
  • not allowed: name, resident registration number, phone, address, direct medical record identifier

domain과 usecase는 logging을 하지 않습니다. adapter/bootstrap에서 structured log를 남기되, payload 전체 dump와 PHI 출력은 금지합니다.

4. Test Evidence

테스트는 evidence 성격에 따라 분리합니다.

Test type Evidence
unit pure domain rule, invalid input handling
integration inbound/usecase/outbound adapter contract
app smoke executable entrypoint wiring
release package build, image build, artifact publish

SaMD product repo에서는 CI 결과와 release artifact를 requirement/risk control과 연결해 보관합니다.

5. Release Baseline

SaMD release에서는 package 하나의 독립 version보다 검증된 system baseline이 더 중요합니다. Root release tag vX.Y.Z는 package, image, firmware, contract, test evidence, release note를 같은 source revision에 묶는 release evidence anchor입니다.

Independent package versioning은 개별 library 제품에는 적합하지만, 이 샘플은 SaMD system release 추적성과 rollback 기준을 우선하므로 lockstep root release를 사용합니다. Release review에서는 vX.Y.Z가 가리키는 source revision에서 어떤 requirement, risk control, test evidence, artifact set이 나왔는지 확인합니다.

6. Release Gate

production release 전에 최소한 아래 gate가 필요합니다.

  • unit/integration/app smoke test pass
  • package artifact build pass
  • container image build pass
  • SBOM/provenance generated
  • vulnerability scan reviewed
  • release note includes requirement/risk impact
  • CD repo promotion reviewed