Sv1Segment¶
Sv1Segment models the X12 SV1 professional service-line segment, used in 837P claim transactions to carry a single billed professional service line: the procedure/service code (inherited from SvSegmentBase), the charge amount, unit and quantity, place-of-service code, up to four diagnosis-code pointers, and an emergency indicator. It is inbound-only in this library: Build() throws NotImplementedException (BR-054).
Purpose¶
- Represents the SV1 segment identity via
SegmentIdreturning the literal"SV1"(BR-020). - Carries
ChargeAmount,UnitTypeCode,ServiceQuantity, andServiceLocationCodedescribing the billed service line's charge and setting. - Carries up to four
DiagnosisPointerCodevalues linking the service line back to diagnosis codes on the claim, read either as a single data element or a composite of up to four sub-elements depending on how the source segment was structured. - Sets
EmergencyIndicatortrue only when element 9 is exactly"Y"and the segment carries more than 8 elements, i.e. element 9 is actually present (BR-060). - Is inbound-only:
Fill(IEdiSegment)populates the object from a parsed segment, butBuild()throwsNotImplementedException(BR-054).
Context¶
- Namespace:
SAIF.Common.Files.Edi.Segments - Assembly/package:
SAIF.Framework.Common.Files
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| SegmentId | string SegmentId { get; } |
Returns the literal X12 segment identifier "SV1". |
| ChargeAmount | decimal ChargeAmount { get; set; } |
The charge amount for the service line (SV102), element 2. |
| UnitTypeCode | string UnitTypeCode { get; set; } |
The unit-of-measure code for ServiceQuantity (SV103), element 3. |
| ServiceQuantity | decimal? ServiceQuantity { get; set; } |
The quantity of units billed for the service (SV104), element 4. |
| ServiceLocationCode | string ServiceLocationCode { get; set; } |
The place-of-service code for the service line (SV105), element 5. |
| DiagnosisPointerCode1 | string DiagnosisPointerCode1 { get; set; } |
The first diagnosis-code pointer linking this line to the claim's diagnosis list (SV107), element 7 (or sub-element 1 of the SV107 composite). |
| DiagnosisPointerCode2 | string DiagnosisPointerCode2 { get; set; } |
The second diagnosis-code pointer, sub-element 2 of the SV107 composite. |
| DiagnosisPointerCode3 | string DiagnosisPointerCode3 { get; set; } |
The third diagnosis-code pointer, sub-element 3 of the SV107 composite. |
| DiagnosisPointerCode4 | string DiagnosisPointerCode4 { get; set; } |
The fourth diagnosis-code pointer, sub-element 4 of the SV107 composite. |
| EmergencyIndicator | bool EmergencyIndicator { get; set; } |
True only when element 9 (SV109) is exactly "Y" and the segment has more than 8 elements (BR-060). |
| Build | IEdiSegment Build() |
Always throws NotImplementedException; outbound SV1 generation is not supported (BR-054). The commented-out source suggests an intended implementation would add the four diagnosis pointer codes as a composite at element 7*. |
| Fill | void Fill(IEdiSegment segment) |
Reads ServiceCode directly from element 1 if it is a plain data element, or via FillServiceCode if it is a composite; reads ChargeAmount/ServiceQuantity via ConvertToDecimalOrZero, ServiceLocationCode at element 5; reads element 7 either as a single DiagnosisPointerCode1 or, if composite, splits it into all four diagnosis pointer codes; sets EmergencyIndicator per BR-060 when the segment has more than 8 elements. |
| Parse | static Sv1Segment Parse(IEdiSegment segment) |
Instantiates a new Sv1Segment, calls Fill(segment) on it, and returns it. |
Inherited public members¶
Members in this section are inherited from SvSegmentBase in SAIF.Framework.Common.Files. They are available on this type through inheritance.
| Member | Signature | Purpose | Origin |
|---|---|---|---|
| Qualifier | string Qualifier { get; set; } |
The procedure-code qualifier identifying the coding system in use, composite sub-element 1. | SAIF.Framework.Common.Files — SvSegmentBase |
| ServiceCode | string ServiceCode { get; set; } |
The procedure/service code value, either read directly from a plain element 1 or from composite sub-element 2. | SAIF.Framework.Common.Files — SvSegmentBase |
| ServiceModifierCode1 | string ServiceModifierCode1 { get; set; } |
The first of up to four procedure modifier codes, composite sub-element 3. | SAIF.Framework.Common.Files — SvSegmentBase |
| ServiceModifierCode2 | string ServiceModifierCode2 { get; set; } |
The second procedure modifier code, composite sub-element 4. | SAIF.Framework.Common.Files — SvSegmentBase |
| ServiceModifierCode3 | string ServiceModifierCode3 { get; set; } |
The third procedure modifier code, composite sub-element 5. | SAIF.Framework.Common.Files — SvSegmentBase |
| ServiceModifierCode4 | string ServiceModifierCode4 { get; set; } |
The fourth procedure modifier code, composite sub-element 6. | SAIF.Framework.Common.Files — SvSegmentBase |
| ServiceDescription | string ServiceDescription { get; set; } |
A free-text description of the procedure, composite sub-element 7. | SAIF.Framework.Common.Files — SvSegmentBase |
| BuildElement | EdiCompositeDataElement BuildElement() |
Constructs a composite element with Qualifier/ServiceCode and the four modifier codes. |
SAIF.Framework.Common.Files — SvSegmentBase |
| FillServiceCode | void FillServiceCode(IEdiCompositeDataElement element) |
Reads sub-elements 1-7 of a composite element into Qualifier, ServiceCode, the four modifier codes, and ServiceDescription. |
SAIF.Framework.Common.Files — SvSegmentBase |
Behavioral notes¶
- Element positions SV106 (service type code) and SV108 (a monetary amount) are read by neither
Build()norFill(); a code comment explicitly notes these are unused, along with SV110-SV121*.
Constraints and usage notes¶
- Any caller invoking
Build()on anSv1Segmentreceives aNotImplementedExceptionrather than a built segment (BR-054).
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
- Common\SAIF.Common.Files\Edi\Segments\Sv1Segment.cs
- Common\SAIF.Common.Files\Edi\Segments\SvSegmentBase.cs